@moneko/core 2.0.23 → 2.0.24

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/build/common.js CHANGED
@@ -1 +1 @@
1
- "use strict";function _export(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}Object.defineProperty(exports,"__esModule",{value:!0}),_export(exports,{ENTRYPATH:function(){return ENTRYPATH},log:function(){return log},CONFIG:function(){return CONFIG},PUBLICPATH:function(){return PUBLICPATH}});var _customConf_minifier,_fs=_interopRequireDefault(require("fs")),_path=_interopRequireDefault(require("path")),_readline=_interopRequireDefault(require("readline")),_chalk=_interopRequireDefault(require("chalk")),_webpackMerge=require("webpack-merge"),_processEnv=require("./process-env"),_utils=require("./utils");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var ENTRYPATH={mobile:"mobile",site:"site","back-stage":"back-stage","single-spa":"single-spa",library:"library","single-component":"single-component"},includeModule=[_processEnv.pkgName,"neko-ui","antd","@antv","katex","font-pingfang-sc","font-pingfang-tc","react-photo-view","react-markdown-editor-lite","schema-design"],defaultSplitChunk={chunks:"all",minSize:1024,minChunks:1};"single-component"===_processEnv.APPTYPE&&(defaultSplitChunk=!1);var defaultConfig={seo:!1,mode:"csr",compiler:"swc",bundleAnalyzer:{analyzerMode:"static",reportFilename:"report.html",openAnalyzer:!1},entry:{},minifier:{options:{},css:"cssnano"},sourceMap:{filename:"[file].map",publicPath:""},env:{},persistence:_processEnv.PACKAGENAME+"-program:"+_processEnv.PACKAGEVERSION,routeBaseName:"/",publicPath:"/",designSize:"mobile"===_processEnv.APPTYPE?375:1680,fallbackCompPath:null,modifyVars:{},prefixCls:"n",alias:{},layoutSider:{},moduleRules:[],prefixJsLoader:[],cssModules:[],importOnDemand:{},proxy:[],cacheDirectory:_processEnv.PROGRAMPATH+"/node_modules/.temp_cache",devServer:{allowedHosts:[".baidu.com"],host:"localhost",port:3e3,https:!1,compress:!1},htmlPluginOption:{template:"./node_modules/"+_processEnv.pkgName+"/template/index.html",favicon:"./node_modules/"+_processEnv.pkgName+"/template/favicon.ico",tags:[]},assetHtml:[],routerMode:"browser",fixBrowserRouter:!1,plugins:[],splitChunk:defaultSplitChunk,runtimeChunk:"single-component"!==_processEnv.APPTYPE&&"single",moduleFederation:[],rulesInclude:{less:includeModule,css:includeModule,js:includeModule,media:includeModule,fonts:includeModule}},log=function(e){_readline.default.cursorTo(process.stdout,0),process.stdout.write(e)},customConf=defaultConfig,configPath=null,normalConf={},envConf={};try{configPath=_path.default.join(_processEnv.PROGRAMPATH,"./config/index.ts"),_fs.default.accessSync(configPath,_fs.default.constants.R_OK)}catch(error){configPath=null}if(configPath)try{var conf=eval((0,_utils.tfc)(configPath)).default;normalConf=(0,_utils.isFunction)(conf)?conf(process):conf}catch(error){process.stdout.write(_chalk.default.red(error))}if(_processEnv.CUSTOMCONFIG){var customConfigPath=null;try{customConfigPath=_path.default.join(_processEnv.PROGRAMPATH,"./config/"+_processEnv.CUSTOMCONFIG+".ts"),_fs.default.accessSync(customConfigPath,_fs.default.constants.R_OK)}catch(error){customConfigPath=null}if(null!==customConfigPath)try{var conf=eval((0,_utils.tfc)(customConfigPath)).default;envConf=(0,_utils.isFunction)(conf)?conf(process):conf}catch(error){process.stdout.write(_chalk.default.red(error))}}customConf=(0,_webpackMerge.merge)(customConf,normalConf,envConf),(null==customConf?void 0:null==(_customConf_minifier=customConf.minifier)?void 0:_customConf_minifier.type)||(customConf.minifier.type="swc"===customConf.compiler?"swc":"terser"),!1===customConf.devtool&&(customConf.sourceMap=!1),!1===customConf.sourceMap&&(customConf.devtool=!1),customConf.fixBrowserRouter&&(customConf.htmlPluginOption.tags||(customConf.htmlPluginOption.tags=[]),customConf.htmlPluginOption.tags.push({textContent:"\n (function(l) {\n if (l.search[1] === '/' ) {\n var decoded = l.search.slice(1).split('&').map(function(s) { \n return s.replace(/~and~/g, '&')\n }).join('?');\n window.history.replaceState(null, null,\n l.pathname.slice(0, -1) + decoded + l.hash\n );\n }\n }(window.location))\n "}));var CONFIG=customConf,PUBLICPATH=CONFIG.publicPath||"/";global.NEKOCLICONFIG={CONFIG:CONFIG,log:log};
1
+ "use strict";function _export(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}Object.defineProperty(exports,"__esModule",{value:!0}),_export(exports,{ENTRYPATH:function(){return ENTRYPATH},log:function(){return log},CONFIG:function(){return CONFIG},PUBLICPATH:function(){return PUBLICPATH}});var _customConf_minifier,_fs=_interopRequireDefault(require("fs")),_path=_interopRequireDefault(require("path")),_readline=_interopRequireDefault(require("readline")),_chalk=_interopRequireDefault(require("chalk")),_webpackMerge=require("webpack-merge"),_processEnv=require("./process-env"),_utils=require("./utils");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var ENTRYPATH={mobile:"mobile",site:"site","back-stage":"back-stage","single-spa":"single-spa",library:"library","single-component":"single-component"},includeModule=[_processEnv.pkgName,"neko-ui","antd","@antv","katex","font-pingfang-sc","font-pingfang-tc","react-photo-view","react-markdown-editor-lite","schema-design"],defaultSplitChunk={chunks:"all",minSize:1024,minChunks:1};"single-component"===_processEnv.APPTYPE&&(defaultSplitChunk=!1);var defaultConfig={seo:!1,mode:"csr",compiler:"swc",bundleAnalyzer:{analyzerMode:"static",reportFilename:"report.html",openAnalyzer:!1},entry:{},minifier:{options:{},css:"cssnano"},sourceMap:{filename:"[file].map",publicPath:""},env:{},routeBaseName:"/",publicPath:"/",designSize:"mobile"===_processEnv.APPTYPE?375:1680,fallbackCompPath:null,modifyVars:{},prefixCls:"n",alias:{},layoutSider:{},moduleRules:[],prefixJsLoader:[],cssModules:[],importOnDemand:{},proxy:[],cacheDirectory:_processEnv.PROGRAMPATH+"/node_modules/.temp_cache",devServer:{allowedHosts:[".baidu.com"],host:"localhost",port:3e3,https:!1,compress:!1},htmlPluginOption:{template:"./node_modules/"+_processEnv.pkgName+"/template/index.html",favicon:"./node_modules/"+_processEnv.pkgName+"/template/favicon.ico",tags:[]},assetHtml:[],routerMode:"browser",fixBrowserRouter:!1,plugins:[],splitChunk:defaultSplitChunk,runtimeChunk:"single-component"!==_processEnv.APPTYPE&&"single",moduleFederation:[],rulesInclude:{less:includeModule,css:includeModule,js:includeModule,media:includeModule,fonts:includeModule}},log=function(e){_readline.default.cursorTo(process.stdout,0),process.stdout.write(e)},customConf=defaultConfig,configPath=null,normalConf={},envConf={};try{configPath=_path.default.join(_processEnv.PROGRAMPATH,"./config/index.ts"),_fs.default.accessSync(configPath,_fs.default.constants.R_OK)}catch(error){configPath=null}if(configPath)try{var conf=eval((0,_utils.tfc)(configPath)).default;normalConf=(0,_utils.isFunction)(conf)?conf(process):conf}catch(error){process.stdout.write(_chalk.default.red(error))}if(_processEnv.CUSTOMCONFIG){var customConfigPath=null;try{customConfigPath=_path.default.join(_processEnv.PROGRAMPATH,"./config/"+_processEnv.CUSTOMCONFIG+".ts"),_fs.default.accessSync(customConfigPath,_fs.default.constants.R_OK)}catch(error){customConfigPath=null}if(null!==customConfigPath)try{var conf=eval((0,_utils.tfc)(customConfigPath)).default;envConf=(0,_utils.isFunction)(conf)?conf(process):conf}catch(error){process.stdout.write(_chalk.default.red(error))}}customConf=(0,_webpackMerge.merge)(customConf,normalConf,envConf),(null==customConf?void 0:null==(_customConf_minifier=customConf.minifier)?void 0:_customConf_minifier.type)||(customConf.minifier.type="swc"===customConf.compiler?"swc":"terser"),!1===customConf.devtool&&(customConf.sourceMap=!1),!1===customConf.sourceMap&&(customConf.devtool=!1),customConf.fixBrowserRouter&&(customConf.htmlPluginOption.tags||(customConf.htmlPluginOption.tags=[]),customConf.htmlPluginOption.tags.push({textContent:"\n (function(l) {\n if (l.search[1] === '/' ) {\n var decoded = l.search.slice(1).split('&').map(function(s) { \n return s.replace(/~and~/g, '&')\n }).join('?');\n window.history.replaceState(null, null,\n l.pathname.slice(0, -1) + decoded + l.hash\n );\n }\n }(window.location))\n "}));var CONFIG=customConf,PUBLICPATH=CONFIG.publicPath||"/";global.NEKOCLICONFIG={CONFIG:CONFIG,log:log};
package/build/envFlags.js CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"default",{enumerable:!0,get:function(){return N}});var e=c(require("fs")),r=c(require("path")),t=require("./common"),i=require("./coverage"),a=c(require("./html-plugin-option")),n=require("./process-env"),s=require("./utils");function o(){return(o=Object.assign||function(e){for(var r=1;r<arguments.length;r++){var t=arguments[r];for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i])}return e}).apply(this,arguments)}function c(e){return e&&e.__esModule?e:{default:e}}var f=parseFloat(n.hasReact?require("react/package.json").version:"18")>=18?"react-dom/client":"react-dom",u="library"===n.APPTYPE?"site":"src",l=!1;try{var O=r.default.join(n.PROGRAMPATH,"./src/index.ts");e.default.accessSync(O,e.default.constants.R_OK),l=O}catch(e){l=!1}var N={projectName:JSON.stringify((0,s.toUpperCaseString)(n.PACKAGENAME)),projectCoverage:JSON.stringify(i.coverage),providerConfig:JSON.stringify({prefixCls:t.CONFIG.prefixCls,iconPrefixCls:t.CONFIG.prefixCls+"-icon",theme:t.CONFIG.theme}),fallbackCompPath:JSON.stringify(t.CONFIG.fallbackCompPath),ReactDOMPath:JSON.stringify(f),favicon:JSON.stringify(a.default.favicon),hasLocales:JSON.stringify(e.default.existsSync(r.default.join(n.PROGRAMPATH,"./"+u+"/locales"))),layoutSider:JSON.stringify(t.CONFIG.layoutSider),hasAntd:JSON.stringify(n.hasAntd),APPTYPE:JSON.stringify(n.APPTYPE),APPENTRY:JSON.stringify(l),programInfo:JSON.stringify(o({},n.programInfo,{routeBaseName:t.CONFIG.routeBaseName,designSize:t.CONFIG.designSize,routerMode:t.CONFIG.routerMode,renderMode:t.CONFIG.mode})),"process.env":JSON.stringify(o({persistence:t.CONFIG.persistence,NODE_ENV:n.NODE_ENV},t.CONFIG.env))};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"default",{enumerable:!0,get:function(){return N}});var e=c(require("fs")),r=c(require("path")),t=require("./common"),i=require("./coverage"),a=c(require("./html-plugin-option")),n=require("./process-env"),o=require("./utils");function s(){return(s=Object.assign||function(e){for(var r=1;r<arguments.length;r++){var t=arguments[r];for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i])}return e}).apply(this,arguments)}function c(e){return e&&e.__esModule?e:{default:e}}var f=parseFloat(n.hasReact?require("react/package.json").version:"18")>=18?"react-dom/client":"react-dom",u="library"===n.APPTYPE?"site":"src",l=!1;try{var O=r.default.join(n.PROGRAMPATH,"./src/index.ts");e.default.accessSync(O,e.default.constants.R_OK),l=O}catch(e){l=!1}var N={projectName:JSON.stringify((0,o.toUpperCaseString)(n.PACKAGENAME)),projectCoverage:JSON.stringify(i.coverage),providerConfig:JSON.stringify({prefixCls:t.CONFIG.prefixCls,iconPrefixCls:t.CONFIG.prefixCls+"-icon",theme:t.CONFIG.theme}),fallbackCompPath:JSON.stringify(t.CONFIG.fallbackCompPath),ReactDOMPath:JSON.stringify(f),favicon:JSON.stringify(a.default.favicon),hasLocales:JSON.stringify(e.default.existsSync(r.default.join(n.PROGRAMPATH,"./"+u+"/locales"))),layoutSider:JSON.stringify(t.CONFIG.layoutSider),hasAntd:JSON.stringify(n.hasAntd),APPTYPE:JSON.stringify(n.APPTYPE),APPENTRY:JSON.stringify(l),programInfo:JSON.stringify(s({},n.programInfo,{routeBaseName:t.CONFIG.routeBaseName,designSize:t.CONFIG.designSize,routerMode:t.CONFIG.routerMode,renderMode:t.CONFIG.mode})),"process.env":JSON.stringify(s({NODE_ENV:n.NODE_ENV},t.CONFIG.env))};
package/lib/index.d.ts CHANGED
@@ -3,9 +3,9 @@ export * from './prefix/react-router-dom.js';
3
3
  export * from './utils';
