@variousjs/various 5.0.1 → 5.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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"standalone-dev.js","mappings":"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","sources":["webpack://@variousjs/various/./node_modules/@babel/runtime/helpers/esm/extends.js","webpack://@variousjs/various/./node_modules/nycticorax/dist/index.js","webpack://@variousjs/various/./src/core/config.ts","webpack://@variousjs/various/./src/core/connector.ts","webpack://@variousjs/various/./src/core/create-component.tsx","webpack://@variousjs/various/./src/core/create-module.ts","webpack://@variousjs/various/./src/core/default-component.tsx","webpack://@variousjs/various/./src/core/dispatch.ts","webpack://@variousjs/various/./src/core/error-boundary.tsx","webpack://@variousjs/various/./src/core/helper.ts","webpack://@variousjs/various/./src/core/i18n.ts","webpack://@variousjs/various/./src/core/logger.ts","webpack://@variousjs/various/./src/core/message.ts","webpack://@variousjs/various/./src/core/react-component.tsx","webpack://@variousjs/various/./src/core/store.ts","webpack://@variousjs/various/./src/core/vue-component.tsx","webpack://@variousjs/various/./src/standalone/helper.ts","webpack://@variousjs/various/external commonjs2 \"react\"","webpack://@variousjs/various/webpack/bootstrap","webpack://@variousjs/various/webpack/runtime/compat get default export","webpack://@variousjs/various/webpack/runtime/define property getters","webpack://@variousjs/various/webpack/runtime/hasOwnProperty shorthand","webpack://@variousjs/various/webpack/runtime/make namespace object","webpack://@variousjs/various/./src/standalone/index.tsx"],"sourcesContent":["function _extends() {\n return _extends = Object.assign ? Object.assign.bind() : function (n) {\n for (var e = 1; e < arguments.length; e++) {\n var t = arguments[e];\n for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);\n }\n return n;\n }, _extends.apply(null, arguments);\n}\nexport { _extends as default };","!function(t,e){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=e(require(\"react\")):\"function\"==typeof define&&define.amd?define([],e):\"object\"==typeof exports?exports.Nycticorax=e(require(\"react\")):t.Nycticorax=e(t.React)}(self,(t=>(()=>{\"use strict\";var e={294:(t,e,r)=>{r.d(e,{default:()=>c});var s=r(942),o=r(63),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 c{constructor(){var t;(0,s.Z)(this,\"state\",void 0),(0,s.Z)(this,\"listeners\",void 0),(0,s.Z)(this,\"emits\",void 0),(0,s.Z)(this,\"timer\",void 0),(0,s.Z)(this,\"onStateChange\",void 0),(0,s.Z)(this,\"getStore\",void 0),(0,s.Z)(this,\"createStore\",(t=>{this.listeners=Reflect.ownKeys(t).reduce(((e,r)=>{const s=r;return this.state[s]=t[s],{...e,[r]:[]}}),{})})),(0,s.Z)(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.Z)(this,\"emit\",((t,e)=>{this.emits={...this.emits,...t},e?this.trigger():(clearTimeout(this.timer),this.timer=setTimeout(this.trigger))})),(0,s.Z)(this,\"dispatch\",((t,...e)=>t({getStore:this.getStore,emit:t=>this.emit(t,!0)},...e))),(0,s.Z)(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 c=t[o],u=this.state[o];this.state[o]=i(t[o]),e.push({key:o,newValue:c,oldValue:u})}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}}},63: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}},250:e=>{e.exports=t},942:(t,e,r)=>{function s(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}r.d(e,{Z:()=>s})}},r={};function s(t){var o=r[t];if(void 0!==o)return o.exports;var n=r[t]={exports:{}};return e[t](n,n.exports,s),n.exports}s.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return s.d(e,{a:e}),e},s.d=(t,e)=>{for(var r in e)s.o(e,r)&&!s.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:e[r]})},s.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e);var o={};return(()=>{s.d(o,{default:()=>u});var t=s(942),e=s(294),r=s(250),n=s.n(r);const i=[\"name\",\"prototype\",\"length\",\"propTypes\",\"defaultProps\",\"getDerivedStateFromProps\",\"contextTypes\",\"displayName\"];class c extends e.default{constructor(...e){super(...e),(0,t.Z)(this,\"connect\",function(e){const{getStore:s,subscribe:o}=e;return function(...e){return function(c){class u extends r.Component{constructor(r){super(r),(0,t.Z)(this,\"unsubscribe\",void 0),(0,t.Z)(this,\"state\",{props:s()}),this.unsubscribe=o(e.reduce(((t,e)=>({...t,[e]:()=>{this.setState({props:s()})}})),{}))}componentWillUnmount(){this.unsubscribe()}render(){const{props:t}=this.state,e={...t,...this.props};return n().createElement(c,e)}}return Object.getOwnPropertyNames(c).forEach((t=>{const e=t;i.includes(t)||(u[e]=c[e])})),u}}}(this)),(0,t.Z)(this,\"useStore\",function(t){const{getStore:e,subscribe:s}=t;return function(...t){const[o,n]=(0,r.useState)(e());return(0,r.useLayoutEffect)((()=>s(t.reduce(((t,r)=>({...t,[r]:()=>{n((t=>({...t,[r]:e()[r]})))}})),{})))),o}}(this))}}const u=c})(),o.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 ROOT = '#root'\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 {\n FallbackNode,\n ErrorFallbackNode,\n App,\n ModuleDefined,\n} from '@variousjs/various'\nimport { Fallback, ErrorFallback } from './default-component'\nimport {\n PublicActions,\n Store,\n ConnectorI18nConfig,\n Actions,\n} from '../types'\nimport { getNameWithModule } from './helper'\n\nclass Connector {\n private fallbackComponent: FallbackNode<Store>\n\n private errorFallbackComponent: ErrorFallbackNode<Store>\n\n private storeActions: Actions<Store>\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(moduleDefined: ModuleDefined, config: ConnectorI18nConfig) {\n const name = getNameWithModule(moduleDefined)\n this.i18nConfigs[name] = { ...this.i18nConfigs[name], ...config }\n }\n\n getI18nConfig(moduleDefined: ModuleDefined) {\n const name = getNameWithModule(moduleDefined)\n return this.i18nConfigs[name]\n }\n\n setGlobalI18nConfig(config: ConnectorI18nConfig) {\n this.globalI18nConfig = { ...this.globalI18nConfig, ...config }\n }\n\n getGlobalI18nConfig() {\n return this.globalI18nConfig\n }\n\n setComponentActions(moduleDefined: ModuleDefined, actions: PublicActions) {\n const name = getNameWithModule(moduleDefined)\n this.componentActions[name] = actions\n }\n\n deleteComponentActions(moduleDefined: ModuleDefined) {\n const name = getNameWithModule(moduleDefined)\n delete this.componentActions[name]\n }\n\n getComponentActions(moduleDefined: ModuleDefined) {\n const name = getNameWithModule(moduleDefined)\n return this.componentActions[name]\n }\n\n setStoreActions(actions: Actions<Store>) {\n this.storeActions = actions\n }\n\n getStoreActions() {\n return this.storeActions\n }\n\n setFallbackComponent(fallbackComponent: FallbackNode<Store>) {\n this.fallbackComponent = fallbackComponent\n }\n\n getFallbackComponent() {\n return this.fallbackComponent\n }\n\n setErrorFallbackComponent(errorFallbackComponent: ErrorFallbackNode<Store>) {\n this.errorFallbackComponent = errorFallbackComponent\n }\n\n getErrorFallbackComponent() {\n return this.errorFallbackComponent\n }\n}\n\nexport default new Connector()\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 name,\n module,\n url,\n type = 'react',\n } = config\n\n const C = (type === 'vue3' ? createVueComponent : createReactComponent)({\n name,\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 name={name} 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 { createModule as cm, ObjectRecord } from '@variousjs/various'\nimport { RequireError } from '../types'\nimport { DEPENDENCIES_KEY } from './config'\nimport { getStore } from './store'\nimport connector from './connector'\nimport {\n isModuleLoaded,\n resetDependencyConfig,\n VariousError,\n onError,\n isModuleSpecified,\n} from './helper'\n\nconst createModule: typeof cm = (config, logError = true) => {\n const dependencies = getStore(DEPENDENCIES_KEY)\n const middlewares = connector.getMiddlewares()\n const { name, module, url } = config\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(name, url)\n }\n\n return new Promise<any>((resolve, reject) => {\n if (!url && !dependencies[name] && !isModuleSpecified(name)) {\n const error = new VariousError({\n name,\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 window.requirejs([name], (C?: ObjectRecord) => {\n const loadEnd = +new Date()\n\n middlewares?.onLoad?.({\n name,\n module,\n loadStart,\n loadEnd,\n beenLoaded: isModuleLoaded(name),\n })\n\n if (!C) {\n const error = new VariousError({\n name,\n module,\n type: 'INVALID_MODULE',\n originalError: new Error(`module \"${name}\" invalid`),\n })\n\n resetDependencyConfig(name)\n logOnError(error)\n reject(error)\n return\n }\n\n const defaultModule = 'default' in C ? C.default : C\n const actualModule = !module ? defaultModule : C[module]\n\n if (actualModule === undefined && module) {\n const error = new VariousError({\n name,\n module,\n type: 'SUBMODULE_NOT_DEFINED',\n originalError: new Error(`submodule \"${module}\" not defined`),\n })\n\n resetDependencyConfig(name)\n logOnError(error)\n reject(error)\n return\n }\n\n resolve(actualModule)\n }, (e: RequireError) => {\n const [requireModule] = e.requireModules\n\n resetDependencyConfig(name, url)\n resetDependencyConfig(requireModule)\n\n let errorType: VariousError['type'] = 'LOADING_ERROR'\n\n if (requireModule !== name) {\n errorType = 'SUBMODULE_LOADING_ERROR'\n }\n\n if (!e.message.includes('https://requirejs.org/docs/errors.html')) {\n errorType = requireModule === name ? 'SCRIPT_ERROR' : 'SUBMODULE_SCRIPT_ERROR'\n }\n\n const error = new VariousError({\n name,\n module: requireModule === name ? undefined : requireModule,\n type: errorType,\n originalError: e,\n })\n\n logOnError(error)\n reject(error)\n })\n })\n}\n\nexport default createModule\n","import React, { ComponentType } from 'react'\nimport { FallbackNode, ErrorFallbackNode } from '@variousjs/various'\nimport { getClassNameWithModule } from './helper'\nimport { Store } from '../types'\n\nexport const Fallback: FallbackNode<Store> = (props) => {\n const className = getClassNameWithModule(props.$self, 'various-component-fallback')\n return (\n <div className={className}>Loading</div>\n )\n}\n\nexport const ErrorFallback: ErrorFallbackNode<Store> = ({ $error, $reload, $self }) => {\n const className = getClassNameWithModule($self, '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 { createDispatch as cd } from '@variousjs/various'\nimport connector from './connector'\nimport { dispatch } from './store'\nimport { onError, VariousError } from './helper'\nimport createLogger from './logger'\n\nconst createDispatch: typeof cd = (moduleDefined) => async function (params) {\n const middlewares = connector.getMiddlewares()\n const logger = createLogger(moduleDefined)\n\n let {\n name,\n module,\n action,\n value,\n } = params\n\n if (middlewares?.onDispatch) {\n const check = await middlewares.onDispatch({\n target: { name, module },\n action,\n value,\n trigger: moduleDefined,\n })\n if (check === false) {\n logger.warn('blocked by middleware', 'DISPATCH')\n return Promise.resolve()\n }\n if (check !== true) {\n name = check.target.name\n module = check.target.module\n action = check.action\n value = check.value\n }\n }\n\n if (name === 'app') {\n const storeActions = connector.getStoreActions()\n const storeAction = storeActions[action]\n if (!storeAction) {\n const errorMessage = `action \"${action}\" is not present`\n const error = new VariousError({\n ...moduleDefined,\n type: 'DISPATCH',\n originalError: new Error(errorMessage),\n })\n onError(error)\n throw error\n }\n return dispatch(storeAction, value, moduleDefined)\n }\n\n const componentActions = connector.getComponentActions({ name, module })\n\n if (!componentActions) {\n const errorMessage = 'component is not ready'\n const error = new VariousError({\n ...moduleDefined,\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 ...moduleDefined,\n type: 'DISPATCH',\n originalError: new Error(errorMessage),\n })\n onError(error)\n throw error\n }\n\n return Promise.resolve(componentAction(value, moduleDefined))\n}\n\nexport default createDispatch\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 } from './store'\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 { name, module } = this.props\n const error = e instanceof VariousError\n ? e\n : new VariousError({\n name,\n module,\n type: name === 'app' ? 'APP_ERROR' : 'SCRIPT_ERROR',\n originalError: e,\n })\n\n this.setState({ hasError: true })\n this.error = error\n onError(error)\n resetDependencyConfig(this.props.name)\n updateUnMountComponent({ name, 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\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 />\n )\n }\n\n return this.props.children\n }\n}\n\nexport default ErrorBoundary\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 ModuleDefined,\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'\n\nconst getUrlHash = (url: string) => `${url}?${+new Date()}`\n\nconst hasModule = (modules: ModuleDefined[], module: ModuleDefined) => modules\n .some((c) => c.name === module.name && c.module === module.module)\n\nexport const preloadModules: typeof pp = (names) => new Promise<void>((resolve, reject) => {\n window.requirejs(names, resolve, reject)\n})\n\nexport const removeLoadedModules: typeof rm = (names) => {\n names.forEach((name) => {\n if (!BASE_DEPENDENCIES.includes(name)) {\n window.requirejs.undef(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]}#${name}`\n window.requirejs.undef(name)\n }\n })\n\n window.requirejs.config({ paths: next })\n emit({ [DEPENDENCIES_KEY]: { ...dependencies, ...next } }, true)\n}\n\nexport const isModuleLoaded: typeof im = (name) => window.requirejs.defined(name)\n\nexport const isModuleSpecified = (name: string) => window.requirejs.specified(name)\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) => hasModule(getMountedComponents(), m))) {\n callback()\n }\n\n const unSubscribe = subscribe({\n [MOUNTED_COMPONENTS_KEY](value) {\n const mountedModules = value as ModuleDefined[]\n if (modules.every((n) => hasModule(mountedModules, n))) {\n unSubscribe()\n callback()\n }\n },\n })\n\n return unSubscribe\n}\n\nexport const resetDependencyConfig = (name: string, url?: string) => {\n const dependencies = getStore(DEPENDENCIES_KEY)\n\n // ignore multiple custom module url\n if (url && window.requirejs.defined(name)) {\n return\n }\n\n let path = getUrlHash(dependencies[name])\n\n // custom module url, but module loaded error\n if (url) {\n path = `${url}#${name}`\n\n try {\n const { registry } = window.requirejs.s.contexts._\n if (registry?.[name].error) {\n path = getUrlHash(url)\n }\n } catch (e) {\n // ignore\n }\n }\n\n window.requirejs.undef(name)\n window.requirejs.config({\n paths: { [name]: path },\n })\n}\nexport const getNameWithModule = (moduleDefined: ModuleDefined) => {\n const { name, module } = moduleDefined\n return module ? `${name}.${module}` : name\n}\n\nexport function getConfig<C extends object = {}>() {\n return getStore(CONFIG_KEY) as C\n}\n\nexport const onError = (e: VariousError) => {\n const { name, module, type } = e\n const logger = createLogger({ name, 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?: string\n\n name: string\n\n constructor(data: {\n name: string,\n module?: string,\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 this.name = data.name\n }\n}\n\nexport function checkReactComponent(component: RequiredComponent, moduleDefined: ModuleDefined) {\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 ...moduleDefined,\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, moduleDefined: ModuleDefined) {\n const versionRegex = new RegExp(`^${VUE_VERSION}\\\\.`)\n\n return new Promise<void>((resolve, reject) => {\n window.requirejs(['vue'], (Vue: { version: string }) => {\n if (!versionRegex.test(Vue.version)) {\n reject(new Error(`Vue ${VUE_VERSION}+ required, detected an incompatible version`))\n }\n\n if (typeof component?.render === 'function' || typeof component?.setup === 'function') {\n resolve()\n return\n }\n\n reject(new VariousError({\n ...moduleDefined,\n originalError: new Error('not a valid Vue component'),\n type: 'INVALID_COMPONENT',\n }))\n })\n })\n}\n\nexport function parseComponentActions(params: ModuleDefined & {\n componentNode: RequiredComponent,\n type?: VariousComponentType,\n i18nUpdate: () => void,\n}) {\n const {\n componentNode,\n name,\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, { name, module }, i18nUpdate)\n }\n\n connector.setComponentActions({ name, module }, actions)\n\n if (onMessageAction) {\n return createOnMessage({ name, module }, onMessageAction)\n }\n\n return () => null\n}\n\nexport function updateMountedComponent(moduleDefined: ModuleDefined) {\n const mountedComponents = getMountedComponents()\n\n if (!hasModule(mountedComponents, moduleDefined)) {\n mountedComponents.push(moduleDefined)\n }\n\n emit({ [MOUNTED_COMPONENTS_KEY]: mountedComponents }, true)\n}\n\nexport function updateUnMountComponent(moduleDefined: ModuleDefined) {\n const { name, module } = moduleDefined\n let mountedComponents = getMountedComponents()\n\n mountedComponents = mountedComponents\n .filter((item) => item.name !== name || item.module !== module)\n\n emit({ [MOUNTED_COMPONENTS_KEY]: mountedComponents }, true)\n connector.deleteComponentActions({ name, module })\n}\n\nexport function getSelfInfo(params: ModuleDefined & { url?: string }) {\n const { name, module, url } = params\n const dependencies = getStore(DEPENDENCIES_KEY)\n\n return {\n name,\n module,\n url: url || dependencies[name],\n }\n}\n\nexport function getClassNameWithModule(self: ModuleDefined, prefix: string) {\n const { name, module } = self\n return `${prefix} ${[name, module].filter(Boolean).join('-')}`\n}\n","import {\n Intl,\n ModuleDefined,\n I18n,\n I18nConfig,\n} from '@variousjs/various'\nimport connector from './connector'\nimport { VariousError, onError, isPromiseLike } from './helper'\nimport { getStore, emit } from './store'\n\nexport function createI18nConfig(\n method?: I18n,\n moduleDefined?: ModuleDefined,\n callback?: () => void,\n) {\n if (!method) {\n return\n }\n\n const i18nConfig = method()\n\n if (!isPromiseLike(i18nConfig)) {\n if (moduleDefined) {\n connector.setI18nConfig(moduleDefined, i18nConfig)\n } else {\n connector.setGlobalI18nConfig(i18nConfig)\n }\n return\n }\n\n if (moduleDefined) {\n connector.setI18nConfig(moduleDefined, {\n loading: true,\n lngStoreKey: '',\n resources: {},\n })\n } else {\n connector.setGlobalI18nConfig({\n loading: true,\n lngStoreKey: '',\n resources: {},\n })\n }\n\n i18nConfig\n .then((res) => {\n if (moduleDefined) {\n connector.setI18nConfig(moduleDefined, { ...res, loading: false })\n callback?.()\n return\n }\n\n const locale = getStore(res.lngStoreKey)\n\n emit({ [res.lngStoreKey]: undefined }, true)\n emit({ [res.lngStoreKey]: locale }, true)\n connector.setGlobalI18nConfig({ ...res, loading: false })\n })\n .catch((e: Error) => {\n onError(new VariousError({\n name: moduleDefined?.name || 'app',\n module: moduleDefined?.module,\n type: 'I18N',\n originalError: e,\n }))\n })\n}\n\nexport function createI18n(\n moduleDefined: ModuleDefined,\n updater: () => void,\n) {\n const ctx: Intl = (key, params, defaultString) => {\n const i18nConfig = connector.getI18nConfig(moduleDefined) || 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 ...moduleDefined,\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 { lngStoreKey, resources } = i18nConfig\n const locale: string | undefined = getStore(lngStoreKey)\n\n if (lngStoreKey === undefined || locale === undefined) {\n onError(new VariousError({\n ...moduleDefined,\n type: 'I18N',\n originalError: new Error('locale key not defined'),\n }))\n return defaultText\n }\n\n const resource = resources?.[locale]\n\n if (!resource) {\n onError(new VariousError({\n ...moduleDefined,\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 ...moduleDefined,\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, type) => {\n const i18nConfig = type === 'app'\n ? connector.getGlobalI18nConfig()\n : connector.getI18nConfig(moduleDefined)\n const next = { ...i18nConfig, ...config } as I18nConfig\n\n if (type === 'app') {\n connector.setGlobalI18nConfig(next)\n } else {\n connector.setI18nConfig(moduleDefined, next)\n }\n\n updater()\n }\n\n return ctx\n}\n","import { createLogger as cl, LogEvent } from '@variousjs/various'\nimport connector from './connector'\nimport { getNameWithModule, 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 ${getNameWithModule(args)} `,\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 = (moduleDefined) => ({\n info(message, type) {\n logger({\n ...moduleDefined, level: 'info', type, message,\n })\n },\n warn(message, type) {\n logger({\n ...moduleDefined, 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 ...moduleDefined,\n type: type || 'unknow',\n originalError: message instanceof Error ? message : new Error(message),\n })\n\n middlewares?.onError?.(error)\n\n logger({\n ...moduleDefined, level: 'error', type, message,\n })\n },\n})\n\nexport default createLogger\n","import { ModuleDefined, 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 = (moduleDefined) => async (event, value) => {\n const middlewares = connector.getMiddlewares()\n const logger = createLogger(moduleDefined)\n\n let next = { trigger: moduleDefined, event, value }\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: moduleDefined,\n value: next.value,\n },\n })\n}\n\nexport const createOnMessage = (moduleDefined: ModuleDefined, onMessage: OnMessage) => subscribe({\n [MESSAGE_KEY](v) {\n const { trigger, value, event } = v as Parameters<OnMessage>[0]\n if (moduleDefined.name !== trigger.name || moduleDefined.module !== trigger.module) {\n onMessage({ event, value, trigger })\n }\n },\n})\n","import React, { Component } from 'react'\nimport {\n ComponentDefaultProps,\n VariousError as ve,\n ModuleDefined,\n} from '@variousjs/various'\nimport {\n checkReactComponent,\n getNameWithModule,\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 {\n CreateComponentState,\n CreateComponentProps,\n RequiredComponent,\n Store,\n} from '../types'\n\nfunction reactComponent<P extends object>(config: ModuleDefined & {\n url?: string,\n watchKeys?: string[],\n onMounted?: () => void,\n}) {\n const {\n name,\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.mountComponent()\n }\n\n componentWillUnmount() {\n this.error = undefined\n this.ComponentNode = null\n this.isUnMounted = true\n this.unSubscribeMessage()\n updateUnMountComponent({ name, module })\n }\n\n mountComponent = async () => {\n try {\n const componentNode = await createModule<RequiredComponent>({ name, module, url }, false)\n\n if (this.isUnMounted) {\n return\n }\n\n await checkReactComponent(componentNode, { name, module })\n\n componentNode.displayName = getNameWithModule({ name, module })\n\n updateMountedComponent({ name, module })\n\n this.unSubscribeMessage = parseComponentActions({\n componentNode,\n name,\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({ name, module })\n\n $dispatch = createDispatch({ name, module })\n\n $t = createI18n({ name, module }, () => this.forceUpdate())\n\n $logger = createLogger({ name, module })\n\n $self = getSelfInfo({ name, 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 ComponentNode = this.ComponentNode as RequiredComponent\n\n if (isError) {\n throw this.error\n }\n\n if (!componentReady) {\n if ($silent || isModuleLoaded(name)) {\n return null\n }\n\n return (\n <Fallback\n $self={this.$self}\n $store={store as Store}\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 />\n )\n }\n }\n\n const Connected = connect(...storeKeys)(R)\n Connected.displayName = 'various-connector'\n\n return Connected\n}\n\nexport default reactComponent\n","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","import React, {\n FC,\n useCallback,\n useEffect,\n useRef,\n useState,\n} from 'react'\nimport type Vue from 'vue'\nimport {\n ComponentDefaultProps,\n ModuleDefined,\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 getNameWithModule,\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'\n\nfunction vueComponent<P extends object>(config: ModuleDefined & {\n url?: string,\n watchKeys?: string[],\n onMounted?: () => void,\n}) {\n const {\n name,\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)\n\n const vueRef = useRef<typeof Vue>()\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({ name, module, url }))\n\n const containerDivRef = useRef<HTMLDivElement | null>(null)\n const propsReactiveRef = useRef<{ value: ObjectRecord }>()\n const storeReactiveRef = useRef<{ value: ObjectRecord }>()\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({ name, module })\n const $dispatch = createDispatch({ name, module })\n const $postMessage = createPostMessage({ name, module })\n const $t = createI18n({ name, module }, () => {\n updateVueComponentRef.current?.()\n })\n\n propsReactiveRef.current = vueRef.current!.ref<ObjectRecord>({ ...$componentProps })\n storeReactiveRef.current = vueRef.current!.ref<ObjectRecord>({ ...store })\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) {\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 name,\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 },\n // eslint-disable-next-line react/no-this-in-sfc\n key: this.key,\n })\n },\n })\n\n vueApp.mount(containerDivRef.current!)\n isVueMounted.current = true\n unMountVue.current = () => vueApp.unmount()\n }, [$componentProps, store])\n\n const mountComponent = useCallback(async () => {\n try {\n const vue = await createModule<typeof Vue>({ name: 'vue' })\n vueRef.current = vue\n\n const componentNode = await createModule<RequiredComponent>({ name, module, url }, false)\n\n if (isUnMountedRef.current) {\n return\n }\n\n await checkVueComponent(componentNode, { name, module })\n\n updateMountedComponent({ name, module })\n\n unSubscribeMessageRef.current = parseComponentActions({\n componentNode,\n name,\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 errorRef.current = undefined\n ComponentNodeRef.current = undefined\n isUnMountedRef.current = true\n updateUnMountComponent({ name, module })\n unMountVue.current?.()\n unSubscribeMessageRef.current?.()\n isVueMounted.current = false\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 if (isError) {\n throw errorRef.current\n }\n\n return (\n <>\n {\n !componentReady && !$silent && !isModuleLoaded(name)\n ? (\n <Fallback\n $self={selfRef.current}\n $store={store}\n />\n )\n : null\n }\n <div\n className={getClassNameWithModule({ name, module }, 'various-vue-component')}\n ref={containerDivRef}\n />\n </>\n )\n }\n\n V.displayName = getNameWithModule({ name, 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 { DependencyType, createComponent } from '@variousjs/various/standalone'\nimport { isModuleSpecified, VariousError } from '../core/helper'\n\nlet requirejsPromise: Promise<Event> | undefined\n\nexport function loadRequireJS(dep?: DependencyType) {\n if (requirejsPromise) {\n return requirejsPromise\n }\n\n const promise = new Promise<Event>((resolve, reject) => {\n if (!dep) {\n reject(new VariousError({\n name: 'standalone',\n type: 'NOT_DEFINED',\n originalError: new Error('requirejs not defined'),\n }))\n return\n }\n\n if (typeof dep === 'string') {\n const script = document.createElement('script')\n script.src = dep\n script.onload = (e) => resolve(e)\n script.onerror = (e) => reject(e)\n document.head.appendChild(script)\n return\n }\n\n // @ts-ignore\n window.requirejs = dep\n resolve(new Event('requirejs defined'))\n })\n\n requirejsPromise = promise\n\n return requirejsPromise\n}\n\nexport function defineModules(\n deps: NonNullable<Parameters<typeof createComponent>['0']['dependencies']>,\n) {\n Object.entries(deps).forEach(([key, value]) => {\n if (isModuleSpecified(key)) {\n return\n }\n\n if (typeof value === 'string') {\n window.requirejs.config({ paths: { [key]: `${value}#${key}` } })\n return\n }\n\n window.define(key, [], () => value)\n })\n}\n","module.exports = require(\"react\");","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","import React, {\n ComponentType,\n FC,\n RefObject,\n useEffect,\n useRef,\n useState,\n} from 'react'\nimport { createComponent as cc, createConfig as con } from '@variousjs/various/standalone'\nimport { ObjectRecord } from '@variousjs/various'\nimport createComponentCore from '../core/create-component'\nimport ErrorBoundary from '../core/error-boundary'\nimport connector from '../core/connector'\nimport { onError, VariousError } from '../core/helper'\nimport { defineModules, loadRequireJS } from './helper'\nimport { createStore, emit, getUserStore } from '../core/store'\nimport {\n MOUNTED_COMPONENTS_KEY,\n DEPENDENCIES_KEY,\n CONFIG_KEY,\n MESSAGE_KEY,\n} from '../core/config'\n\ncreateStore({\n [MOUNTED_COMPONENTS_KEY]: [],\n [MESSAGE_KEY]: null,\n [CONFIG_KEY]: {},\n [DEPENDENCIES_KEY]: {},\n})\n\nconst Standalone: FC<\n Parameters<typeof cc>['0'] & { $componentProps: ObjectRecord, $ref?: RefObject<unknown> }\n> = (props) => {\n const {\n dependencies,\n url,\n name,\n module,\n type,\n $componentProps,\n $ref,\n storeKeys,\n } = props\n const [componentReady, setComponentReady] = useState(false)\n const componentNode = useRef<ComponentType<any>>()\n const errorRef = useRef<Error>()\n const [isError, setIsError] = useState(false)\n\n useEffect(() => {\n loadRequireJS(dependencies?.requirejs)\n .then(() => {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const { requirejs, ...rest } = dependencies || {}\n defineModules(rest)\n\n componentNode.current = createComponentCore({\n name,\n module,\n url,\n type,\n }, storeKeys)\n setComponentReady(true)\n })\n .catch((e) => {\n errorRef.current = e\n setIsError(true)\n })\n }, [name, url, module, dependencies, type, storeKeys])\n\n if (isError) {\n throw errorRef.current\n }\n\n if (!componentReady) {\n const FallBack = connector.getFallbackComponent()\n return <FallBack $self={{ name, module, url }} $store={getUserStore()} />\n }\n\n const C = componentNode.current!\n\n return (\n <C {...$componentProps} ref={$ref} />\n )\n}\n\nStandalone.displayName = 'various-standalone'\n\nexport const createComponent: typeof cc = (args) => {\n const component: FC = (props: ObjectRecord) => (\n <ErrorBoundary name=\"standalone\" url={args.url} module={args.module}>\n <Standalone $componentProps={props} {...args} />\n </ErrorBoundary>\n )\n const dispatch: ReturnType<typeof cc>['dispatch'] = (next) => {\n emit(next, true)\n }\n\n component.displayName = 'various-standalone-creator'\n return Object.assign(component, { dispatch })\n}\n\nexport const createConfig: typeof con = (config) => {\n const {\n baseDependencies,\n errorFallback,\n fallback,\n store,\n } = config\n const { requirejs, ...rest } = baseDependencies\n\n if (errorFallback) {\n connector.setErrorFallbackComponent(errorFallback)\n }\n\n if (fallback) {\n connector.setFallbackComponent(fallback)\n }\n\n if (store) {\n emit(store)\n }\n\n loadRequireJS(requirejs)\n .then(() => {\n defineModules(rest)\n })\n .catch((e) => {\n onError(new VariousError({\n name: 'standalone',\n type: 'CONFIG_ERROR',\n originalError: e,\n }))\n })\n}\n"],"names":["MOUNTED_COMPONENTS_KEY","Symbol","MESSAGE_KEY","CONFIG_KEY","DEPENDENCIES_KEY","ROOT","VUE_FUNCTION_OPTIONS","VUE_VERSION","BASE_DEPENDENCIES","Fallback","ErrorFallback","getNameWithModule","Connector","constructor","fallbackComponent","errorFallbackComponent","storeActions","componentActions","i18nConfigs","middlewares","setMiddlewares","m","getMiddlewares","setI18nConfig","moduleDefined","config","name","getI18nConfig","setGlobalI18nConfig","globalI18nConfig","getGlobalI18nConfig","setComponentActions","actions","deleteComponentActions","getComponentActions","setStoreActions","getStoreActions","setFallbackComponent","getFallbackComponent","setErrorFallbackComponent","getErrorFallbackComponent","React","createReactComponent","createVueComponent","ErrorBoundary","createComponent","storeKeys","module","url","type","C","watchKeys","component","props","$silent","$ref","rest","nextProps","$componentProps","createElement","displayName","getStore","connector","isModuleLoaded","resetDependencyConfig","VariousError","onError","isModuleSpecified","createModule","logError","dependencies","loadStart","Date","logOnError","e","Promise","resolve","reject","error","originalError","Error","window","requirejs","loadEnd","onLoad","beenLoaded","defaultModule","default","actualModule","undefined","requireModule","requireModules","errorType","message","includes","getClassNameWithModule","className","$self","$error","$reload","onClick","Root","dispatch","createLogger","createDispatch","params","logger","action","value","onDispatch","check","target","trigger","warn","storeAction","errorMessage","componentAction","Component","updateUnMountComponent","getSelfInfo","getUserStore","state","hasError","componentDidCatch","setState","reload","render","ErrorFallbackNode","store","$store","children","subscribe","emit","createOnMessage","createI18nConfig","getUrlHash","hasModule","modules","some","c","preloadModules","names","removeLoadedModules","forEach","undef","defineDependencies","deps","next","Object","keys","paths","defined","specified","getMountedComponents","onComponentMounted","callback","Array","isArray","every","unSubscribe","mountedModules","n","path","registry","s","contexts","_","getConfig","data","checkReactComponent","reslove","$$typeof","prototype","isReactComponent","isPromiseLike","then","checkVueComponent","versionRegex","RegExp","Vue","test","version","setup","parseComponentActions","componentNode","i18nUpdate","onMessageAction","i18nAction","getOwnPropertyNames","method","updateMountedComponent","mountedComponents","push","filter","item","self","prefix","Boolean","join","i18nConfig","loading","lngStoreKey","resources","res","locale","catch","createI18n","updater","ctx","key","defaultString","defaultText","resource","text","toString","call","args","length","reduce","arg","regex","replace","update","canLog","onLog","colorMap","info","color","level","console","createPostMessage","event","onMessage","timestamp","v","connect","reactComponent","onMounted","R","componentReady","isError","unSubscribeMessage","componentDidMount","mountComponent","componentWillUnmount","ComponentNode","isUnMounted","forceUpdate","$postMessage","$dispatch","$t","$logger","_extends","ref","Connected","Nycticorax","createStore","useStore","globalStore","useCallback","useEffect","useRef","useState","vueComponent","V","vueRef","isVueMounted","errorRef","isUnMountedRef","ComponentNodeRef","selfRef","containerDivRef","propsReactiveRef","storeReactiveRef","unMountVue","unSubscribeMessageRef","updateVueComponentRef","setComponentReady","setIsError","mountVue","current","vueApp","createApp","renderKey","errorCaptured","h","various","mount","unmount","vue","setTimeout","Fragment","VueComponent","requirejsPromise","loadRequireJS","dep","promise","script","document","src","onload","onerror","head","appendChild","Event","defineModules","entries","define","createComponentCore","Standalone","FallBack","assign","createConfig","baseDependencies","errorFallback","fallback"],"sourceRoot":""}
@@ -0,0 +1,2 @@
1
+ !function(){var e={700:function(e,t,r){var n;self,n=e=>(()=>{"use strict";var t={294:(e,t,r)=>{r.d(t,{default:()=>a});var n=r(942),o=r(63),s=r.n(o);function i(e,t=new WeakMap){if("object"!=typeof e||null===e)return e;if(t.has(e))return t.get(e);const r=Array.isArray(e)?[]:{};t.set(e,r);const n=Reflect.ownKeys(e);for(const o of n)r[o]=i(e[o],t);return r}class a{constructor(){var e;(0,n.Z)(this,"state",void 0),(0,n.Z)(this,"listeners",void 0),(0,n.Z)(this,"emits",void 0),(0,n.Z)(this,"timer",void 0),(0,n.Z)(this,"onStateChange",void 0),(0,n.Z)(this,"getStore",void 0),(0,n.Z)(this,"createStore",e=>{this.listeners=Reflect.ownKeys(e).reduce((t,r)=>{const n=r;return this.state[n]=e[n],{...t,[r]:[]}},{})}),(0,n.Z)(this,"subscribe",e=>{const t={};return Reflect.ownKeys(e).forEach(r=>{const n=r;this.listeners[n]||(this.listeners[n]=[]),this.listeners[n].push(e[n]),t[n]=e[n]}),()=>{Reflect.ownKeys(t).forEach(e=>{const r=e;this.listeners[r]=this.listeners[r].filter(e=>e!==t[r])})}}),(0,n.Z)(this,"emit",(e,t)=>{this.emits={...this.emits,...e},t?this.trigger():(clearTimeout(this.timer),this.timer=setTimeout(this.trigger))}),(0,n.Z)(this,"dispatch",(e,...t)=>e({getStore:this.getStore,emit:e=>this.emit(e,!0)},...t)),(0,n.Z)(this,"trigger",()=>{const e=this.emits,t=[],r=Reflect.ownKeys(e);for(let n=0;n<r.length;n+=1){const o=r[n];if(s()(this.state[o],e[o]))continue;const a=e[o],u=this.state[o];this.state[o]=i(e[o]),t.push({key:o,newValue:a,oldValue:u})}const n={};t.forEach(e=>{n[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(n),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?i(e[t]):e})}set onChange(e){this.onStateChange=e}}},63:e=>{e.exports=function e(t,r){if(t===r)return!0;if(t&&r&&"object"==typeof t&&"object"==typeof r){if(t.constructor!==r.constructor)return!1;var n,o,s;if(Array.isArray(t)){if((n=t.length)!=r.length)return!1;for(o=n;0!=o--;)if(!e(t[o],r[o]))return!1;return!0}if(t.constructor===RegExp)return t.source===r.source&&t.flags===r.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===r.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===r.toString();if((n=(s=Object.keys(t)).length)!==Object.keys(r).length)return!1;for(o=n;0!=o--;)if(!Object.prototype.hasOwnProperty.call(r,s[o]))return!1;for(o=n;0!=o--;){var i=s[o];if(!e(t[i],r[i]))return!1}return!0}return t!=t&&r!=r}},250:t=>{t.exports=e},942:(e,t,r)=>{function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}r.d(t,{Z:()=>n})}},r={};function n(e){var o=r[e];if(void 0!==o)return o.exports;var s=r[e]={exports:{}};return t[e](s,s.exports,n),s.exports}n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},n.d=(e,t)=>{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);var o={};return(()=>{n.d(o,{default:()=>u});var e=n(942),t=n(294),r=n(250),s=n.n(r);const i=["name","prototype","length","propTypes","defaultProps","getDerivedStateFromProps","contextTypes","displayName"];class a extends t.default{constructor(...t){super(...t),(0,e.Z)(this,"connect",function(t){const{getStore:n,subscribe:o}=t;return function(...t){return function(a){class u extends r.Component{constructor(r){super(r),(0,e.Z)(this,"unsubscribe",void 0),(0,e.Z)(this,"state",{props:n()}),this.unsubscribe=o(t.reduce((e,t)=>({...e,[t]:()=>{this.setState({props:n()})}}),{}))}componentWillUnmount(){this.unsubscribe()}render(){const{props:e}=this.state,t={...e,...this.props};return s().createElement(a,t)}}return Object.getOwnPropertyNames(a).forEach(e=>{const t=e;i.includes(e)||(u[t]=a[t])}),u}}}(this)),(0,e.Z)(this,"useStore",function(e){const{getStore:t,subscribe:n}=e;return function(...e){const[o,s]=(0,r.useState)(t());return(0,r.useLayoutEffect)(()=>n(e.reduce((e,r)=>({...e,[r]:()=>{s(e=>({...e,[r]:t()[r]}))}}),{}))),o}}(this))}}const u=a})(),o.default})(),e.exports=n(r(953))},953:function(e){"use strict";e.exports=require("react")}},t={};function r(n){var o=t[n];if(void 0!==o)return o.exports;var s=t[n]={exports:{}};return e[n](s,s.exports,r),s.exports}r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,{a:t}),t},r.d=function(e,t){for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var n={};!function(){"use strict";function e(){return e=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)({}).hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},e.apply(null,arguments)}r.r(n),r.d(n,{createComponent:function(){return Q},createConfig:function(){return X}});var t=r(953),o=r.n(t),s=r(700),i=r.n(s);const{createStore:a,getStore:u,connect:c,emit:l,subscribe:d,dispatch:m,useStore:p}=new(i());function f(){const e=u(),t=Object.keys(e),r={};return t.forEach(t=>{r[t]=e[t]}),r}const g=e=>{const t=U(e.$self,"various-component-fallback");return o().createElement("div",{className:t},"Loading")},h=({$error:e,$reload:t,$self:r})=>{const n=U(r,"various-component-error_fallback");return o().createElement("div",{className:n},o().createElement("h3",null,e.type),o().createElement("p",null,e.message),o().createElement("button",{type:"button",onClick:t},"Reload"))};var y=new class{constructor(){this.fallbackComponent=g,this.errorFallbackComponent=h,this.storeActions={},this.componentActions={},this.i18nConfigs={},this.middlewares={}}setMiddlewares(e){this.middlewares=e}getMiddlewares(){return this.middlewares}setI18nConfig(e,t){const r=P(e);this.i18nConfigs[r]={...this.i18nConfigs[r],...t}}getI18nConfig(e){const t=P(e);return this.i18nConfigs[t]}setGlobalI18nConfig(e){this.globalI18nConfig={...this.globalI18nConfig,...e}}getGlobalI18nConfig(){return this.globalI18nConfig}setComponentActions(e,t){const r=P(e);this.componentActions[r]=t}deleteComponentActions(e){const t=P(e);delete this.componentActions[t]}getComponentActions(e){const t=P(e);return this.componentActions[t]}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}};const w=e=>{const t=y.getMiddlewares(),r=t?.onLog?.(e);if(!1===r)return;const n={info:"blue",warn:"orange",error:"red"}[e.level],o=[`%c ${P(e)} `,`background:${n};border:1px solid ${n};padding:1px;border-radius:2px 0 0 2px;color: #fff;`];e.type&&(o[0]=`${o[0]}%c ${e.type} %c`,o.push(`border:1px solid ${n};padding:1px;border-radius:0 2px 2px 0;color:${n};`,"background:transparent")),"info"!==e.level&&(o[0]=` ${o[0]}`),window.console[e.level](...o,e.message)};var E=e=>({info(t,r){w({...e,level:"info",type:r,message:t})},warn(t,r){w({...e,level:"warn",type:r,message:t})},error(t,r){const n=y.getMiddlewares(),o=t instanceof A?t:new A({...e,type:r||"unknow",originalError:t instanceof Error?t:new Error(t)});n?.onError?.(o),w({...e,level:"error",type:r,message:t})}});const v=Symbol("MOUNTED_COMPONENTS"),b=Symbol("MESSAGE"),C=Symbol("CONFIG"),$=Symbol("DEPENDENCIES"),S=["beforeCreate","created","beforeMount","mounted","beforeUpdate","updated","beforeUnmount","unmounted","errorCaptured","renderTracked","renderTriggered","activated","deactivated","setup","data","render"],O=e=>async(t,r)=>{const n=y.getMiddlewares(),o=E(e);let s={trigger:e,event:t,value:r};if(n?.onMessage){const e=await n.onMessage(s);if(!1===e)return void o.warn("blocked by middleware","POST_MESSAGE");!0!==e&&(s={...s,...e})}l({[b]:{timestamp:+new Date,event:s.event,trigger:e,value:s.value}})};function R(e,t){const r=(t,r,n)=>{const o=y.getI18nConfig(e)||y.getGlobalI18nConfig();let s=n;if(void 0===s&&(s="string"==typeof r?r:t),!o)return x(new A({...e,type:"I18N",originalError:new Error("config not exist")})),s;if(o.loading)return s;const{lngStoreKey:i,resources:a}=o,c=u(i);if(void 0===i||void 0===c)return x(new A({...e,type:"I18N",originalError:new Error("locale key not defined")})),s;const l=a?.[c];if(!l)return x(new A({...e,type:"I18N",originalError:new Error(`locale resource \`${c}\` not exist`)})),s;if(!l[t])return x(new A({...e,type:"I18N",originalError:new Error(`locale key \`${t}\` not exist`)})),s;const d=l[t];if(!r||"string"==typeof r||"[object Object]"!==Object.prototype.toString.call(r))return d;const m=Object.keys(r);return m.length?m.reduce((e,t)=>{const n=new RegExp(`{\\s*${t}\\s*}`,"g");return e.replace(n,r[t].toString())},d):d};return r.update=(r,n)=>{const o={..."app"===n?y.getGlobalI18nConfig():y.getI18nConfig(e),...r};"app"===n?y.setGlobalI18nConfig(o):y.setI18nConfig(e,o),t()},r}const N=e=>`${e}?${+new Date}`,I=e=>window.requirejs.defined(e),j=e=>window.requirejs.specified(e),k=()=>u(v),M=(e,t)=>{const r=u($);if(t&&window.requirejs.defined(e))return;let n=N(r[e]);if(t){n=`${t}#${e}`;try{const{registry:r}=window.requirejs.s.contexts._;r?.[e].error&&(n=N(t))}catch(e){}}window.requirejs.undef(e),window.requirejs.config({paths:{[e]:n}})},P=e=>{const{name:t,module:r}=e;return r?`${t}.${r}`:t},x=e=>{const{name:t,module:r,type:n}=e;E({name:t,module:r}).error(e,n)};class A extends Error{constructor(e){super(e.originalError.message),this.type=e.type,this.originalError=e.originalError,this.module=e.module,this.name=e.name}}function D(e){const{componentNode:t,name:r,module:n,type:o,i18nUpdate:s}=e,i={};let a,c;return Object.getOwnPropertyNames(t).forEach(e=>{"function"==typeof t[e]&&("$onMessage"!==e?"$i18n"!==e?"vue3"===o&&S.includes(e)||(i[e]=t[e]):c=t[e]:a=t[e])}),c&&function(e,t,r){if(!e)return;const n=e();var o;null!=(o=n)&&"function"==typeof o.then?(t?y.setI18nConfig(t,{loading:!0,lngStoreKey:"",resources:{}}):y.setGlobalI18nConfig({loading:!0,lngStoreKey:"",resources:{}}),n.then(e=>{if(t)return y.setI18nConfig(t,{...e,loading:!1}),void r?.();const n=u(e.lngStoreKey);l({[e.lngStoreKey]:void 0},!0),l({[e.lngStoreKey]:n},!0),y.setGlobalI18nConfig({...e,loading:!1})}).catch(e=>{x(new A({name:t?.name||"app",module:t?.module,type:"I18N",originalError:e}))})):t?y.setI18nConfig(t,n):y.setGlobalI18nConfig(n)}(c,{name:r,module:n},s),y.setComponentActions({name:r,module:n},i),a?(m={name:r,module:n},p=a,d({[b](e){const{trigger:t,value:r,event:n}=e;m.name===t.name&&m.module===t.module||p({event:n,value:r,trigger:t})}})):()=>null;var m,p}function _(e){const t=k();((e,t)=>e.some(e=>e.name===t.name&&e.module===t.module))(t,e)||t.push(e),l({[v]:t},!0)}function T(e){const{name:t,module:r}=e;let n=k();n=n.filter(e=>e.name!==t||e.module!==r),l({[v]:n},!0),y.deleteComponentActions({name:t,module:r})}function F(e){const{name:t,module:r,url:n}=e,o=u($);return{name:t,module:r,url:n||o[t]}}function U(e,t){const{name:r,module:n}=e;return`${t} ${[r,n].filter(Boolean).join("-")}`}var q=e=>async function(t){const r=y.getMiddlewares(),n=E(e);let{name:o,module:s,action:i,value:a}=t;if(r?.onDispatch){const t=await r.onDispatch({target:{name:o,module:s},action:i,value:a,trigger:e});if(!1===t)return n.warn("blocked by middleware","DISPATCH"),Promise.resolve();!0!==t&&(o=t.target.name,s=t.target.module,i=t.action,a=t.value)}if("app"===o){const t=y.getStoreActions()[i];if(!t){const t=`action "${i}" is not present`,r=new A({...e,type:"DISPATCH",originalError:new Error(t)});throw x(r),r}return m(t,a,e)}const u=y.getComponentActions({name:o,module:s});if(!u){const t="component is not ready",r=new A({...e,type:"DISPATCH",originalError:new Error(t)});throw x(r),r}const c=u[i];if(!c){const t=`action "${i}" is not present`,r=new A({...e,type:"DISPATCH",originalError:new Error(t)});throw x(r),r}return Promise.resolve(c(a,e))},Z=(e,t=!0)=>{const r=u($),n=y.getMiddlewares(),{name:o,module:s,url:i}=e,a=+new Date,c=e=>{t&&x(e)};return i&&M(o,i),new Promise((e,t)=>{if(!i&&!r[o]&&!j(o)){const e=new A({name:o,module:s,type:"NOT_DEFINED",originalError:new Error(`module "${o}" not defined`)});return c(e),void t(e)}window.requirejs([o],r=>{const i=+new Date;if(n?.onLoad?.({name:o,module:s,loadStart:a,loadEnd:i,beenLoaded:I(o)}),!r){const e=new A({name:o,module:s,type:"INVALID_MODULE",originalError:new Error(`module "${o}" invalid`)});return M(o),c(e),void t(e)}const u="default"in r?r.default:r,l=s?r[s]:u;if(void 0===l&&s){const e=new A({name:o,module:s,type:"SUBMODULE_NOT_DEFINED",originalError:new Error(`submodule "${s}" not defined`)});return M(o),c(e),void t(e)}e(l)},e=>{const[r]=e.requireModules;M(o,i),M(r);let n="LOADING_ERROR";r!==o&&(n="SUBMODULE_LOADING_ERROR"),e.message.includes("https://requirejs.org/docs/errors.html")||(n=r===o?"SCRIPT_ERROR":"SUBMODULE_SCRIPT_ERROR");const s=new A({name:o,module:r===o?void 0:r,type:n,originalError:e});c(s),t(s)})})},K=function(r){const{name:n,module:s,url:i,watchKeys:a,onMounted:l}=r,d=a||Object.keys(u());class m extends t.Component{static displayName="various-react-component";state={componentReady:!1,isError:!1};unSubscribeMessage=()=>null;componentDidMount(){this.mountComponent()}componentWillUnmount(){this.error=void 0,this.ComponentNode=null,this.isUnMounted=!0,this.unSubscribeMessage(),T({name:n,module:s})}mountComponent=async()=>{try{const r=await Z({name:n,module:s,url:i},!1);if(this.isUnMounted)return;await(e=r,t={name:n,module:s},new Promise((r,n)=>{e.$$typeof||e.prototype?.isReactComponent||"function"==typeof e?r():n(new A({...t,originalError:new Error("not a valid React component"),type:"INVALID_COMPONENT"}))})),r.displayName=P({name:n,module:s}),_({name:n,module:s}),this.unSubscribeMessage=D({componentNode:r,name:n,module:s,i18nUpdate:()=>this.forceUpdate()}),this.ComponentNode=r,this.setState({componentReady:!0}),l?.()}catch(e){if(this.isUnMounted)return;this.error=e,this.setState({componentReady:!0,isError:!0})}var e,t};$postMessage=O({name:n,module:s});$dispatch=q({name:n,module:s});$t=R({name:n,module:s},()=>this.forceUpdate());$logger=E({name:n,module:s});$self=F({name:n,module:s,url:i});render(){const t=y.getFallbackComponent(),{$silent:r,$componentProps:s,$ref:i}=this.props,{componentReady:a,isError:u}=this.state,c=f(),l=this.ComponentNode;if(u)throw this.error;return a?o().createElement(l,e({},s,{$self:this.$self,$dispatch:this.$dispatch,$store:c,$postMessage:this.$postMessage,$t:this.$t,$logger:this.$logger,ref:i})):r||I(n)?null:o().createElement(t,{$self:this.$self,$store:c})}}const p=c(...d)(m);return p.displayName="various-connector",p},L=function(e){const{name:r,module:n,url:s,watchKeys:i,onMounted:a}=e,c=i||Object.keys(u()),l=e=>{const i=p(...c),u=(0,t.useRef)(),l=(0,t.useRef)(!1),d=(0,t.useRef)(),m=(0,t.useRef)(!1),f=(0,t.useRef)(),g=(0,t.useRef)(F({name:r,module:n,url:s})),h=(0,t.useRef)(null),w=(0,t.useRef)(),v=(0,t.useRef)(),b=(0,t.useRef)(),C=(0,t.useRef)(),$=(0,t.useRef)(),[S,N]=(0,t.useState)(!1),[j,k]=(0,t.useState)(!1),M=y.getFallbackComponent(),{$silent:P,$componentProps:x}=e,K=(0,t.useCallback)(()=>{const e=E({name:r,module:n}),t=q({name:r,module:n}),o=O({name:r,module:n}),s=R({name:r,module:n},()=>{$.current?.()});w.current=u.current.ref({...x}),v.current=u.current.ref({...i});const a=u.current.createApp({setup(){const e=u.current.ref(0);return $.current=()=>{e.value+=1},{key:e}},errorCaptured(e){const t=e;d.current=t.message?.includes("https://react")?new A({originalError:new Error("not a valid Vue component"),name:r,module:n,type:"INVALID_COMPONENT"}):t,k(!0)},render(){return u.current.h(f.current,{...w.current.value,various:{$dispatch:t,$logger:e,$postMessage:o,$t:s,$store:v.current.value,$self:g.current},key:this.key})}});a.mount(h.current),l.current=!0,b.current=()=>a.unmount()},[x,i]),L=(0,t.useCallback)(async()=>{try{const e=await Z({name:"vue"});u.current=e;const t=await Z({name:r,module:n,url:s},!1);if(m.current)return;await function(e,t){const r=new RegExp("^3\\.");return new Promise((n,o)=>{window.requirejs(["vue"],s=>{r.test(s.version)||o(new Error("Vue 3+ required, detected an incompatible version")),"function"!=typeof e?.render&&"function"!=typeof e?.setup?o(new A({...t,originalError:new Error("not a valid Vue component"),type:"INVALID_COMPONENT"})):n()})})}(t,{name:r,module:n}),_({name:r,module:n}),C.current=D({componentNode:t,name:r,module:n,type:"vue3",i18nUpdate(){$.current?.()}}),f.current=t,setTimeout(K),N(!0),a?.()}catch(e){if(m.current)return;d.current=e,N(!0),k(!0)}},[K]);if((0,t.useEffect)(()=>()=>{d.current=void 0,f.current=void 0,m.current=!0,T({name:r,module:n}),b.current?.(),C.current?.(),l.current=!1},[]),(0,t.useEffect)(()=>{l.current||L()},[L]),(0,t.useEffect)(()=>{w.current&&(w.current.value={...x})},[x]),(0,t.useEffect)(()=>{v.current&&(v.current.value={...i})},[i]),j)throw d.current;return o().createElement(o().Fragment,null,S||P||I(r)?null:o().createElement(M,{$self:g.current,$store:i}),o().createElement("div",{className:U({name:r,module:n},"various-vue-component"),ref:h}))};l.displayName=P({name:r,module:n});const d=e=>o().createElement(l,e);return d.displayName="various-vue-component",d};class G extends t.Component{static displayName="various-error-boundary";state={hasError:!1};componentDidCatch(e){const{name:t,module:r}=this.props,n=e instanceof A?e:new A({name:t,module:r,type:"app"===t?"APP_ERROR":"SCRIPT_ERROR",originalError:e});this.setState({hasError:!0}),this.error=n,x(n),M(this.props.name),T({name:t,module:r})}$self=F(this.props);reload=()=>{this.error=void 0,this.setState({hasError:!1})};render(){const e=y.getErrorFallbackComponent(),t=f();return this.state.hasError?o().createElement(e,{$self:this.$self,$reload:this.reload,$store:t,$error:this.error}):this.props.children}}var V=G,B=(e,t)=>{const{name:r,module:n,url:s,type:i="react"}=e,a=("vue3"===i?L:K)({name:r,module:n,url:s,watchKeys:t}),u=e=>{const{$silent:t,$ref:i,...u}=e||{},c={$componentProps:u,$silent:t,$ref:i};return o().createElement(V,{name:r,module:n,url:s},o().createElement(a,c))};return u.displayName="various-creator",u};let H;function W(e){if(H)return H;const t=new Promise((t,r)=>{if(e){if("string"==typeof e){const n=document.createElement("script");return n.src=e,n.onload=e=>t(e),n.onerror=e=>r(e),void document.head.appendChild(n)}window.requirejs=e,t(new Event("requirejs defined"))}else r(new A({name:"standalone",type:"NOT_DEFINED",originalError:new Error("requirejs not defined")}))});return H=t,H}function z(e){Object.entries(e).forEach(([e,t])=>{j(e)||("string"!=typeof t?window.define(e,[],()=>t):window.requirejs.config({paths:{[e]:`${t}#${e}`}}))})}a({[v]:[],[b]:null,[C]:{},[$]:{}});const J=r=>{const{dependencies:n,url:s,name:i,module:a,type:u,$componentProps:c,$ref:l,storeKeys:d}=r,[m,p]=(0,t.useState)(!1),g=(0,t.useRef)(),h=(0,t.useRef)(),[w,E]=(0,t.useState)(!1);if((0,t.useEffect)(()=>{W(n?.requirejs).then(()=>{const{requirejs:e,...t}=n||{};z(t),g.current=B({name:i,module:a,url:s,type:u},d),p(!0)}).catch(e=>{h.current=e,E(!0)})},[i,s,a,n,u,d]),w)throw h.current;if(!m){const e=y.getFallbackComponent();return o().createElement(e,{$self:{name:i,module:a,url:s},$store:f()})}const v=g.current;return o().createElement(v,e({},c,{ref:l}))};J.displayName="various-standalone";const Q=t=>{const r=r=>o().createElement(V,{name:"standalone",url:t.url,module:t.module},o().createElement(J,e({$componentProps:r},t)));return r.displayName="various-standalone-creator",Object.assign(r,{dispatch:e=>{l(e,!0)}})},X=e=>{const{baseDependencies:t,errorFallback:r,fallback:n,store:o}=e,{requirejs:s,...i}=t;r&&y.setErrorFallbackComponent(r),n&&y.setFallbackComponent(n),o&&l(o),W(s).then(()=>{z(i)}).catch(e=>{x(new A({name:"standalone",type:"CONFIG_ERROR",originalError:e}))})}}(),module.exports=n}();
2
+ //# sourceMappingURL=standalone.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"standalone.js","mappings":"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","sources":["webpack://@variousjs/various/./node_modules/nycticorax/dist/index.js","webpack://@variousjs/various/external commonjs2 \"react\"","webpack://@variousjs/various/webpack/bootstrap","webpack://@variousjs/various/webpack/runtime/compat get default export","webpack://@variousjs/various/webpack/runtime/define property getters","webpack://@variousjs/various/webpack/runtime/hasOwnProperty shorthand","webpack://@variousjs/various/webpack/runtime/make namespace object","webpack://@variousjs/various/./node_modules/@babel/runtime/helpers/esm/extends.js","webpack://@variousjs/various/./src/core/store.ts","webpack://@variousjs/various/./src/core/default-component.tsx","webpack://@variousjs/various/./src/core/connector.ts","webpack://@variousjs/various/./src/core/logger.ts","webpack://@variousjs/various/./src/core/config.ts","webpack://@variousjs/various/./src/core/message.ts","webpack://@variousjs/various/./src/core/i18n.ts","webpack://@variousjs/various/./src/core/helper.ts","webpack://@variousjs/various/./src/core/dispatch.ts","webpack://@variousjs/various/./src/core/create-module.ts","webpack://@variousjs/various/./src/core/react-component.tsx","webpack://@variousjs/various/./src/core/vue-component.tsx","webpack://@variousjs/various/./src/core/error-boundary.tsx","webpack://@variousjs/various/./src/core/create-component.tsx","webpack://@variousjs/various/./src/standalone/helper.ts","webpack://@variousjs/various/./src/standalone/index.tsx"],"sourcesContent":["!function(t,e){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=e(require(\"react\")):\"function\"==typeof define&&define.amd?define([],e):\"object\"==typeof exports?exports.Nycticorax=e(require(\"react\")):t.Nycticorax=e(t.React)}(self,(t=>(()=>{\"use strict\";var e={294:(t,e,r)=>{r.d(e,{default:()=>c});var s=r(942),o=r(63),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 c{constructor(){var t;(0,s.Z)(this,\"state\",void 0),(0,s.Z)(this,\"listeners\",void 0),(0,s.Z)(this,\"emits\",void 0),(0,s.Z)(this,\"timer\",void 0),(0,s.Z)(this,\"onStateChange\",void 0),(0,s.Z)(this,\"getStore\",void 0),(0,s.Z)(this,\"createStore\",(t=>{this.listeners=Reflect.ownKeys(t).reduce(((e,r)=>{const s=r;return this.state[s]=t[s],{...e,[r]:[]}}),{})})),(0,s.Z)(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.Z)(this,\"emit\",((t,e)=>{this.emits={...this.emits,...t},e?this.trigger():(clearTimeout(this.timer),this.timer=setTimeout(this.trigger))})),(0,s.Z)(this,\"dispatch\",((t,...e)=>t({getStore:this.getStore,emit:t=>this.emit(t,!0)},...e))),(0,s.Z)(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 c=t[o],u=this.state[o];this.state[o]=i(t[o]),e.push({key:o,newValue:c,oldValue:u})}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}}},63: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}},250:e=>{e.exports=t},942:(t,e,r)=>{function s(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}r.d(e,{Z:()=>s})}},r={};function s(t){var o=r[t];if(void 0!==o)return o.exports;var n=r[t]={exports:{}};return e[t](n,n.exports,s),n.exports}s.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return s.d(e,{a:e}),e},s.d=(t,e)=>{for(var r in e)s.o(e,r)&&!s.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:e[r]})},s.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e);var o={};return(()=>{s.d(o,{default:()=>u});var t=s(942),e=s(294),r=s(250),n=s.n(r);const i=[\"name\",\"prototype\",\"length\",\"propTypes\",\"defaultProps\",\"getDerivedStateFromProps\",\"contextTypes\",\"displayName\"];class c extends e.default{constructor(...e){super(...e),(0,t.Z)(this,\"connect\",function(e){const{getStore:s,subscribe:o}=e;return function(...e){return function(c){class u extends r.Component{constructor(r){super(r),(0,t.Z)(this,\"unsubscribe\",void 0),(0,t.Z)(this,\"state\",{props:s()}),this.unsubscribe=o(e.reduce(((t,e)=>({...t,[e]:()=>{this.setState({props:s()})}})),{}))}componentWillUnmount(){this.unsubscribe()}render(){const{props:t}=this.state,e={...t,...this.props};return n().createElement(c,e)}}return Object.getOwnPropertyNames(c).forEach((t=>{const e=t;i.includes(t)||(u[e]=c[e])})),u}}}(this)),(0,t.Z)(this,\"useStore\",function(t){const{getStore:e,subscribe:s}=t;return function(...t){const[o,n]=(0,r.useState)(e());return(0,r.useLayoutEffect)((()=>s(t.reduce(((t,r)=>({...t,[r]:()=>{n((t=>({...t,[r]:e()[r]})))}})),{})))),o}}(this))}}const u=c})(),o.default})()));\n//# sourceMappingURL=index.js.map","module.exports = require(\"react\");","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","function _extends() {\n return _extends = Object.assign ? Object.assign.bind() : function (n) {\n for (var e = 1; e < arguments.length; e++) {\n var t = arguments[e];\n for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);\n }\n return n;\n }, _extends.apply(null, arguments);\n}\nexport { _extends as default };","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","import React, { ComponentType } from 'react'\nimport { FallbackNode, ErrorFallbackNode } from '@variousjs/various'\nimport { getClassNameWithModule } from './helper'\nimport { Store } from '../types'\n\nexport const Fallback: FallbackNode<Store> = (props) => {\n const className = getClassNameWithModule(props.$self, 'various-component-fallback')\n return (\n <div className={className}>Loading</div>\n )\n}\n\nexport const ErrorFallback: ErrorFallbackNode<Store> = ({ $error, $reload, $self }) => {\n const className = getClassNameWithModule($self, '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 ModuleDefined,\n} from '@variousjs/various'\nimport { Fallback, ErrorFallback } from './default-component'\nimport {\n PublicActions,\n Store,\n ConnectorI18nConfig,\n Actions,\n} from '../types'\nimport { getNameWithModule } from './helper'\n\nclass Connector {\n private fallbackComponent: FallbackNode<Store>\n\n private errorFallbackComponent: ErrorFallbackNode<Store>\n\n private storeActions: Actions<Store>\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(moduleDefined: ModuleDefined, config: ConnectorI18nConfig) {\n const name = getNameWithModule(moduleDefined)\n this.i18nConfigs[name] = { ...this.i18nConfigs[name], ...config }\n }\n\n getI18nConfig(moduleDefined: ModuleDefined) {\n const name = getNameWithModule(moduleDefined)\n return this.i18nConfigs[name]\n }\n\n setGlobalI18nConfig(config: ConnectorI18nConfig) {\n this.globalI18nConfig = { ...this.globalI18nConfig, ...config }\n }\n\n getGlobalI18nConfig() {\n return this.globalI18nConfig\n }\n\n setComponentActions(moduleDefined: ModuleDefined, actions: PublicActions) {\n const name = getNameWithModule(moduleDefined)\n this.componentActions[name] = actions\n }\n\n deleteComponentActions(moduleDefined: ModuleDefined) {\n const name = getNameWithModule(moduleDefined)\n delete this.componentActions[name]\n }\n\n getComponentActions(moduleDefined: ModuleDefined) {\n const name = getNameWithModule(moduleDefined)\n return this.componentActions[name]\n }\n\n setStoreActions(actions: Actions<Store>) {\n this.storeActions = actions\n }\n\n getStoreActions() {\n return this.storeActions\n }\n\n setFallbackComponent(fallbackComponent: FallbackNode<Store>) {\n this.fallbackComponent = fallbackComponent\n }\n\n getFallbackComponent() {\n return this.fallbackComponent\n }\n\n setErrorFallbackComponent(errorFallbackComponent: ErrorFallbackNode<Store>) {\n this.errorFallbackComponent = errorFallbackComponent\n }\n\n getErrorFallbackComponent() {\n return this.errorFallbackComponent\n }\n}\n\nexport default new Connector()\n","import { createLogger as cl, LogEvent } from '@variousjs/various'\nimport connector from './connector'\nimport { getNameWithModule, 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 ${getNameWithModule(args)} `,\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 = (moduleDefined) => ({\n info(message, type) {\n logger({\n ...moduleDefined, level: 'info', type, message,\n })\n },\n warn(message, type) {\n logger({\n ...moduleDefined, 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 ...moduleDefined,\n type: type || 'unknow',\n originalError: message instanceof Error ? message : new Error(message),\n })\n\n middlewares?.onError?.(error)\n\n logger({\n ...moduleDefined, level: 'error', type, message,\n })\n },\n})\n\nexport default createLogger\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 ROOT = '#root'\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 { ModuleDefined, 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 = (moduleDefined) => async (event, value) => {\n const middlewares = connector.getMiddlewares()\n const logger = createLogger(moduleDefined)\n\n let next = { trigger: moduleDefined, event, value }\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: moduleDefined,\n value: next.value,\n },\n })\n}\n\nexport const createOnMessage = (moduleDefined: ModuleDefined, onMessage: OnMessage) => subscribe({\n [MESSAGE_KEY](v) {\n const { trigger, value, event } = v as Parameters<OnMessage>[0]\n if (moduleDefined.name !== trigger.name || moduleDefined.module !== trigger.module) {\n onMessage({ event, value, trigger })\n }\n },\n})\n","import {\n Intl,\n ModuleDefined,\n I18n,\n I18nConfig,\n} from '@variousjs/various'\nimport connector from './connector'\nimport { VariousError, onError, isPromiseLike } from './helper'\nimport { getStore, emit } from './store'\n\nexport function createI18nConfig(\n method?: I18n,\n moduleDefined?: ModuleDefined,\n callback?: () => void,\n) {\n if (!method) {\n return\n }\n\n const i18nConfig = method()\n\n if (!isPromiseLike(i18nConfig)) {\n if (moduleDefined) {\n connector.setI18nConfig(moduleDefined, i18nConfig)\n } else {\n connector.setGlobalI18nConfig(i18nConfig)\n }\n return\n }\n\n if (moduleDefined) {\n connector.setI18nConfig(moduleDefined, {\n loading: true,\n lngStoreKey: '',\n resources: {},\n })\n } else {\n connector.setGlobalI18nConfig({\n loading: true,\n lngStoreKey: '',\n resources: {},\n })\n }\n\n i18nConfig\n .then((res) => {\n if (moduleDefined) {\n connector.setI18nConfig(moduleDefined, { ...res, loading: false })\n callback?.()\n return\n }\n\n const locale = getStore(res.lngStoreKey)\n\n emit({ [res.lngStoreKey]: undefined }, true)\n emit({ [res.lngStoreKey]: locale }, true)\n connector.setGlobalI18nConfig({ ...res, loading: false })\n })\n .catch((e: Error) => {\n onError(new VariousError({\n name: moduleDefined?.name || 'app',\n module: moduleDefined?.module,\n type: 'I18N',\n originalError: e,\n }))\n })\n}\n\nexport function createI18n(\n moduleDefined: ModuleDefined,\n updater: () => void,\n) {\n const ctx: Intl = (key, params, defaultString) => {\n const i18nConfig = connector.getI18nConfig(moduleDefined) || 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 ...moduleDefined,\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 { lngStoreKey, resources } = i18nConfig\n const locale: string | undefined = getStore(lngStoreKey)\n\n if (lngStoreKey === undefined || locale === undefined) {\n onError(new VariousError({\n ...moduleDefined,\n type: 'I18N',\n originalError: new Error('locale key not defined'),\n }))\n return defaultText\n }\n\n const resource = resources?.[locale]\n\n if (!resource) {\n onError(new VariousError({\n ...moduleDefined,\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 ...moduleDefined,\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, type) => {\n const i18nConfig = type === 'app'\n ? connector.getGlobalI18nConfig()\n : connector.getI18nConfig(moduleDefined)\n const next = { ...i18nConfig, ...config } as I18nConfig\n\n if (type === 'app') {\n connector.setGlobalI18nConfig(next)\n } else {\n connector.setI18nConfig(moduleDefined, next)\n }\n\n updater()\n }\n\n return ctx\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 ModuleDefined,\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'\n\nconst getUrlHash = (url: string) => `${url}?${+new Date()}`\n\nconst hasModule = (modules: ModuleDefined[], module: ModuleDefined) => modules\n .some((c) => c.name === module.name && c.module === module.module)\n\nexport const preloadModules: typeof pp = (names) => new Promise<void>((resolve, reject) => {\n window.requirejs(names, resolve, reject)\n})\n\nexport const removeLoadedModules: typeof rm = (names) => {\n names.forEach((name) => {\n if (!BASE_DEPENDENCIES.includes(name)) {\n window.requirejs.undef(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]}#${name}`\n window.requirejs.undef(name)\n }\n })\n\n window.requirejs.config({ paths: next })\n emit({ [DEPENDENCIES_KEY]: { ...dependencies, ...next } }, true)\n}\n\nexport const isModuleLoaded: typeof im = (name) => window.requirejs.defined(name)\n\nexport const isModuleSpecified = (name: string) => window.requirejs.specified(name)\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) => hasModule(getMountedComponents(), m))) {\n callback()\n }\n\n const unSubscribe = subscribe({\n [MOUNTED_COMPONENTS_KEY](value) {\n const mountedModules = value as ModuleDefined[]\n if (modules.every((n) => hasModule(mountedModules, n))) {\n unSubscribe()\n callback()\n }\n },\n })\n\n return unSubscribe\n}\n\nexport const resetDependencyConfig = (name: string, url?: string) => {\n const dependencies = getStore(DEPENDENCIES_KEY)\n\n // ignore multiple custom module url\n if (url && window.requirejs.defined(name)) {\n return\n }\n\n let path = getUrlHash(dependencies[name])\n\n // custom module url, but module loaded error\n if (url) {\n path = `${url}#${name}`\n\n try {\n const { registry } = window.requirejs.s.contexts._\n if (registry?.[name].error) {\n path = getUrlHash(url)\n }\n } catch (e) {\n // ignore\n }\n }\n\n window.requirejs.undef(name)\n window.requirejs.config({\n paths: { [name]: path },\n })\n}\nexport const getNameWithModule = (moduleDefined: ModuleDefined) => {\n const { name, module } = moduleDefined\n return module ? `${name}.${module}` : name\n}\n\nexport function getConfig<C extends object = {}>() {\n return getStore(CONFIG_KEY) as C\n}\n\nexport const onError = (e: VariousError) => {\n const { name, module, type } = e\n const logger = createLogger({ name, 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?: string\n\n name: string\n\n constructor(data: {\n name: string,\n module?: string,\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 this.name = data.name\n }\n}\n\nexport function checkReactComponent(component: RequiredComponent, moduleDefined: ModuleDefined) {\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 ...moduleDefined,\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, moduleDefined: ModuleDefined) {\n const versionRegex = new RegExp(`^${VUE_VERSION}\\\\.`)\n\n return new Promise<void>((resolve, reject) => {\n window.requirejs(['vue'], (Vue: { version: string }) => {\n if (!versionRegex.test(Vue.version)) {\n reject(new Error(`Vue ${VUE_VERSION}+ required, detected an incompatible version`))\n }\n\n if (typeof component?.render === 'function' || typeof component?.setup === 'function') {\n resolve()\n return\n }\n\n reject(new VariousError({\n ...moduleDefined,\n originalError: new Error('not a valid Vue component'),\n type: 'INVALID_COMPONENT',\n }))\n })\n })\n}\n\nexport function parseComponentActions(params: ModuleDefined & {\n componentNode: RequiredComponent,\n type?: VariousComponentType,\n i18nUpdate: () => void,\n}) {\n const {\n componentNode,\n name,\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, { name, module }, i18nUpdate)\n }\n\n connector.setComponentActions({ name, module }, actions)\n\n if (onMessageAction) {\n return createOnMessage({ name, module }, onMessageAction)\n }\n\n return () => null\n}\n\nexport function updateMountedComponent(moduleDefined: ModuleDefined) {\n const mountedComponents = getMountedComponents()\n\n if (!hasModule(mountedComponents, moduleDefined)) {\n mountedComponents.push(moduleDefined)\n }\n\n emit({ [MOUNTED_COMPONENTS_KEY]: mountedComponents }, true)\n}\n\nexport function updateUnMountComponent(moduleDefined: ModuleDefined) {\n const { name, module } = moduleDefined\n let mountedComponents = getMountedComponents()\n\n mountedComponents = mountedComponents\n .filter((item) => item.name !== name || item.module !== module)\n\n emit({ [MOUNTED_COMPONENTS_KEY]: mountedComponents }, true)\n connector.deleteComponentActions({ name, module })\n}\n\nexport function getSelfInfo(params: ModuleDefined & { url?: string }) {\n const { name, module, url } = params\n const dependencies = getStore(DEPENDENCIES_KEY)\n\n return {\n name,\n module,\n url: url || dependencies[name],\n }\n}\n\nexport function getClassNameWithModule(self: ModuleDefined, prefix: string) {\n const { name, module } = self\n return `${prefix} ${[name, module].filter(Boolean).join('-')}`\n}\n","import { createDispatch as cd } from '@variousjs/various'\nimport connector from './connector'\nimport { dispatch } from './store'\nimport { onError, VariousError } from './helper'\nimport createLogger from './logger'\n\nconst createDispatch: typeof cd = (moduleDefined) => async function (params) {\n const middlewares = connector.getMiddlewares()\n const logger = createLogger(moduleDefined)\n\n let {\n name,\n module,\n action,\n value,\n } = params\n\n if (middlewares?.onDispatch) {\n const check = await middlewares.onDispatch({\n target: { name, module },\n action,\n value,\n trigger: moduleDefined,\n })\n if (check === false) {\n logger.warn('blocked by middleware', 'DISPATCH')\n return Promise.resolve()\n }\n if (check !== true) {\n name = check.target.name\n module = check.target.module\n action = check.action\n value = check.value\n }\n }\n\n if (name === 'app') {\n const storeActions = connector.getStoreActions()\n const storeAction = storeActions[action]\n if (!storeAction) {\n const errorMessage = `action \"${action}\" is not present`\n const error = new VariousError({\n ...moduleDefined,\n type: 'DISPATCH',\n originalError: new Error(errorMessage),\n })\n onError(error)\n throw error\n }\n return dispatch(storeAction, value, moduleDefined)\n }\n\n const componentActions = connector.getComponentActions({ name, module })\n\n if (!componentActions) {\n const errorMessage = 'component is not ready'\n const error = new VariousError({\n ...moduleDefined,\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 ...moduleDefined,\n type: 'DISPATCH',\n originalError: new Error(errorMessage),\n })\n onError(error)\n throw error\n }\n\n return Promise.resolve(componentAction(value, moduleDefined))\n}\n\nexport default createDispatch\n","import { createModule as cm, ObjectRecord } from '@variousjs/various'\nimport { RequireError } from '../types'\nimport { DEPENDENCIES_KEY } from './config'\nimport { getStore } from './store'\nimport connector from './connector'\nimport {\n isModuleLoaded,\n resetDependencyConfig,\n VariousError,\n onError,\n isModuleSpecified,\n} from './helper'\n\nconst createModule: typeof cm = (config, logError = true) => {\n const dependencies = getStore(DEPENDENCIES_KEY)\n const middlewares = connector.getMiddlewares()\n const { name, module, url } = config\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(name, url)\n }\n\n return new Promise<any>((resolve, reject) => {\n if (!url && !dependencies[name] && !isModuleSpecified(name)) {\n const error = new VariousError({\n name,\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 window.requirejs([name], (C?: ObjectRecord) => {\n const loadEnd = +new Date()\n\n middlewares?.onLoad?.({\n name,\n module,\n loadStart,\n loadEnd,\n beenLoaded: isModuleLoaded(name),\n })\n\n if (!C) {\n const error = new VariousError({\n name,\n module,\n type: 'INVALID_MODULE',\n originalError: new Error(`module \"${name}\" invalid`),\n })\n\n resetDependencyConfig(name)\n logOnError(error)\n reject(error)\n return\n }\n\n const defaultModule = 'default' in C ? C.default : C\n const actualModule = !module ? defaultModule : C[module]\n\n if (actualModule === undefined && module) {\n const error = new VariousError({\n name,\n module,\n type: 'SUBMODULE_NOT_DEFINED',\n originalError: new Error(`submodule \"${module}\" not defined`),\n })\n\n resetDependencyConfig(name)\n logOnError(error)\n reject(error)\n return\n }\n\n resolve(actualModule)\n }, (e: RequireError) => {\n const [requireModule] = e.requireModules\n\n resetDependencyConfig(name, url)\n resetDependencyConfig(requireModule)\n\n let errorType: VariousError['type'] = 'LOADING_ERROR'\n\n if (requireModule !== name) {\n errorType = 'SUBMODULE_LOADING_ERROR'\n }\n\n if (!e.message.includes('https://requirejs.org/docs/errors.html')) {\n errorType = requireModule === name ? 'SCRIPT_ERROR' : 'SUBMODULE_SCRIPT_ERROR'\n }\n\n const error = new VariousError({\n name,\n module: requireModule === name ? undefined : requireModule,\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 ModuleDefined,\n} from '@variousjs/various'\nimport {\n checkReactComponent,\n getNameWithModule,\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 {\n CreateComponentState,\n CreateComponentProps,\n RequiredComponent,\n Store,\n} from '../types'\n\nfunction reactComponent<P extends object>(config: ModuleDefined & {\n url?: string,\n watchKeys?: string[],\n onMounted?: () => void,\n}) {\n const {\n name,\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.mountComponent()\n }\n\n componentWillUnmount() {\n this.error = undefined\n this.ComponentNode = null\n this.isUnMounted = true\n this.unSubscribeMessage()\n updateUnMountComponent({ name, module })\n }\n\n mountComponent = async () => {\n try {\n const componentNode = await createModule<RequiredComponent>({ name, module, url }, false)\n\n if (this.isUnMounted) {\n return\n }\n\n await checkReactComponent(componentNode, { name, module })\n\n componentNode.displayName = getNameWithModule({ name, module })\n\n updateMountedComponent({ name, module })\n\n this.unSubscribeMessage = parseComponentActions({\n componentNode,\n name,\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({ name, module })\n\n $dispatch = createDispatch({ name, module })\n\n $t = createI18n({ name, module }, () => this.forceUpdate())\n\n $logger = createLogger({ name, module })\n\n $self = getSelfInfo({ name, 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 ComponentNode = this.ComponentNode as RequiredComponent\n\n if (isError) {\n throw this.error\n }\n\n if (!componentReady) {\n if ($silent || isModuleLoaded(name)) {\n return null\n }\n\n return (\n <Fallback\n $self={this.$self}\n $store={store as Store}\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 />\n )\n }\n }\n\n const Connected = connect(...storeKeys)(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 type Vue from 'vue'\nimport {\n ComponentDefaultProps,\n ModuleDefined,\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 getNameWithModule,\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'\n\nfunction vueComponent<P extends object>(config: ModuleDefined & {\n url?: string,\n watchKeys?: string[],\n onMounted?: () => void,\n}) {\n const {\n name,\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)\n\n const vueRef = useRef<typeof Vue>()\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({ name, module, url }))\n\n const containerDivRef = useRef<HTMLDivElement | null>(null)\n const propsReactiveRef = useRef<{ value: ObjectRecord }>()\n const storeReactiveRef = useRef<{ value: ObjectRecord }>()\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({ name, module })\n const $dispatch = createDispatch({ name, module })\n const $postMessage = createPostMessage({ name, module })\n const $t = createI18n({ name, module }, () => {\n updateVueComponentRef.current?.()\n })\n\n propsReactiveRef.current = vueRef.current!.ref<ObjectRecord>({ ...$componentProps })\n storeReactiveRef.current = vueRef.current!.ref<ObjectRecord>({ ...store })\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) {\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 name,\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 },\n // eslint-disable-next-line react/no-this-in-sfc\n key: this.key,\n })\n },\n })\n\n vueApp.mount(containerDivRef.current!)\n isVueMounted.current = true\n unMountVue.current = () => vueApp.unmount()\n }, [$componentProps, store])\n\n const mountComponent = useCallback(async () => {\n try {\n const vue = await createModule<typeof Vue>({ name: 'vue' })\n vueRef.current = vue\n\n const componentNode = await createModule<RequiredComponent>({ name, module, url }, false)\n\n if (isUnMountedRef.current) {\n return\n }\n\n await checkVueComponent(componentNode, { name, module })\n\n updateMountedComponent({ name, module })\n\n unSubscribeMessageRef.current = parseComponentActions({\n componentNode,\n name,\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 errorRef.current = undefined\n ComponentNodeRef.current = undefined\n isUnMountedRef.current = true\n updateUnMountComponent({ name, module })\n unMountVue.current?.()\n unSubscribeMessageRef.current?.()\n isVueMounted.current = false\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 if (isError) {\n throw errorRef.current\n }\n\n return (\n <>\n {\n !componentReady && !$silent && !isModuleLoaded(name)\n ? (\n <Fallback\n $self={selfRef.current}\n $store={store}\n />\n )\n : null\n }\n <div\n className={getClassNameWithModule({ name, module }, 'various-vue-component')}\n ref={containerDivRef}\n />\n </>\n )\n }\n\n V.displayName = getNameWithModule({ name, 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, { 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 } from './store'\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 { name, module } = this.props\n const error = e instanceof VariousError\n ? e\n : new VariousError({\n name,\n module,\n type: name === 'app' ? 'APP_ERROR' : 'SCRIPT_ERROR',\n originalError: e,\n })\n\n this.setState({ hasError: true })\n this.error = error\n onError(error)\n resetDependencyConfig(this.props.name)\n updateUnMountComponent({ name, 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\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 />\n )\n }\n\n return this.props.children\n }\n}\n\nexport default ErrorBoundary\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 name,\n module,\n url,\n type = 'react',\n } = config\n\n const C = (type === 'vue3' ? createVueComponent : createReactComponent)({\n name,\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 name={name} 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 { DependencyType, createComponent } from '@variousjs/various/standalone'\nimport { isModuleSpecified, VariousError } from '../core/helper'\n\nlet requirejsPromise: Promise<Event> | undefined\n\nexport function loadRequireJS(dep?: DependencyType) {\n if (requirejsPromise) {\n return requirejsPromise\n }\n\n const promise = new Promise<Event>((resolve, reject) => {\n if (!dep) {\n reject(new VariousError({\n name: 'standalone',\n type: 'NOT_DEFINED',\n originalError: new Error('requirejs not defined'),\n }))\n return\n }\n\n if (typeof dep === 'string') {\n const script = document.createElement('script')\n script.src = dep\n script.onload = (e) => resolve(e)\n script.onerror = (e) => reject(e)\n document.head.appendChild(script)\n return\n }\n\n // @ts-ignore\n window.requirejs = dep\n resolve(new Event('requirejs defined'))\n })\n\n requirejsPromise = promise\n\n return requirejsPromise\n}\n\nexport function defineModules(\n deps: NonNullable<Parameters<typeof createComponent>['0']['dependencies']>,\n) {\n Object.entries(deps).forEach(([key, value]) => {\n if (isModuleSpecified(key)) {\n return\n }\n\n if (typeof value === 'string') {\n window.requirejs.config({ paths: { [key]: `${value}#${key}` } })\n return\n }\n\n window.define(key, [], () => value)\n })\n}\n","import React, {\n ComponentType,\n FC,\n RefObject,\n useEffect,\n useRef,\n useState,\n} from 'react'\nimport { createComponent as cc, createConfig as con } from '@variousjs/various/standalone'\nimport { ObjectRecord } from '@variousjs/various'\nimport createComponentCore from '../core/create-component'\nimport ErrorBoundary from '../core/error-boundary'\nimport connector from '../core/connector'\nimport { onError, VariousError } from '../core/helper'\nimport { defineModules, loadRequireJS } from './helper'\nimport { createStore, emit, getUserStore } from '../core/store'\nimport {\n MOUNTED_COMPONENTS_KEY,\n DEPENDENCIES_KEY,\n CONFIG_KEY,\n MESSAGE_KEY,\n} from '../core/config'\n\ncreateStore({\n [MOUNTED_COMPONENTS_KEY]: [],\n [MESSAGE_KEY]: null,\n [CONFIG_KEY]: {},\n [DEPENDENCIES_KEY]: {},\n})\n\nconst Standalone: FC<\n Parameters<typeof cc>['0'] & { $componentProps: ObjectRecord, $ref?: RefObject<unknown> }\n> = (props) => {\n const {\n dependencies,\n url,\n name,\n module,\n type,\n $componentProps,\n $ref,\n storeKeys,\n } = props\n const [componentReady, setComponentReady] = useState(false)\n const componentNode = useRef<ComponentType<any>>()\n const errorRef = useRef<Error>()\n const [isError, setIsError] = useState(false)\n\n useEffect(() => {\n loadRequireJS(dependencies?.requirejs)\n .then(() => {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const { requirejs, ...rest } = dependencies || {}\n defineModules(rest)\n\n componentNode.current = createComponentCore({\n name,\n module,\n url,\n type,\n }, storeKeys)\n setComponentReady(true)\n })\n .catch((e) => {\n errorRef.current = e\n setIsError(true)\n })\n }, [name, url, module, dependencies, type, storeKeys])\n\n if (isError) {\n throw errorRef.current\n }\n\n if (!componentReady) {\n const FallBack = connector.getFallbackComponent()\n return <FallBack $self={{ name, module, url }} $store={getUserStore()} />\n }\n\n const C = componentNode.current!\n\n return (\n <C {...$componentProps} ref={$ref} />\n )\n}\n\nStandalone.displayName = 'various-standalone'\n\nexport const createComponent: typeof cc = (args) => {\n const component: FC = (props: ObjectRecord) => (\n <ErrorBoundary name=\"standalone\" url={args.url} module={args.module}>\n <Standalone $componentProps={props} {...args} />\n </ErrorBoundary>\n )\n const dispatch: ReturnType<typeof cc>['dispatch'] = (next) => {\n emit(next, true)\n }\n\n component.displayName = 'various-standalone-creator'\n return Object.assign(component, { dispatch })\n}\n\nexport const createConfig: typeof con = (config) => {\n const {\n baseDependencies,\n errorFallback,\n fallback,\n store,\n } = config\n const { requirejs, ...rest } = baseDependencies\n\n if (errorFallback) {\n connector.setErrorFallbackComponent(errorFallback)\n }\n\n if (fallback) {\n connector.setFallbackComponent(fallback)\n }\n\n if (store) {\n emit(store)\n }\n\n loadRequireJS(requirejs)\n .then(() => {\n defineModules(rest)\n })\n .catch((e) => {\n onError(new VariousError({\n name: 'standalone',\n type: 'CONFIG_ERROR',\n originalError: e,\n }))\n })\n}\n"],"names":["e","self","t","r","d","default","c","s","o","n","i","WeakMap","has","get","Array","isArray","set","Reflect","ownKeys","constructor","Z","this","listeners","reduce","state","forEach","push","filter","emits","trigger","clearTimeout","timer","setTimeout","getStore","emit","length","u","key","newValue","oldValue","onStateChange","onChange","exports","RegExp","source","flags","valueOf","Object","prototype","toString","keys","hasOwnProperty","call","defineProperty","value","enumerable","configurable","writable","__esModule","a","super","subscribe","Component","props","unsubscribe","setState","componentWillUnmount","render","createElement","getOwnPropertyNames","includes","useState","useLayoutEffect","module","require","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","__webpack_modules__","getter","definition","obj","prop","Symbol","toStringTag","_extends","assign","bind","arguments","apply","createStore","connect","dispatch","useStore","Nycticorax","getUserStore","globalStore","store","Fallback","className","getClassNameWithModule","$self","React","ErrorFallback","$error","$reload","type","message","onClick","fallbackComponent","errorFallbackComponent","storeActions","componentActions","i18nConfigs","middlewares","setMiddlewares","m","getMiddlewares","setI18nConfig","moduleDefined","config","name","getNameWithModule","getI18nConfig","setGlobalI18nConfig","globalI18nConfig","getGlobalI18nConfig","setComponentActions","actions","deleteComponentActions","getComponentActions","setStoreActions","getStoreActions","setFallbackComponent","getFallbackComponent","setErrorFallbackComponent","getErrorFallbackComponent","logger","args","connector","canLog","onLog","color","info","warn","error","level","params","window","console","VariousError","originalError","Error","onError","MOUNTED_COMPONENTS_KEY","MESSAGE_KEY","CONFIG_KEY","DEPENDENCIES_KEY","VUE_FUNCTION_OPTIONS","createPostMessage","async","event","createLogger","next","onMessage","check","timestamp","Date","createI18n","updater","ctx","defaultString","i18nConfig","defaultText","loading","lngStoreKey","resources","locale","resource","text","arg","regex","replace","update","getUrlHash","url","isModuleLoaded","requirejs","defined","isModuleSpecified","specified","getMountedComponents","resetDependencyConfig","dependencies","path","registry","contexts","_","undef","paths","data","parseComponentActions","componentNode","i18nUpdate","onMessageAction","i18nAction","method","callback","then","res","catch","createI18nConfig","v","createOnMessage","updateMountedComponent","mountedComponents","hasModule","modules","some","updateUnMountComponent","item","getSelfInfo","prefix","Boolean","join","action","onDispatch","target","Promise","resolve","storeAction","errorMessage","componentAction","createModule","logError","loadStart","logOnError","reject","C","loadEnd","onLoad","beenLoaded","defaultModule","actualModule","requireModule","requireModules","errorType","watchKeys","onMounted","storeKeys","R","static","componentReady","isError","unSubscribeMessage","componentDidMount","mountComponent","ComponentNode","isUnMounted","component","reslove","$$typeof","isReactComponent","displayName","forceUpdate","$postMessage","$dispatch","createDispatch","$t","$logger","$silent","$componentProps","$ref","$store","ref","Connected","V","vueRef","useRef","isVueMounted","errorRef","isUnMountedRef","ComponentNodeRef","selfRef","containerDivRef","propsReactiveRef","storeReactiveRef","unMountVue","unSubscribeMessageRef","updateVueComponentRef","setComponentReady","setIsError","mountVue","useCallback","current","vueApp","createApp","setup","renderKey","errorCaptured","h","various","mount","unmount","vue","versionRegex","Vue","test","version","checkVueComponent","useEffect","VueComponent","ErrorBoundary","hasError","componentDidCatch","reload","ErrorFallbackNode","children","createComponent","createVueComponent","createReactComponent","rest","nextProps","requirejsPromise","loadRequireJS","dep","promise","script","document","src","onload","onerror","head","appendChild","Event","defineModules","deps","entries","define","Standalone","createComponentCore","FallBack","createConfig","baseDependencies","errorFallback","fallback"],"sourceRoot":""}
package/index.d.ts CHANGED
@@ -2,6 +2,7 @@ declare module '@variousjs/various' {
2
2
  import {
3
3
  ComponentType, FC, ReactNode, RefObject,
4
4
  } from 'react'
5
+ import { PropType } from 'vue'
5
6
 
6
7
  export { default as Nycticorax, Dispatch } from 'nycticorax'
7
8
 
@@ -62,6 +63,15 @@ declare module '@variousjs/various' {
62
63
  update: (config: Partial<I18nConfig>, type?: 'app') => void,
63
64
  }
64
65
 
66
+ interface ComponentBuiltinProps<S extends object = ObjectRecord> {
67
+ $store: Readonly<S>,
68
+ $dispatch: $dispatch,
69
+ $postMessage: $postMessage,
70
+ $t: Intl,
71
+ $logger: $logger,
72
+ $self: ModuleDefined & { url: string },
73
+ }
74
+
65
75
  export type PublicAction = (value: any, trigger: ModuleDefined) => any
66
76
 
67
77
  export interface I18nConfig {
@@ -83,34 +93,28 @@ declare module '@variousjs/various' {
83
93
  export type ComponentProps<
84
94
  S extends object = ObjectRecord,
85
95
  P extends object = ObjectRecord
86
- > = {
87
- $store: Readonly<S>,
88
- $dispatch: $dispatch,
89
- $postMessage: $postMessage,
90
- $t: Intl,
91
- $logger: $logger,
92
- } & P
96
+ > = ComponentBuiltinProps<S> & P
93
97
 
94
98
  export type ComponentNode<
95
99
  S extends object = {},
96
100
  P extends object = {}
97
101
  > = FC<ComponentProps<S, P>> & StaticProps
98
102
 
99
- export interface ErrorNodeProps<S extends object = ObjectRecord> {
103
+ export interface ErrorFallbackProps<S extends object = ObjectRecord> {
100
104
  $reload: () => void,
101
105
  $error: VariousError,
102
106
  $store: Readonly<S>,
103
- $name: ModuleDefined['name'],
104
- $module?: ModuleDefined['module'],
107
+ $self: ModuleDefined & { url?: string },
105
108
  }
106
- export type ErrorNode<S extends object = ObjectRecord> = ComponentType<ErrorNodeProps<S>>
109
+ export type ErrorFallbackNode<
110
+ S extends object = ObjectRecord
111
+ > = ComponentType<ErrorFallbackProps<S>>
107
112
 
108
- export interface LoaderNodeProps<S extends object = ObjectRecord> {
113
+ export interface FallbackProps<S extends object = ObjectRecord> {
109
114
  $store: Readonly<S>,
110
- $name: ModuleDefined['name'],
111
- $module?: ModuleDefined['module'],
115
+ $self: ModuleDefined & { url?: string },
112
116
  }
113
- export type LoaderNode<S extends object = ObjectRecord> = ComponentType<LoaderNodeProps<S>>
117
+ export type FallbackNode<S extends object = ObjectRecord> = ComponentType<FallbackProps<S>>
114
118
 
115
119
  type Dispatch<T extends object = ObjectRecord> = (
116
120
  nycticorax: {
@@ -156,10 +160,10 @@ declare module '@variousjs/various' {
156
160
 
157
161
  export interface App<S extends object = ObjectRecord> {
158
162
  store?: readonly S,
159
- Error?: ErrorNode<S>,
160
- Loader?: LoaderNode<S>,
163
+ ErrorFallback?: ErrorFallbackNode<S>,
164
+ Fallback?: FallbackNode<S>,
161
165
  actions?: Record<string, Dispatch<S>>,
162
- Container: ComponentType<any>,
166
+ Root: ComponentType,
163
167
  middlewares?: {
164
168
  onLoad?: LoadEvent,
165
169
  onError?: ErrorEvent,
@@ -188,7 +192,10 @@ declare module '@variousjs/various' {
188
192
  S extends object = ObjectRecord,
189
193
  P extends object = ObjectRecord
190
194
  >(
191
- config: ModuleDefined & { url?: string, type?: VariousComponentType },
195
+ config: ModuleDefined & {
196
+ url?: string,
197
+ type?: VariousComponentType,
198
+ },
192
199
  storeKeys?: (keyof S)[],
193
200
  ): ComponentType<ComponentDefaultProps & P>
194
201
 
@@ -205,17 +212,12 @@ declare module '@variousjs/various' {
205
212
  onMounted?: () => void,
206
213
  }): () => Promise<void>
207
214
 
208
- export interface VueVarious<S extends object = ObjectRecord> {
209
- $dispatch: $dispatch,
210
- $logger: $logger,
211
- $postMessage: $postMessage,
212
- $t: Intl,
213
- $store: Readonly<S>,
214
- }
215
+ export type VueVarious<S extends object = ObjectRecord> = PropType<ComponentBuiltinProps<S>>
215
216
 
216
217
  export const isModuleLoaded: (name: string) => boolean
218
+ export const removeLoadedModules: (names: string[]) => void
217
219
  export const getMountedComponents: () => ModuleDefined[]
218
- export const preloadModules: (name: string | string[]) => Promise<void>
220
+ export const preloadModules: (name: string[]) => Promise<void>
219
221
  export const onComponentMounted: (
220
222
  name: ModuleDefined | ModuleDefined[], callback: () => void
221
223
  ) => (() => void) | void