@mirai/core 0.4.101 → 0.4.102
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.
|
@@ -10,9 +10,11 @@ var _components = require("../components");
|
|
|
10
10
|
|
|
11
11
|
const COMPONENT_KEY = 'miraiComponent';
|
|
12
12
|
const NAMESPACE = '[data-mirai-component]';
|
|
13
|
+
const CHAT = 'chat';
|
|
13
14
|
const SINGLETON_FINDER = ['rates'];
|
|
14
15
|
const UNPROCESSED_KEYS = ['role'];
|
|
15
|
-
const findComponents = ()
|
|
16
|
+
const findComponents = function () {
|
|
17
|
+
let urlParams = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
16
18
|
const components = [];
|
|
17
19
|
[...document.querySelectorAll(NAMESPACE)].forEach(el => {
|
|
18
20
|
const properties = Object.keys(el.dataset).filter(key => !UNPROCESSED_KEYS.includes(key)).reduce((current, name) => {
|
|
@@ -23,9 +25,12 @@ const findComponents = () => {
|
|
|
23
25
|
[key]: ['true', 'false'].includes(value) ? value === 'true' : value
|
|
24
26
|
};
|
|
25
27
|
}, {});
|
|
26
|
-
const
|
|
28
|
+
const {
|
|
29
|
+
component
|
|
30
|
+
} = properties || {};
|
|
31
|
+
const isComponent = Object.keys(_components.COMPONENTS).includes(component);
|
|
27
32
|
if (isComponent) {
|
|
28
|
-
components.push({
|
|
33
|
+
(component !== CHAT || (urlParams === null || urlParams === void 0 ? void 0 : urlParams.lisa)) && components.push({
|
|
29
34
|
...properties,
|
|
30
35
|
el
|
|
31
36
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"findComponents.js","names":["_package","require","_components","COMPONENT_KEY","NAMESPACE","SINGLETON_FINDER","UNPROCESSED_KEYS","findComponents","components","document","querySelectorAll","forEach","el","properties","Object","keys","dataset","filter","key","includes","reduce","current","name","value","isComponent","COMPONENTS","
|
|
1
|
+
{"version":3,"file":"findComponents.js","names":["_package","require","_components","COMPONENT_KEY","NAMESPACE","CHAT","SINGLETON_FINDER","UNPROCESSED_KEYS","findComponents","urlParams","arguments","length","undefined","components","document","querySelectorAll","forEach","el","properties","Object","keys","dataset","filter","key","includes","reduce","current","name","value","component","isComponent","COMPONENTS","lisa","push","console","error","concat","version","singletonFinder","find","_ref","_ref2","exports"],"sources":["../../src/helpers/findComponents.js"],"sourcesContent":["/* eslint-disable no-console */\nimport { version } from '../../package.json';\nimport { COMPONENTS } from '../components';\n\nconst COMPONENT_KEY = 'miraiComponent';\nconst NAMESPACE = '[data-mirai-component]';\nconst CHAT = 'chat';\nconst SINGLETON_FINDER = ['rates'];\nconst UNPROCESSED_KEYS = ['role'];\n\nexport const findComponents = (urlParams = {}) => {\n const components = [];\n\n [...document.querySelectorAll(NAMESPACE)].forEach((el) => {\n const properties = Object.keys(el.dataset)\n .filter((key) => !UNPROCESSED_KEYS.includes(key))\n .reduce((current, name) => {\n const key = name === COMPONENT_KEY ? 'component' : name;\n const value = el.dataset[name];\n\n return { ...current, [key]: ['true', 'false'].includes(value) ? value === 'true' : value };\n }, {});\n\n const { component } = properties || {};\n const isComponent = Object.keys(COMPONENTS).includes(component);\n if (isComponent) {\n (component !== CHAT || urlParams?.lisa) && components.push({ ...properties, el });\n } else if (properties?.component)\n // eslint-disable-next-line no-console\n console.error(`Component <${properties?.component}> is not part of @mirai/core v${version}`);\n });\n\n const singletonFinder = !!components.find(({ component }) => SINGLETON_FINDER.includes(component));\n\n return singletonFinder ? components.filter(({ component }) => component !== 'finder') : components;\n};\n"],"mappings":";;;;;;AACA,IAAAA,QAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AAFA;;AAIA,MAAME,aAAa,GAAG,gBAAgB;AACtC,MAAMC,SAAS,GAAG,wBAAwB;AAC1C,MAAMC,IAAI,GAAG,MAAM;AACnB,MAAMC,gBAAgB,GAAG,CAAC,OAAO,CAAC;AAClC,MAAMC,gBAAgB,GAAG,CAAC,MAAM,CAAC;AAE1B,MAAMC,cAAc,GAAG,SAAAA,CAAA,EAAoB;EAAA,IAAnBC,SAAS,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EAC3C,MAAMG,UAAU,GAAG,EAAE;EAErB,CAAC,GAAGC,QAAQ,CAACC,gBAAgB,CAACX,SAAS,CAAC,CAAC,CAACY,OAAO,CAAEC,EAAE,IAAK;IACxD,MAAMC,UAAU,GAAGC,MAAM,CAACC,IAAI,CAACH,EAAE,CAACI,OAAO,CAAC,CACvCC,MAAM,CAAEC,GAAG,IAAK,CAAChB,gBAAgB,CAACiB,QAAQ,CAACD,GAAG,CAAC,CAAC,CAChDE,MAAM,CAAC,CAACC,OAAO,EAAEC,IAAI,KAAK;MACzB,MAAMJ,GAAG,GAAGI,IAAI,KAAKxB,aAAa,GAAG,WAAW,GAAGwB,IAAI;MACvD,MAAMC,KAAK,GAAGX,EAAE,CAACI,OAAO,CAACM,IAAI,CAAC;MAE9B,OAAO;QAAE,GAAGD,OAAO;QAAE,CAACH,GAAG,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAACC,QAAQ,CAACI,KAAK,CAAC,GAAGA,KAAK,KAAK,MAAM,GAAGA;MAAM,CAAC;IAC5F,CAAC,EAAE,CAAC,CAAC,CAAC;IAER,MAAM;MAAEC;IAAU,CAAC,GAAGX,UAAU,IAAI,CAAC,CAAC;IACtC,MAAMY,WAAW,GAAGX,MAAM,CAACC,IAAI,CAACW,sBAAU,CAAC,CAACP,QAAQ,CAACK,SAAS,CAAC;IAC/D,IAAIC,WAAW,EAAE;MACf,CAACD,SAAS,KAAKxB,IAAI,KAAII,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEuB,IAAI,MAAKnB,UAAU,CAACoB,IAAI,CAAC;QAAE,GAAGf,UAAU;QAAED;MAAG,CAAC,CAAC;IACnF,CAAC,MAAM,IAAIC,UAAU,aAAVA,UAAU,eAAVA,UAAU,CAAEW,SAAS;MAC9B;MACAK,OAAO,CAACC,KAAK,eAAAC,MAAA,CAAelB,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEW,SAAS,oCAAAO,MAAA,CAAiCC,gBAAO,CAAE,CAAC;EAChG,CAAC,CAAC;EAEF,MAAMC,eAAe,GAAG,CAAC,CAACzB,UAAU,CAAC0B,IAAI,CAACC,IAAA;IAAA,IAAC;MAAEX;IAAU,CAAC,GAAAW,IAAA;IAAA,OAAKlC,gBAAgB,CAACkB,QAAQ,CAACK,SAAS,CAAC;EAAA,EAAC;EAElG,OAAOS,eAAe,GAAGzB,UAAU,CAACS,MAAM,CAACmB,KAAA;IAAA,IAAC;MAAEZ;IAAU,CAAC,GAAAY,KAAA;IAAA,OAAKZ,SAAS,KAAK,QAAQ;EAAA,EAAC,GAAGhB,UAAU;AACpG,CAAC;AAAC6B,OAAA,CAAAlC,cAAA,GAAAA,cAAA"}
|
package/build/index.js
CHANGED
|
@@ -60,7 +60,7 @@ window.Mirai.core = async () => {
|
|
|
60
60
|
if (!instance) return;
|
|
61
61
|
|
|
62
62
|
// 5. Find components
|
|
63
|
-
const components = (0, _helpers.findComponents)();
|
|
63
|
+
const components = (0, _helpers.findComponents)(urlParams);
|
|
64
64
|
if (!components.length) return;
|
|
65
65
|
window.Mirai = {
|
|
66
66
|
...window.Mirai,
|
package/build/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["_dataSources","require","_services","_react","_interopRequireDefault","_reactDom","_contexts","_Core","_Core2","_helpers","_package","obj","__esModule","default","window","Mirai","components","undefined","config","environment","process","env","NODE_ENV","Event","services","booking","SERVICE_BOOKING","club","SERVICE_CLUB","dictionary","SERVICE_DICTIONARY","engine","SERVICE_ENGINE","static","SERVICE_STATIC","user","SERVICE_USER","version","core","isProduction","isDevelopment","isPreproduction","log","concat","name","console","Sentry","SENTRY","loadSentry","urlParams","fetchUrlParams","location","search","cookies","fetchCookies","Object","values","COOKIE","session","fetchSession","setUser","loadEnvironment","instance","findInstance","findComponents","length","theme","localeInstance","getLocale","IS_PLAYWRIGHT","ReactDOM","render","createElement","StrictMode","StoreProvider","value","id","Core","skeleton","el","fetchConfig","language","checkSession","store","consolidateStore","ServiceFeatures","initialize","ServiceDictionary","cache","locale","get","MetricsProvider","token","METRICS","PerformanceManager","EventManager","ready","setTimeout","publish","EVENT","CORE_READY","filter","component","arguments","includes","addEventListener","event","persisted"],"sources":["../src/index.js"],"sourcesContent":["/* eslint-disable no-console */\nimport { Event, MetricsProvider, StoreProvider } from '@mirai/data-sources';\nimport { ServiceDictionary, ServiceFeatures } from '@mirai/services';\nimport React from 'react';\nimport ReactDOM from 'react-dom';\n\nimport { EventManager, PerformanceManager } from './contexts';\nimport { Core } from './Core';\nimport { COOKIE, EVENT } from './Core.constants';\nimport {\n checkSession,\n consolidateStore,\n fetchConfig,\n fetchCookies,\n fetchSession,\n fetchUrlParams,\n findComponents,\n findInstance,\n getLocale,\n loadEnvironment,\n loadSentry,\n theme,\n} from './helpers';\nimport { name, version } from '../package.json';\nimport './helpers/polyfills';\n\nwindow.Mirai = {\n ...window.Mirai,\n components: undefined,\n config: undefined,\n environment: process.env.NODE_ENV,\n Event,\n services: {\n booking: process.env.SERVICE_BOOKING,\n club: process.env.SERVICE_CLUB,\n dictionary: process.env.SERVICE_DICTIONARY,\n engine: process.env.SERVICE_ENGINE,\n static: process.env.SERVICE_STATIC,\n user: process.env.SERVICE_USER,\n },\n version,\n};\n\nwindow.Mirai.core = async () => {\n const isProduction = process.env.NODE_ENV === 'production';\n const isDevelopment = process.env.NODE_ENV === 'development';\n const isPreproduction = process.env.NODE_ENV === 'preproduction';\n const log = `${isProduction ? '🟢' : isPreproduction ? '🟡' : isDevelopment ? '🔴' : '⚫️'} ${name} v${version}`;\n\n console.log(log, 'starting...');\n\n // 1. Initialize sentry\n let Sentry = window.Mirai.Sentry;\n if (!Sentry && process.env.SENTRY) {\n Sentry = loadSentry(process.env.SENTRY, version);\n window.Mirai.Sentry = Sentry;\n }\n\n // 2. Fetch client-side dataSources\n const urlParams = fetchUrlParams(location.search);\n const cookies = fetchCookies(Object.values(COOKIE));\n let session = fetchSession(urlParams);\n\n if (session && Sentry) Sentry.setUser(session);\n\n // 3. Analyze environment\n const environment = urlParams.env && isProduction ? loadEnvironment(urlParams.env) : undefined;\n if (environment) return;\n\n // 4. Find instance\n const instance = findInstance({ urlParams });\n if (!instance) return;\n\n // 5. Find components\n const components = findComponents();\n if (!components.length) return;\n window.Mirai = { ...window.Mirai, components };\n\n // 6. Theming\n theme(urlParams);\n\n const localeInstance = getLocale(instance, urlParams);\n\n // 7. 1st render\n window &&\n !window.IS_PLAYWRIGHT &&\n ReactDOM.render(\n <React.StrictMode>\n <StoreProvider value={{ id: instance.id, session, urlParams, ...localeInstance }}>\n <Core {...{ components }} skeleton />\n </StoreProvider>\n </React.StrictMode>,\n instance.el,\n );\n\n // 8. Analyze id to fetch its config\n const config = await fetchConfig({ ...instance, language: localeInstance.language });\n if (!config) return;\n window.Mirai.config = config;\n\n // 9. Check session\n if (session && !(await checkSession(instance.id, session, config))) session = undefined;\n\n // 10. Consolidate store\n const store = await consolidateStore({ components, config, cookies, instance, session, urlParams });\n\n // 11. Initialize features\n await ServiceFeatures.initialize();\n\n // 12. Initialize dictionary\n if (!ServiceDictionary.cache(store.locale)) await ServiceDictionary.get(store.locale, false);\n\n // 13. Render components\n ReactDOM.render(\n <React.StrictMode>\n <MetricsProvider token={isProduction ? process.env.METRICS : undefined}>\n <StoreProvider value={store}>\n <PerformanceManager />\n <Core {...{ components }} />\n <EventManager />\n </StoreProvider>\n </MetricsProvider>\n </React.StrictMode>,\n instance.el,\n );\n\n // 14. Up & Ready\n window.Mirai.ready = true;\n setTimeout(() => Event.publish(EVENT.CORE_READY, window.Mirai), 0);\n console.log(log, '[READY]', window.Mirai);\n};\n\n(async () => {\n await window.Mirai.core();\n\n const { components = [], ready } = window.Mirai;\n\n if (ready && components.filter(({ component } = {}) => ['booking', 'checkout', 'rates'].includes(component).length)) {\n window.addEventListener('pageshow', (event) => event.persisted && window.Mirai.core());\n }\n})();\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["_dataSources","require","_services","_react","_interopRequireDefault","_reactDom","_contexts","_Core","_Core2","_helpers","_package","obj","__esModule","default","window","Mirai","components","undefined","config","environment","process","env","NODE_ENV","Event","services","booking","SERVICE_BOOKING","club","SERVICE_CLUB","dictionary","SERVICE_DICTIONARY","engine","SERVICE_ENGINE","static","SERVICE_STATIC","user","SERVICE_USER","version","core","isProduction","isDevelopment","isPreproduction","log","concat","name","console","Sentry","SENTRY","loadSentry","urlParams","fetchUrlParams","location","search","cookies","fetchCookies","Object","values","COOKIE","session","fetchSession","setUser","loadEnvironment","instance","findInstance","findComponents","length","theme","localeInstance","getLocale","IS_PLAYWRIGHT","ReactDOM","render","createElement","StrictMode","StoreProvider","value","id","Core","skeleton","el","fetchConfig","language","checkSession","store","consolidateStore","ServiceFeatures","initialize","ServiceDictionary","cache","locale","get","MetricsProvider","token","METRICS","PerformanceManager","EventManager","ready","setTimeout","publish","EVENT","CORE_READY","filter","component","arguments","includes","addEventListener","event","persisted"],"sources":["../src/index.js"],"sourcesContent":["/* eslint-disable no-console */\nimport { Event, MetricsProvider, StoreProvider } from '@mirai/data-sources';\nimport { ServiceDictionary, ServiceFeatures } from '@mirai/services';\nimport React from 'react';\nimport ReactDOM from 'react-dom';\n\nimport { EventManager, PerformanceManager } from './contexts';\nimport { Core } from './Core';\nimport { COOKIE, EVENT } from './Core.constants';\nimport {\n checkSession,\n consolidateStore,\n fetchConfig,\n fetchCookies,\n fetchSession,\n fetchUrlParams,\n findComponents,\n findInstance,\n getLocale,\n loadEnvironment,\n loadSentry,\n theme,\n} from './helpers';\nimport { name, version } from '../package.json';\nimport './helpers/polyfills';\n\nwindow.Mirai = {\n ...window.Mirai,\n components: undefined,\n config: undefined,\n environment: process.env.NODE_ENV,\n Event,\n services: {\n booking: process.env.SERVICE_BOOKING,\n club: process.env.SERVICE_CLUB,\n dictionary: process.env.SERVICE_DICTIONARY,\n engine: process.env.SERVICE_ENGINE,\n static: process.env.SERVICE_STATIC,\n user: process.env.SERVICE_USER,\n },\n version,\n};\n\nwindow.Mirai.core = async () => {\n const isProduction = process.env.NODE_ENV === 'production';\n const isDevelopment = process.env.NODE_ENV === 'development';\n const isPreproduction = process.env.NODE_ENV === 'preproduction';\n const log = `${isProduction ? '🟢' : isPreproduction ? '🟡' : isDevelopment ? '🔴' : '⚫️'} ${name} v${version}`;\n\n console.log(log, 'starting...');\n\n // 1. Initialize sentry\n let Sentry = window.Mirai.Sentry;\n if (!Sentry && process.env.SENTRY) {\n Sentry = loadSentry(process.env.SENTRY, version);\n window.Mirai.Sentry = Sentry;\n }\n\n // 2. Fetch client-side dataSources\n const urlParams = fetchUrlParams(location.search);\n const cookies = fetchCookies(Object.values(COOKIE));\n let session = fetchSession(urlParams);\n\n if (session && Sentry) Sentry.setUser(session);\n\n // 3. Analyze environment\n const environment = urlParams.env && isProduction ? loadEnvironment(urlParams.env) : undefined;\n if (environment) return;\n\n // 4. Find instance\n const instance = findInstance({ urlParams });\n if (!instance) return;\n\n // 5. Find components\n const components = findComponents(urlParams);\n if (!components.length) return;\n window.Mirai = { ...window.Mirai, components };\n\n // 6. Theming\n theme(urlParams);\n\n const localeInstance = getLocale(instance, urlParams);\n\n // 7. 1st render\n window &&\n !window.IS_PLAYWRIGHT &&\n ReactDOM.render(\n <React.StrictMode>\n <StoreProvider value={{ id: instance.id, session, urlParams, ...localeInstance }}>\n <Core {...{ components }} skeleton />\n </StoreProvider>\n </React.StrictMode>,\n instance.el,\n );\n\n // 8. Analyze id to fetch its config\n const config = await fetchConfig({ ...instance, language: localeInstance.language });\n if (!config) return;\n window.Mirai.config = config;\n\n // 9. Check session\n if (session && !(await checkSession(instance.id, session, config))) session = undefined;\n\n // 10. Consolidate store\n const store = await consolidateStore({ components, config, cookies, instance, session, urlParams });\n\n // 11. Initialize features\n await ServiceFeatures.initialize();\n\n // 12. Initialize dictionary\n if (!ServiceDictionary.cache(store.locale)) await ServiceDictionary.get(store.locale, false);\n\n // 13. Render components\n ReactDOM.render(\n <React.StrictMode>\n <MetricsProvider token={isProduction ? process.env.METRICS : undefined}>\n <StoreProvider value={store}>\n <PerformanceManager />\n <Core {...{ components }} />\n <EventManager />\n </StoreProvider>\n </MetricsProvider>\n </React.StrictMode>,\n instance.el,\n );\n\n // 14. Up & Ready\n window.Mirai.ready = true;\n setTimeout(() => Event.publish(EVENT.CORE_READY, window.Mirai), 0);\n console.log(log, '[READY]', window.Mirai);\n};\n\n(async () => {\n await window.Mirai.core();\n\n const { components = [], ready } = window.Mirai;\n\n if (ready && components.filter(({ component } = {}) => ['booking', 'checkout', 'rates'].includes(component).length)) {\n window.addEventListener('pageshow', (event) => event.persisted && window.Mirai.core());\n }\n})();\n"],"mappings":"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"}
|