4
4
  export { pathToRegexp } from 'path-to-regexp';
5
5
  export { default as sso } from 'shared-store-object';
6
- export { localizable, setLanguage, interpolateString, type LocaleConfig, type LocaleName, } from './localizable';
6
+ export { localizable, setLanguage, interpolateString, localizablePersistenceKey, type LocaleConfig, type LocaleName, } from './localizable';
7
7
  export { matchUtil, router, onlyLoginRouter, myPkgs, myDemoKv, mdxComponents, type ExampleModule, type RouterProps, type MyPkg, } from './router';
8
- export { addTab, closeTab, menu, openTab, setMenu, type TabItem, type MenuItem, type CloseTab, } from './menu';
8
+ export { addTab, closeTab, menu, openTab, setMenu, menuPersistenceKey, type TabItem, type MenuItem, type CloseTab, } from './menu';
9
9
  export type { LayoutMenuProps } from './components/layout-menu';
10
10
  export { createRouter, prefixRouter, routerData, RouterFragment } from './components/app-router';
11
11
  export declare const LayoutMenu: any;
package/lib/index.js CHANGED
@@ -1 +1 @@
1
- export*from"./prefix/react-router-dom.js";export*from"./utils";export{pathToRegexp}from"path-to-regexp";export{default as sso}from"shared-store-object";export{localizable,setLanguage,interpolateString}from"./localizable";export{matchUtil,router,onlyLoginRouter,myPkgs,myDemoKv,mdxComponents}from"./router";export{addTab,closeTab,menu,openTab,setMenu}from"./menu";export{createRouter,prefixRouter,routerData,RouterFragment}from"./components/app-router";export var LayoutMenu=hasAntd?require("./components/layout-menu").default:null;export var DashboardLayout=hasAntd?require("./packages/back-stage/layout").default:null;export var projectBasicInfo={projectName:projectName,providerConfig:providerConfig,programInfo:programInfo,coverage:projectCoverage};
1
+ export*from"./prefix/react-router-dom.js";export*from"./utils";export{pathToRegexp}from"path-to-regexp";export{default as sso}from"shared-store-object";export{localizable,setLanguage,interpolateString,localizablePersistenceKey}from"./localizable";export{matchUtil,router,onlyLoginRouter,myPkgs,myDemoKv,mdxComponents}from"./router";export{addTab,closeTab,menu,openTab,setMenu,menuPersistenceKey}from"./menu";export{createRouter,prefixRouter,routerData,RouterFragment}from"./components/app-router";export var LayoutMenu=hasAntd?require("./components/layout-menu").default:null;export var DashboardLayout=hasAntd?require("./packages/back-stage/layout").default:null;export var projectBasicInfo={projectName:projectName,providerConfig:providerConfig,programInfo:programInfo,coverage:projectCoverage};
@@ -13,6 +13,8 @@ export type LocaleConfig = {
13
13
  interface Locale extends LocaleConfig {
14
14
  language: LocaleName;
15
15
  }
16
+ /** 数据持久化key */
17
+ export declare const localizablePersistenceKey = "localizable.language";
16
18
  export declare const localizable: {
17
19
  /** 使用的语言 */
18
20
  language: LocaleName;
@@ -1 +1 @@
1
- import t from"shared-store-object";var a,n={keys:function(){return[]}};try{n=hasLocales?require.context("@/locales/",!0,/\.(t|j)s$/):{keys:function(){return[]}}}catch(t){console.warn(t)}var e={},l=[];null==n.keys||null==(a=n.keys())||a.map(function(t,a){var o=n(t).default;if(o&&"[object Object]"===Object.prototype.toString.call(o)){var r=o.language,i=void 0===r?t.replace(/(.*\/)*([^.]+).*/gi,"$2"):r,c=o.title,u=void 0===c?i:c,s=o.icon,g=o.translation;0===a&&l.splice(0),l.push({language:i,title:u,icon:s}),e[i]={language:i,title:u,icon:s,translation:new Proxy(void 0===g?{}:g,{get:function(t,a){return t[a]||a}})}}o=null});var o=Object.assign({title:"简体中文",language:"zh_CN",translation:{}},e.zh_CN);export var localizable=t({language:"zh_CN",t:o.translation,locales:l});export function setLanguage(t){var a;localizable.language=t,localizable.t=(null==(a=e[t])?void 0:a.translation)||o.translation}export function interpolateString(t,a){return t.replace(/\${\w+}/g,function(t){var n=a[t.slice(2,-1)];return void 0!==n?n.toString():""})}
1
+ import{persistence as e}from"@moneko/common";import t from"shared-store-object";var a,n={keys:function(){return[]}};try{n=hasLocales?require.context("@/locales/",!0,/\.(t|j)s$/):{keys:function(){return[]}}}catch(e){console.warn(e)}var l={},o=[];null==n.keys||null==(a=n.keys())||a.map(function(e,t){var a=n(e).default;if(a&&"[object Object]"===Object.prototype.toString.call(a)){var r=a.language,i=void 0===r?e.replace(/(.*\/)*([^.]+).*/gi,"$2"):r,c=a.title,s=void 0===c?i:c,u=a.icon,g=a.translation;0===t&&o.splice(0),o.push({language:i,title:s,icon:u}),l[i]={language:i,title:s,icon:u,translation:new Proxy(void 0===g?{}:g,{get:function(e,t){return e[t]||t}})}}a=null});export var localizablePersistenceKey="localizable.language";var r=e.load(localizablePersistenceKey,"zh_CN"),i=Object.assign({title:"简体中文",language:"zh_CN",translation:{}},l[r]||l.zh_CN);export var localizable=t({language:r,t:i.translation,locales:o});export function setLanguage(e){var t;localizable.language=e,localizable.t=(null==(t=l[e])?void 0:t.translation)||i.translation}export function interpolateString(e,t){return e.replace(/\${\w+}/g,function(e){var a=t[e.slice(2,-1)];return void 0!==a?a.toString():""})}
package/lib/menu.d.ts CHANGED
@@ -18,6 +18,8 @@ export interface MenuItem extends RouterProps {
18
18
  [key: string]: any;
19
19
  }
20
20
  type ClosedCallback = (closes?: TabItem[], next?: TabItem) => void;
21
+ /** 数据持久化key */
22
+ export declare const menuPersistenceKey = "menu.activeKey";
21
23
  export declare const menu: {
22
24
  /** 当前菜单 */
23
25
  activeKey: string;
package/lib/menu.js CHANGED
@@ -1 +1 @@
1
- function e(e,r){(null==r||r>e.length)&&(r=e.length);for(var n=0,t=Array(r);n<r;n++)t[n]=e[n];return t}function r(){return(r=Object.assign||function(e){for(var r=1;r<arguments.length;r++){var n=arguments[r];for(var t in n)Object.prototype.hasOwnProperty.call(n,t)&&(e[t]=n[t])}return e}).apply(this,arguments)}function n(e,r){if(null==e)return{};var n,t,o={},a=Object.keys(e);for(t=0;t<a.length;t++)n=a[t],r.indexOf(n)>=0||(o[n]=e[n]);return o}import{isEqual as t,isFunction as o}from"@moneko/common";import a from"shared-store-object";export var menu=a({activeKey:"home",menus:[],kv:{},tabs:[]});var i=function(e,r){if(void 0===r&&(r=[]),0===e.length)return r;var t=e[0],o=t.children,a=void 0===o?[]:o,u=t.i18n,l=t.label,f=t.hideMenu,c=n(t,["children","i18n","label","hideMenu"]),s=Object.create(null);return Object.assign(s,c,{label:u||l}),a.length&&(s.children=i(a)),f||r.push(s),i(e.slice(1),r)},u=function(e,r){for(var t,o=function(e,r){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(n)return(n=n.call(e)).next.bind(n);if(Array.isArray(e)||(n=unsupportedIterableToArray(e))){n&&(e=n);var t=0;return function(){return t>=e.length?{done:!0}:{done:!1,value:e[t++]}}}throw TypeError("Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(e);!(t=o()).done;){var a=t.value,i=a.children,l=n(a,["children"]);r[a.key]=l,(null==i?void 0:i.length)&&u(i,r)}};export function setMenu(e){var r=i(e),n={};u(r,n),menu.menus=r,menu.kv=n}export function addTab(n){var o=menu.kv[n.key];if(o&&!menu.tabs.find(function(e){return e.key===n.key})){var a,i=((function(r){if(Array.isArray(r))return e(r)})(a=menu.tabs)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(a)||function(r,n){if(r){if("string"==typeof r)return e(r,n);var t=Object.prototype.toString.call(r).slice(8,-1);if("Object"===t&&r.constructor&&(t=r.constructor.name),"Map"===t||"Set"===t)return Array.from(t);if("Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return e(r,n)}}(a)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()).concat([r({},o,{i18n:o.i18n||"route-"+o.key},n)]);t(i,menu.tabs)||(menu.tabs=i)}}export function openTab(e){addTab(e),menu.activeKey=e.key}export function closeTab(e,r,n){if(void 0===r&&(r="self"),e){for(var t=menu.tabs,a=menu.activeKey,i=[],u=[],l=null,f="self"===r,c=t.findIndex(function(r){return r.key===e}),s=0;s<t.length;s++){var y,m=t[s],b=(y=s,!1===m.closable||({left:y>=c,right:y<=c,other:y===c,self:e!==m.key})[r]);if(f){if(!b&&e===a){var d=s?s-1:s+1;t[d]&&(a=t[d].key,l=t[d])}}else b&&m.key===e&&a!==e&&(a=e,l=t[s]);b||i.push(m),b&&u.push(m)}if(menu.tabs=u,menu.activeKey=a,o(n)){n(i,l);return}}}
1
+ function e(e,r){(null==r||r>e.length)&&(r=e.length);for(var n=0,t=Array(r);n<r;n++)t[n]=e[n];return t}function r(){return(r=Object.assign||function(e){for(var r=1;r<arguments.length;r++){var n=arguments[r];for(var t in n)Object.prototype.hasOwnProperty.call(n,t)&&(e[t]=n[t])}return e}).apply(this,arguments)}function n(e,r){if(null==e)return{};var n,t,o={},a=Object.keys(e);for(t=0;t<a.length;t++)n=a[t],r.indexOf(n)>=0||(o[n]=e[n]);return o}import{isEqual as t,isFunction as o,persistence as a}from"@moneko/common";import i from"shared-store-object";export var menuPersistenceKey="menu.activeKey";export var menu=i({activeKey:a.load(menuPersistenceKey,"home"),menus:[],kv:{},tabs:[]});var u=function(e,r){if(void 0===r&&(r=[]),0===e.length)return r;var t=e[0],o=t.children,a=void 0===o?[]:o,i=t.i18n,l=t.label,c=t.hideMenu,f=n(t,["children","i18n","label","hideMenu"]),s=Object.create(null);return Object.assign(s,f,{label:i||l}),a.length&&(s.children=u(a)),c||r.push(s),u(e.slice(1),r)},l=function(e,r){for(var t,o=function(e,r){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(n)return(n=n.call(e)).next.bind(n);if(Array.isArray(e)||(n=unsupportedIterableToArray(e))){n&&(e=n);var t=0;return function(){return t>=e.length?{done:!0}:{done:!1,value:e[t++]}}}throw TypeError("Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(e);!(t=o()).done;){var a=t.value,i=a.children,u=n(a,["children"]);r[a.key]=u,(null==i?void 0:i.length)&&l(i,r)}};export function setMenu(e){var r=u(e),n={};l(r,n),menu.menus=r,menu.kv=n}export function addTab(n){var o=menu.kv[n.key];if(o&&!menu.tabs.find(function(e){return e.key===n.key})){var a,i=((function(r){if(Array.isArray(r))return e(r)})(a=menu.tabs)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(a)||function(r,n){if(r){if("string"==typeof r)return e(r,n);var t=Object.prototype.toString.call(r).slice(8,-1);if("Object"===t&&r.constructor&&(t=r.constructor.name),"Map"===t||"Set"===t)return Array.from(t);if("Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return e(r,n)}}(a)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()).concat([r({},o,{i18n:o.i18n||"route-"+o.key},n)]);t(i,menu.tabs)||(menu.tabs=i)}}export function openTab(e){addTab(e),menu.activeKey=e.key}export function closeTab(e,r,n){if(void 0===r&&(r="self"),e){for(var t=menu.tabs,a=menu.activeKey,i=[],u=[],l=null,c="self"===r,f=t.findIndex(function(r){return r.key===e}),s=0;s<t.length;s++){var y,m=t[s],b=(y=s,!1===m.closable||({left:y>=f,right:y<=f,other:y===f,self:e!==m.key})[r]);if(c){if(!b&&e===a){var d=s?s-1:s+1;t[d]&&(a=t[d].key,l=t[d])}}else b&&m.key===e&&a!==e&&(a=e,l=t[s]);b||i.push(m),b&&u.push(m)}if(menu.tabs=u,menu.activeKey=a,o(n)){n(i,l);return}}}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@moneko/core",
3
- "version": "2.0.23",
3
+ "version": "2.0.24",
4
4
  "description": "core",
5
5
  "main": "lib/index.js",
6
6
  "scripts": {
@@ -78,10 +78,10 @@ export declare type ConfigType<T = 'tsc'> = {
78
78
  /** 环境变量, 可通过 process.env 获取 */
79
79
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
80
80
  env?: Record<string, any>;
81
- /** persistence 持久化数据使用的key, 为 false 时关闭持久化
82
- * @default false
83
- **/
84
- persistence?: string | false;
81
+ // /** persistence 持久化数据使用的key, 为 false 时关闭持久化
82
+ // * @default false
83
+ // **/
84
+ // persistence?: string | false;
85
85
  devtool?: Configuration['devtool'];
86
86
  sourceMap?: SourceMapDevToolPluginOptions | false;
87
87
  /** 路径别名映射 */