@variousjs/various 6.0.0 → 6.1.0
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/README.md +1 -1
- package/dist/index.dev.js +34 -15
- package/dist/index.dev.js.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/loader-dev.js.map +1 -1
- package/dist/loader.js.map +1 -1
- package/dist/standalone.js +38 -35
- package/dist/standalone.js.map +1 -1
- package/dist/standalone.mjs +38 -35
- package/dist/standalone.mjs.map +1 -1
- package/dist/types/core/config.d.ts +15 -0
- package/dist/types/core/connector.d.ts +35 -0
- package/dist/types/core/create-component.d.ts +3 -0
- package/dist/types/core/create-module.d.ts +3 -0
- package/dist/types/core/default-component.d.ts +5 -0
- package/dist/types/core/dispatch.d.ts +3 -0
- package/dist/types/core/error-boundary.d.ts +18 -0
- package/dist/types/core/helper.d.ts +44 -0
- package/dist/types/core/i18n.d.ts +3 -0
- package/dist/types/core/index.d.ts +63 -0
- package/dist/types/core/logger.d.ts +3 -0
- package/dist/types/core/message.d.ts +3 -0
- package/dist/types/core/react-component.d.ts +11 -0
- package/dist/types/core/render-component.d.ts +3 -0
- package/dist/types/core/store.d.ts +22 -0
- package/dist/types/core/system.d.ts +22 -0
- package/dist/types/core/vue-component.d.ts +10 -0
- package/dist/types/loader.d.ts +1 -0
- package/dist/types/public/index.d.ts +4 -0
- package/dist/types/public/standalone.d.ts +3 -0
- package/dist/types/public/types.d.ts +272 -0
- package/dist/types/standalone/helper.d.ts +3 -0
- package/dist/types/standalone/index.d.ts +4 -0
- package/dist/types/types.d.ts +50 -0
- package/package.json +12 -11
- package/index.d.ts +0 -345
- package/standalone.d.ts +0 -56
package/dist/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import e,{Component as t,useCallback as n,useEffect as r,useLayoutEffect as i,useRef as a,useState as o}from"react";function s(e){"@babel/helpers - typeof";return s=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},s(e)}function c(e,t){if(s(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(s(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function l(e){var t=c(e,`string`);return s(t)==`symbol`?t:t+``}function u(e,t,n){return(t=l(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function d(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function f(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?d(Object(n),!0).forEach(function(t){u(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):d(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}var p={17(e){e.exports=function e(t,n){if(t===n)return!0;if(t&&n&&typeof t==`object`&&typeof n==`object`){if(t.constructor!==n.constructor)return!1;var r,i,a;if(Array.isArray(t)){if((r=t.length)!=n.length)return!1;for(i=r;i--!==0;)if(!e(t[i],n[i]))return!1;return!0}if(t.constructor===RegExp)return t.source===n.source&&t.flags===n.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===n.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===n.toString();if((r=(a=Object.keys(t)).length)!==Object.keys(n).length)return!1;for(i=r;i--!==0;)if(!Object.prototype.hasOwnProperty.call(n,a[i]))return!1;for(i=r;i--!==0;){var o=a[i];if(!e(t[o],n[o]))return!1}return!0}return t!=t&&n!=n}},232(e,t,n){n.d(t,{A:()=>s});var r=n(705),i=n(17),a=n.n(i);function o(e,t=new WeakMap){if(typeof e!=`object`||!e)return e;if(t.has(e))return t.get(e);let n=Array.isArray(e)?[]:{};t.set(e,n);let r=Reflect.ownKeys(e);for(let i of r)n[i]=o(e[i],t);return n}class s{constructor(){var e;(0,r.A)(this,`state`,void 0),(0,r.A)(this,`listeners`,void 0),(0,r.A)(this,`emits`,void 0),(0,r.A)(this,`timer`,void 0),(0,r.A)(this,`onStateChange`,void 0),(0,r.A)(this,`getStore`,void 0),(0,r.A)(this,`createStore`,e=>{this.listeners=Reflect.ownKeys(e).reduce((t,n)=>{let r=n;return this.state[r]=e[r],f(f({},t),{},{[n]:[]})},{})}),(0,r.A)(this,`subscribe`,e=>{let t={};return Reflect.ownKeys(e).forEach(n=>{let r=n;this.listeners[r]||(this.listeners[r]=[]),this.listeners[r].push(e[r]),t[r]=e[r]}),()=>{Reflect.ownKeys(t).forEach(e=>{let n=e;this.listeners[n]=this.listeners[n].filter(e=>e!==t[n])})}}),(0,r.A)(this,`emit`,(e,t)=>{this.emits=f(f({},this.emits),e),t?this.trigger():(clearTimeout(this.timer),this.timer=setTimeout(this.trigger))}),(0,r.A)(this,`dispatch`,(e,...t)=>e({getStore:this.getStore,emit:e=>this.emit(e,!0)},...t)),(0,r.A)(this,`trigger`,()=>{let e=this.emits,t=[],n=Reflect.ownKeys(e);for(let r=0;r<n.length;r+=1){let i=n[r];if(a()(this.state[i],e[i]))continue;let s=e[i],c=this.state[i];this.state[i]=o(e[i]),t.push({key:i,newValue:s,oldValue:c})}let r={};t.forEach(e=>{r[e.key]=[e.newValue,e.oldValue],this.listeners[e.key]&&this.listeners[e.key].forEach(t=>t(e.newValue,e.oldValue))}),t.length&&this.onStateChange(r),this.emits={},this.timer=void 0}),this.state={},this.listeners={},this.emits={},this.timer=void 0,this.onStateChange=()=>null,this.getStore=(e=this.state,function(t){return t?o(e[t]):e})}set onChange(e){this.onStateChange=e}}},705(e,t,n){function r(e){return r=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},r(e)}function i(e,t,n){return(t=function(e){var t=function(e){if(r(e)!=`object`||!e)return e;var t=e[Symbol.toPrimitive];if(t!==void 0){var n=t.call(e,`string`);if(r(n)!=`object`)return n;throw TypeError(`@@toPrimitive must return a primitive value.`)}return String(e)}(e);return r(t)==`symbol`?t:t+``}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}n.d(t,{A:()=>i})}},m={};function h(e){var t=m[e];if(t!==void 0)return t.exports;var n=m[e]={exports:{}};return p[e](n,n.exports,h),n.exports}h.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return h.d(t,{a:t}),t},h.d=(e,t)=>{for(var n in t)h.o(t,n)&&!h.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},h.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);var g=h(705),_=h(232),v=[`name`,`prototype`,`length`,`getDerivedStateFromProps`,`getDerivedStateFromError`],y=class extends _.A{constructor(...n){super(...n),(0,g.A)(this,`connect`,function(n){let{getStore:r,subscribe:i}=n;return function(...n){return function(a){class o extends t{constructor(e){super(e),(0,g.A)(this,`unsubscribe`,void 0),(0,g.A)(this,`state`,{props:r()}),this.unsubscribe=i(n.reduce((e,t)=>f(f({},e),{},{[t]:()=>{this.setState({props:r()})}}),{}))}componentWillUnmount(){this.unsubscribe()}render(){let{props:t}=this.state,n=f(f({},t),this.props);return e.createElement(a,n)}}return Reflect.ownKeys(a).forEach(e=>{let t=String(e);if(!v.includes(t)){let t=Object.getOwnPropertyDescriptor(a,e);t&&Object.defineProperty(o,e,t)}}),o}}}(this)),(0,g.A)(this,`useStore`,function(e){let{getStore:t,subscribe:n}=e;return function(...e){let[r,a]=o(t());return i(()=>n(e.reduce((e,n)=>f(f({},e),{},{[n]:()=>{a(e=>f(f({},e),{},{[n]:t()[n]}))}}),{}))),r}}(this))}},{createStore:ee,getStore:b,connect:x,emit:S,subscribe:C,dispatch:w,useStore:te}=new y;function T(){let e=b(),t=Object.keys(e),n={};return t.forEach(t=>{n[t]=e[t]}),n}var E=Symbol(`MOUNTED_COMPONENTS`),D=Symbol(`MESSAGE`),O=Symbol(`CONFIG`),k=Symbol(`DEPENDENCIES`),A=Symbol(`LOCALE`),j=function(e){return e.SetLocale=`setLocale`,e.GetLocale=`getLocale`,e.UpdateI18nConfig=`updateI18nConfig`,e}({}),ne=[`beforeCreate`,`created`,`beforeMount`,`mounted`,`beforeUpdate`,`updated`,`beforeUnmount`,`unmounted`,`errorCaptured`,`renderTracked`,`renderTriggered`,`activated`,`deactivated`,`setup`,`data`,`render`],M=[`react`,`react-dom`,`@variousjs/various`,`app`],N=e=>{var t;let n=Z.getMiddlewares();if((n==null||(t=n.onLog)==null?void 0:t.call(n,e))===!1)return;let r={info:`blue`,warn:`orange`,error:`red`}[e.level],i=[`%c ${e.module} `,`background:${r};border:1px solid ${r};padding:1px;border-radius:2px 0 0 2px;color: #fff;`];e.type&&(i[0]=`${i[0]}%c ${e.type} %c`,i.push(`border:1px solid ${r};padding:1px;border-radius:0 2px 2px 0;color:${r};`,`background:transparent`)),e.level!==`info`&&(i[0]=` ${i[0]}`),window.console[e.level](...i,e.message)},P=e=>({info(t,n){N({module:e,level:`info`,type:n,message:t})},warn(t,n){N({module:e,level:`warn`,type:n,message:t})},error(t,n){var r;let i=Z.getMiddlewares(),a=t instanceof X?t:new X({module:e,type:n||`unknow`,originalError:t instanceof Error?t:Error(t)});i==null||(r=i.onError)==null||r.call(i,a),N({module:e,level:`error`,type:n,message:t})}}),F=e=>async({event:t,payload:n})=>{let r=Z.getMiddlewares(),i=P(e),a={trigger:e,event:t,payload:n};if(r!=null&&r.onMessage){let e=await r.onMessage(a);if(e===!1){i.warn(`blocked by middleware`,`POST_MESSAGE`);return}e!==!0&&(a=f(f({},a),e))}S({[D]:{timestamp:+new Date,event:a.event,trigger:e,payload:a.payload}})},I=(e,t)=>C({[D](n){let{trigger:r,payload:i,event:a}=n;e!==r&&t({event:a,payload:i,trigger:r})}});function re(e,t,n){if(!e)return;let r=e();if(!be(r)){t?Z.setI18nConfig(t,r):Z.setGlobalI18nConfig(r);return}t?Z.setI18nConfig(t,{loading:!0,resources:{}}):Z.setGlobalI18nConfig({loading:!0,resources:{}}),r.then(e=>{if(t){Z.setI18nConfig(t,f(f({},e),{},{loading:!1})),n==null||n();return}let r=b(A);S({[A]:void 0},!0),S({[A]:r},!0),Z.setGlobalI18nConfig(f(f({},e),{},{loading:!1}))}).catch(e=>{Y(new X({module:t||`app`,type:`I18N`,originalError:e}))})}function ie(e,t){let n=(t,n,r)=>{let i=Z.getI18nConfig(e)||Z.getGlobalI18nConfig(),a=r;if(a===void 0&&(a=typeof n==`string`?n:t),!i)return Y(new X({module:e,type:`I18N`,originalError:Error(`config not exist`)})),a;if(i.loading)return a;let{resources:o}=i,s=b(A),c=o==null?void 0:o[s];if(!c)return Y(new X({module:e,type:`I18N`,originalError:Error(`locale resource \`${s}\` not exist`)})),a;if(!c[t])return Y(new X({module:e,type:`I18N`,originalError:Error(`locale key \`${t}\` not exist`)})),a;let l=c[t];if(!n||typeof n==`string`||Object.prototype.toString.call(n)!==`[object Object]`)return l;let u=Object.keys(n);return u.length?u.reduce((e,t)=>{let r=RegExp(`{\\s*${t}\\s*}`,`g`);return e.replace(r,n[t].toString())},l):l};return n.update=n=>{let r=f(f({},Z.getI18nConfig(e)),n);Z.setI18nConfig(e,r),t()},n}var ae=`modulepreload`,oe=function(e){return`/`+e},se={},ce=function(e,t,n){let r=Promise.resolve();if(t&&t.length>0){let e=document.getElementsByTagName(`link`),i=document.querySelector(`meta[property=csp-nonce]`),a=(i==null?void 0:i.nonce)||(i==null?void 0:i.getAttribute(`nonce`));function o(e){return Promise.all(e.map(e=>Promise.resolve(e).then(e=>({status:`fulfilled`,value:e}),e=>({status:`rejected`,reason:e}))))}function s(e){return import.meta.resolve?import.meta.resolve(e):new URL(e,import.meta.url).href}r=o(t.map(t=>{if(t=oe(t,n),t=s(t),t in se)return;se[t]=!0;let r=t.endsWith(`.css`);for(let n=e.length-1;n>=0;n--){let i=e[n];if(i.href===t&&(!r||i.rel===`stylesheet`))return}let i=document.createElement(`link`);if(i.rel=r?`stylesheet`:ae,r||(i.as=`script`),i.crossOrigin=``,i.href=t,a&&i.setAttribute(`nonce`,a),document.head.appendChild(i),r)return new Promise((e,n)=>{i.addEventListener(`load`,e),i.addEventListener(`error`,()=>n(Error(`Unable to preload CSS for ${t}`)))})}))}function i(e){let t=new Event(`vite:preloadError`,{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return r.then(t=>{for(let e of t||[])e.status===`rejected`&&i(e.reason);return e().catch(i)})};function le(){return window.__various||(window.__various={modules:new Map,urls:new Map,loaded:new Map}),window.__various}var{modules:L,urls:R,loaded:z}=le();function B(e){return e.startsWith(`http`)||e.startsWith(`/`)||e.startsWith(`blob:`)?e:new URL(e,document.baseURI).href}function V(e,t){R.set(e,t)}function ue(e){return R.get(e)}async function H(e){let t=R.get(e);if(t){let e=B(t);if(z.has(e))return z.get(e);let n=await ce(()=>import(e),[]);return z.set(e,n),n}if(L.has(e))return L.get(e);throw Error(`module "${e}" not defined`)}function U(e){if(L.has(e))return!0;let t=R.get(e);return!!(t&&z.has(B(t)))}function de(e){return R.has(e)||U(e)}function W(e){L.delete(e);let t=R.get(e);t&&z.delete(B(t))}var fe=e=>`${e}?${+new Date}`,G=e=>{let[t,n]=e.split(`.`);return{name:t,entry:n}},pe=e=>{let t=e.map(e=>G(e).name);return Promise.all(t.map(e=>H(e))).then(()=>void 0)},me=e=>{e.forEach(e=>{let{name:t}=G(e);M.includes(t)||W(t)})},he=e=>{let t=b(k),n={};Object.keys(e).forEach(t=>{M.includes(t)||(n[t]=e[t],ue(t)!==e[t]&&W(t),V(t,e[t]))}),S({[k]:f(f({},t),n)},!0)},K=e=>{let{name:t}=G(e);return U(t)},ge=e=>{let{name:t}=G(e);return de(t)},q=()=>b(E),_e=(e,t)=>{let n=Array.isArray(e)?e:[e];n.every(e=>q().includes(e))&&t();let r=C({[E](e){n.every(t=>e.includes(t))&&(r(),t())}});return r},J=(e,t)=>{let{name:n}=G(e),r=b(k);if(t&&U(n))return;if(!r[n]&&t){V(n,t);return}let i=fe(r[n]);t&&(i=fe(t)),W(n),V(n,i)};function ve(){return b(O)}var Y=e=>{let{module:t,type:n}=e;P(t).error(e,n)},X=class extends Error{constructor(e){super(e.originalError.message),u(this,`type`,void 0),u(this,`originalError`,void 0),u(this,`module`,void 0),this.type=e.type,this.originalError=e.originalError,this.module=e.module}};function ye(e,t){return new Promise((n,r)=>{var i;if(e.$$typeof||(i=e.prototype)!=null&&i.isReactComponent||typeof e==`function`){n();return}r(new X({module:t,originalError:Error(`not a valid React component`),type:`INVALID_COMPONENT`}))})}function be(e){return e!=null&&typeof e.then==`function`}function xe(e,t){let n=RegExp(`^3\\.`);return new Promise((r,i)=>{H(`vue`).then(a=>{let o=a.default||a;if(!n.test(o.version)){i(Error(`Vue 3+ required, detected an incompatible version`));return}if(typeof(e==null?void 0:e.render)==`function`||typeof(e==null?void 0:e.setup)==`function`){r();return}i(new X({module:t,originalError:Error(`not a valid Vue component`),type:`INVALID_COMPONENT`}))}).catch(i)})}function Se(e){let{componentNode:t,module:n,type:r,i18nUpdate:i}=e,a={},o,s;return Object.getOwnPropertyNames(t).forEach(e=>{if(typeof t[e]==`function`){if(e===`$onMessage`){o=t[e];return}if(e===`$i18n`){s=t[e];return}r===`vue3`&&ne.includes(e)||(a[e]=t[e])}}),s&&re(s,n,i),Z.setComponentActions(n,a),o?I(n,o):()=>null}function Ce(e){let t=q();t.includes(e)||t.push(e),S({[E]:t},!0)}function we(e){let t=q();t=t.filter(t=>t!==e),S({[E]:t},!0),Z.deleteComponentActions(e)}function Te(e){let{module:t,url:n}=e,r=b(k),{name:i}=G(t);return{module:t,url:n||r[i]||ue(i)||``}}function Ee(e,t){let{name:n,entry:r}=G(e);return`${t} ${[n,r].filter(Boolean).join(`-`)}`}var De=t=>{let n=Ee(t.$self.module,`various-component-fallback`);return e.createElement(`div`,{className:n},`Loading`)},Oe=({$error:t,$reload:n,$self:r})=>{let i=Ee(r.module,`various-component-error_fallback`);return e.createElement(`div`,{className:i},e.createElement(`h3`,null,t.type),e.createElement(`p`,null,t.message),e.createElement(`button`,{type:`button`,onClick:n},`Reload`))},ke=()=>e.createElement(`div`,null,`App Container is not defined`),Z=new class{constructor(){u(this,`fallbackComponent`,void 0),u(this,`errorFallbackComponent`,void 0),u(this,`storeActions`,void 0),u(this,`componentActions`,void 0),u(this,`i18nConfigs`,void 0),u(this,`globalI18nConfig`,void 0),u(this,`middlewares`,void 0),this.fallbackComponent=De,this.errorFallbackComponent=Oe,this.storeActions={},this.componentActions={},this.i18nConfigs={},this.middlewares={}}setMiddlewares(e){this.middlewares=e}getMiddlewares(){return this.middlewares}setI18nConfig(e,t){this.i18nConfigs[e]=f(f({},this.i18nConfigs[e]),t)}getI18nConfig(e){return this.i18nConfigs[e]}setGlobalI18nConfig(e){this.globalI18nConfig=f(f({},this.globalI18nConfig),e)}getGlobalI18nConfig(){return this.globalI18nConfig}setComponentActions(e,t){this.componentActions[e]=t}deleteComponentActions(e){delete this.componentActions[e]}getComponentActions(e){return this.componentActions[e]}setStoreActions(e){this.storeActions=e}getStoreActions(){return this.storeActions}setFallbackComponent(e){this.fallbackComponent=e}getFallbackComponent(){return this.fallbackComponent}setErrorFallbackComponent(e){this.errorFallbackComponent=e}getErrorFallbackComponent(){return this.errorFallbackComponent}},Q=class extends t{constructor(...e){super(...e),u(this,`state`,{hasError:!1}),u(this,`error`,void 0),u(this,`$self`,Te(this.props)),u(this,`reload`,()=>{this.error=void 0,this.setState({hasError:!1})})}componentDidCatch(e){let{module:t}=this.props,n=e instanceof X?e:new X({module:t,type:t===`app`?`APP_ERROR`:`SCRIPT_ERROR`,originalError:e});this.setState({hasError:!0}),this.error=n,Y(n),J(t),we(t)}render(){let t=Z.getErrorFallbackComponent(),n=T(),r=b(A);return this.state.hasError?e.createElement(t,{$self:this.$self,$reload:this.reload,$store:n,$error:this.error,$locale:r}):this.props.children}};u(Q,`displayName`,`various-error-boundary`);function Ae(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.includes(r))continue;n[r]=e[r]}return n}function je(e,t){if(e==null)return{};var n,r,i=Ae(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.includes(n)||{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}var Me=e=>async function(t){let n=Z.getMiddlewares(),r=P(e),{action:i,payload:a,target:o}=t;if(n!=null&&n.onDispatch){let t=await n.onDispatch({target:o,action:i,payload:a,trigger:e});if(t===!1)return r.warn(`blocked by middleware`,`DISPATCH`),Promise.resolve();t!==!0&&(o=t.target,i=t.action,a=t.payload)}if(o===`app`){let t=Z.getStoreActions()[i];if(i===j.SetLocale)return S({[A]:a},!0),a;if(i===j.GetLocale)return b(A);if(i===j.UpdateI18nConfig){let e=b(A);return Z.setGlobalI18nConfig(a),S({[A]:void 0},!0),S({[A]:e},!0),e}if(!t){let t=`action "${i}" is not present`,n=new X({module:e,type:`DISPATCH`,originalError:Error(t)});throw Y(n),n}return w(t,a,e)}let s=Z.getComponentActions(o);if(!s){let t=new X({module:e,type:`DISPATCH`,originalError:Error(`component is not ready`)});throw Y(t),t}let c=s[i];if(!c){let t=`action "${i}" is not present`,n=new X({module:e,type:`DISPATCH`,originalError:Error(t)});throw Y(n),n}return Promise.resolve(c({payload:a,trigger:e}))},$=(e,t=!0)=>{let n=b(k),r=Z.getMiddlewares(),{url:i,module:a}=e,{name:o,entry:s}=G(a),c=+new Date,l=e=>{t&&Y(e)};return i&&J(a,i),new Promise((e,t)=>{if(!i&&!n[o]&&!ge(a)){let e=new X({module:a,type:`NOT_DEFINED`,originalError:Error(`module "${o}" not defined`)});l(e),t(e);return}H(o).then(n=>{var i;let u=+new Date;if(r==null||(i=r.onLoad)==null||i.call(r,{module:a,loadStart:c,loadEnd:u,beenLoaded:K(a)}),!n||typeof n==`object`&&Object.keys(n).length===0){let e=new X({module:a,type:`INVALID_MODULE`,originalError:Error(`module "${o}" invalid`)});J(a),l(e),t(e);return}let d=`default`in n?n.default:n,f=s?n[s]:d;if(f===void 0&&s){let e=new X({module:a,type:`SUBMODULE_NOT_DEFINED`,originalError:Error(`submodule "${s}" not defined`)});J(a),l(e),t(e);return}e(f)}).catch(e=>{J(a,i);let n=`LOADING_ERROR`;!i&&e.message&&!e.message.includes(o)&&(n=`SUBMODULE_LOADING_ERROR`);let r=new X({module:o,type:n,originalError:e});l(r),t(r)})})};function Ne(n){let{module:r,url:i,watchKeys:a,onMounted:o}=n,s=a||Object.keys(b());class c extends t{constructor(...e){var t;super(...e),t=this,u(this,`state`,{componentReady:!1,isError:!1}),u(this,`error`,void 0),u(this,`ComponentNode`,void 0),u(this,`isUnMounted`,void 0),u(this,`unSubscribeMessage`,()=>null),u(this,`mountComponent`,async()=>{try{let e=await $({module:r,url:i},!1);if(t.isUnMounted)return;await ye(e,r),e.displayName=r,Ce(r),t.unSubscribeMessage=Se({componentNode:e,module:r,i18nUpdate:()=>t.forceUpdate()}),t.ComponentNode=e,t.setState({componentReady:!0}),o==null||o()}catch(e){if(t.isUnMounted)return;t.error=e,t.setState({componentReady:!0,isError:!0})}}),u(this,`$postMessage`,F(r)),u(this,`$dispatch`,Me(r)),u(this,`$t`,ie(r,()=>this.forceUpdate())),u(this,`$logger`,P(r)),u(this,`$self`,Te({module:r,url:i}))}componentDidMount(){this.isUnMounted=!1,this.mountComponent()}componentWillUnmount(){this.error=void 0,this.ComponentNode=null,this.isUnMounted=!0,this.unSubscribeMessage(),we(r)}render(){let t=Z.getFallbackComponent(),{$silent:n,$componentProps:i,$ref:a}=this.props,{componentReady:o,isError:s}=this.state,c=T(),l=b(A),u=this.ComponentNode;if(s)throw this.error;return o?e.createElement(u,f(f({},i),{},{$self:this.$self,$dispatch:this.$dispatch,$store:c,$postMessage:this.$postMessage,$t:this.$t,$logger:this.$logger,ref:a,$locale:l})):n||K(r)?null:e.createElement(t,{$self:this.$self,$store:c,$locale:l})}}u(c,`displayName`,`various-react-component`);let l=x(...s,A)(c);return l.displayName=`various-connector`,l}function Pe(t){let{module:i,url:s,watchKeys:c,onMounted:l}=t,u=c||Object.keys(b()),d=t=>{let c=te(...u,A),d=c[A],p=a(),m=a(),h=a(!1),g=a(),_=a(!1),v=a(),y=a(Te({module:i,url:s})),ee=a(null),b=a(),x=a(),S=a(),C=a(),w=a(),T=a(),[E,D]=o(!1),[O,k]=o(!1),j=Z.getFallbackComponent(),{$silent:ne,$componentProps:M}=t,N=n(()=>{let e=P(i),t=Me(i),n=F(i),r=ie(i,()=>{var e;(e=T.current)==null||e.call(T)});b.current=p.current.ref(f({},M)),x.current=p.current.ref(f({},c)),S.current=p.current.ref(d);let a=p.current.createApp({setup(){let e=p.current.ref(0);return T.current=()=>{e.value+=1},{key:e}},errorCaptured(e){var t;let n=e;g.current=(t=n.message)!=null&&t.includes(`https://react`)?new X({originalError:Error(`not a valid Vue component`),module:i,type:`INVALID_COMPONENT`}):n,k(!0)},render(){return p.current.h(v.current,f(f({},b.current.value),{},{various:{$dispatch:t,$logger:e,$postMessage:n,$t:r,$store:x.current.value,$self:y.current,$locale:S.current.value},key:this.key}))}});m.current||(m.current=a.mount(ee.current)),h.current=!0,C.current=()=>a.unmount()},[M,c,d]),I=n(async()=>{try{let e=await $({module:`vue`});p.current=e;let t=await $({module:i,url:s},!1);if(_.current)return;await xe(t,i),Ce(i),w.current=Se({componentNode:t,module:i,type:`vue3`,i18nUpdate(){var e;(e=T.current)==null||e.call(T)}}),v.current=t,setTimeout(N),D(!0),l==null||l()}catch(e){if(_.current)return;g.current=e,D(!0),k(!0)}},[N]);if(r(()=>(_.current=!1,()=>{var e,t;g.current=void 0,v.current=void 0,_.current=!0,we(i),(e=C.current)==null||e.call(C),(t=w.current)==null||t.call(w),h.current=!1}),[]),r(()=>{h.current||I()},[I]),r(()=>{b.current&&(b.current.value=f({},M))},[M]),r(()=>{x.current&&(x.current.value=f({},c))},[c]),r(()=>{S.current&&(S.current.value=d)},[d]),O)throw g.current;return e.createElement(e.Fragment,null,!E&&!ne&&!K(i)?e.createElement(j,{$self:y.current,$store:c,$locale:d}):null,e.createElement(`div`,{className:Ee(i,`various-vue-component`),ref:ee}))};d.displayName=i;let p=t=>e.createElement(d,t);return p.displayName=`various-vue-component`,p}var Fe=[`$silent`,`$ref`],Ie=(t,n)=>{let{module:r,url:i,type:a=`react`}=t,o=(a===`vue3`?Pe:Ne)({module:r,url:i,watchKeys:n}),s=t=>{let n=t||{},{$silent:a,$ref:s}=n,c={$componentProps:je(n,Fe),$silent:a,$ref:s};return e.createElement(Q,{module:r,url:i},e.createElement(o,c))};return s.displayName=`various-creator`,s},Le=[`$silent`,`$ref`],Re=async({module:t,url:n,target:r,props:i,type:a=`react`,renderNode:o,onMounted:s})=>{try{let c=await $({module:`react-dom/client`}),l=(a===`vue3`?Pe:Ne)({module:t,url:n,onMounted:s}),u=c.createRoot(r),d=i||{},{$silent:f,$ref:p}=d,m={$componentProps:je(d,Le),$silent:f,$ref:p},h=e.createElement(Q,{module:t,url:n},e.createElement(l,m));return u.render(o?o(h):h),()=>new Promise(e=>{setTimeout(()=>{u.unmount(),e()})})}catch(e){return Y(new X({module:t,type:`SCRIPT_ERROR`,originalError:e})),()=>Promise.resolve()}},ze=[`dependencies`,`store`,`actions`,`Fallback`,`ErrorFallback`,`Root`,`middlewares`,`i18n`],Be=`6.0.0`,Ve=n=>{var r;let{dependencies:i,store:a={},actions:o={},Fallback:s,ErrorFallback:c,Root:l=ke,middlewares:d,i18n:p}=n,m=je(n,ze);return d&&Z.setMiddlewares(d),Z.setStoreActions(o),s&&Z.setFallbackComponent(s),c&&Z.setErrorFallbackComponent(c),ee(f(f({},a),{},{[E]:[],[O]:m,[k]:i,[D]:null,[A]:(p==null?void 0:p.defaultLocale)||`en`})),l.displayName=`various-app-root`,r=class extends t{componentDidMount(){re(p==null?void 0:p.getResources)}render(){return e.createElement(Q,{module:`app`,url:i.app},e.createElement(l,null))}},u(r,`displayName`,`various-app`),r};export{y as Nycticorax,Ie as createComponent,Me as createDispatch,P as createLogger,$ as createModule,F as createPostMessage,he as defineDependencies,Ve as getApp,ve as getConfig,G as getModuleInfo,q as getMountedComponents,T as getStore,K as isModuleLoaded,_e as onComponentMounted,pe as preloadModules,me as removeLoadedModules,Re as renderComponent,Be as version};
|
|
1
|
+
import e,{Component as t,useCallback as n,useEffect as r,useLayoutEffect as i,useRef as a,useState as o}from"react";function s(e){"@babel/helpers - typeof";return s=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},s(e)}function c(e,t){if(s(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(s(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function l(e){var t=c(e,`string`);return s(t)==`symbol`?t:t+``}function u(e,t,n){return(t=l(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function d(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function f(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?d(Object(n),!0).forEach(function(t){u(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):d(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}var p={17(e){e.exports=function e(t,n){if(t===n)return!0;if(t&&n&&typeof t==`object`&&typeof n==`object`){if(t.constructor!==n.constructor)return!1;var r,i,a;if(Array.isArray(t)){if((r=t.length)!=n.length)return!1;for(i=r;i--!==0;)if(!e(t[i],n[i]))return!1;return!0}if(t.constructor===RegExp)return t.source===n.source&&t.flags===n.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===n.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===n.toString();if((r=(a=Object.keys(t)).length)!==Object.keys(n).length)return!1;for(i=r;i--!==0;)if(!Object.prototype.hasOwnProperty.call(n,a[i]))return!1;for(i=r;i--!==0;){var o=a[i];if(!e(t[o],n[o]))return!1}return!0}return t!=t&&n!=n}},232(e,t,n){n.d(t,{A:()=>s});var r=n(705),i=n(17),a=n.n(i);function o(e,t=new WeakMap){if(typeof e!=`object`||!e)return e;if(t.has(e))return t.get(e);let n=Array.isArray(e)?[]:{};t.set(e,n);let r=Reflect.ownKeys(e);for(let i of r)n[i]=o(e[i],t);return n}class s{constructor(){var e;(0,r.A)(this,`state`,void 0),(0,r.A)(this,`listeners`,void 0),(0,r.A)(this,`emits`,void 0),(0,r.A)(this,`timer`,void 0),(0,r.A)(this,`onStateChange`,void 0),(0,r.A)(this,`getStore`,void 0),(0,r.A)(this,`createStore`,e=>{this.listeners=Reflect.ownKeys(e).reduce((t,n)=>{let r=n;return this.state[r]=e[r],f(f({},t),{},{[n]:[]})},{})}),(0,r.A)(this,`subscribe`,e=>{let t={};return Reflect.ownKeys(e).forEach(n=>{let r=n;this.listeners[r]||(this.listeners[r]=[]),this.listeners[r].push(e[r]),t[r]=e[r]}),()=>{Reflect.ownKeys(t).forEach(e=>{let n=e;this.listeners[n]=this.listeners[n].filter(e=>e!==t[n])})}}),(0,r.A)(this,`emit`,(e,t)=>{this.emits=f(f({},this.emits),e),t?this.trigger():(clearTimeout(this.timer),this.timer=setTimeout(this.trigger))}),(0,r.A)(this,`dispatch`,(e,...t)=>e({getStore:this.getStore,emit:e=>this.emit(e,!0)},...t)),(0,r.A)(this,`trigger`,()=>{let e=this.emits,t=[],n=Reflect.ownKeys(e);for(let r=0;r<n.length;r+=1){let i=n[r];if(a()(this.state[i],e[i]))continue;let s=e[i],c=this.state[i];this.state[i]=o(e[i]),t.push({key:i,newValue:s,oldValue:c})}let r={};t.forEach(e=>{r[e.key]=[e.newValue,e.oldValue],this.listeners[e.key]&&this.listeners[e.key].forEach(t=>t(e.newValue,e.oldValue))}),t.length&&this.onStateChange(r),this.emits={},this.timer=void 0}),this.state={},this.listeners={},this.emits={},this.timer=void 0,this.onStateChange=()=>null,this.getStore=(e=this.state,function(t){return t?o(e[t]):e})}set onChange(e){this.onStateChange=e}}},705(e,t,n){function r(e){return r=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},r(e)}function i(e,t,n){return(t=function(e){var t=function(e){if(r(e)!=`object`||!e)return e;var t=e[Symbol.toPrimitive];if(t!==void 0){var n=t.call(e,`string`);if(r(n)!=`object`)return n;throw TypeError(`@@toPrimitive must return a primitive value.`)}return String(e)}(e);return r(t)==`symbol`?t:t+``}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}n.d(t,{A:()=>i})}},m={};function h(e){var t=m[e];if(t!==void 0)return t.exports;var n=m[e]={exports:{}};return p[e](n,n.exports,h),n.exports}h.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return h.d(t,{a:t}),t},h.d=(e,t)=>{for(var n in t)h.o(t,n)&&!h.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},h.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);var g=h(705),_=h(232),v=[`name`,`prototype`,`length`,`getDerivedStateFromProps`,`getDerivedStateFromError`],y=class extends _.A{constructor(...n){super(...n),(0,g.A)(this,`connect`,function(n){let{getStore:r,subscribe:i}=n;return function(...n){return function(a){class o extends t{constructor(e){super(e),(0,g.A)(this,`unsubscribe`,void 0),(0,g.A)(this,`state`,{props:r()}),this.unsubscribe=i(n.reduce((e,t)=>f(f({},e),{},{[t]:()=>{this.setState({props:r()})}}),{}))}componentWillUnmount(){this.unsubscribe()}render(){let{props:t}=this.state,n=f(f({},t),this.props);return e.createElement(a,n)}}return Reflect.ownKeys(a).forEach(e=>{let t=String(e);if(!v.includes(t)){let t=Object.getOwnPropertyDescriptor(a,e);t&&Object.defineProperty(o,e,t)}}),o}}}(this)),(0,g.A)(this,`useStore`,function(e){let{getStore:t,subscribe:n}=e;return function(...e){let[r,a]=o(t());return i(()=>n(e.reduce((e,n)=>f(f({},e),{},{[n]:()=>{a(e=>f(f({},e),{},{[n]:t()[n]}))}}),{}))),r}}(this))}},b=Symbol(`MOUNTED_COMPONENTS`),x=Symbol(`MESSAGE`),S=Symbol(`CONFIG`),C=Symbol(`DEPENDENCIES`),w=Symbol(`LOCALE`),T=function(e){return e.SetLocale=`setLocale`,e.GetLocale=`getLocale`,e.UpdateI18nConfig=`updateI18nConfig`,e}({}),E=[`beforeCreate`,`created`,`beforeMount`,`mounted`,`beforeUpdate`,`updated`,`beforeUnmount`,`unmounted`,`errorCaptured`,`renderTracked`,`renderTriggered`,`activated`,`deactivated`,`setup`,`data`,`render`],D=[`react`,`react-dom`,`@variousjs/various`,`app`],{createStore:ee,getStore:O,connect:te,emit:k,subscribe:A,dispatch:ne,useStore:re}=new y;function j(){let e=O(),t=Object.keys(e),n={};return t.forEach(t=>{n[t]=e[t]}),n}var M=e=>{var t;let n=Z.getMiddlewares();if((n==null||(t=n.onLog)==null?void 0:t.call(n,e))===!1)return;let r={info:`blue`,warn:`orange`,error:`red`}[e.level],i=[`%c ${e.module} `,`background:${r};border:1px solid ${r};padding:1px;border-radius:2px 0 0 2px;color: #fff;`];e.type&&(i[0]=`${i[0]}%c ${e.type} %c`,i.push(`border:1px solid ${r};padding:1px;border-radius:0 2px 2px 0;color:${r};`,`background:transparent`)),e.level!==`info`&&(i[0]=` ${i[0]}`),window.console[e.level](...i,e.message)},N=e=>({info(t,n){M({module:e,level:`info`,type:n,message:t})},warn(t,n){M({module:e,level:`warn`,type:n,message:t})},error(t,n){var r;let i=Z.getMiddlewares(),a=t instanceof Y?t:new Y({module:e,type:n||`unknow`,originalError:t instanceof Error?t:Error(t)});i==null||(r=i.onError)==null||r.call(i,a),M({module:e,level:`error`,type:n,message:t})}}),P=e=>async({event:t,payload:n})=>{let r=Z.getMiddlewares(),i=N(e),a={trigger:e,event:t,payload:n};if(r!=null&&r.onMessage){let e=await r.onMessage(a);if(e===!1){i.warn(`blocked by middleware`,`POST_MESSAGE`);return}e!==!0&&(a=f(f({},a),e))}k({[x]:{timestamp:+new Date,event:a.event,trigger:e,payload:a.payload}})},F=(e,t)=>A({[x](n){let{trigger:r,payload:i,event:a}=n;e!==r&&t({event:a,payload:i,trigger:r})}});function ie(e,t,n){if(!e)return;let r=e();if(!Se(r)){t?Z.setI18nConfig(t,r):Z.setGlobalI18nConfig(r);return}t?Z.setI18nConfig(t,{loading:!0,resources:{}}):Z.setGlobalI18nConfig({loading:!0,resources:{}}),r.then(e=>{if(t){Z.setI18nConfig(t,f(f({},e),{},{loading:!1})),n==null||n();return}let r=O(w);k({[w]:void 0},!0),k({[w]:r},!0),Z.setGlobalI18nConfig(f(f({},e),{},{loading:!1}))}).catch(e=>{J(new Y({module:t||`app`,type:`I18N`,originalError:e}))})}function ae(e,t){let n=(t,n,r)=>{let i=Z.getI18nConfig(e)||Z.getGlobalI18nConfig(),a=r;if(a===void 0&&(a=typeof n==`string`?n:t),!i)return J(new Y({module:e,type:`I18N`,originalError:Error(`config not exist`)})),a;if(i.loading)return a;let{resources:o}=i,s=O(w),c=o==null?void 0:o[s];if(!c)return J(new Y({module:e,type:`I18N`,originalError:Error(`locale resource \`${s}\` not exist`)})),a;if(!c[t])return J(new Y({module:e,type:`I18N`,originalError:Error(`locale key \`${t}\` not exist`)})),a;let l=c[t];if(!n||typeof n==`string`||Object.prototype.toString.call(n)!==`[object Object]`)return l;let u=Object.keys(n);return u.length?u.reduce((e,t)=>{let r=RegExp(`{\\s*${t}\\s*}`,`g`);return e.replace(r,n[t].toString())},l):l};return n.update=n=>{let r=f(f({},Z.getI18nConfig(e)),n);Z.setI18nConfig(e,r),t()},n}var oe=`modulepreload`,se=function(e){return`/`+e},ce={},le=function(e,t,n){let r=Promise.resolve();if(t&&t.length>0){let e=document.getElementsByTagName(`link`),i=document.querySelector(`meta[property=csp-nonce]`),a=(i==null?void 0:i.nonce)||(i==null?void 0:i.getAttribute(`nonce`));function o(e){return Promise.all(e.map(e=>Promise.resolve(e).then(e=>({status:`fulfilled`,value:e}),e=>({status:`rejected`,reason:e}))))}function s(e){return import.meta.resolve?import.meta.resolve(e):new URL(e,import.meta.url).href}r=o(t.map(t=>{if(t=se(t,n),t=s(t),t in ce)return;ce[t]=!0;let r=t.endsWith(`.css`);for(let n=e.length-1;n>=0;n--){let i=e[n];if(i.href===t&&(!r||i.rel===`stylesheet`))return}let i=document.createElement(`link`);if(i.rel=r?`stylesheet`:oe,r||(i.as=`script`),i.crossOrigin=``,i.href=t,a&&i.setAttribute(`nonce`,a),document.head.appendChild(i),r)return new Promise((e,n)=>{i.addEventListener(`load`,e),i.addEventListener(`error`,()=>n(Error(`Unable to preload CSS for ${t}`)))})}))}function i(e){let t=new Event(`vite:preloadError`,{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return r.then(t=>{for(let e of t||[])e.status===`rejected`&&i(e.reason);return e().catch(i)})};function ue(){return window.__various||(window.__various={modules:new Map,urls:new Map,loaded:new Map}),window.__various}var{modules:I,urls:L,loaded:R}=ue();function z(e){return e.startsWith(`http`)||e.startsWith(`/`)||e.startsWith(`blob:`)?e:new URL(e,document.baseURI).href}function B(e,t){L.set(e,t)}function de(e){return L.get(e)}async function V(e){let t=L.get(e);if(t){let e=z(t);if(R.has(e))return R.get(e);let n=await le(()=>import(e),[]);return R.set(e,n),n}if(I.has(e))return I.get(e);throw Error(`module "${e}" not defined`)}function H(e){if(I.has(e))return!0;let t=L.get(e);return!!(t&&R.has(z(t)))}function fe(e){return L.has(e)||H(e)}function U(e){I.delete(e);let t=L.get(e);t&&R.delete(z(t))}var pe=e=>`${e}?${+new Date}`,W=e=>{let[t,n]=e.split(`.`);return{name:t,entry:n}},me=e=>{let t=e.map(e=>W(e).name);return Promise.all(t.map(e=>V(e))).then(()=>void 0)},he=e=>{e.forEach(e=>{let{name:t}=W(e);D.includes(t)||U(t)})};function ge(e){let t={};if(Object.entries(e).forEach(([e,n])=>{if(!D.includes(e))try{import.meta.resolve(e)}catch(r){t[e]=n}}),Object.keys(t).length===0)return;let n=document.createElement(`script`);n.type=`importmap`,n.textContent=JSON.stringify({imports:t}),document.head.appendChild(n)}var _e=e=>{let t=O(C),n={};Object.keys(e).forEach(t=>{D.includes(t)||(n[t]=e[t],de(t)!==e[t]&&U(t),B(t,e[t]))}),ge(e),k({[C]:f(f({},t),n)},!0)},G=e=>{let{name:t}=W(e);return H(t)},ve=e=>{let{name:t}=W(e);return fe(t)},K=()=>O(b),ye=(e,t)=>{let n=Array.isArray(e)?e:[e];n.every(e=>K().includes(e))&&t();let r=A({[b](e){n.every(t=>e.includes(t))&&(r(),t())}});return r},q=(e,t)=>{let{name:n}=W(e),r=O(C);if(t&&H(n))return;if(!r[n]&&t){B(n,t);return}let i=pe(r[n]);t&&(i=pe(t)),U(n),B(n,i)};function be(){return O(S)}var J=e=>{let{module:t,type:n}=e;N(t).error(e,n)},Y=class extends Error{constructor(e){super(e.originalError.message),u(this,`type`,void 0),u(this,`originalError`,void 0),u(this,`module`,void 0),this.type=e.type,this.originalError=e.originalError,this.module=e.module}};function xe(e,t){return new Promise((n,r)=>{var i;if(e.$$typeof||(i=e.prototype)!=null&&i.isReactComponent||typeof e==`function`){n();return}r(new Y({module:t,originalError:Error(`not a valid React component`),type:`INVALID_COMPONENT`}))})}function Se(e){return e!=null&&typeof e.then==`function`}function Ce(e,t){let n=RegExp(`^3\\.`);return new Promise((r,i)=>{V(`vue`).then(a=>{let o=a.default||a;if(!n.test(o.version)){i(Error(`Vue 3+ required, detected an incompatible version`));return}if(typeof(e==null?void 0:e.render)==`function`||typeof(e==null?void 0:e.setup)==`function`){r();return}i(new Y({module:t,originalError:Error(`not a valid Vue component`),type:`INVALID_COMPONENT`}))}).catch(i)})}function we(e){let{componentNode:t,module:n,type:r,i18nUpdate:i}=e,a={},o,s;return Object.getOwnPropertyNames(t).forEach(e=>{if(typeof t[e]==`function`){if(e===`$onMessage`){o=t[e];return}if(e===`$i18n`){s=t[e];return}r===`vue3`&&E.includes(e)||(a[e]=t[e])}}),s&&ie(s,n,i),Z.setComponentActions(n,a),o?F(n,o):()=>null}function Te(e){let t=K();t.includes(e)||t.push(e),k({[b]:t},!0)}function X(e){let t=K();t=t.filter(t=>t!==e),k({[b]:t},!0),Z.deleteComponentActions(e)}function Ee(e){let{module:t,url:n}=e,r=O(C),{name:i}=W(t);return{module:t,url:n||r[i]||de(i)||``}}function De(e,t){let{name:n,entry:r}=W(e);return`${t} ${[n,r].filter(Boolean).join(`-`)}`}var Oe=t=>{let n=De(t.$self.module,`various-component-fallback`);return e.createElement(`div`,{className:n},`Loading`)},ke=({$error:t,$reload:n,$self:r})=>{let i=De(r.module,`various-component-error_fallback`);return e.createElement(`div`,{className:i},e.createElement(`h3`,null,t.type),e.createElement(`p`,null,t.message),e.createElement(`button`,{type:`button`,onClick:n},`Reload`))},Ae=()=>e.createElement(`div`,null,`App Container is not defined`),Z=new class{constructor(){u(this,`fallbackComponent`,void 0),u(this,`errorFallbackComponent`,void 0),u(this,`storeActions`,void 0),u(this,`componentActions`,void 0),u(this,`i18nConfigs`,void 0),u(this,`globalI18nConfig`,void 0),u(this,`middlewares`,void 0),this.fallbackComponent=Oe,this.errorFallbackComponent=ke,this.storeActions={},this.componentActions={},this.i18nConfigs={},this.middlewares={}}setMiddlewares(e){this.middlewares=e}getMiddlewares(){return this.middlewares}setI18nConfig(e,t){this.i18nConfigs[e]=f(f({},this.i18nConfigs[e]),t)}getI18nConfig(e){return this.i18nConfigs[e]}setGlobalI18nConfig(e){this.globalI18nConfig=f(f({},this.globalI18nConfig),e)}getGlobalI18nConfig(){return this.globalI18nConfig}setComponentActions(e,t){this.componentActions[e]=t}deleteComponentActions(e){delete this.componentActions[e]}getComponentActions(e){return this.componentActions[e]}setStoreActions(e){this.storeActions=e}getStoreActions(){return this.storeActions}setFallbackComponent(e){this.fallbackComponent=e}getFallbackComponent(){return this.fallbackComponent}setErrorFallbackComponent(e){this.errorFallbackComponent=e}getErrorFallbackComponent(){return this.errorFallbackComponent}},Q=class extends t{constructor(...e){super(...e),u(this,`state`,{hasError:!1}),u(this,`error`,void 0),u(this,`$self`,Ee(this.props)),u(this,`reload`,()=>{this.error=void 0,this.setState({hasError:!1})})}componentDidCatch(e){let{module:t}=this.props,n=e instanceof Y?e:new Y({module:t,type:t===`app`?`APP_ERROR`:`SCRIPT_ERROR`,originalError:e});this.setState({hasError:!0}),this.error=n,J(n),q(t),X(t)}render(){let t=Z.getErrorFallbackComponent(),n=j(),r=O(w);return this.state.hasError?e.createElement(t,{$self:this.$self,$reload:this.reload,$store:n,$error:this.error,$locale:r}):this.props.children}};u(Q,`displayName`,`various-error-boundary`);function je(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.includes(r))continue;n[r]=e[r]}return n}function Me(e,t){if(e==null)return{};var n,r,i=je(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.includes(n)||{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}var Ne=e=>async function(t){let n=Z.getMiddlewares(),r=N(e),{action:i,payload:a,target:o}=t;if(n!=null&&n.onDispatch){let t=await n.onDispatch({target:o,action:i,payload:a,trigger:e});if(t===!1)return r.warn(`blocked by middleware`,`DISPATCH`),Promise.resolve();t!==!0&&(o=t.target,i=t.action,a=t.payload)}if(o===`app`){let t=Z.getStoreActions()[i];if(i===T.SetLocale)return k({[w]:a},!0),a;if(i===T.GetLocale)return O(w);if(i===T.UpdateI18nConfig){let e=O(w);return Z.setGlobalI18nConfig(a),k({[w]:void 0},!0),k({[w]:e},!0),e}if(!t){let t=`action "${i}" is not present`,n=new Y({module:e,type:`DISPATCH`,originalError:Error(t)});throw J(n),n}return ne(t,a,e)}let s=Z.getComponentActions(o);if(!s){let t=new Y({module:e,type:`DISPATCH`,originalError:Error(`component is not ready`)});throw J(t),t}let c=s[i];if(!c){let t=`action "${i}" is not present`,n=new Y({module:e,type:`DISPATCH`,originalError:Error(t)});throw J(n),n}return Promise.resolve(c({payload:a,trigger:e}))},$=(e,t=!0)=>{let n=O(C),r=Z.getMiddlewares(),{url:i,module:a}=e,{name:o,entry:s}=W(a),c=+new Date,l=e=>{t&&J(e)};return i&&q(a,i),new Promise((e,t)=>{if(!i&&!n[o]&&!ve(a)){let e=new Y({module:a,type:`NOT_DEFINED`,originalError:Error(`module "${o}" not defined`)});l(e),t(e);return}V(o).then(n=>{var i;let u=+new Date;if(r==null||(i=r.onLoad)==null||i.call(r,{module:a,loadStart:c,loadEnd:u,beenLoaded:G(a)}),!n||typeof n==`object`&&Object.keys(n).length===0){let e=new Y({module:a,type:`INVALID_MODULE`,originalError:Error(`module "${o}" invalid`)});q(a),l(e),t(e);return}let d=`default`in n?n.default:n,f=s?n[s]:d;if(f===void 0&&s){let e=new Y({module:a,type:`SUBMODULE_NOT_DEFINED`,originalError:Error(`submodule "${s}" not defined`)});q(a),l(e),t(e);return}e(f)}).catch(e=>{q(a,i);let n=`LOADING_ERROR`;!i&&e.message&&!e.message.includes(o)&&(n=`SUBMODULE_LOADING_ERROR`);let r=new Y({module:o,type:n,originalError:e});l(r),t(r)})})};function Pe(n){let{module:r,url:i,watchKeys:a,onMounted:o}=n,s=a||Object.keys(O());class c extends t{constructor(...e){var t;super(...e),t=this,u(this,`state`,{componentReady:!1,isError:!1}),u(this,`error`,void 0),u(this,`ComponentNode`,void 0),u(this,`isUnMounted`,void 0),u(this,`unSubscribeMessage`,()=>null),u(this,`mountComponent`,async()=>{try{let e=await $({module:r,url:i},!1);if(t.isUnMounted)return;await xe(e,r),e.displayName=r,Te(r),t.unSubscribeMessage=we({componentNode:e,module:r,i18nUpdate:()=>t.forceUpdate()}),t.ComponentNode=e,t.setState({componentReady:!0}),o==null||o()}catch(e){if(t.isUnMounted)return;t.error=e,t.setState({componentReady:!0,isError:!0})}}),u(this,`$postMessage`,P(r)),u(this,`$dispatch`,Ne(r)),u(this,`$t`,ae(r,()=>this.forceUpdate())),u(this,`$logger`,N(r)),u(this,`$self`,Ee({module:r,url:i}))}componentDidMount(){this.isUnMounted=!1,this.mountComponent()}componentWillUnmount(){this.error=void 0,this.ComponentNode=null,this.isUnMounted=!0,this.unSubscribeMessage(),X(r)}render(){let t=Z.getFallbackComponent(),{$silent:n,$componentProps:i,$ref:a}=this.props,{componentReady:o,isError:s}=this.state,c=j(),l=O(w),u=this.ComponentNode;if(s)throw this.error;return o?e.createElement(u,f(f({},i),{},{$self:this.$self,$dispatch:this.$dispatch,$store:c,$postMessage:this.$postMessage,$t:this.$t,$logger:this.$logger,ref:a,$locale:l})):n||G(r)?null:e.createElement(t,{$self:this.$self,$store:c,$locale:l})}}u(c,`displayName`,`various-react-component`);let l=te(...s,w)(c);return l.displayName=`various-connector`,l}function Fe(t){let{module:i,url:s,watchKeys:c,onMounted:l}=t,u=c||Object.keys(O()),d=t=>{let c=re(...u,w),d=c[w],p=a(),m=a(),h=a(!1),g=a(),_=a(!1),v=a(),y=a(Ee({module:i,url:s})),b=a(null),x=a(),S=a(),C=a(),T=a(),E=a(),D=a(),[ee,O]=o(!1),[te,k]=o(!1),A=Z.getFallbackComponent(),{$silent:ne,$componentProps:j}=t,M=n(()=>{let e=N(i),t=Ne(i),n=P(i),r=ae(i,()=>{var e;(e=D.current)==null||e.call(D)});x.current=p.current.ref(f({},j)),S.current=p.current.ref(f({},c)),C.current=p.current.ref(d);let a=p.current.createApp({setup(){let e=p.current.ref(0);return D.current=()=>{e.value+=1},{key:e}},errorCaptured(e){var t;let n=e;g.current=(t=n.message)!=null&&t.includes(`https://react`)?new Y({originalError:Error(`not a valid Vue component`),module:i,type:`INVALID_COMPONENT`}):n,k(!0)},render(){return p.current.h(v.current,f(f({},x.current.value),{},{various:{$dispatch:t,$logger:e,$postMessage:n,$t:r,$store:S.current.value,$self:y.current,$locale:C.current.value},key:this.key}))}});m.current||(m.current=a.mount(b.current)),h.current=!0,T.current=()=>a.unmount()},[j,c,d]),F=n(async()=>{try{let e=await $({module:`vue`});p.current=e;let t=await $({module:i,url:s},!1);if(_.current)return;await Ce(t,i),Te(i),E.current=we({componentNode:t,module:i,type:`vue3`,i18nUpdate(){var e;(e=D.current)==null||e.call(D)}}),v.current=t,setTimeout(M),O(!0),l==null||l()}catch(e){if(_.current)return;g.current=e,O(!0),k(!0)}},[M]);if(r(()=>(_.current=!1,()=>{var e,t;g.current=void 0,v.current=void 0,_.current=!0,X(i),(e=T.current)==null||e.call(T),(t=E.current)==null||t.call(E),h.current=!1}),[]),r(()=>{h.current||F()},[F]),r(()=>{x.current&&(x.current.value=f({},j))},[j]),r(()=>{S.current&&(S.current.value=f({},c))},[c]),r(()=>{C.current&&(C.current.value=d)},[d]),te)throw g.current;return e.createElement(e.Fragment,null,!ee&&!ne&&!G(i)?e.createElement(A,{$self:y.current,$store:c,$locale:d}):null,e.createElement(`div`,{className:De(i,`various-vue-component`),ref:b}))};d.displayName=i;let p=t=>e.createElement(d,t);return p.displayName=`various-vue-component`,p}var Ie=[`$silent`,`$ref`],Le=(t,n)=>{let{module:r,url:i,type:a=`react`}=t,o=(a===`vue3`?Fe:Pe)({module:r,url:i,watchKeys:n}),s=t=>{let n=t||{},{$silent:a,$ref:s}=n,c={$componentProps:Me(n,Ie),$silent:a,$ref:s};return e.createElement(Q,{module:r,url:i},e.createElement(o,c))};return s.displayName=`various-creator`,s},Re=[`$silent`,`$ref`],ze=async({module:t,url:n,target:r,props:i,type:a=`react`,renderNode:o,onMounted:s})=>{try{let c=await $({module:`react-dom/client`}),l=(a===`vue3`?Fe:Pe)({module:t,url:n,onMounted:s}),u=c.createRoot(r),d=i||{},{$silent:f,$ref:p}=d,m={$componentProps:Me(d,Re),$silent:f,$ref:p},h=e.createElement(Q,{module:t,url:n},e.createElement(l,m));return u.render(o?o(h):h),()=>new Promise(e=>{setTimeout(()=>{u.unmount(),e()})})}catch(e){return J(new Y({module:t,type:`SCRIPT_ERROR`,originalError:e})),()=>Promise.resolve()}},Be=[`dependencies`,`store`,`actions`,`Fallback`,`ErrorFallback`,`Root`,`middlewares`,`i18n`],Ve=`6.1.0`,He=n=>{var r;let{dependencies:i,store:a={},actions:o={},Fallback:s,ErrorFallback:c,Root:l=Ae,middlewares:d,i18n:p}=n,m=Me(n,Be);return d&&Z.setMiddlewares(d),Z.setStoreActions(o),s&&Z.setFallbackComponent(s),c&&Z.setErrorFallbackComponent(c),ee(f(f({},a),{},{[b]:[],[S]:m,[C]:i,[x]:null,[w]:(p==null?void 0:p.defaultLocale)||`en`})),l.displayName=`various-app-root`,r=class extends t{componentDidMount(){ie(p==null?void 0:p.getResources)}render(){return e.createElement(Q,{module:`app`,url:i.app},e.createElement(l,null))}},u(r,`displayName`,`various-app`),r};export{y as Nycticorax,Le as createComponent,Ne as createDispatch,N as createLogger,$ as createModule,P as createPostMessage,_e as defineDependencies,He as getApp,be as getConfig,W as getModuleInfo,K as getMountedComponents,j as getStore,G as isModuleLoaded,ye as onComponentMounted,me as preloadModules,he as removeLoadedModules,ze as renderComponent,Ve as version};
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"mappings":"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","names":["t","s","r"],"ignoreList":[0],"sources":["../node_modules/nycticorax/dist/esm/index.js","../src/core/store.ts","../src/core/config.ts","../src/core/logger.ts","../src/core/message.ts","../src/core/i18n.ts","../src/core/system.ts","../src/core/helper.ts","../src/core/default-component.tsx","../src/core/connector.ts","../src/core/error-boundary.tsx","../src/core/dispatch.ts","../src/core/create-module.ts","../src/core/react-component.tsx","../src/core/vue-component.tsx","../src/core/create-component.tsx","../src/core/render-component.tsx","../src/core/index.tsx"],"sourcesContent":["import{Component as t,default as e,useLayoutEffect as r,useState as s}from\"react\";var o={17(t){t.exports=function t(e,r){if(e===r)return!0;if(e&&r&&\"object\"==typeof e&&\"object\"==typeof r){if(e.constructor!==r.constructor)return!1;var s,o,n;if(Array.isArray(e)){if((s=e.length)!=r.length)return!1;for(o=s;0!==o--;)if(!t(e[o],r[o]))return!1;return!0}if(e.constructor===RegExp)return e.source===r.source&&e.flags===r.flags;if(e.valueOf!==Object.prototype.valueOf)return e.valueOf()===r.valueOf();if(e.toString!==Object.prototype.toString)return e.toString()===r.toString();if((s=(n=Object.keys(e)).length)!==Object.keys(r).length)return!1;for(o=s;0!==o--;)if(!Object.prototype.hasOwnProperty.call(r,n[o]))return!1;for(o=s;0!==o--;){var i=n[o];if(!t(e[i],r[i]))return!1}return!0}return e!=e&&r!=r}},232(t,e,r){r.d(e,{A:()=>u});var s=r(705),o=r(17),n=r.n(o);function i(t,e=new WeakMap){if(\"object\"!=typeof t||null===t)return t;if(e.has(t))return e.get(t);const r=Array.isArray(t)?[]:{};e.set(t,r);const s=Reflect.ownKeys(t);for(const o of s)r[o]=i(t[o],e);return r}class u{constructor(){var t;(0,s.A)(this,\"state\",void 0),(0,s.A)(this,\"listeners\",void 0),(0,s.A)(this,\"emits\",void 0),(0,s.A)(this,\"timer\",void 0),(0,s.A)(this,\"onStateChange\",void 0),(0,s.A)(this,\"getStore\",void 0),(0,s.A)(this,\"createStore\",t=>{this.listeners=Reflect.ownKeys(t).reduce((e,r)=>{const s=r;return this.state[s]=t[s],{...e,[r]:[]}},{})}),(0,s.A)(this,\"subscribe\",t=>{const e={};return Reflect.ownKeys(t).forEach(r=>{const s=r;this.listeners[s]||(this.listeners[s]=[]),this.listeners[s].push(t[s]),e[s]=t[s]}),()=>{Reflect.ownKeys(e).forEach(t=>{const r=t;this.listeners[r]=this.listeners[r].filter(t=>t!==e[r])})}}),(0,s.A)(this,\"emit\",(t,e)=>{this.emits={...this.emits,...t},e?this.trigger():(clearTimeout(this.timer),this.timer=setTimeout(this.trigger))}),(0,s.A)(this,\"dispatch\",(t,...e)=>t({getStore:this.getStore,emit:t=>this.emit(t,!0)},...e)),(0,s.A)(this,\"trigger\",()=>{const t=this.emits,e=[],r=Reflect.ownKeys(t);for(let s=0;s<r.length;s+=1){const o=r[s];if(n()(this.state[o],t[o]))continue;const u=t[o],c=this.state[o];this.state[o]=i(t[o]),e.push({key:o,newValue:u,oldValue:c})}const s={};e.forEach(t=>{s[t.key]=[t.newValue,t.oldValue],this.listeners[t.key]&&this.listeners[t.key].forEach(e=>e(t.newValue,t.oldValue))}),e.length&&this.onStateChange(s),this.emits={},this.timer=void 0}),this.state={},this.listeners={},this.emits={},this.timer=void 0,this.onStateChange=()=>null,this.getStore=(t=this.state,function(e){return e?i(t[e]):t})}set onChange(t){this.onStateChange=t}}},705(t,e,r){function s(t){return s=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t},s(t)}function o(t,e,r){return(e=function(t){var e=function(t){if(\"object\"!=s(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var r=e.call(t,\"string\");if(\"object\"!=s(r))return r;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return String(t)}(t);return\"symbol\"==s(e)?e:e+\"\"}(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}r.d(e,{A:()=>o})}},n={};function i(t){var e=n[t];if(void 0!==e)return e.exports;var r=n[t]={exports:{}};return o[t](r,r.exports,i),r.exports}i.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return i.d(e,{a:e}),e},i.d=(t,e)=>{for(var r in e)i.o(e,r)&&!i.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:e[r]})},i.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e);var u=i(705),c=i(232);const a=[\"name\",\"prototype\",\"length\",\"getDerivedStateFromProps\",\"getDerivedStateFromError\"];class f extends c.A{constructor(...o){super(...o),(0,u.A)(this,\"connect\",function(r){const{getStore:s,subscribe:o}=r;return function(...r){return function(n){class i extends t{constructor(t){super(t),(0,u.A)(this,\"unsubscribe\",void 0),(0,u.A)(this,\"state\",{props:s()}),this.unsubscribe=o(r.reduce((t,e)=>({...t,[e]:()=>{this.setState({props:s()})}}),{}))}componentWillUnmount(){this.unsubscribe()}render(){const{props:t}=this.state,r={...t,...this.props};return e.createElement(n,r)}}return Reflect.ownKeys(n).forEach(t=>{const e=String(t);if(!a.includes(e)){const e=Object.getOwnPropertyDescriptor(n,t);e&&Object.defineProperty(i,t,e)}}),i}}}(this)),(0,u.A)(this,\"useStore\",function(t){const{getStore:e,subscribe:o}=t;return function(...t){const[n,i]=s(e());return r(()=>o(t.reduce((t,r)=>({...t,[r]:()=>{i(t=>({...t,[r]:e()[r]}))}}),{}))),n}}(this))}}const h=f;export{h as default};\n//# sourceMappingURL=index.js.map","import Nycticorax from 'nycticorax'\nimport { Store } from '../types'\n\nexport const {\n createStore,\n getStore,\n connect,\n emit,\n subscribe,\n dispatch,\n useStore,\n} = new Nycticorax<Store>()\n\nexport function getUserStore<S extends object = {}>() {\n const globalStore = getStore()\n const keys = Object.keys(globalStore)\n const store: Record<string, any> = {}\n\n keys.forEach((key) => {\n store[key] = globalStore[key]\n })\n\n return store as S\n}\n","export const MOUNTED_COMPONENTS_KEY = Symbol('MOUNTED_COMPONENTS')\n\nexport const MESSAGE_KEY = Symbol('MESSAGE')\n\nexport const CONFIG_KEY = Symbol('CONFIG')\n\nexport const DEPENDENCIES_KEY = Symbol('DEPENDENCIES')\n\nexport const LOCALE_KEY = Symbol('LOCALE')\n\nexport const STANDALONE_CONFIG_READY = Symbol('STANDALONE_CONFIG_READY')\n\nexport const DEFAULT_LOCALE = 'en'\n\nexport enum I18NActions {\n SetLocale = 'setLocale',\n GetLocale = 'getLocale',\n UpdateI18nConfig = 'updateI18nConfig',\n}\n\nexport const VUE_FUNCTION_OPTIONS = [\n 'beforeCreate',\n 'created',\n 'beforeMount',\n 'mounted',\n 'beforeUpdate',\n 'updated',\n 'beforeUnmount',\n 'unmounted',\n 'errorCaptured',\n 'renderTracked',\n 'renderTriggered',\n 'activated',\n 'deactivated',\n 'setup',\n 'data',\n 'render',\n]\n\nexport const VUE_VERSION = 3\n\nexport const BASE_DEPENDENCIES = [\n 'react',\n 'react-dom',\n '@variousjs/various',\n 'app',\n]\n","import { createLogger as cl, LogEvent } from '@variousjs/various'\nimport connector from './connector'\nimport { VariousError } from './helper'\n\ntype LogArgs = Parameters<LogEvent>[0]\ntype LogLevel = LogArgs['level']\n\nconst logger = (args: LogArgs) => {\n const middlewares = connector.getMiddlewares()\n const canLog = middlewares?.onLog?.(args)\n\n if (canLog === false) {\n return\n }\n\n const colorMap: Record<LogLevel, string> = {\n info: 'blue',\n warn: 'orange',\n error: 'red',\n }\n const color = colorMap[args.level]\n\n const params = [\n `%c ${args.module} `,\n `background:${color};border:1px solid ${color};padding:1px;border-radius:2px 0 0 2px;color: #fff;`,\n ]\n\n if (args.type) {\n params[0] = `${params[0]}%c ${args.type} %c`\n params.push(\n `border:1px solid ${color};padding:1px;border-radius:0 2px 2px 0;color:${color};`,\n 'background:transparent',\n )\n }\n\n if (args.level !== 'info') {\n params[0] = ` ${params[0]}`\n }\n\n window.console[args.level](...params, args.message)\n}\n\nconst createLogger: typeof cl = (module) => ({\n info(message, type) {\n logger({\n module, level: 'info', type, message,\n })\n },\n warn(message, type) {\n logger({\n module, level: 'warn', type, message,\n })\n },\n error(message, type) {\n const middlewares = connector.getMiddlewares()\n const error = message instanceof VariousError\n ? message\n : new VariousError({\n module,\n type: type || 'unknow',\n originalError: message instanceof Error ? message : new Error(message),\n })\n\n middlewares?.onError?.(error)\n\n logger({\n module, level: 'error', type, message,\n })\n },\n})\n\nexport default createLogger\n","import { ModuleDef, OnMessage, createPostMessage as cpm } from '@variousjs/various'\nimport connector from './connector'\nimport createLogger from './logger'\nimport { emit, subscribe } from './store'\nimport { MESSAGE_KEY } from './config'\n\nexport const createPostMessage: typeof cpm<never> = (module) => async ({ event, payload }) => {\n const middlewares = connector.getMiddlewares()\n const logger = createLogger(module)\n\n let next = { trigger: module, event, payload }\n\n if (middlewares?.onMessage) {\n const check = await middlewares.onMessage(next)\n\n if (check === false) {\n logger.warn('blocked by middleware', 'POST_MESSAGE')\n return\n }\n\n if (check !== true) {\n next = { ...next, ...check }\n }\n }\n\n emit({\n [MESSAGE_KEY]: {\n timestamp: +new Date(),\n event: next.event,\n trigger: module,\n payload: next.payload,\n },\n })\n}\n\nexport const createOnMessage = (module: ModuleDef, onMessage: OnMessage) => subscribe({\n [MESSAGE_KEY](v) {\n const { trigger, payload, event } = v!\n if (module !== trigger) {\n onMessage({ event, payload, trigger })\n }\n },\n})\n","import {\n Intl,\n ModuleDef,\n I18n,\n I18nConfig,\n} from '@variousjs/various'\nimport connector from './connector'\nimport { VariousError, onError, isPromiseLike } from './helper'\nimport { getStore, emit } from './store'\nimport { LOCALE_KEY } from './config'\n\nexport function createI18nConfig(\n method?: I18n,\n module?: ModuleDef,\n callback?: () => void,\n) {\n if (!method) {\n return\n }\n\n const i18nConfig = method()\n\n if (!isPromiseLike(i18nConfig)) {\n if (module) {\n connector.setI18nConfig(module, i18nConfig)\n } else {\n connector.setGlobalI18nConfig(i18nConfig)\n }\n return\n }\n\n if (module) {\n connector.setI18nConfig(module, {\n loading: true,\n resources: {},\n })\n } else {\n connector.setGlobalI18nConfig({\n loading: true,\n resources: {},\n })\n }\n\n i18nConfig\n .then((res) => {\n if (module) {\n connector.setI18nConfig(module, { ...res, loading: false })\n callback?.()\n return\n }\n\n const locale = getStore(LOCALE_KEY)\n\n emit({ [LOCALE_KEY]: undefined }, true)\n emit({ [LOCALE_KEY]: locale }, true)\n connector.setGlobalI18nConfig({ ...res, loading: false })\n })\n .catch((e: Error) => {\n onError(new VariousError({\n module: module || 'app',\n type: 'I18N',\n originalError: e,\n }))\n })\n}\n\nexport function createI18n(\n module: ModuleDef,\n updater: () => void,\n) {\n const ctx: Intl = (key, params, defaultString) => {\n const i18nConfig = connector.getI18nConfig(module) || connector.getGlobalI18nConfig()\n\n let defaultText = defaultString\n if (defaultText === undefined) {\n defaultText = typeof params === 'string' ? params : key\n }\n\n if (!i18nConfig) {\n onError(new VariousError({\n module,\n type: 'I18N',\n originalError: new Error('config not exist'),\n }))\n return defaultText\n }\n\n if (i18nConfig.loading) {\n return defaultText\n }\n\n const { resources } = i18nConfig\n const locale = getStore(LOCALE_KEY)\n\n const resource = resources?.[locale]\n\n if (!resource) {\n onError(new VariousError({\n module,\n type: 'I18N',\n originalError: new Error(`locale resource \\`${locale}\\` not exist`),\n }))\n return defaultText\n }\n\n if (!resource[key]) {\n onError(new VariousError({\n module,\n type: 'I18N',\n originalError: new Error(`locale key \\`${key}\\` not exist`),\n }))\n return defaultText\n }\n\n const text = resource[key]\n\n if (!params || typeof params === 'string' || Object.prototype.toString.call(params) !== '[object Object]') {\n return text\n }\n\n const args = Object.keys(params)\n\n if (!args.length) {\n return text\n }\n\n return args.reduce((next, arg) => {\n const regex = new RegExp(`{\\\\s*${arg}\\\\s*}`, 'g')\n return next.replace(regex, params[arg].toString())\n }, text)\n }\n\n ctx.update = (config) => {\n const i18nConfig = connector.getI18nConfig(module)\n const next = { ...i18nConfig, ...config } as I18nConfig\n\n connector.setI18nConfig(module, next)\n updater()\n }\n\n return ctx\n}\n","// Native ESM module loader replacing SystemJS.\n// Provides module loading API: dynamic path config,\n// module undef/defined/specified, and object injection.\n//\n// Registry is stored on window.__various so the IIFE loader and ESM core\n// share the same module state (replaces the global SystemJS registry).\n\ntype Registry = {\n modules: Map<string, any>\n urls: Map<string, string>\n loaded: Map<string, any>\n}\n\n// eslint-disable-next-line no-underscore-dangle\ndeclare global {\n interface Window {\n // eslint-disable-next-line no-underscore-dangle\n __various?: Registry\n }\n}\n\nexport function getRegistry(): Registry {\n // eslint-disable-next-line no-underscore-dangle\n if (!window.__various) {\n // eslint-disable-next-line no-underscore-dangle\n window.__various = {\n modules: new Map(),\n urls: new Map(),\n loaded: new Map(),\n }\n }\n // eslint-disable-next-line no-underscore-dangle\n return window.__various\n}\n\nconst { modules: moduleRegistry, urls: moduleUrls, loaded: loadedModules } = getRegistry()\n\n// Resolve relative URLs against document base URL.\n// ESM import() in a module at /dist/index.js would resolve relative URLs\n// against /dist/, not the document root. This ensures correct resolution.\nfunction resolveUrl(url: string): string {\n if (url.startsWith('http') || url.startsWith('/') || url.startsWith('blob:')) return url\n return new URL(url, document.baseURI).href\n}\n\nexport function setModuleUrl(name: string, url: string): void {\n moduleUrls.set(name, url)\n}\n\nexport function getModuleUrl(name: string): string | undefined {\n return moduleUrls.get(name)\n}\n\n// Returns all registered module URL mappings (for import map generation)\nexport function getAllModuleUrls(): Record<string, string> {\n const result: Record<string, string> = {}\n moduleUrls.forEach((url, name) => {\n result[name] = url\n })\n return result\n}\n\n// Returns names of modules injected via setModule (not loaded from URL)\nexport function getInjectedModuleNames(): string[] {\n const result: string[] = []\n moduleRegistry.forEach((_, name) => {\n if (!moduleUrls.has(name)) {\n result.push(name)\n }\n })\n return result\n}\n\n// Load module by name (looks up url from registry, then native import)\nexport async function importModule<T = any>(name: string): Promise<T> {\n const url = moduleUrls.get(name)\n if (url) {\n const absoluteUrl = resolveUrl(url)\n if (loadedModules.has(absoluteUrl)) {\n return loadedModules.get(absoluteUrl) as T\n }\n const mod = await import(/* @vite-ignore */ absoluteUrl) as T\n loadedModules.set(absoluteUrl, mod)\n return mod\n }\n // Not in url registry - may be injected via setModule (e.g. react, vue)\n if (moduleRegistry.has(name)) {\n return moduleRegistry.get(name) as T\n }\n throw new Error(`module \"${name}\" not defined`)\n}\n\n// Check if module is loaded\nexport function isModuleDefined(name: string): boolean {\n if (moduleRegistry.has(name)) return true\n const url = moduleUrls.get(name)\n if (url && loadedModules.has(resolveUrl(url))) return true\n return false\n}\n\n// Check if module is declared (url registered or already loaded)\nexport function isModuleSpecified(name: string): boolean {\n return moduleUrls.has(name) || isModuleDefined(name)\n}\n\n// Remove module from registry (for re-loading with cache-busting URL)\nexport function deleteModule(name: string): void {\n moduleRegistry.delete(name)\n const url = moduleUrls.get(name)\n if (url) {\n loadedModules.delete(resolveUrl(url))\n }\n}\n\n// Inject a module object directly (replaces System.set for standalone)\nexport function setModule(name: string, mod: any): void {\n if (mod && typeof mod === 'object' && !('default' in mod)) {\n moduleRegistry.set(name, { default: mod, ...mod })\n } else {\n moduleRegistry.set(name, mod)\n }\n}\n\n// Create a blob URL for a registered module so ESM components can import it\n// via import map (e.g. standalone mode where react/vue are passed as objects)\nexport function createModuleBlobUrl(name: string): string | null {\n const mod = moduleRegistry.get(name)\n if (!mod) return null\n const realMod = typeof mod === 'object' && 'default' in mod ? mod : { default: mod }\n const keys = Object.keys(realMod).filter(\n (k) => k !== 'default' && /^[a-zA-Z_$][a-zA-Z0-9_$]*$/.test(k),\n )\n const lines = [\n `const m = window.__various.modules.get(${JSON.stringify(name)});`,\n 'export default m.default || m;',\n ...keys.map((k) => `export const ${k} = m[${JSON.stringify(k)}];`),\n ]\n const blob = new Blob([lines.join('\\n')], { type: 'application/javascript' })\n return URL.createObjectURL(blob)\n}\n","import {\n onComponentMounted as ocm,\n isModuleLoaded as im,\n preloadModules as pp,\n removeLoadedModules as rm,\n defineDependencies as dd,\n VariousError as ve,\n ErrorType as et,\n getModuleInfo as gm,\n ModuleDef,\n OnMessage,\n I18n,\n VariousComponentType,\n} from '@variousjs/various'\nimport { getStore, subscribe, emit } from './store'\nimport createLogger from './logger'\nimport {\n CONFIG_KEY,\n MOUNTED_COMPONENTS_KEY,\n DEPENDENCIES_KEY,\n VUE_VERSION,\n VUE_FUNCTION_OPTIONS,\n BASE_DEPENDENCIES,\n} from './config'\nimport { PublicActions, RequiredComponent } from '../types'\nimport connector from './connector'\nimport { createOnMessage } from './message'\nimport { createI18nConfig } from './i18n'\nimport {\n setModuleUrl,\n getModuleUrl,\n importModule,\n isModuleDefined,\n isModuleSpecified as isSpecified,\n deleteModule,\n setModule,\n} from './system'\n\nconst getUrlHash = (url: string) => `${url}?${+new Date()}`\n\nexport const getModuleInfo: typeof gm = (module) => {\n const [name, entry] = module.split('.')\n return { name, entry }\n}\n\nexport const preloadModules: typeof pp = (modules) => {\n const names = modules.map((m) => getModuleInfo(m).name)\n return Promise.all(names.map((n) => importModule(n))).then(() => undefined)\n}\n\nexport const removeLoadedModules: typeof rm = (modules) => {\n modules.forEach((module) => {\n const { name } = getModuleInfo(module)\n if (!BASE_DEPENDENCIES.includes(name)) {\n deleteModule(name)\n }\n })\n}\n\nexport const defineDependencies: typeof dd = (deps) => {\n const dependencies = getStore(DEPENDENCIES_KEY)\n const next = {} as Record<string, string>\n\n Object.keys(deps).forEach((name) => {\n if (!BASE_DEPENDENCIES.includes(name)) {\n next[name] = deps[name]\n // Only delete if URL changed (preserves preloaded modules with same URL)\n const currentUrl = getModuleUrl(name)\n if (currentUrl !== deps[name]) {\n deleteModule(name)\n }\n setModuleUrl(name, deps[name])\n }\n })\n\n emit({ [DEPENDENCIES_KEY]: { ...dependencies, ...next } }, true)\n}\n\nexport const isModuleLoaded: typeof im = (module) => {\n const { name } = getModuleInfo(module)\n return isModuleDefined(name)\n}\n\nexport const isModuleSpecified = (module: ModuleDef) => {\n const { name } = getModuleInfo(module)\n return isSpecified(name)\n}\n\nexport const getMountedComponents = () => getStore(MOUNTED_COMPONENTS_KEY)\n\nexport const onComponentMounted: typeof ocm = (module, callback) => {\n const modules = Array.isArray(module) ? module : [module]\n\n if (modules.every((m) => getMountedComponents().includes(m))) {\n callback()\n }\n\n const unSubscribe = subscribe({\n [MOUNTED_COMPONENTS_KEY](value) {\n if (modules.every((n) => value.includes(n))) {\n unSubscribe()\n callback()\n }\n },\n })\n\n return unSubscribe\n}\n\nexport const resetDependencyConfig = (module: ModuleDef, url?: string) => {\n const { name } = getModuleInfo(module)\n const dependencies = getStore(DEPENDENCIES_KEY)\n\n // ignore multiple custom module url\n if (url && isModuleDefined(name)) {\n return\n }\n\n if (!dependencies[name] && url) {\n setModuleUrl(name, url)\n return\n }\n\n let moduleUrl = getUrlHash(dependencies[name])\n\n if (url) {\n moduleUrl = getUrlHash(url)\n }\n\n deleteModule(name)\n setModuleUrl(name, moduleUrl)\n}\n\nexport function getConfig<C extends object = {}>() {\n return getStore(CONFIG_KEY) as C\n}\n\nexport const onError = (e: VariousError) => {\n const { module, type } = e\n const logger = createLogger(module)\n logger.error(e, type)\n}\n\nexport class VariousError extends Error implements ve {\n type: et\n\n originalError: Error\n\n module: ModuleDef\n\n constructor(data: {\n module: ModuleDef,\n type: et,\n originalError: Error,\n }) {\n super(data.originalError.message)\n this.type = data.type\n this.originalError = data.originalError\n this.module = data.module\n }\n}\n\nexport function checkReactComponent(component: RequiredComponent, module: ModuleDef) {\n return new Promise<void>((reslove, reject) => {\n if (component.$$typeof || component.prototype?.isReactComponent || typeof component === 'function') {\n reslove()\n return\n }\n\n reject(new VariousError({\n module,\n originalError: new Error('not a valid React component'),\n type: 'INVALID_COMPONENT',\n }))\n })\n}\n\nexport function isPromiseLike<T>(value: T | PromiseLike<T>): value is PromiseLike<T> {\n return value != null && typeof (value as any).then === 'function'\n}\n\nexport function checkVueComponent(component: RequiredComponent, module: ModuleDef) {\n const versionRegex = new RegExp(`^${VUE_VERSION}\\\\.`)\n\n return new Promise<void>((resolve, reject) => {\n importModule<{ version: string, default: { version: string } }>('vue').then((Vue) => {\n const vueObj = (Vue.default || Vue) as { version: string }\n if (!versionRegex.test(vueObj.version)) {\n reject(new Error(`Vue ${VUE_VERSION}+ required, detected an incompatible version`))\n return\n }\n\n if (typeof component?.render === 'function' || typeof component?.setup === 'function') {\n resolve()\n return\n }\n\n reject(new VariousError({\n module,\n originalError: new Error('not a valid Vue component'),\n type: 'INVALID_COMPONENT',\n }))\n }).catch(reject)\n })\n}\n\nexport function parseComponentActions(params: {\n module: ModuleDef,\n componentNode: RequiredComponent,\n type?: VariousComponentType,\n i18nUpdate: () => void,\n}) {\n const {\n componentNode,\n module,\n type,\n i18nUpdate,\n } = params\n\n const actions: PublicActions = {}\n let onMessageAction: OnMessage | undefined\n let i18nAction: I18n | undefined\n\n Object\n .getOwnPropertyNames(componentNode)\n .forEach((method) => {\n if (typeof componentNode[method] !== 'function') {\n return\n }\n if (method === '$onMessage') {\n onMessageAction = componentNode[method]\n return\n }\n if (method === '$i18n') {\n i18nAction = componentNode[method]\n return\n }\n if (type === 'vue3' && VUE_FUNCTION_OPTIONS.includes(method)) {\n return\n }\n\n actions[method] = componentNode[method]\n })\n\n if (i18nAction) {\n createI18nConfig(i18nAction, module, i18nUpdate)\n }\n\n connector.setComponentActions(module, actions)\n\n if (onMessageAction) {\n return createOnMessage(module, onMessageAction)\n }\n\n return () => null\n}\n\nexport function updateMountedComponent(module: ModuleDef) {\n const mountedComponents = getMountedComponents()\n\n if (!mountedComponents.includes(module)) {\n mountedComponents.push(module)\n }\n\n emit({ [MOUNTED_COMPONENTS_KEY]: mountedComponents }, true)\n}\n\nexport function updateUnMountComponent(module: ModuleDef) {\n let mountedComponents = getMountedComponents()\n\n mountedComponents = mountedComponents.filter((item) => item !== module)\n\n emit({ [MOUNTED_COMPONENTS_KEY]: mountedComponents }, true)\n connector.deleteComponentActions(module)\n}\n\nexport function getSelfInfo(params: { url?: string, module: ModuleDef }) {\n const { module, url } = params\n const dependencies = getStore(DEPENDENCIES_KEY)\n const { name } = getModuleInfo(module)\n\n return {\n module,\n url: url || dependencies[name] || getModuleUrl(name) || '',\n }\n}\n\nexport function getClassNameWithModule(module: ModuleDef, prefix: string) {\n const { name, entry } = getModuleInfo(module)\n return `${prefix} ${[name, entry].filter(Boolean).join('-')}`\n}\n\n// Re-export setModule for standalone use\nexport { setModule }\n","import React, { ComponentType } from 'react'\nimport { FallbackNode, ErrorFallbackNode } from '@variousjs/various'\nimport { getClassNameWithModule } from './helper'\n\nexport const Fallback: FallbackNode<any> = (props) => {\n const className = getClassNameWithModule(props.$self.module, 'various-component-fallback')\n return (\n <div className={className}>Loading</div>\n )\n}\n\nexport const ErrorFallback: ErrorFallbackNode<any> = ({ $error, $reload, $self }) => {\n const className = getClassNameWithModule($self.module, 'various-component-error_fallback')\n return (\n <div className={className}>\n <h3>{$error.type}</h3>\n <p>{$error.message}</p>\n <button type=\"button\" onClick={$reload}>\n Reload\n </button>\n </div>\n )\n}\n\nexport const Root: ComponentType = () => (\n <div>App Container is not defined</div>\n)\n","import {\n FallbackNode,\n ErrorFallbackNode,\n App,\n ModuleDef,\n} from '@variousjs/various'\nimport { Fallback, ErrorFallback } from './default-component'\nimport {\n PublicActions,\n ConnectorI18nConfig,\n Actions,\n} from '../types'\n\nclass Connector {\n private fallbackComponent: FallbackNode<any>\n\n private errorFallbackComponent: ErrorFallbackNode<any>\n\n private storeActions: Actions<any>\n\n private componentActions: Record<string, PublicActions>\n\n private i18nConfigs: Record<string, ConnectorI18nConfig | undefined>\n\n private globalI18nConfig: ConnectorI18nConfig | undefined\n\n private middlewares: App['middlewares']\n\n constructor() {\n this.fallbackComponent = Fallback\n this.errorFallbackComponent = ErrorFallback\n this.storeActions = {}\n this.componentActions = {}\n this.i18nConfigs = {}\n this.middlewares = {}\n }\n\n setMiddlewares(m: App['middlewares']) {\n this.middlewares = m\n }\n\n getMiddlewares() {\n return this.middlewares\n }\n\n setI18nConfig(module: ModuleDef, config: ConnectorI18nConfig) {\n this.i18nConfigs[module] = { ...this.i18nConfigs[module], ...config }\n }\n\n getI18nConfig(module: ModuleDef) {\n return this.i18nConfigs[module]\n }\n\n setGlobalI18nConfig(config: ConnectorI18nConfig) {\n this.globalI18nConfig = { ...this.globalI18nConfig, ...config }\n }\n\n getGlobalI18nConfig() {\n return this.globalI18nConfig\n }\n\n setComponentActions(module: ModuleDef, actions: PublicActions) {\n this.componentActions[module] = actions\n }\n\n deleteComponentActions(module: ModuleDef) {\n delete this.componentActions[module]\n }\n\n getComponentActions(module: ModuleDef) {\n return this.componentActions[module]\n }\n\n setStoreActions(actions: Actions<any>) {\n this.storeActions = actions\n }\n\n getStoreActions() {\n return this.storeActions\n }\n\n setFallbackComponent(fallbackComponent: FallbackNode<any>) {\n this.fallbackComponent = fallbackComponent\n }\n\n getFallbackComponent() {\n return this.fallbackComponent\n }\n\n setErrorFallbackComponent(errorFallbackComponent: ErrorFallbackNode<any>) {\n this.errorFallbackComponent = errorFallbackComponent\n }\n\n getErrorFallbackComponent() {\n return this.errorFallbackComponent\n }\n}\n\nexport default new Connector()\n","import React, { Component } from 'react'\nimport { VariousError as ve } from '@variousjs/various'\nimport {\n onError,\n VariousError,\n resetDependencyConfig,\n updateUnMountComponent,\n getSelfInfo,\n} from './helper'\nimport connector from './connector'\nimport { ErrorBoundaryProps, Store } from '../types'\nimport { getUserStore, getStore } from './store'\nimport { LOCALE_KEY } from './config'\n\nclass ErrorBoundary extends Component<ErrorBoundaryProps> {\n static displayName = 'various-error-boundary'\n\n state = {\n hasError: false,\n }\n\n private error?: ve\n\n componentDidCatch(e: Error | VariousError) {\n const { module } = this.props\n const error = e instanceof VariousError\n ? e\n : new VariousError({\n module,\n type: module === 'app' ? 'APP_ERROR' : 'SCRIPT_ERROR',\n originalError: e,\n })\n\n this.setState({ hasError: true })\n this.error = error\n onError(error)\n resetDependencyConfig(module)\n updateUnMountComponent(module)\n }\n\n $self = getSelfInfo(this.props)\n\n reload = () => {\n this.error = undefined\n this.setState({ hasError: false })\n }\n\n render() {\n const ErrorFallbackNode = connector.getErrorFallbackComponent()\n const store = getUserStore()\n const locale = getStore(LOCALE_KEY)\n\n if (this.state.hasError) {\n return (\n <ErrorFallbackNode\n $self={this.$self}\n $reload={this.reload}\n $store={store as Store}\n $error={this.error!}\n $locale={locale}\n />\n )\n }\n\n return this.props.children\n }\n}\n\nexport default ErrorBoundary\n","import { createDispatch as cd } from '@variousjs/various'\nimport connector from './connector'\nimport { dispatch, emit, getStore } from './store'\nimport { onError, VariousError } from './helper'\nimport createLogger from './logger'\nimport { I18NActions, LOCALE_KEY } from './config'\n\nconst createDispatch: typeof cd<never> = (module) => async function (params) {\n const middlewares = connector.getMiddlewares()\n const logger = createLogger(module)\n\n let { action, payload, target } = params\n\n if (middlewares?.onDispatch) {\n const check = await middlewares.onDispatch({\n target,\n action,\n payload,\n trigger: module,\n })\n if (check === false) {\n logger.warn('blocked by middleware', 'DISPATCH')\n return Promise.resolve()\n }\n if (check !== true) {\n target = check.target\n action = check.action\n payload = check.payload\n }\n }\n\n if (target === 'app') {\n const storeActions = connector.getStoreActions()\n const storeAction = storeActions[action]\n\n if (action === I18NActions.SetLocale) {\n emit({ [LOCALE_KEY]: payload }, true)\n return payload\n }\n\n if (action === I18NActions.GetLocale) {\n return getStore(LOCALE_KEY)\n }\n\n if (action === I18NActions.UpdateI18nConfig) {\n const locale = getStore(LOCALE_KEY)\n\n connector.setGlobalI18nConfig(payload)\n emit({ [LOCALE_KEY]: undefined }, true)\n emit({ [LOCALE_KEY]: locale }, true)\n return locale\n }\n\n if (!storeAction) {\n const errorMessage = `action \"${action}\" is not present`\n const error = new VariousError({\n module,\n type: 'DISPATCH',\n originalError: new Error(errorMessage),\n })\n onError(error)\n throw error\n }\n return dispatch(storeAction, payload, module)\n }\n\n const componentActions = connector.getComponentActions(target)\n\n if (!componentActions) {\n const errorMessage = 'component is not ready'\n const error = new VariousError({\n module,\n type: 'DISPATCH',\n originalError: new Error(errorMessage),\n })\n onError(error)\n throw error\n }\n\n const componentAction = componentActions[action]\n\n if (!componentAction) {\n const errorMessage = `action \"${action}\" is not present`\n const error = new VariousError({\n module,\n type: 'DISPATCH',\n originalError: new Error(errorMessage),\n })\n onError(error)\n throw error\n }\n\n return Promise.resolve(componentAction({ payload, trigger: module }))\n}\n\nexport default createDispatch\n","import { createModule as cm, ObjectRecord } from '@variousjs/various'\nimport { DEPENDENCIES_KEY } from './config'\nimport { getStore } from './store'\nimport connector from './connector'\nimport {\n VariousError,\n isModuleLoaded,\n resetDependencyConfig,\n onError,\n isModuleSpecified,\n getModuleInfo,\n} from './helper'\nimport { importModule } from './system'\n\nconst createModule: typeof cm = (config, logError = true) => {\n const dependencies = getStore(DEPENDENCIES_KEY)\n const middlewares = connector.getMiddlewares()\n const { url, module } = config\n const { name, entry } = getModuleInfo(module)\n const loadStart = +new Date()\n\n const logOnError = (e: VariousError) => {\n if (logError) {\n onError(e)\n }\n }\n\n if (url) {\n resetDependencyConfig(module, url)\n }\n\n return new Promise<any>((resolve, reject) => {\n if (!url && !dependencies[name] && !isModuleSpecified(module)) {\n const error = new VariousError({\n module,\n type: 'NOT_DEFINED',\n originalError: new Error(`module \"${name}\" not defined`),\n })\n\n logOnError(error)\n reject(error)\n return\n }\n\n importModule<ObjectRecord>(name).then((C?: ObjectRecord) => {\n const loadEnd = +new Date()\n\n middlewares?.onLoad?.({\n module,\n loadStart,\n loadEnd,\n beenLoaded: isModuleLoaded(module),\n })\n\n if (!C || (typeof C === 'object' && Object.keys(C).length === 0)) {\n const error = new VariousError({\n module,\n type: 'INVALID_MODULE',\n originalError: new Error(`module \"${name}\" invalid`),\n })\n\n resetDependencyConfig(module)\n logOnError(error)\n reject(error)\n return\n }\n\n const defaultModule = 'default' in C ? C.default : C\n const actualModule = !entry ? defaultModule : C[entry]\n\n if (actualModule === undefined && entry) {\n const error = new VariousError({\n module,\n type: 'SUBMODULE_NOT_DEFINED',\n originalError: new Error(`submodule \"${entry}\" not defined`),\n })\n\n resetDependencyConfig(module)\n logOnError(error)\n reject(error)\n return\n }\n\n resolve(actualModule)\n }).catch((e: Error) => {\n resetDependencyConfig(module, url)\n\n let errorType: VariousError['type'] = 'LOADING_ERROR'\n\n if (!url && e.message && !e.message.includes(name)) {\n errorType = 'SUBMODULE_LOADING_ERROR'\n }\n\n const error = new VariousError({\n module: name,\n type: errorType,\n originalError: e,\n })\n\n logOnError(error)\n reject(error)\n })\n })\n}\n\nexport default createModule\n","import React, { Component } from 'react'\nimport {\n ComponentDefaultProps,\n VariousError as ve,\n ModuleDef,\n} from '@variousjs/various'\nimport {\n checkReactComponent,\n updateUnMountComponent,\n updateMountedComponent,\n parseComponentActions,\n isModuleLoaded,\n getSelfInfo,\n} from './helper'\nimport { connect, getStore, getUserStore } from './store'\nimport connector from './connector'\nimport { createPostMessage } from './message'\nimport createDispatch from './dispatch'\nimport createLogger from './logger'\nimport { createI18n } from './i18n'\nimport createModule from './create-module'\nimport { LOCALE_KEY } from './config'\nimport {\n CreateComponentState,\n CreateComponentProps,\n RequiredComponent,\n Store,\n} from '../types'\n\nfunction reactComponent<P extends object>(config: {\n module: ModuleDef,\n url?: string,\n watchKeys?: string[],\n onMounted?: () => void,\n}) {\n const {\n module,\n url,\n watchKeys,\n onMounted,\n } = config\n const storeKeys = (watchKeys || Object.keys(getStore()))\n\n class R extends Component<\n CreateComponentProps<P> & ComponentDefaultProps,\n CreateComponentState\n > {\n static displayName = 'various-react-component'\n\n state = {\n componentReady: false,\n isError: false,\n }\n\n private error?: ve | Error\n\n private ComponentNode: RequiredComponent | null\n\n private isUnMounted?: boolean\n\n private unSubscribeMessage = () => null as unknown\n\n componentDidMount() {\n this.isUnMounted = false // fix StrictMode\n this.mountComponent()\n }\n\n componentWillUnmount() {\n this.error = undefined\n this.ComponentNode = null\n this.isUnMounted = true\n this.unSubscribeMessage()\n updateUnMountComponent(module)\n }\n\n mountComponent = async () => {\n try {\n const componentNode = await createModule<RequiredComponent>({ module, url }, false)\n\n if (this.isUnMounted) {\n return\n }\n\n await checkReactComponent(componentNode, module)\n\n componentNode.displayName = module\n\n updateMountedComponent(module)\n\n this.unSubscribeMessage = parseComponentActions({\n componentNode,\n module,\n i18nUpdate: () => this.forceUpdate(),\n })\n\n this.ComponentNode = componentNode\n this.setState({ componentReady: true })\n\n onMounted?.()\n } catch (e) {\n if (this.isUnMounted) {\n return\n }\n\n this.error = e as Error\n this.setState({ componentReady: true, isError: true })\n }\n }\n\n $postMessage = createPostMessage(module)\n\n $dispatch = createDispatch(module)\n\n $t = createI18n(module, () => this.forceUpdate())\n\n $logger = createLogger(module)\n\n $self = getSelfInfo({ module, url })\n\n render() {\n const Fallback = connector.getFallbackComponent()\n const { $silent, $componentProps, $ref } = this.props\n const { componentReady, isError } = this.state\n const store = getUserStore()\n const locale = getStore(LOCALE_KEY)\n const ComponentNode = this.ComponentNode as RequiredComponent\n\n if (isError) {\n throw this.error\n }\n\n if (!componentReady) {\n if ($silent || isModuleLoaded(module)) {\n return null\n }\n\n return (\n <Fallback\n $self={this.$self}\n $store={store as Store}\n $locale={locale}\n />\n )\n }\n\n return (\n <ComponentNode\n {...$componentProps}\n $self={this.$self}\n $dispatch={this.$dispatch}\n $store={store}\n $postMessage={this.$postMessage}\n $t={this.$t}\n $logger={this.$logger}\n ref={$ref}\n $locale={locale}\n />\n )\n }\n }\n\n const Connected = connect(...storeKeys, LOCALE_KEY)(R)\n Connected.displayName = 'various-connector'\n\n return Connected\n}\n\nexport default reactComponent\n","import React, {\n FC,\n useCallback,\n useEffect,\n useRef,\n useState,\n} from 'react'\nimport * as Vue from 'vue'\nimport type { ComponentPublicInstance } from 'vue'\nimport {\n ComponentDefaultProps,\n ModuleDef,\n VariousError as ve,\n ObjectRecord,\n} from '@variousjs/various'\nimport connector from './connector'\nimport createModule from './create-module'\nimport { getStore, useStore } from './store'\nimport {\n updateUnMountComponent,\n updateMountedComponent,\n checkVueComponent,\n parseComponentActions,\n isModuleLoaded,\n VariousError,\n getSelfInfo,\n getClassNameWithModule,\n} from './helper'\nimport createDispatch from './dispatch'\nimport createLogger from './logger'\nimport { createPostMessage } from './message'\nimport { CreateComponentProps, RequiredComponent } from '../types'\nimport { createI18n } from './i18n'\nimport { LOCALE_KEY } from './config'\n\nfunction vueComponent<P extends object>(config: {\n module: ModuleDef,\n url?: string,\n watchKeys?: string[],\n onMounted?: () => void,\n}) {\n const {\n module,\n url,\n watchKeys,\n onMounted,\n } = config\n const storeKeys = (watchKeys || Object.keys(getStore()))\n\n const V: FC<CreateComponentProps<P> & ComponentDefaultProps> = (props) => {\n const store = useStore(...storeKeys, LOCALE_KEY)\n const locale = store[LOCALE_KEY]\n\n const vueRef = useRef<typeof Vue>()\n const vmRef = useRef<ComponentPublicInstance>()\n const isVueMounted = useRef(false)\n const errorRef = useRef<Error | ve>()\n const isUnMountedRef = useRef(false)\n const ComponentNodeRef = useRef<RequiredComponent>()\n const selfRef = useRef(getSelfInfo({ module, url }))\n\n const containerDivRef = useRef<HTMLDivElement | null>(null)\n const propsReactiveRef = useRef<{ value: ObjectRecord }>()\n const storeReactiveRef = useRef<{ value: ObjectRecord }>()\n const localeReactiveRef = useRef<{ value: string }>()\n const unMountVue = useRef<() => void>()\n const unSubscribeMessageRef = useRef<() => void>()\n const updateVueComponentRef = useRef<() => void>()\n\n const [componentReady, setComponentReady] = useState(false)\n const [isError, setIsError] = useState(false)\n\n const Fallback = connector.getFallbackComponent()\n const { $silent, $componentProps } = props\n\n const mountVue = useCallback(() => {\n const $logger = createLogger(module)\n const $dispatch = createDispatch(module)\n const $postMessage = createPostMessage(module)\n const $t = createI18n(module, () => {\n updateVueComponentRef.current?.()\n })\n\n propsReactiveRef.current = vueRef.current!.ref<ObjectRecord>({ ...$componentProps })\n storeReactiveRef.current = vueRef.current!.ref<ObjectRecord>({ ...store })\n localeReactiveRef.current = vueRef.current!.ref<string>(locale)\n\n const vueApp = vueRef.current!.createApp({\n setup() {\n const renderKey = vueRef.current!.ref(0)\n updateVueComponentRef.current = () => {\n renderKey.value += 1\n }\n return {\n key: renderKey,\n }\n },\n\n errorCaptured(e: unknown) {\n const error = e as Error\n errorRef.current = error.message?.includes('https://react')\n ? new VariousError({\n originalError: new Error('not a valid Vue component'),\n module,\n type: 'INVALID_COMPONENT',\n })\n : error\n setIsError(true)\n },\n\n render() {\n return vueRef.current!.h(ComponentNodeRef.current as any, {\n ...propsReactiveRef.current!.value,\n various: {\n $dispatch,\n $logger,\n $postMessage,\n $t,\n $store: storeReactiveRef.current!.value,\n $self: selfRef.current,\n $locale: localeReactiveRef.current!.value,\n },\n // eslint-disable-next-line react/no-this-in-sfc\n key: this.key,\n })\n },\n })\n\n // fix StrictMode\n if (!vmRef.current) {\n vmRef.current = vueApp.mount(containerDivRef.current!)\n }\n\n isVueMounted.current = true\n unMountVue.current = () => vueApp.unmount()\n }, [$componentProps, store, locale])\n\n const mountComponent = useCallback(async () => {\n try {\n const vue = await createModule<typeof Vue>({ module: 'vue' })\n vueRef.current = vue\n\n const componentNode = await createModule<RequiredComponent>({ module, url }, false)\n\n if (isUnMountedRef.current) {\n return\n }\n\n await checkVueComponent(componentNode, module)\n\n updateMountedComponent(module)\n\n unSubscribeMessageRef.current = parseComponentActions({\n componentNode,\n module,\n type: 'vue3',\n i18nUpdate() {\n updateVueComponentRef.current?.()\n },\n })\n\n ComponentNodeRef.current = componentNode\n\n setTimeout(mountVue)\n setComponentReady(true)\n\n onMounted?.()\n } catch (e) {\n if (isUnMountedRef.current) {\n return\n }\n\n errorRef.current = e as Error\n setComponentReady(true)\n setIsError(true)\n }\n }, [mountVue])\n\n useEffect(() => {\n // fix StrictMode\n isUnMountedRef.current = false\n\n return () => {\n errorRef.current = undefined\n ComponentNodeRef.current = undefined\n isUnMountedRef.current = true\n updateUnMountComponent(module)\n unMountVue.current?.()\n unSubscribeMessageRef.current?.()\n isVueMounted.current = false\n }\n }, [])\n\n useEffect(() => {\n if (isVueMounted.current) {\n return\n }\n mountComponent()\n }, [mountComponent])\n\n useEffect(() => {\n if (propsReactiveRef.current) {\n propsReactiveRef.current.value = { ...$componentProps }\n }\n }, [$componentProps])\n\n useEffect(() => {\n if (storeReactiveRef.current) {\n storeReactiveRef.current.value = { ...store }\n }\n }, [store])\n\n useEffect(() => {\n if (localeReactiveRef.current) {\n localeReactiveRef.current.value = locale\n }\n }, [locale])\n\n if (isError) {\n throw errorRef.current\n }\n\n return (\n <>\n {\n !componentReady && !$silent && !isModuleLoaded(module)\n ? (\n <Fallback\n $self={selfRef.current}\n $store={store}\n $locale={locale}\n />\n )\n : null\n }\n <div\n className={getClassNameWithModule(module, 'various-vue-component')}\n ref={containerDivRef}\n />\n </>\n )\n }\n\n V.displayName = module\n\n const VueComponent: FC<\n CreateComponentProps<P> & ComponentDefaultProps\n > = (props) => (<V {...props} />)\n\n VueComponent.displayName = 'various-vue-component'\n\n return VueComponent\n}\n\nexport default vueComponent\n","import React from 'react'\nimport { createComponent as cc, ComponentDefaultProps } from '@variousjs/various'\nimport createReactComponent from './react-component'\nimport createVueComponent from './vue-component'\nimport ErrorBoundary from './error-boundary'\nimport { CreateComponentProps } from '../types'\n\nconst createComponent: typeof cc<any, any> = (config, storeKeys) => {\n const {\n module,\n url,\n type = 'react',\n } = config\n\n const C = (type === 'vue3' ? createVueComponent : createReactComponent)({\n module,\n url,\n watchKeys: storeKeys as string[],\n })\n\n const component = (props: ComponentDefaultProps) => {\n const { $silent, $ref, ...rest } = props || {}\n const nextProps = {\n $componentProps: rest, $silent, $ref,\n } as ComponentDefaultProps & CreateComponentProps<any>\n return (\n <ErrorBoundary module={module} url={url}>\n <C {...nextProps} />\n </ErrorBoundary>\n )\n }\n\n component.displayName = 'various-creator'\n return component\n}\n\nexport default createComponent\n","import React from 'react'\nimport reactDom from 'react-dom/client'\nimport { renderComponent as rc } from '@variousjs/various'\nimport createReactComponent from './react-component'\nimport createVueComponent from './vue-component'\nimport { onError, VariousError } from './helper'\nimport ErrorBoundary from './error-boundary'\nimport createModule from './create-module'\n\nconst renderComponent: typeof rc = async ({\n module,\n url,\n target,\n props,\n type = 'react',\n renderNode,\n onMounted,\n}) => {\n try {\n const ReactDOM = await createModule<typeof reactDom>({ module: 'react-dom/client' })\n\n const C = (type === 'vue3' ? createVueComponent : createReactComponent)({\n module,\n url,\n onMounted,\n })\n\n const root = ReactDOM.createRoot(target as Element)\n const { $silent, $ref, ...rest } = props || {}\n const nextProps: any = { $componentProps: rest, $silent, $ref }\n const node = (\n <ErrorBoundary module={module} url={url}>\n <C {...nextProps} />\n </ErrorBoundary>\n )\n\n root.render(renderNode ? renderNode(node) : node)\n\n return () => new Promise<void>((resolve) => {\n setTimeout(() => {\n root.unmount()\n resolve()\n })\n })\n } catch (e) {\n const error = new VariousError({\n module,\n type: 'SCRIPT_ERROR',\n originalError: e as Error,\n })\n onError(error)\n return () => Promise.resolve()\n }\n}\n\nexport default renderComponent\n","import React, { Component } from 'react'\nimport { App, Config } from '@variousjs/various'\nimport { createStore } from './store'\nimport {\n MOUNTED_COMPONENTS_KEY,\n DEPENDENCIES_KEY,\n MESSAGE_KEY,\n CONFIG_KEY,\n LOCALE_KEY,\n DEFAULT_LOCALE,\n} from './config'\nimport connector from './connector'\nimport { createI18nConfig } from './i18n'\nimport { Root as RootComponent } from './default-component'\nimport ErrorBoundary from './error-boundary'\nimport { Store } from '../types'\n\nexport { default as Nycticorax } from 'nycticorax'\n\nexport { getUserStore as getStore } from './store'\nexport { default as createDispatch } from './dispatch'\nexport { createPostMessage } from './message'\nexport { default as createLogger } from './logger'\n\nexport {\n getConfig,\n preloadModules,\n isModuleLoaded,\n getMountedComponents,\n onComponentMounted,\n defineDependencies,\n removeLoadedModules,\n getModuleInfo,\n} from './helper'\n\nexport { default as createModule } from './create-module'\nexport { default as createComponent } from './create-component'\nexport { default as renderComponent } from './render-component'\n\n// eslint-disable-next-line no-undef\nexport const version = VERSION\n\nexport const getApp = (config: Config & App<Store>) => {\n const {\n dependencies,\n store = {},\n actions = {},\n Fallback,\n ErrorFallback,\n Root = RootComponent,\n middlewares,\n i18n,\n ...rest\n } = config\n\n if (middlewares) {\n connector.setMiddlewares(middlewares)\n }\n\n connector.setStoreActions(actions)\n\n if (Fallback) {\n connector.setFallbackComponent(Fallback)\n }\n if (ErrorFallback) {\n connector.setErrorFallbackComponent(ErrorFallback)\n }\n\n createStore({\n ...store,\n [MOUNTED_COMPONENTS_KEY]: [],\n [CONFIG_KEY]: rest,\n [DEPENDENCIES_KEY]: dependencies,\n [MESSAGE_KEY]: null,\n [LOCALE_KEY]: i18n?.defaultLocale || DEFAULT_LOCALE,\n })\n\n Root.displayName = 'various-app-root'\n\n return class extends Component {\n static displayName = 'various-app'\n\n componentDidMount() {\n createI18nConfig(i18n?.getResources)\n }\n\n render() {\n return (\n <ErrorBoundary module=\"app\" url={dependencies.app}>\n <Root />\n </ErrorBoundary>\n )\n }\n }\n}\n"],"file":"index.js"}
|
|
1
|
+
{"version":3,"mappings":"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","names":["t","s","r"],"ignoreList":[0],"sources":["../node_modules/nycticorax/dist/esm/index.js","../src/core/config.ts","../src/core/store.ts","../src/core/logger.ts","../src/core/message.ts","../src/core/i18n.ts","../src/core/system.ts","../src/core/helper.ts","../src/core/default-component.tsx","../src/core/connector.ts","../src/core/error-boundary.tsx","../src/core/dispatch.ts","../src/core/create-module.ts","../src/core/react-component.tsx","../src/core/vue-component.tsx","../src/core/create-component.tsx","../src/core/render-component.tsx","../src/core/index.tsx"],"sourcesContent":["import{Component as t,default as e,useLayoutEffect as r,useState as s}from\"react\";var o={17(t){t.exports=function t(e,r){if(e===r)return!0;if(e&&r&&\"object\"==typeof e&&\"object\"==typeof r){if(e.constructor!==r.constructor)return!1;var s,o,n;if(Array.isArray(e)){if((s=e.length)!=r.length)return!1;for(o=s;0!==o--;)if(!t(e[o],r[o]))return!1;return!0}if(e.constructor===RegExp)return e.source===r.source&&e.flags===r.flags;if(e.valueOf!==Object.prototype.valueOf)return e.valueOf()===r.valueOf();if(e.toString!==Object.prototype.toString)return e.toString()===r.toString();if((s=(n=Object.keys(e)).length)!==Object.keys(r).length)return!1;for(o=s;0!==o--;)if(!Object.prototype.hasOwnProperty.call(r,n[o]))return!1;for(o=s;0!==o--;){var i=n[o];if(!t(e[i],r[i]))return!1}return!0}return e!=e&&r!=r}},232(t,e,r){r.d(e,{A:()=>u});var s=r(705),o=r(17),n=r.n(o);function i(t,e=new WeakMap){if(\"object\"!=typeof t||null===t)return t;if(e.has(t))return e.get(t);const r=Array.isArray(t)?[]:{};e.set(t,r);const s=Reflect.ownKeys(t);for(const o of s)r[o]=i(t[o],e);return r}class u{constructor(){var t;(0,s.A)(this,\"state\",void 0),(0,s.A)(this,\"listeners\",void 0),(0,s.A)(this,\"emits\",void 0),(0,s.A)(this,\"timer\",void 0),(0,s.A)(this,\"onStateChange\",void 0),(0,s.A)(this,\"getStore\",void 0),(0,s.A)(this,\"createStore\",t=>{this.listeners=Reflect.ownKeys(t).reduce((e,r)=>{const s=r;return this.state[s]=t[s],{...e,[r]:[]}},{})}),(0,s.A)(this,\"subscribe\",t=>{const e={};return Reflect.ownKeys(t).forEach(r=>{const s=r;this.listeners[s]||(this.listeners[s]=[]),this.listeners[s].push(t[s]),e[s]=t[s]}),()=>{Reflect.ownKeys(e).forEach(t=>{const r=t;this.listeners[r]=this.listeners[r].filter(t=>t!==e[r])})}}),(0,s.A)(this,\"emit\",(t,e)=>{this.emits={...this.emits,...t},e?this.trigger():(clearTimeout(this.timer),this.timer=setTimeout(this.trigger))}),(0,s.A)(this,\"dispatch\",(t,...e)=>t({getStore:this.getStore,emit:t=>this.emit(t,!0)},...e)),(0,s.A)(this,\"trigger\",()=>{const t=this.emits,e=[],r=Reflect.ownKeys(t);for(let s=0;s<r.length;s+=1){const o=r[s];if(n()(this.state[o],t[o]))continue;const u=t[o],c=this.state[o];this.state[o]=i(t[o]),e.push({key:o,newValue:u,oldValue:c})}const s={};e.forEach(t=>{s[t.key]=[t.newValue,t.oldValue],this.listeners[t.key]&&this.listeners[t.key].forEach(e=>e(t.newValue,t.oldValue))}),e.length&&this.onStateChange(s),this.emits={},this.timer=void 0}),this.state={},this.listeners={},this.emits={},this.timer=void 0,this.onStateChange=()=>null,this.getStore=(t=this.state,function(e){return e?i(t[e]):t})}set onChange(t){this.onStateChange=t}}},705(t,e,r){function s(t){return s=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t},s(t)}function o(t,e,r){return(e=function(t){var e=function(t){if(\"object\"!=s(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var r=e.call(t,\"string\");if(\"object\"!=s(r))return r;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return String(t)}(t);return\"symbol\"==s(e)?e:e+\"\"}(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}r.d(e,{A:()=>o})}},n={};function i(t){var e=n[t];if(void 0!==e)return e.exports;var r=n[t]={exports:{}};return o[t](r,r.exports,i),r.exports}i.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return i.d(e,{a:e}),e},i.d=(t,e)=>{for(var r in e)i.o(e,r)&&!i.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:e[r]})},i.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e);var u=i(705),c=i(232);const a=[\"name\",\"prototype\",\"length\",\"getDerivedStateFromProps\",\"getDerivedStateFromError\"];class f extends c.A{constructor(...o){super(...o),(0,u.A)(this,\"connect\",function(r){const{getStore:s,subscribe:o}=r;return function(...r){return function(n){class i extends t{constructor(t){super(t),(0,u.A)(this,\"unsubscribe\",void 0),(0,u.A)(this,\"state\",{props:s()}),this.unsubscribe=o(r.reduce((t,e)=>({...t,[e]:()=>{this.setState({props:s()})}}),{}))}componentWillUnmount(){this.unsubscribe()}render(){const{props:t}=this.state,r={...t,...this.props};return e.createElement(n,r)}}return Reflect.ownKeys(n).forEach(t=>{const e=String(t);if(!a.includes(e)){const e=Object.getOwnPropertyDescriptor(n,t);e&&Object.defineProperty(i,t,e)}}),i}}}(this)),(0,u.A)(this,\"useStore\",function(t){const{getStore:e,subscribe:o}=t;return function(...t){const[n,i]=s(e());return r(()=>o(t.reduce((t,r)=>({...t,[r]:()=>{i(t=>({...t,[r]:e()[r]}))}}),{}))),n}}(this))}}const h=f;export{h as default};\n//# sourceMappingURL=index.js.map","export const MOUNTED_COMPONENTS_KEY = Symbol('MOUNTED_COMPONENTS')\n\nexport const MESSAGE_KEY = Symbol('MESSAGE')\n\nexport const CONFIG_KEY = Symbol('CONFIG')\n\nexport const DEPENDENCIES_KEY = Symbol('DEPENDENCIES')\n\nexport const LOCALE_KEY = Symbol('LOCALE')\n\nexport const STANDALONE_CONFIG_READY = Symbol('STANDALONE_CONFIG_READY')\n\nexport const DEFAULT_LOCALE = 'en'\n\nexport enum I18NActions {\n SetLocale = 'setLocale',\n GetLocale = 'getLocale',\n UpdateI18nConfig = 'updateI18nConfig',\n}\n\nexport const VUE_FUNCTION_OPTIONS = [\n 'beforeCreate',\n 'created',\n 'beforeMount',\n 'mounted',\n 'beforeUpdate',\n 'updated',\n 'beforeUnmount',\n 'unmounted',\n 'errorCaptured',\n 'renderTracked',\n 'renderTriggered',\n 'activated',\n 'deactivated',\n 'setup',\n 'data',\n 'render',\n]\n\nexport const VUE_VERSION = 3\n\nexport const BASE_DEPENDENCIES = [\n 'react',\n 'react-dom',\n '@variousjs/various',\n 'app',\n]\n","import Nycticorax from 'nycticorax'\nimport type { ObjectRecord } from '../public/types'\nimport { Store } from '../types'\nimport {\n MESSAGE_KEY,\n MOUNTED_COMPONENTS_KEY,\n CONFIG_KEY,\n DEPENDENCIES_KEY,\n LOCALE_KEY,\n STANDALONE_CONFIG_READY,\n} from './config'\n\n// re-exported so declaration emit can name the unique symbol keys\n// referenced by the Nycticorax<Store> method signatures below\nexport {\n MESSAGE_KEY,\n MOUNTED_COMPONENTS_KEY,\n CONFIG_KEY,\n DEPENDENCIES_KEY,\n LOCALE_KEY,\n STANDALONE_CONFIG_READY,\n}\n\nexport const {\n createStore,\n getStore,\n connect,\n emit,\n subscribe,\n dispatch,\n useStore,\n} = new Nycticorax<Store>()\n\nexport function getUserStore<S extends object = ObjectRecord>() {\n const globalStore = getStore()\n const keys = Object.keys(globalStore)\n const store: Record<string, any> = {}\n\n keys.forEach((key) => {\n store[key] = globalStore[key]\n })\n\n return store as S\n}\n","import type { CreateLogger, LogEvent } from '../public/types'\nimport connector from './connector'\nimport { VariousError } from './helper'\n\ntype LogArgs = Parameters<LogEvent>[0]\ntype LogLevel = LogArgs['level']\n\nconst logger = (args: LogArgs) => {\n const middlewares = connector.getMiddlewares()\n const canLog = middlewares?.onLog?.(args)\n\n if (canLog === false) {\n return\n }\n\n const colorMap: Record<LogLevel, string> = {\n info: 'blue',\n warn: 'orange',\n error: 'red',\n }\n const color = colorMap[args.level]\n\n const params = [\n `%c ${args.module} `,\n `background:${color};border:1px solid ${color};padding:1px;border-radius:2px 0 0 2px;color: #fff;`,\n ]\n\n if (args.type) {\n params[0] = `${params[0]}%c ${args.type} %c`\n params.push(\n `border:1px solid ${color};padding:1px;border-radius:0 2px 2px 0;color:${color};`,\n 'background:transparent',\n )\n }\n\n if (args.level !== 'info') {\n params[0] = ` ${params[0]}`\n }\n\n window.console[args.level](...params, args.message)\n}\n\nconst createLogger: CreateLogger = (module) => ({\n info(message, type) {\n logger({\n module, level: 'info', type, message,\n })\n },\n warn(message, type) {\n logger({\n module, level: 'warn', type, message,\n })\n },\n error(message, type) {\n const middlewares = connector.getMiddlewares()\n const error = message instanceof VariousError\n ? message\n : new VariousError({\n module,\n type: type || 'unknow',\n originalError: message instanceof Error ? message : new Error(message),\n })\n\n middlewares?.onError?.(error)\n\n logger({\n module, level: 'error', type, message,\n })\n },\n})\n\nexport default createLogger\n","import type { ModuleDef, OnMessage, CreatePostMessage } from '../public/types'\nimport connector from './connector'\nimport createLogger from './logger'\nimport { emit, subscribe } from './store'\nimport { MESSAGE_KEY } from './config'\n\nconst postMessageCreator = (module: ModuleDef) => async ({ event, payload }: {\n event: string,\n payload?: any,\n}) => {\n const middlewares = connector.getMiddlewares()\n const logger = createLogger(module)\n\n let next = { trigger: module, event, payload }\n\n if (middlewares?.onMessage) {\n const check = await middlewares.onMessage(next)\n\n if (check === false) {\n logger.warn('blocked by middleware', 'POST_MESSAGE')\n return\n }\n\n if (check !== true) {\n next = { ...next, ...check }\n }\n }\n\n emit({\n [MESSAGE_KEY]: {\n timestamp: +new Date(),\n event: next.event,\n trigger: module,\n payload: next.payload,\n },\n })\n}\n\n// cast: same rationale as createDispatch in dispatch.ts\nexport const createPostMessage: CreatePostMessage = postMessageCreator as CreatePostMessage\n\nexport const createOnMessage = (module: ModuleDef, onMessage: OnMessage) => subscribe({\n [MESSAGE_KEY](v) {\n const { trigger, payload, event } = v!\n if (module !== trigger) {\n onMessage({ event, payload, trigger })\n }\n },\n})\n","import type {\n Intl,\n ModuleDef,\n I18n,\n I18nConfig,\n} from '../public/types'\nimport connector from './connector'\nimport { VariousError, onError, isPromiseLike } from './helper'\nimport { getStore, emit } from './store'\nimport { LOCALE_KEY } from './config'\n\nexport function createI18nConfig(\n method?: I18n,\n module?: ModuleDef,\n callback?: () => void,\n) {\n if (!method) {\n return\n }\n\n const i18nConfig = method()\n\n if (!isPromiseLike(i18nConfig)) {\n if (module) {\n connector.setI18nConfig(module, i18nConfig)\n } else {\n connector.setGlobalI18nConfig(i18nConfig)\n }\n return\n }\n\n if (module) {\n connector.setI18nConfig(module, {\n loading: true,\n resources: {},\n })\n } else {\n connector.setGlobalI18nConfig({\n loading: true,\n resources: {},\n })\n }\n\n i18nConfig\n .then((res) => {\n if (module) {\n connector.setI18nConfig(module, { ...res, loading: false })\n callback?.()\n return\n }\n\n const locale = getStore(LOCALE_KEY)\n\n emit({ [LOCALE_KEY]: undefined }, true)\n emit({ [LOCALE_KEY]: locale }, true)\n connector.setGlobalI18nConfig({ ...res, loading: false })\n })\n .catch((e: Error) => {\n onError(new VariousError({\n module: module || 'app',\n type: 'I18N',\n originalError: e,\n }))\n })\n}\n\nexport function createI18n(\n module: ModuleDef,\n updater: () => void,\n) {\n const ctx: Intl = (key, params, defaultString) => {\n const i18nConfig = connector.getI18nConfig(module) || connector.getGlobalI18nConfig()\n\n let defaultText = defaultString\n if (defaultText === undefined) {\n defaultText = typeof params === 'string' ? params : key\n }\n\n if (!i18nConfig) {\n onError(new VariousError({\n module,\n type: 'I18N',\n originalError: new Error('config not exist'),\n }))\n return defaultText\n }\n\n if (i18nConfig.loading) {\n return defaultText\n }\n\n const { resources } = i18nConfig\n const locale = getStore(LOCALE_KEY)\n\n const resource = resources?.[locale]\n\n if (!resource) {\n onError(new VariousError({\n module,\n type: 'I18N',\n originalError: new Error(`locale resource \\`${locale}\\` not exist`),\n }))\n return defaultText\n }\n\n if (!resource[key]) {\n onError(new VariousError({\n module,\n type: 'I18N',\n originalError: new Error(`locale key \\`${key}\\` not exist`),\n }))\n return defaultText\n }\n\n const text = resource[key]\n\n if (!params || typeof params === 'string' || Object.prototype.toString.call(params) !== '[object Object]') {\n return text\n }\n\n const args = Object.keys(params)\n\n if (!args.length) {\n return text\n }\n\n return args.reduce((next, arg) => {\n const regex = new RegExp(`{\\\\s*${arg}\\\\s*}`, 'g')\n return next.replace(regex, params[arg].toString())\n }, text)\n }\n\n ctx.update = (config) => {\n const i18nConfig = connector.getI18nConfig(module)\n const next = { ...i18nConfig, ...config } as I18nConfig\n\n connector.setI18nConfig(module, next)\n updater()\n }\n\n return ctx\n}\n","// Native ESM module loader replacing SystemJS.\n// Provides module loading API: dynamic path config,\n// module undef/defined/specified, and object injection.\n//\n// Registry is stored on window.__various so the IIFE loader and ESM core\n// share the same module state (replaces the global SystemJS registry).\n\ntype Registry = {\n modules: Map<string, any>\n urls: Map<string, string>\n loaded: Map<string, any>\n}\n\n// eslint-disable-next-line no-underscore-dangle\ndeclare global {\n interface Window {\n // eslint-disable-next-line no-underscore-dangle\n __various?: Registry\n }\n}\n\nexport function getRegistry(): Registry {\n // eslint-disable-next-line no-underscore-dangle\n if (!window.__various) {\n // eslint-disable-next-line no-underscore-dangle\n window.__various = {\n modules: new Map(),\n urls: new Map(),\n loaded: new Map(),\n }\n }\n // eslint-disable-next-line no-underscore-dangle\n return window.__various\n}\n\nconst { modules: moduleRegistry, urls: moduleUrls, loaded: loadedModules } = getRegistry()\n\n// Resolve relative URLs against document base URL.\n// ESM import() in a module at /dist/index.js would resolve relative URLs\n// against /dist/, not the document root. This ensures correct resolution.\nfunction resolveUrl(url: string): string {\n if (url.startsWith('http') || url.startsWith('/') || url.startsWith('blob:')) return url\n return new URL(url, document.baseURI).href\n}\n\nexport function setModuleUrl(name: string, url: string): void {\n moduleUrls.set(name, url)\n}\n\nexport function getModuleUrl(name: string): string | undefined {\n return moduleUrls.get(name)\n}\n\n// Returns all registered module URL mappings (for import map generation)\nexport function getAllModuleUrls(): Record<string, string> {\n const result: Record<string, string> = {}\n moduleUrls.forEach((url, name) => {\n result[name] = url\n })\n return result\n}\n\n// Returns names of modules injected via setModule (not loaded from URL)\nexport function getInjectedModuleNames(): string[] {\n const result: string[] = []\n moduleRegistry.forEach((_, name) => {\n if (!moduleUrls.has(name)) {\n result.push(name)\n }\n })\n return result\n}\n\n// Load module by name (looks up url from registry, then native import)\nexport async function importModule<T = any>(name: string): Promise<T> {\n const url = moduleUrls.get(name)\n if (url) {\n const absoluteUrl = resolveUrl(url)\n if (loadedModules.has(absoluteUrl)) {\n return loadedModules.get(absoluteUrl) as T\n }\n const mod = await import(/* @vite-ignore */ absoluteUrl) as T\n loadedModules.set(absoluteUrl, mod)\n return mod\n }\n // Not in url registry - may be injected via setModule (e.g. react, vue)\n if (moduleRegistry.has(name)) {\n return moduleRegistry.get(name) as T\n }\n throw new Error(`module \"${name}\" not defined`)\n}\n\n// Check if module is loaded\nexport function isModuleDefined(name: string): boolean {\n if (moduleRegistry.has(name)) return true\n const url = moduleUrls.get(name)\n if (url && loadedModules.has(resolveUrl(url))) return true\n return false\n}\n\n// Check if module is declared (url registered or already loaded)\nexport function isModuleSpecified(name: string): boolean {\n return moduleUrls.has(name) || isModuleDefined(name)\n}\n\n// Remove module from registry (for re-loading with cache-busting URL)\nexport function deleteModule(name: string): void {\n moduleRegistry.delete(name)\n const url = moduleUrls.get(name)\n if (url) {\n loadedModules.delete(resolveUrl(url))\n }\n}\n\n// Inject a module object directly (replaces System.set for standalone)\nexport function setModule(name: string, mod: any): void {\n if (mod && typeof mod === 'object' && !('default' in mod)) {\n moduleRegistry.set(name, { default: mod, ...mod })\n } else {\n moduleRegistry.set(name, mod)\n }\n}\n\n// Create a blob URL for a registered module so ESM components can import it\n// via import map (e.g. standalone mode where react/vue are passed as objects)\nexport function createModuleBlobUrl(name: string): string | null {\n const mod = moduleRegistry.get(name)\n if (!mod) return null\n const realMod = typeof mod === 'object' && 'default' in mod ? mod : { default: mod }\n const keys = Object.keys(realMod).filter(\n (k) => k !== 'default' && /^[a-zA-Z_$][a-zA-Z0-9_$]*$/.test(k),\n )\n const lines = [\n `const m = window.__various.modules.get(${JSON.stringify(name)});`,\n 'export default m.default || m;',\n ...keys.map((k) => `export const ${k} = m[${JSON.stringify(k)}];`),\n ]\n const blob = new Blob([lines.join('\\n')], { type: 'application/javascript' })\n return URL.createObjectURL(blob)\n}\n","import type {\n ModuleDef,\n OnMessage,\n I18n,\n VariousComponentType,\n ErrorType,\n ObjectRecord,\n GetModuleInfo,\n PreloadModules,\n RemoveLoadedModules,\n DefineDependencies,\n IsModuleLoaded,\n OnComponentMounted,\n VariousError as VariousErrorShape,\n} from '../public/types'\nimport { getStore, subscribe, emit } from './store'\nimport createLogger from './logger'\nimport {\n CONFIG_KEY,\n MOUNTED_COMPONENTS_KEY,\n DEPENDENCIES_KEY,\n VUE_VERSION,\n VUE_FUNCTION_OPTIONS,\n BASE_DEPENDENCIES,\n} from './config'\nimport { PublicActions, RequiredComponent } from '../types'\nimport connector from './connector'\nimport { createOnMessage } from './message'\nimport { createI18nConfig } from './i18n'\nimport {\n setModuleUrl,\n getModuleUrl,\n importModule,\n isModuleDefined,\n isModuleSpecified as isSpecified,\n deleteModule,\n setModule,\n} from './system'\n\nconst getUrlHash = (url: string) => `${url}?${+new Date()}`\n\nexport const getModuleInfo: GetModuleInfo = (module) => {\n const [name, entry] = module.split('.')\n return { name, entry }\n}\n\nexport const preloadModules: PreloadModules = (modules) => {\n const names = modules.map((m) => getModuleInfo(m).name)\n return Promise.all(names.map((n) => importModule(n))).then(() => undefined)\n}\n\nexport const removeLoadedModules: RemoveLoadedModules = (modules) => {\n modules.forEach((module) => {\n const { name } = getModuleInfo(module)\n if (!BASE_DEPENDENCIES.includes(name)) {\n deleteModule(name)\n }\n })\n}\n\n// Append a new import map for dynamically registered dependencies.\n// Requires multiple import maps support (Chrome 133+ / Safari 18.4+):\n// the browser merges new <script type=\"importmap\"> entries into the global\n// map, so modules loaded afterwards can resolve these bare specifiers.\n// Already-resolvable names are skipped: the merge algorithm forbids\n// redefining mappings that were already defined or resolved.\nfunction appendImportMap(deps: Record<string, string>) {\n const additions: Record<string, string> = {}\n\n Object.entries(deps).forEach(([name, url]) => {\n if (BASE_DEPENDENCIES.includes(name)) return\n try {\n import.meta.resolve(name)\n } catch {\n // Not in any import map yet -> add it\n additions[name] = url\n }\n })\n\n if (Object.keys(additions).length === 0) return\n\n const script = document.createElement('script')\n script.type = 'importmap'\n script.textContent = JSON.stringify({ imports: additions })\n document.head.appendChild(script)\n}\n\nexport const defineDependencies: DefineDependencies = (deps) => {\n const dependencies = getStore(DEPENDENCIES_KEY)\n const next = {} as Record<string, string>\n\n Object.keys(deps).forEach((name) => {\n if (!BASE_DEPENDENCIES.includes(name)) {\n next[name] = deps[name]\n // Only delete if URL changed (preserves preloaded modules with same URL)\n const currentUrl = getModuleUrl(name)\n if (currentUrl !== deps[name]) {\n deleteModule(name)\n }\n setModuleUrl(name, deps[name])\n }\n })\n\n appendImportMap(deps)\n\n emit({ [DEPENDENCIES_KEY]: { ...dependencies, ...next } }, true)\n}\n\nexport const isModuleLoaded: IsModuleLoaded = (module) => {\n const { name } = getModuleInfo(module)\n return isModuleDefined(name)\n}\n\nexport const isModuleSpecified = (module: ModuleDef) => {\n const { name } = getModuleInfo(module)\n return isSpecified(name)\n}\n\nexport const getMountedComponents = (): ModuleDef[] => getStore(MOUNTED_COMPONENTS_KEY)\n\nexport const onComponentMounted: OnComponentMounted = (module, callback) => {\n const modules = Array.isArray(module) ? module : [module]\n\n if (modules.every((m) => getMountedComponents().includes(m))) {\n callback()\n }\n\n const unSubscribe = subscribe({\n [MOUNTED_COMPONENTS_KEY](value) {\n if (modules.every((n) => value.includes(n))) {\n unSubscribe()\n callback()\n }\n },\n })\n\n return unSubscribe\n}\n\nexport const resetDependencyConfig = (module: ModuleDef, url?: string) => {\n const { name } = getModuleInfo(module)\n const dependencies = getStore(DEPENDENCIES_KEY)\n\n // ignore multiple custom module url\n if (url && isModuleDefined(name)) {\n return\n }\n\n if (!dependencies[name] && url) {\n setModuleUrl(name, url)\n return\n }\n\n let moduleUrl = getUrlHash(dependencies[name])\n\n if (url) {\n moduleUrl = getUrlHash(url)\n }\n\n deleteModule(name)\n setModuleUrl(name, moduleUrl)\n}\n\nexport function getConfig<C extends object = ObjectRecord>() {\n return getStore(CONFIG_KEY) as C\n}\n\nexport const onError = (e: VariousError) => {\n const { module, type } = e\n const logger = createLogger(module)\n logger.error(e, type)\n}\n\nexport class VariousError extends Error implements VariousErrorShape {\n type: ErrorType\n\n originalError: Error\n\n module: ModuleDef\n\n constructor(data: {\n module: ModuleDef,\n type: ErrorType,\n originalError: Error,\n }) {\n super(data.originalError.message)\n this.type = data.type\n this.originalError = data.originalError\n this.module = data.module\n }\n}\n\nexport function checkReactComponent(component: RequiredComponent, module: ModuleDef) {\n return new Promise<void>((reslove, reject) => {\n if (component.$$typeof || component.prototype?.isReactComponent || typeof component === 'function') {\n reslove()\n return\n }\n\n reject(new VariousError({\n module,\n originalError: new Error('not a valid React component'),\n type: 'INVALID_COMPONENT',\n }))\n })\n}\n\nexport function isPromiseLike<T>(value: T | PromiseLike<T>): value is PromiseLike<T> {\n return value != null && typeof (value as any).then === 'function'\n}\n\nexport function checkVueComponent(component: RequiredComponent, module: ModuleDef) {\n const versionRegex = new RegExp(`^${VUE_VERSION}\\\\.`)\n\n return new Promise<void>((resolve, reject) => {\n importModule<{ version: string, default: { version: string } }>('vue').then((Vue) => {\n const vueObj = (Vue.default || Vue) as { version: string }\n if (!versionRegex.test(vueObj.version)) {\n reject(new Error(`Vue ${VUE_VERSION}+ required, detected an incompatible version`))\n return\n }\n\n if (typeof component?.render === 'function' || typeof component?.setup === 'function') {\n resolve()\n return\n }\n\n reject(new VariousError({\n module,\n originalError: new Error('not a valid Vue component'),\n type: 'INVALID_COMPONENT',\n }))\n }).catch(reject)\n })\n}\n\nexport function parseComponentActions(params: {\n module: ModuleDef,\n componentNode: RequiredComponent,\n type?: VariousComponentType,\n i18nUpdate: () => void,\n}) {\n const {\n componentNode,\n module,\n type,\n i18nUpdate,\n } = params\n\n const actions: PublicActions = {}\n let onMessageAction: OnMessage | undefined\n let i18nAction: I18n | undefined\n\n Object\n .getOwnPropertyNames(componentNode)\n .forEach((method) => {\n if (typeof componentNode[method] !== 'function') {\n return\n }\n if (method === '$onMessage') {\n onMessageAction = componentNode[method]\n return\n }\n if (method === '$i18n') {\n i18nAction = componentNode[method]\n return\n }\n if (type === 'vue3' && VUE_FUNCTION_OPTIONS.includes(method)) {\n return\n }\n\n actions[method] = componentNode[method]\n })\n\n if (i18nAction) {\n createI18nConfig(i18nAction, module, i18nUpdate)\n }\n\n connector.setComponentActions(module, actions)\n\n if (onMessageAction) {\n return createOnMessage(module, onMessageAction)\n }\n\n return () => null\n}\n\nexport function updateMountedComponent(module: ModuleDef) {\n const mountedComponents = getMountedComponents()\n\n if (!mountedComponents.includes(module)) {\n mountedComponents.push(module)\n }\n\n emit({ [MOUNTED_COMPONENTS_KEY]: mountedComponents }, true)\n}\n\nexport function updateUnMountComponent(module: ModuleDef) {\n let mountedComponents = getMountedComponents()\n\n mountedComponents = mountedComponents.filter((item) => item !== module)\n\n emit({ [MOUNTED_COMPONENTS_KEY]: mountedComponents }, true)\n connector.deleteComponentActions(module)\n}\n\nexport function getSelfInfo(params: { url?: string, module: ModuleDef }) {\n const { module, url } = params\n const dependencies = getStore(DEPENDENCIES_KEY)\n const { name } = getModuleInfo(module)\n\n return {\n module,\n url: url || dependencies[name] || getModuleUrl(name) || '',\n }\n}\n\nexport function getClassNameWithModule(module: ModuleDef, prefix: string) {\n const { name, entry } = getModuleInfo(module)\n return `${prefix} ${[name, entry].filter(Boolean).join('-')}`\n}\n\n// Re-export setModule for standalone use\nexport { setModule }\n","import React, { ComponentType } from 'react'\nimport type {\n FallbackNode,\n ErrorFallbackNode,\n} from '../public/types'\nimport { getClassNameWithModule } from './helper'\n\nexport const Fallback: FallbackNode<any> = (props) => {\n const className = getClassNameWithModule(props.$self.module, 'various-component-fallback')\n return (\n <div className={className}>Loading</div>\n )\n}\n\nexport const ErrorFallback: ErrorFallbackNode<any> = ({ $error, $reload, $self }) => {\n const className = getClassNameWithModule($self.module, 'various-component-error_fallback')\n return (\n <div className={className}>\n <h3>{$error.type}</h3>\n <p>{$error.message}</p>\n <button type=\"button\" onClick={$reload}>\n Reload\n </button>\n </div>\n )\n}\n\nexport const Root: ComponentType = () => (\n <div>App Container is not defined</div>\n)\n","import type {\n FallbackNode,\n ErrorFallbackNode,\n App,\n ModuleDef,\n} from '../public/types'\nimport { Fallback, ErrorFallback } from './default-component'\nimport {\n PublicActions,\n ConnectorI18nConfig,\n Actions,\n} from '../types'\n\nclass Connector {\n private fallbackComponent: FallbackNode<any>\n\n private errorFallbackComponent: ErrorFallbackNode<any>\n\n private storeActions: Actions<any>\n\n private componentActions: Record<string, PublicActions>\n\n private i18nConfigs: Record<string, ConnectorI18nConfig | undefined>\n\n private globalI18nConfig: ConnectorI18nConfig | undefined\n\n private middlewares: App['middlewares']\n\n constructor() {\n this.fallbackComponent = Fallback\n this.errorFallbackComponent = ErrorFallback\n this.storeActions = {}\n this.componentActions = {}\n this.i18nConfigs = {}\n this.middlewares = {}\n }\n\n setMiddlewares(m: App['middlewares']) {\n this.middlewares = m\n }\n\n getMiddlewares() {\n return this.middlewares\n }\n\n setI18nConfig(module: ModuleDef, config: ConnectorI18nConfig) {\n this.i18nConfigs[module] = { ...this.i18nConfigs[module], ...config }\n }\n\n getI18nConfig(module: ModuleDef) {\n return this.i18nConfigs[module]\n }\n\n setGlobalI18nConfig(config: ConnectorI18nConfig) {\n this.globalI18nConfig = { ...this.globalI18nConfig, ...config }\n }\n\n getGlobalI18nConfig() {\n return this.globalI18nConfig\n }\n\n setComponentActions(module: ModuleDef, actions: PublicActions) {\n this.componentActions[module] = actions\n }\n\n deleteComponentActions(module: ModuleDef) {\n delete this.componentActions[module]\n }\n\n getComponentActions(module: ModuleDef) {\n return this.componentActions[module]\n }\n\n setStoreActions(actions: Actions<any>) {\n this.storeActions = actions\n }\n\n getStoreActions() {\n return this.storeActions\n }\n\n setFallbackComponent(fallbackComponent: FallbackNode<any>) {\n this.fallbackComponent = fallbackComponent\n }\n\n getFallbackComponent() {\n return this.fallbackComponent\n }\n\n setErrorFallbackComponent(errorFallbackComponent: ErrorFallbackNode<any>) {\n this.errorFallbackComponent = errorFallbackComponent\n }\n\n getErrorFallbackComponent() {\n return this.errorFallbackComponent\n }\n}\n\nexport default new Connector()\n","import React, { Component } from 'react'\nimport type { VariousError as ve } from '../public/types'\nimport {\n onError,\n VariousError,\n resetDependencyConfig,\n updateUnMountComponent,\n getSelfInfo,\n} from './helper'\nimport connector from './connector'\nimport { ErrorBoundaryProps, Store } from '../types'\nimport { getUserStore, getStore } from './store'\nimport { LOCALE_KEY } from './config'\n\nclass ErrorBoundary extends Component<ErrorBoundaryProps> {\n static displayName = 'various-error-boundary'\n\n state = {\n hasError: false,\n }\n\n private error?: ve\n\n componentDidCatch(e: Error | VariousError) {\n const { module } = this.props\n const error = e instanceof VariousError\n ? e\n : new VariousError({\n module,\n type: module === 'app' ? 'APP_ERROR' : 'SCRIPT_ERROR',\n originalError: e,\n })\n\n this.setState({ hasError: true })\n this.error = error\n onError(error)\n resetDependencyConfig(module)\n updateUnMountComponent(module)\n }\n\n $self = getSelfInfo(this.props)\n\n reload = () => {\n this.error = undefined\n this.setState({ hasError: false })\n }\n\n render() {\n const ErrorFallbackNode = connector.getErrorFallbackComponent()\n const store = getUserStore()\n const locale = getStore(LOCALE_KEY)\n\n if (this.state.hasError) {\n return (\n <ErrorFallbackNode\n $self={this.$self}\n $reload={this.reload}\n $store={store as Store}\n $error={this.error!}\n $locale={locale}\n />\n )\n }\n\n return this.props.children\n }\n}\n\nexport default ErrorBoundary\n","import type { ModuleDef, CreateDispatch } from '../public/types'\nimport connector from './connector'\nimport { dispatch, emit, getStore } from './store'\nimport { onError, VariousError } from './helper'\nimport createLogger from './logger'\nimport { I18NActions, LOCALE_KEY } from './config'\n\nconst dispatchCreator = (module: ModuleDef) => async function (params: {\n target: string,\n action: string,\n payload?: any,\n}) {\n const middlewares = connector.getMiddlewares()\n const logger = createLogger(module)\n\n let { action, payload, target } = params\n\n if (middlewares?.onDispatch) {\n const check = await middlewares.onDispatch({\n target,\n action,\n payload,\n trigger: module,\n })\n if (check === false) {\n logger.warn('blocked by middleware', 'DISPATCH')\n return Promise.resolve()\n }\n if (check !== true) {\n target = check.target\n action = check.action\n payload = check.payload\n }\n }\n\n if (target === 'app') {\n const storeActions = connector.getStoreActions()\n const storeAction = storeActions[action]\n\n if (action === I18NActions.SetLocale) {\n emit({ [LOCALE_KEY]: payload }, true)\n return payload\n }\n\n if (action === I18NActions.GetLocale) {\n return getStore(LOCALE_KEY)\n }\n\n if (action === I18NActions.UpdateI18nConfig) {\n const locale = getStore(LOCALE_KEY)\n\n connector.setGlobalI18nConfig(payload)\n emit({ [LOCALE_KEY]: undefined }, true)\n emit({ [LOCALE_KEY]: locale }, true)\n return locale\n }\n\n if (!storeAction) {\n const errorMessage = `action \"${action}\" is not present`\n const error = new VariousError({\n module,\n type: 'DISPATCH',\n originalError: new Error(errorMessage),\n })\n onError(error)\n throw error\n }\n return dispatch(storeAction, payload, module)\n }\n\n const componentActions = connector.getComponentActions(target)\n\n if (!componentActions) {\n const errorMessage = 'component is not ready'\n const error = new VariousError({\n module,\n type: 'DISPATCH',\n originalError: new Error(errorMessage),\n })\n onError(error)\n throw error\n }\n\n const componentAction = componentActions[action]\n\n if (!componentAction) {\n const errorMessage = `action \"${action}\" is not present`\n const error = new VariousError({\n module,\n type: 'DISPATCH',\n originalError: new Error(errorMessage),\n })\n onError(error)\n throw error\n }\n\n return Promise.resolve(componentAction({ payload, trigger: module }))\n}\n\n// cast: $dispatch<M> is satisfied for every valid M (string keys at call sites);\n// the constraint-instantiated comparison fails only on number keys of the index signature\nexport const createDispatch: CreateDispatch = dispatchCreator as CreateDispatch\n\nexport default createDispatch\n","import type { ObjectRecord, CreateModule } from '../public/types'\nimport { DEPENDENCIES_KEY } from './config'\nimport { getStore } from './store'\nimport connector from './connector'\nimport {\n VariousError,\n isModuleLoaded,\n resetDependencyConfig,\n onError,\n isModuleSpecified,\n getModuleInfo,\n} from './helper'\nimport { importModule } from './system'\n\nconst createModule: CreateModule = (config, logError = true) => {\n const dependencies = getStore(DEPENDENCIES_KEY)\n const middlewares = connector.getMiddlewares()\n const { url, module } = config\n const { name, entry } = getModuleInfo(module)\n const loadStart = +new Date()\n\n const logOnError = (e: VariousError) => {\n if (logError) {\n onError(e)\n }\n }\n\n if (url) {\n resetDependencyConfig(module, url)\n }\n\n return new Promise<any>((resolve, reject) => {\n if (!url && !dependencies[name] && !isModuleSpecified(module)) {\n const error = new VariousError({\n module,\n type: 'NOT_DEFINED',\n originalError: new Error(`module \"${name}\" not defined`),\n })\n\n logOnError(error)\n reject(error)\n return\n }\n\n importModule<ObjectRecord>(name).then((C?: ObjectRecord) => {\n const loadEnd = +new Date()\n\n middlewares?.onLoad?.({\n module,\n loadStart,\n loadEnd,\n beenLoaded: isModuleLoaded(module),\n })\n\n if (!C || (typeof C === 'object' && Object.keys(C).length === 0)) {\n const error = new VariousError({\n module,\n type: 'INVALID_MODULE',\n originalError: new Error(`module \"${name}\" invalid`),\n })\n\n resetDependencyConfig(module)\n logOnError(error)\n reject(error)\n return\n }\n\n const defaultModule = 'default' in C ? C.default : C\n const actualModule = !entry ? defaultModule : C[entry]\n\n if (actualModule === undefined && entry) {\n const error = new VariousError({\n module,\n type: 'SUBMODULE_NOT_DEFINED',\n originalError: new Error(`submodule \"${entry}\" not defined`),\n })\n\n resetDependencyConfig(module)\n logOnError(error)\n reject(error)\n return\n }\n\n resolve(actualModule)\n }).catch((e: Error) => {\n resetDependencyConfig(module, url)\n\n let errorType: VariousError['type'] = 'LOADING_ERROR'\n\n if (!url && e.message && !e.message.includes(name)) {\n errorType = 'SUBMODULE_LOADING_ERROR'\n }\n\n const error = new VariousError({\n module: name,\n type: errorType,\n originalError: e,\n })\n\n logOnError(error)\n reject(error)\n })\n })\n}\n\nexport default createModule\n","import React, { Component } from 'react'\nimport type {\n ComponentDefaultProps,\n VariousError as ve,\n ModuleDef,\n} from '../public/types'\nimport {\n checkReactComponent,\n updateUnMountComponent,\n updateMountedComponent,\n parseComponentActions,\n isModuleLoaded,\n getSelfInfo,\n} from './helper'\nimport { connect, getStore, getUserStore } from './store'\nimport connector from './connector'\nimport { createPostMessage } from './message'\nimport createDispatch from './dispatch'\nimport createLogger from './logger'\nimport { createI18n } from './i18n'\nimport createModule from './create-module'\nimport { LOCALE_KEY } from './config'\nimport {\n CreateComponentState,\n CreateComponentProps,\n RequiredComponent,\n Store,\n} from '../types'\n\nfunction reactComponent<P extends object>(config: {\n module: ModuleDef,\n url?: string,\n watchKeys?: string[],\n onMounted?: () => void,\n}) {\n const {\n module,\n url,\n watchKeys,\n onMounted,\n } = config\n const storeKeys = (watchKeys || Object.keys(getStore()))\n\n class R extends Component<\n CreateComponentProps<P> & ComponentDefaultProps,\n CreateComponentState\n > {\n static displayName = 'various-react-component'\n\n state = {\n componentReady: false,\n isError: false,\n }\n\n private error?: ve | Error\n\n private ComponentNode: RequiredComponent | null\n\n private isUnMounted?: boolean\n\n private unSubscribeMessage = () => null as unknown\n\n componentDidMount() {\n this.isUnMounted = false // fix StrictMode\n this.mountComponent()\n }\n\n componentWillUnmount() {\n this.error = undefined\n this.ComponentNode = null\n this.isUnMounted = true\n this.unSubscribeMessage()\n updateUnMountComponent(module)\n }\n\n mountComponent = async () => {\n try {\n const componentNode = await createModule<RequiredComponent>({ module, url }, false)\n\n if (this.isUnMounted) {\n return\n }\n\n await checkReactComponent(componentNode, module)\n\n componentNode.displayName = module\n\n updateMountedComponent(module)\n\n this.unSubscribeMessage = parseComponentActions({\n componentNode,\n module,\n i18nUpdate: () => this.forceUpdate(),\n })\n\n this.ComponentNode = componentNode\n this.setState({ componentReady: true })\n\n onMounted?.()\n } catch (e) {\n if (this.isUnMounted) {\n return\n }\n\n this.error = e as Error\n this.setState({ componentReady: true, isError: true })\n }\n }\n\n $postMessage = createPostMessage(module)\n\n $dispatch = createDispatch(module)\n\n $t = createI18n(module, () => this.forceUpdate())\n\n $logger = createLogger(module)\n\n $self = getSelfInfo({ module, url })\n\n render() {\n const Fallback = connector.getFallbackComponent()\n const { $silent, $componentProps, $ref } = this.props\n const { componentReady, isError } = this.state\n const store = getUserStore()\n const locale = getStore(LOCALE_KEY)\n const ComponentNode = this.ComponentNode as RequiredComponent\n\n if (isError) {\n throw this.error\n }\n\n if (!componentReady) {\n if ($silent || isModuleLoaded(module)) {\n return null\n }\n\n return (\n <Fallback\n $self={this.$self}\n $store={store as Store}\n $locale={locale}\n />\n )\n }\n\n return (\n <ComponentNode\n {...$componentProps}\n $self={this.$self}\n $dispatch={this.$dispatch}\n $store={store}\n $postMessage={this.$postMessage}\n $t={this.$t}\n $logger={this.$logger}\n ref={$ref}\n $locale={locale}\n />\n )\n }\n }\n\n const Connected = connect(...storeKeys, LOCALE_KEY)(R)\n Connected.displayName = 'various-connector'\n\n return Connected\n}\n\nexport default reactComponent\n","import React, {\n FC,\n useCallback,\n useEffect,\n useRef,\n useState,\n} from 'react'\nimport * as Vue from 'vue'\nimport type { ComponentPublicInstance } from 'vue'\nimport type {\n ComponentDefaultProps,\n ModuleDef,\n VariousError as ve,\n ObjectRecord,\n} from '../public/types'\nimport connector from './connector'\nimport createModule from './create-module'\nimport { getStore, useStore } from './store'\nimport {\n updateUnMountComponent,\n updateMountedComponent,\n checkVueComponent,\n parseComponentActions,\n isModuleLoaded,\n VariousError,\n getSelfInfo,\n getClassNameWithModule,\n} from './helper'\nimport createDispatch from './dispatch'\nimport createLogger from './logger'\nimport { createPostMessage } from './message'\nimport { CreateComponentProps, RequiredComponent } from '../types'\nimport { createI18n } from './i18n'\nimport { LOCALE_KEY } from './config'\n\nfunction vueComponent<P extends object>(config: {\n module: ModuleDef,\n url?: string,\n watchKeys?: string[],\n onMounted?: () => void,\n}) {\n const {\n module,\n url,\n watchKeys,\n onMounted,\n } = config\n const storeKeys = (watchKeys || Object.keys(getStore()))\n\n const V: FC<CreateComponentProps<P> & ComponentDefaultProps> = (props) => {\n const store = useStore(...storeKeys, LOCALE_KEY)\n const locale = store[LOCALE_KEY]\n\n const vueRef = useRef<typeof Vue>()\n const vmRef = useRef<ComponentPublicInstance>()\n const isVueMounted = useRef(false)\n const errorRef = useRef<Error | ve>()\n const isUnMountedRef = useRef(false)\n const ComponentNodeRef = useRef<RequiredComponent>()\n const selfRef = useRef(getSelfInfo({ module, url }))\n\n const containerDivRef = useRef<HTMLDivElement | null>(null)\n const propsReactiveRef = useRef<{ value: ObjectRecord }>()\n const storeReactiveRef = useRef<{ value: ObjectRecord }>()\n const localeReactiveRef = useRef<{ value: string }>()\n const unMountVue = useRef<() => void>()\n const unSubscribeMessageRef = useRef<() => void>()\n const updateVueComponentRef = useRef<() => void>()\n\n const [componentReady, setComponentReady] = useState(false)\n const [isError, setIsError] = useState(false)\n\n const Fallback = connector.getFallbackComponent()\n const { $silent, $componentProps } = props\n\n const mountVue = useCallback(() => {\n const $logger = createLogger(module)\n const $dispatch = createDispatch(module)\n const $postMessage = createPostMessage(module)\n const $t = createI18n(module, () => {\n updateVueComponentRef.current?.()\n })\n\n propsReactiveRef.current = vueRef.current!.ref<ObjectRecord>({ ...$componentProps })\n storeReactiveRef.current = vueRef.current!.ref<ObjectRecord>({ ...store })\n localeReactiveRef.current = vueRef.current!.ref<string>(locale)\n\n const vueApp = vueRef.current!.createApp({\n setup() {\n const renderKey = vueRef.current!.ref(0)\n updateVueComponentRef.current = () => {\n renderKey.value += 1\n }\n return {\n key: renderKey,\n }\n },\n\n errorCaptured(e: unknown) {\n const error = e as Error\n errorRef.current = error.message?.includes('https://react')\n ? new VariousError({\n originalError: new Error('not a valid Vue component'),\n module,\n type: 'INVALID_COMPONENT',\n })\n : error\n setIsError(true)\n },\n\n render() {\n return vueRef.current!.h(ComponentNodeRef.current as any, {\n ...propsReactiveRef.current!.value,\n various: {\n $dispatch,\n $logger,\n $postMessage,\n $t,\n $store: storeReactiveRef.current!.value,\n $self: selfRef.current,\n $locale: localeReactiveRef.current!.value,\n },\n // eslint-disable-next-line react/no-this-in-sfc\n key: this.key,\n })\n },\n })\n\n // fix StrictMode\n if (!vmRef.current) {\n vmRef.current = vueApp.mount(containerDivRef.current!)\n }\n\n isVueMounted.current = true\n unMountVue.current = () => vueApp.unmount()\n }, [$componentProps, store, locale])\n\n const mountComponent = useCallback(async () => {\n try {\n const vue = await createModule<typeof Vue>({ module: 'vue' })\n vueRef.current = vue\n\n const componentNode = await createModule<RequiredComponent>({ module, url }, false)\n\n if (isUnMountedRef.current) {\n return\n }\n\n await checkVueComponent(componentNode, module)\n\n updateMountedComponent(module)\n\n unSubscribeMessageRef.current = parseComponentActions({\n componentNode,\n module,\n type: 'vue3',\n i18nUpdate() {\n updateVueComponentRef.current?.()\n },\n })\n\n ComponentNodeRef.current = componentNode\n\n setTimeout(mountVue)\n setComponentReady(true)\n\n onMounted?.()\n } catch (e) {\n if (isUnMountedRef.current) {\n return\n }\n\n errorRef.current = e as Error\n setComponentReady(true)\n setIsError(true)\n }\n }, [mountVue])\n\n useEffect(() => {\n // fix StrictMode\n isUnMountedRef.current = false\n\n return () => {\n errorRef.current = undefined\n ComponentNodeRef.current = undefined\n isUnMountedRef.current = true\n updateUnMountComponent(module)\n unMountVue.current?.()\n unSubscribeMessageRef.current?.()\n isVueMounted.current = false\n }\n }, [])\n\n useEffect(() => {\n if (isVueMounted.current) {\n return\n }\n mountComponent()\n }, [mountComponent])\n\n useEffect(() => {\n if (propsReactiveRef.current) {\n propsReactiveRef.current.value = { ...$componentProps }\n }\n }, [$componentProps])\n\n useEffect(() => {\n if (storeReactiveRef.current) {\n storeReactiveRef.current.value = { ...store }\n }\n }, [store])\n\n useEffect(() => {\n if (localeReactiveRef.current) {\n localeReactiveRef.current.value = locale\n }\n }, [locale])\n\n if (isError) {\n throw errorRef.current\n }\n\n return (\n <>\n {\n !componentReady && !$silent && !isModuleLoaded(module)\n ? (\n <Fallback\n $self={selfRef.current}\n $store={store}\n $locale={locale}\n />\n )\n : null\n }\n <div\n className={getClassNameWithModule(module, 'various-vue-component')}\n ref={containerDivRef}\n />\n </>\n )\n }\n\n V.displayName = module\n\n const VueComponent: FC<\n CreateComponentProps<P> & ComponentDefaultProps\n > = (props) => (<V {...props} />)\n\n VueComponent.displayName = 'various-vue-component'\n\n return VueComponent\n}\n\nexport default vueComponent\n","import React from 'react'\nimport type {\n CreateComponent,\n ComponentDefaultProps,\n} from '../public/types'\nimport createReactComponent from './react-component'\nimport createVueComponent from './vue-component'\nimport ErrorBoundary from './error-boundary'\nimport { CreateComponentProps } from '../types'\n\nconst createComponent: CreateComponent = (config, storeKeys) => {\n const {\n module,\n url,\n type = 'react',\n } = config\n\n const C = (type === 'vue3' ? createVueComponent : createReactComponent)({\n module,\n url,\n watchKeys: storeKeys as string[],\n })\n\n const component = (props: ComponentDefaultProps) => {\n const { $silent, $ref, ...rest } = props || {}\n const nextProps = {\n $componentProps: rest, $silent, $ref,\n } as ComponentDefaultProps & CreateComponentProps<any>\n return (\n <ErrorBoundary module={module} url={url}>\n <C {...nextProps} />\n </ErrorBoundary>\n )\n }\n\n component.displayName = 'various-creator'\n return component\n}\n\nexport default createComponent\n","import React from 'react'\nimport reactDom from 'react-dom/client'\nimport type { RenderComponent } from '../public/types'\nimport createReactComponent from './react-component'\nimport createVueComponent from './vue-component'\nimport { onError, VariousError } from './helper'\nimport ErrorBoundary from './error-boundary'\nimport createModule from './create-module'\n\nconst renderComponent: RenderComponent = async ({\n module,\n url,\n target,\n props,\n type = 'react',\n renderNode,\n onMounted,\n}) => {\n try {\n const ReactDOM = await createModule<typeof reactDom>({ module: 'react-dom/client' })\n\n const C = (type === 'vue3' ? createVueComponent : createReactComponent)({\n module,\n url,\n onMounted,\n })\n\n const root = ReactDOM.createRoot(target as Element)\n const { $silent, $ref, ...rest } = props || {}\n const nextProps: any = { $componentProps: rest, $silent, $ref }\n const node = (\n <ErrorBoundary module={module} url={url}>\n <C {...nextProps} />\n </ErrorBoundary>\n )\n\n root.render(renderNode ? renderNode(node) : node)\n\n return () => new Promise<void>((resolve) => {\n setTimeout(() => {\n root.unmount()\n resolve()\n })\n })\n } catch (e) {\n const error = new VariousError({\n module,\n type: 'SCRIPT_ERROR',\n originalError: e as Error,\n })\n onError(error)\n return () => Promise.resolve()\n }\n}\n\nexport default renderComponent\n","import React, { Component } from 'react'\nimport type { App, Config } from '../public/types'\nimport { createStore } from './store'\nimport {\n MOUNTED_COMPONENTS_KEY,\n DEPENDENCIES_KEY,\n MESSAGE_KEY,\n CONFIG_KEY,\n LOCALE_KEY,\n DEFAULT_LOCALE,\n} from './config'\nimport connector from './connector'\nimport { createI18nConfig } from './i18n'\nimport { Root as RootComponent } from './default-component'\nimport ErrorBoundary from './error-boundary'\nimport { Store } from '../types'\n\nexport { default as Nycticorax } from 'nycticorax'\n\nexport { getUserStore as getStore } from './store'\nexport { default as createDispatch } from './dispatch'\nexport { createPostMessage } from './message'\nexport { default as createLogger } from './logger'\n\nexport {\n getConfig,\n preloadModules,\n isModuleLoaded,\n getMountedComponents,\n onComponentMounted,\n defineDependencies,\n removeLoadedModules,\n getModuleInfo,\n} from './helper'\n\nexport { default as createModule } from './create-module'\nexport { default as createComponent } from './create-component'\nexport { default as renderComponent } from './render-component'\n\n// eslint-disable-next-line no-undef\nexport const version = VERSION\n\nexport const getApp = (config: Config & App<Store>) => {\n const {\n dependencies,\n store = {},\n actions = {},\n Fallback,\n ErrorFallback,\n Root = RootComponent,\n middlewares,\n i18n,\n ...rest\n } = config\n\n if (middlewares) {\n connector.setMiddlewares(middlewares)\n }\n\n connector.setStoreActions(actions)\n\n if (Fallback) {\n connector.setFallbackComponent(Fallback)\n }\n if (ErrorFallback) {\n connector.setErrorFallbackComponent(ErrorFallback)\n }\n\n createStore({\n ...store,\n [MOUNTED_COMPONENTS_KEY]: [],\n [CONFIG_KEY]: rest,\n [DEPENDENCIES_KEY]: dependencies,\n [MESSAGE_KEY]: null,\n [LOCALE_KEY]: i18n?.defaultLocale || DEFAULT_LOCALE,\n })\n\n Root.displayName = 'various-app-root'\n\n return class extends Component {\n static displayName = 'various-app'\n\n componentDidMount() {\n createI18nConfig(i18n?.getResources)\n }\n\n render() {\n return (\n <ErrorBoundary module=\"app\" url={dependencies.app}>\n <Root />\n </ErrorBoundary>\n )\n }\n }\n}\n"],"file":"index.js"}
|
package/dist/loader-dev.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loader-dev.js","names":[],"sources":["../src/loader.tsx"],"sourcesContent":["import type { App, Config } from '
|
|
1
|
+
{"version":3,"file":"loader-dev.js","names":[],"sources":["../src/loader.tsx"],"sourcesContent":["import type { App, Config } from './public/types'\n\nconst DEFAULT_PACKAGES = {\n react: 'https://esm.sh/react@19.2.0',\n 'react-dom': 'https://esm.sh/react-dom@19.2.0?deps=react@19.2.0',\n 'react-dom/client': 'https://esm.sh/react-dom@19.2.0/client?deps=react@19.2.0',\n '@variousjs/various': 'https://esm.sh/@variousjs/various',\n}\nconst ROOT = '#root'\nconst REACT_REQUIREMENT_VERSION = '18|19'\n\n// Libraries that should be in the import map for component bare specifier resolution\nconst BASE_LIBRARIES = new Set([\n 'react', 'react-dom', 'react-dom/client', 'react-router-dom', 'vue',\n])\n\nconst { currentScript } = document\nconst { src } = currentScript as HTMLScriptElement\nconst corePath = src.replace(/\\/loader(\\.dev)?\\.js$/, '/index$1.js')\n\n// Resolve relative URLs against document base URL.\n// In IIFE scripts, import() resolves relative to the script's URL (e.g. /dist/loader.js),\n// not the document base URL. This fixes paths like './dist/app.js' -> '/dist/app.js'.\nfunction resolveUrl(url: string): string {\n if (url.startsWith('http') || url.startsWith('/') || url.startsWith('blob:')) return url\n return new URL(url, document.baseURI).href\n}\n\nconst onError = (error: Error) => {\n window.console.error(error)\n document.body.innerHTML = `<P style=\"white-space:pre-wrap\">[APP_ERROR] ${error.message}</P>`\n}\n\n// Global registry - shared with core via window.__various\ntype Registry = {\n modules: Map<string, any>\n urls: Map<string, string>\n loaded: Map<string, any>\n}\n\nfunction getRegistry(): Registry {\n // eslint-disable-next-line no-underscore-dangle\n if (!window.__various) {\n // eslint-disable-next-line no-underscore-dangle\n window.__various = {\n modules: new Map(),\n urls: new Map(),\n loaded: new Map(),\n } as Registry\n }\n // eslint-disable-next-line no-underscore-dangle\n return window.__various as Registry\n}\n\nfunction setModule(name: string, mod: any): void {\n const { modules } = getRegistry()\n if (mod && typeof mod === 'object' && !('default' in mod)) {\n modules.set(name, { default: mod, ...mod })\n } else {\n modules.set(name, mod)\n }\n}\n\n// Generate import map from dependencies and inject into document.\n// Must be called before any import() to ensure bare specifiers resolve.\nfunction createImportMap(deps: Record<string, string>): void {\n const script = document.createElement('script')\n script.type = 'importmap'\n script.textContent = JSON.stringify({ imports: deps })\n document.head.appendChild(script)\n}\n\n// ---- Loader ----\nasync function loader(config: Config) {\n const {\n dependencies,\n earlyParallelDependencies = [],\n } = config\n\n const allDeps: Record<string, string> = {\n ...DEFAULT_PACKAGES,\n '@variousjs/various': corePath,\n ...dependencies,\n }\n\n // Resolve relative URLs to absolute.\n // In IIFE scripts, import() resolves relative to the script's URL (e.g. /dist/loader.js),\n // not the document base URL. Resolving upfront ensures correct paths.\n Object.keys(allDeps).forEach((key) => {\n allDeps[key] = resolveUrl(allDeps[key])\n })\n\n // Generate import map before any import() calls.\n // This allows components to use bare specifiers like `import 'react'`.\n createImportMap(allDeps)\n\n const { urls: regUrls } = getRegistry()\n\n const dependencieNames = Object.keys(dependencies)\n const parallels = earlyParallelDependencies\n .filter((name) => dependencieNames.includes(name))\n\n const loadStart = +new Date()\n\n // Step 1: Load base libraries via native import()\n const libNames = Array.from(BASE_LIBRARIES)\n const libEntries = libNames.filter((name) => allDeps[name])\n\n const libMods = await Promise.all(\n libEntries.map((name) => import(/* @vite-ignore */ allDeps[name])),\n )\n libEntries.forEach((name, i) => {\n setModule(name, libMods[i])\n })\n\n // Step 2: Load parallel component deps\n await Promise.all(\n parallels.map((name) => {\n const url = allDeps[name]\n if (url && !BASE_LIBRARIES.has(name)) {\n // Register URL before loading so defineDependencies can detect\n // same URL and skip deletion (keeps preloaded modules in registry)\n regUrls.set(name, url)\n return import(/* @vite-ignore */ url).then((mod) => {\n setModule(name, mod)\n })\n }\n return Promise.resolve()\n }),\n )\n\n // Step 3: Load core\n const variousMod = await import(/* @vite-ignore */ corePath)\n setModule('@variousjs/various', variousMod)\n\n // Step 4: Load app entry\n const entryMod = await import(/* @vite-ignore */ allDeps.app)\n\n const various = variousMod.default || variousMod\n const entry = entryMod.default || entryMod\n\n const React = (libMods[libEntries.indexOf('react')])?.default\n const ReactDOM = (libMods[libEntries.indexOf('react-dom')])?.default\n const ReactDOMClient = (libMods[libEntries.indexOf('react-dom/client')])?.default\n\n const versionRegex = new RegExp(`^${REACT_REQUIREMENT_VERSION}\\\\.`)\n if (!React || !ReactDOM\n || !versionRegex.test(React.version)\n || !versionRegex.test(ReactDOM.version)) {\n const error = new Error(`\n\nReact/ReactDOM Version Requirement\n\nCurrent: React v${React?.version} / ReactDOM v${ReactDOM?.version}\n\nImportant: This application only works with React/ReactDOM ${REACT_REQUIREMENT_VERSION}`)\n onError(error)\n return\n }\n\n const app = (entry.default || entry) as App\n const loadEnd = +new Date()\n\n // Register dependency URLs for component modules.\n // Base libraries are already in the registry via setModule.\n const componentDeps: Record<string, string> = {}\n Object.entries(allDeps).forEach(([key, url]) => {\n if (!BASE_LIBRARIES.has(key)\n && key !== '@variousjs/various' && key !== 'app') {\n componentDeps[key] = url\n }\n })\n various.defineDependencies?.(componentDeps)\n\n app.middlewares?.onLoad?.({\n module: 'app',\n loadStart,\n loadEnd,\n beenLoaded: false,\n })\n\n const VariousApp = various.getApp({ ...config, ...app })\n ReactDOMClient.createRoot(document.querySelector(config.root || ROOT) as Element)\n .render(React.createElement(VariousApp))\n}\n\nloader(window.VARIOUS_CONFIG).catch(onError)\n"],"mappings":"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"}
|