@squide/firefly 9.3.2 → 9.3.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +19 -0
- package/dist/AppRouter.js +18 -16
- package/dist/AppRouter.js.map +1 -0
- package/dist/AppRouterContext.js +6 -4
- package/dist/AppRouterContext.js.map +1 -0
- package/dist/AppRouterReducer.js +42 -40
- package/dist/AppRouterReducer.js.map +1 -0
- package/dist/FireflyRuntime.js +13 -11
- package/dist/FireflyRuntime.js.map +1 -0
- package/dist/GlobalDataQueriesError.js +2 -0
- package/dist/GlobalDataQueriesError.js.map +1 -0
- package/dist/RootRoute.js +10 -8
- package/dist/RootRoute.js.map +1 -0
- package/dist/boostrap.js +12 -10
- package/dist/boostrap.js.map +1 -0
- package/dist/index.js +6 -4
- package/dist/index.js.map +1 -0
- package/dist/useCanFetchProtectedData.js +4 -2
- package/dist/useCanFetchProtectedData.js.map +1 -0
- package/dist/useCanFetchPublicData.js +4 -2
- package/dist/useCanFetchPublicData.js.map +1 -0
- package/dist/useCanRegisterDeferredRegistrations.js +4 -2
- package/dist/useCanRegisterDeferredRegistrations.js.map +1 -0
- package/dist/useCanUpdateDeferredRegistrations.js +4 -2
- package/dist/useCanUpdateDeferredRegistrations.js.map +1 -0
- package/dist/useDeferredRegistrations.js +13 -11
- package/dist/useDeferredRegistrations.js.map +1 -0
- package/dist/useExecuteOnce.js +2 -0
- package/dist/useExecuteOnce.js.map +1 -0
- package/dist/useIsActiveRouteProtected.js +8 -6
- package/dist/useIsActiveRouteProtected.js.map +1 -0
- package/dist/useIsBootstrapping.js +4 -2
- package/dist/useIsBootstrapping.js.map +1 -0
- package/dist/useNavigationItems.js +7 -5
- package/dist/useNavigationItems.js.map +1 -0
- package/dist/useProtectedDataQueries.js +17 -15
- package/dist/useProtectedDataQueries.js.map +1 -0
- package/dist/usePublicDataQueries.js +16 -14
- package/dist/usePublicDataQueries.js.map +1 -0
- package/dist/useRegisterDeferredRegistrations.js +5 -3
- package/dist/useRegisterDeferredRegistrations.js.map +1 -0
- package/dist/useStrictRegistrationMode.js +14 -12
- package/dist/useStrictRegistrationMode.js.map +1 -0
- package/dist/useUpdateDeferredRegistrations.js +7 -5
- package/dist/useUpdateDeferredRegistrations.js.map +1 -0
- package/package.json +18 -16
- package/src/AppRouter.tsx +63 -0
- package/src/AppRouterContext.ts +27 -0
- package/src/AppRouterReducer.ts +363 -0
- package/src/FireflyRuntime.tsx +71 -0
- package/src/GlobalDataQueriesError.ts +17 -0
- package/src/RootRoute.tsx +25 -0
- package/src/boostrap.ts +62 -0
- package/src/index.ts +28 -0
- package/src/useCanFetchProtectedData.ts +26 -0
- package/src/useCanFetchPublicData.ts +23 -0
- package/src/useCanRegisterDeferredRegistrations.ts +24 -0
- package/src/useCanUpdateDeferredRegistrations.ts +23 -0
- package/src/useDeferredRegistrations.ts +59 -0
- package/src/useExecuteOnce.ts +23 -0
- package/src/useIsActiveRouteProtected.ts +12 -0
- package/src/useIsBootstrapping.ts +45 -0
- package/src/useNavigationItems.ts +18 -0
- package/src/useProtectedDataQueries.ts +101 -0
- package/src/usePublicDataQueries.ts +88 -0
- package/src/useRegisterDeferredRegistrations.ts +9 -0
- package/src/useStrictRegistrationMode.ts +28 -0
- package/src/useUpdateDeferredRegistrations.ts +16 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,24 @@
|
|
|
1
1
|
# @squide/firefly
|
|
2
2
|
|
|
3
|
+
## 9.3.4
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- Updated dependencies [[`84cf5d0`](https://github.com/gsoft-inc/wl-squide/commit/84cf5d071164465cfc8e8e1d15369d781eea8f3f)]:
|
|
8
|
+
- @squide/react-router@6.4.4
|
|
9
|
+
|
|
10
|
+
## 9.3.3
|
|
11
|
+
|
|
12
|
+
### Patch Changes
|
|
13
|
+
|
|
14
|
+
- [#231](https://github.com/gsoft-inc/wl-squide/pull/231) [`3c6bce0`](https://github.com/gsoft-inc/wl-squide/commit/3c6bce0cd559d0b8517d644661b6fb2b818ab2f6) Thanks [@patricklafrance](https://github.com/patricklafrance)! - Packages now includes source code and sourcemap.
|
|
15
|
+
|
|
16
|
+
- Updated dependencies [[`3c6bce0`](https://github.com/gsoft-inc/wl-squide/commit/3c6bce0cd559d0b8517d644661b6fb2b818ab2f6)]:
|
|
17
|
+
- @squide/module-federation@6.2.2
|
|
18
|
+
- @squide/react-router@6.4.3
|
|
19
|
+
- @squide/core@5.4.2
|
|
20
|
+
- @squide/msw@3.2.2
|
|
21
|
+
|
|
3
22
|
## 9.3.2
|
|
4
23
|
|
|
5
24
|
### Patch Changes
|
package/dist/AppRouter.js
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
import * as
|
|
2
|
-
import * as
|
|
3
|
-
import * as
|
|
1
|
+
import * as __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__ from "react/jsx-runtime";
|
|
2
|
+
import * as __WEBPACK_EXTERNAL_MODULE__core_src_index_js_d19dd8a6__ from "../../core/src/index.js";
|
|
3
|
+
import * as __WEBPACK_EXTERNAL_MODULE__react_router_src_index_js_ff6a88b1__ from "../../react-router/src/index.js";
|
|
4
4
|
import * as __WEBPACK_EXTERNAL_MODULE_react__ from "react";
|
|
5
|
-
import * as
|
|
6
|
-
import * as
|
|
7
|
-
import * as
|
|
8
|
-
import * as
|
|
5
|
+
import * as __WEBPACK_EXTERNAL_MODULE__AppRouterContext_js_3c4a3c33__ from "./AppRouterContext.js";
|
|
6
|
+
import * as __WEBPACK_EXTERNAL_MODULE__AppRouterReducer_js_6fa81ecc__ from "./AppRouterReducer.js";
|
|
7
|
+
import * as __WEBPACK_EXTERNAL_MODULE__RootRoute_js_5c2fbb69__ from "./RootRoute.js";
|
|
8
|
+
import * as __WEBPACK_EXTERNAL_MODULE__useStrictRegistrationMode_js_f67d8785__ from "./useStrictRegistrationMode.js";
|
|
9
9
|
|
|
10
10
|
;// CONCATENATED MODULE: external "react/jsx-runtime"
|
|
11
11
|
|
|
12
|
-
;// CONCATENATED MODULE: external "
|
|
12
|
+
;// CONCATENATED MODULE: external "../../core/src/index.js"
|
|
13
13
|
|
|
14
|
-
;// CONCATENATED MODULE: external "
|
|
14
|
+
;// CONCATENATED MODULE: external "../../react-router/src/index.js"
|
|
15
15
|
|
|
16
16
|
;// CONCATENATED MODULE: external "react"
|
|
17
17
|
|
|
@@ -34,10 +34,10 @@ import * as __WEBPACK_EXTERNAL_MODULE__useStrictRegistrationMode_js__ from "./us
|
|
|
34
34
|
|
|
35
35
|
function AppRouter(props) {
|
|
36
36
|
const { waitForMsw, waitForPublicData = false, waitForProtectedData = false, children: renderRouterProvider } = props;
|
|
37
|
-
const [state, dispatch] = (0,
|
|
38
|
-
const logger = (0,
|
|
39
|
-
const routes = (0,
|
|
40
|
-
(0,
|
|
37
|
+
const [state, dispatch] = (0,__WEBPACK_EXTERNAL_MODULE__AppRouterReducer_js_6fa81ecc__.useAppRouterReducer)(waitForMsw, waitForPublicData, waitForProtectedData);
|
|
38
|
+
const logger = (0,__WEBPACK_EXTERNAL_MODULE__core_src_index_js_d19dd8a6__.useLogger)();
|
|
39
|
+
const routes = (0,__WEBPACK_EXTERNAL_MODULE__react_router_src_index_js_ff6a88b1__.useRoutes)();
|
|
40
|
+
(0,__WEBPACK_EXTERNAL_MODULE__useStrictRegistrationMode_js_f67d8785__.useStrictRegistrationMode)();
|
|
41
41
|
(0,__WEBPACK_EXTERNAL_MODULE_react__.useEffect)(()=>{
|
|
42
42
|
logger.debug("[squide] AppRouter state updated:", state);
|
|
43
43
|
}, [
|
|
@@ -46,7 +46,7 @@ function AppRouter(props) {
|
|
|
46
46
|
]);
|
|
47
47
|
const routerProvider = (0,__WEBPACK_EXTERNAL_MODULE_react__.useMemo)(()=>{
|
|
48
48
|
return renderRouterProvider({
|
|
49
|
-
rootRoute: /*#__PURE__*/ (0,
|
|
49
|
+
rootRoute: /*#__PURE__*/ (0,__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__RootRoute_js_5c2fbb69__.RootRoute, {}),
|
|
50
50
|
registeredRoutes: routes,
|
|
51
51
|
routerProviderProps: {}
|
|
52
52
|
});
|
|
@@ -54,9 +54,9 @@ function AppRouter(props) {
|
|
|
54
54
|
routes,
|
|
55
55
|
renderRouterProvider
|
|
56
56
|
]);
|
|
57
|
-
return /*#__PURE__*/ (0,
|
|
57
|
+
return /*#__PURE__*/ (0,__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__AppRouterContext_js_3c4a3c33__.AppRouterDispatcherContext.Provider, {
|
|
58
58
|
value: dispatch,
|
|
59
|
-
children: /*#__PURE__*/ (0,
|
|
59
|
+
children: /*#__PURE__*/ (0,__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__AppRouterContext_js_3c4a3c33__.AppRouterStateContext.Provider, {
|
|
60
60
|
value: state,
|
|
61
61
|
children: routerProvider
|
|
62
62
|
})
|
|
@@ -64,3 +64,5 @@ function AppRouter(props) {
|
|
|
64
64
|
}
|
|
65
65
|
|
|
66
66
|
export { AppRouter };
|
|
67
|
+
|
|
68
|
+
//# sourceMappingURL=AppRouter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AppRouter.js","sources":["webpack://@squide/firefly/./src/AppRouter.tsx"],"sourcesContent":["import { useLogger } from \"@squide/core\";\nimport { useRoutes, type Route } from \"@squide/react-router\";\nimport { useEffect, useMemo, type ReactElement } from \"react\";\nimport type { RouterProviderProps } from \"react-router-dom\";\nimport { AppRouterDispatcherContext, AppRouterStateContext } from \"./AppRouterContext.ts\";\nimport { useAppRouterReducer } from \"./AppRouterReducer.ts\";\nimport { RootRoute } from \"./RootRoute.tsx\";\nimport { useStrictRegistrationMode } from \"./useStrictRegistrationMode.ts\";\n\nexport interface AppRouterRenderFunctionArgs {\n routes: Route[];\n}\n\nexport interface RenderRouterProviderFunctionArgs {\n rootRoute: ReactElement;\n registeredRoutes: Route[];\n routerProviderProps: Omit<RouterProviderProps, \"router\">;\n}\n\nexport type RenderRouterProviderFunction = (args: RenderRouterProviderFunctionArgs) => ReactElement;\n\nexport interface AppRouterProps {\n waitForMsw: boolean;\n waitForPublicData?: boolean;\n waitForProtectedData?: boolean;\n children: RenderRouterProviderFunction;\n}\n\nexport function AppRouter(props: AppRouterProps) {\n const {\n waitForMsw,\n waitForPublicData = false,\n waitForProtectedData = false,\n children: renderRouterProvider\n } = props;\n\n const [state, dispatch] = useAppRouterReducer(waitForMsw, waitForPublicData, waitForProtectedData);\n\n const logger = useLogger();\n const routes = useRoutes();\n\n useStrictRegistrationMode();\n\n useEffect(() => {\n logger.debug(\"[squide] AppRouter state updated:\", state);\n }, [state, logger]);\n\n const routerProvider = useMemo(() => {\n return renderRouterProvider({\n rootRoute: <RootRoute />,\n registeredRoutes: routes,\n routerProviderProps: {}\n });\n }, [routes, renderRouterProvider]);\n\n return (\n <AppRouterDispatcherContext.Provider value={dispatch}>\n <AppRouterStateContext.Provider value={state}>\n {routerProvider}\n </AppRouterStateContext.Provider>\n </AppRouterDispatcherContext.Provider>\n );\n}\n"],"names":["useLogger","useRoutes","useEffect","useMemo","AppRouterDispatcherContext","AppRouterStateContext","useAppRouterReducer","RootRoute","useStrictRegistrationMode","AppRouter","props","waitForMsw","waitForPublicData","waitForProtectedData","renderRouterProvider","state","dispatch","logger","routes","routerProvider"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAyC;AACoB;AACC;AAE4B;AAC9B;AAChB;AAC+B;AAqBpE,SAASS,UAAUC,KAAqB;IAC3C,MAAM,EACFC,UAAU,EACVC,oBAAoB,KAAK,EACzBC,uBAAuB,KAAK,EAC5B,UAAUC,oBAAoB,EACjC,GAAGJ;IAEJ,MAAM,CAACK,OAAOC,SAAS,GAAGV,iFAAmBA,CAACK,YAAYC,mBAAmBC;IAE7E,MAAMI,SAASjB,qEAASA;IACxB,MAAMkB,SAASjB,6EAASA;IAExBO,gGAAyBA;IAEzBN,+CAASA,CAAC;QACNe,OAAO,KAAK,CAAC,qCAAqCF;IACtD,GAAG;QAACA;QAAOE;KAAO;IAElB,MAAME,iBAAiBhB,6CAAOA,CAAC;QAC3B,OAAOW,qBAAqB;YACxB,yBAAW,+DAACP,4DAASA;YACrB,kBAAkBW;YAClB,qBAAqB,CAAC;QAC1B;IACJ,GAAG;QAACA;QAAQJ;KAAqB;IAEjC,qBACI,+DAACV,6FAAmC;QAAC,OAAOY;kBACxC,6EAACX,wFAA8B;YAAC,OAAOU;sBAClCI;;;AAIjB"}
|
package/dist/AppRouterContext.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as __WEBPACK_EXTERNAL_MODULE__core_src_index_js_d19dd8a6__ from "../../core/src/index.js";
|
|
2
2
|
import * as __WEBPACK_EXTERNAL_MODULE_react__ from "react";
|
|
3
3
|
|
|
4
|
-
;// CONCATENATED MODULE: external "
|
|
4
|
+
;// CONCATENATED MODULE: external "../../core/src/index.js"
|
|
5
5
|
|
|
6
6
|
;// CONCATENATED MODULE: external "react"
|
|
7
7
|
|
|
@@ -11,7 +11,7 @@ import * as __WEBPACK_EXTERNAL_MODULE_react__ from "react";
|
|
|
11
11
|
const AppRouterStateContext = (0,__WEBPACK_EXTERNAL_MODULE_react__.createContext)(undefined);
|
|
12
12
|
function useAppRouterState() {
|
|
13
13
|
const state = (0,__WEBPACK_EXTERNAL_MODULE_react__.useContext)(AppRouterStateContext);
|
|
14
|
-
if ((0,
|
|
14
|
+
if ((0,__WEBPACK_EXTERNAL_MODULE__core_src_index_js_d19dd8a6__.isNil)(state)) {
|
|
15
15
|
throw new Error("[squide] The useAppRouterState hook must be called by a children of the AppRouter component.");
|
|
16
16
|
}
|
|
17
17
|
return state;
|
|
@@ -19,10 +19,12 @@ function useAppRouterState() {
|
|
|
19
19
|
const AppRouterDispatcherContext = (0,__WEBPACK_EXTERNAL_MODULE_react__.createContext)(undefined);
|
|
20
20
|
function useAppRouterDispatcher() {
|
|
21
21
|
const dispatch = (0,__WEBPACK_EXTERNAL_MODULE_react__.useContext)(AppRouterDispatcherContext);
|
|
22
|
-
if ((0,
|
|
22
|
+
if ((0,__WEBPACK_EXTERNAL_MODULE__core_src_index_js_d19dd8a6__.isNil)(dispatch)) {
|
|
23
23
|
throw new Error("[squide] The useAppRouterDispatcher hook must be called by a children of the AppRouter component.");
|
|
24
24
|
}
|
|
25
25
|
return dispatch;
|
|
26
26
|
}
|
|
27
27
|
|
|
28
28
|
export { AppRouterDispatcherContext, AppRouterStateContext, useAppRouterDispatcher, useAppRouterState };
|
|
29
|
+
|
|
30
|
+
//# sourceMappingURL=AppRouterContext.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AppRouterContext.js","sources":["webpack://@squide/firefly/./src/AppRouterContext.ts"],"sourcesContent":["import { isNil } from \"@squide/core\";\nimport { createContext, useContext } from \"react\";\nimport type { AppRouterDispatch, AppRouterState } from \"./AppRouterReducer.ts\";\n\nexport const AppRouterStateContext = createContext<AppRouterState | undefined>(undefined);\n\nexport function useAppRouterState() {\n const state = useContext(AppRouterStateContext);\n\n if (isNil(state)) {\n throw new Error(\"[squide] The useAppRouterState hook must be called by a children of the AppRouter component.\");\n }\n\n return state;\n}\n\nexport const AppRouterDispatcherContext = createContext<AppRouterDispatch | undefined>(undefined);\n\nexport function useAppRouterDispatcher() {\n const dispatch = useContext(AppRouterDispatcherContext);\n\n if (isNil(dispatch)) {\n throw new Error(\"[squide] The useAppRouterDispatcher hook must be called by a children of the AppRouter component.\");\n }\n\n return dispatch;\n}\n"],"names":["isNil","createContext","useContext","AppRouterStateContext","undefined","useAppRouterState","state","Error","AppRouterDispatcherContext","useAppRouterDispatcher","dispatch"],"mappings":";;;;;;;;AAAqC;AACa;AAG3C,MAAMG,wBAAwBF,mDAAaA,CAA6BG,WAAW;AAEnF,SAASC;IACZ,MAAMC,QAAQJ,gDAAUA,CAACC;IAEzB,IAAIH,iEAAKA,CAACM,QAAQ;QACd,MAAM,IAAIC,MAAM;IACpB;IAEA,OAAOD;AACX;AAEO,MAAME,6BAA6BP,mDAAaA,CAAgCG,WAAW;AAE3F,SAASK;IACZ,MAAMC,WAAWR,gDAAUA,CAACM;IAE5B,IAAIR,iEAAKA,CAACU,WAAW;QACjB,MAAM,IAAIH,MAAM;IACpB;IAEA,OAAOG;AACX"}
|
package/dist/AppRouterReducer.js
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import * as
|
|
2
|
-
import * as
|
|
3
|
-
import * as
|
|
1
|
+
import * as __WEBPACK_EXTERNAL_MODULE__core_src_index_js_d19dd8a6__ from "../../core/src/index.js";
|
|
2
|
+
import * as __WEBPACK_EXTERNAL_MODULE__module_federation_src_index_js_e113b625__ from "../../module-federation/src/index.js";
|
|
3
|
+
import * as __WEBPACK_EXTERNAL_MODULE__msw_src_index_js_df8c7d83__ from "../../msw/src/index.js";
|
|
4
4
|
import * as __WEBPACK_EXTERNAL_MODULE_react__ from "react";
|
|
5
|
-
import * as
|
|
6
|
-
import * as
|
|
5
|
+
import * as __WEBPACK_EXTERNAL_MODULE__useExecuteOnce_js_e1f8f91b__ from "./useExecuteOnce.js";
|
|
6
|
+
import * as __WEBPACK_EXTERNAL_MODULE__useIsBootstrapping_js_642a9b43__ from "./useIsBootstrapping.js";
|
|
7
7
|
|
|
8
|
-
;// CONCATENATED MODULE: external "
|
|
8
|
+
;// CONCATENATED MODULE: external "../../core/src/index.js"
|
|
9
9
|
|
|
10
|
-
;// CONCATENATED MODULE: external "
|
|
10
|
+
;// CONCATENATED MODULE: external "../../module-federation/src/index.js"
|
|
11
11
|
|
|
12
|
-
;// CONCATENATED MODULE: external "
|
|
12
|
+
;// CONCATENATED MODULE: external "../../msw/src/index.js"
|
|
13
13
|
|
|
14
14
|
;// CONCATENATED MODULE: external "react"
|
|
15
15
|
|
|
@@ -138,18 +138,18 @@ function reducer(state, action) {
|
|
|
138
138
|
return newState;
|
|
139
139
|
}
|
|
140
140
|
function getAreModulesRegistered() {
|
|
141
|
-
const localModuleStatus = (0,
|
|
142
|
-
const remoteModuleStatus = (0,
|
|
143
|
-
return (0,
|
|
141
|
+
const localModuleStatus = (0,__WEBPACK_EXTERNAL_MODULE__core_src_index_js_d19dd8a6__.getLocalModuleRegistrationStatus)();
|
|
142
|
+
const remoteModuleStatus = (0,__WEBPACK_EXTERNAL_MODULE__module_federation_src_index_js_e113b625__.getRemoteModuleRegistrationStatus)();
|
|
143
|
+
return (0,__WEBPACK_EXTERNAL_MODULE__module_federation_src_index_js_e113b625__.areModulesRegistered)(localModuleStatus, remoteModuleStatus);
|
|
144
144
|
}
|
|
145
145
|
function getAreModulesReady() {
|
|
146
|
-
const localModuleStatus = (0,
|
|
147
|
-
const remoteModuleStatus = (0,
|
|
148
|
-
return (0,
|
|
146
|
+
const localModuleStatus = (0,__WEBPACK_EXTERNAL_MODULE__core_src_index_js_d19dd8a6__.getLocalModuleRegistrationStatus)();
|
|
147
|
+
const remoteModuleStatus = (0,__WEBPACK_EXTERNAL_MODULE__module_federation_src_index_js_e113b625__.getRemoteModuleRegistrationStatus)();
|
|
148
|
+
return (0,__WEBPACK_EXTERNAL_MODULE__module_federation_src_index_js_e113b625__.areModulesReady)(localModuleStatus, remoteModuleStatus);
|
|
149
149
|
}
|
|
150
150
|
function useModuleRegistrationStatusDispatcher(areModulesRegisteredValue, areModulesReadyValue, dispatch) {
|
|
151
|
-
const logger = (0,
|
|
152
|
-
const dispatchModulesRegistered = (0,
|
|
151
|
+
const logger = (0,__WEBPACK_EXTERNAL_MODULE__core_src_index_js_d19dd8a6__.useLogger)();
|
|
152
|
+
const dispatchModulesRegistered = (0,__WEBPACK_EXTERNAL_MODULE__useExecuteOnce_js_e1f8f91b__.useExecuteOnce)((0,__WEBPACK_EXTERNAL_MODULE_react__.useCallback)(()=>{
|
|
153
153
|
if (getAreModulesRegistered()) {
|
|
154
154
|
dispatch({
|
|
155
155
|
type: "modules-registered"
|
|
@@ -162,7 +162,7 @@ function useModuleRegistrationStatusDispatcher(areModulesRegisteredValue, areMod
|
|
|
162
162
|
dispatch,
|
|
163
163
|
logger
|
|
164
164
|
]));
|
|
165
|
-
const dispatchModulesReady = (0,
|
|
165
|
+
const dispatchModulesReady = (0,__WEBPACK_EXTERNAL_MODULE__useExecuteOnce_js_e1f8f91b__.useExecuteOnce)((0,__WEBPACK_EXTERNAL_MODULE_react__.useCallback)(()=>{
|
|
166
166
|
if (getAreModulesReady()) {
|
|
167
167
|
dispatch({
|
|
168
168
|
type: "modules-ready"
|
|
@@ -177,18 +177,18 @@ function useModuleRegistrationStatusDispatcher(areModulesRegisteredValue, areMod
|
|
|
177
177
|
]));
|
|
178
178
|
return (0,__WEBPACK_EXTERNAL_MODULE_react__.useEffect)(()=>{
|
|
179
179
|
if (!areModulesRegisteredValue) {
|
|
180
|
-
(0,
|
|
181
|
-
(0,
|
|
180
|
+
(0,__WEBPACK_EXTERNAL_MODULE__core_src_index_js_d19dd8a6__.addLocalModuleRegistrationStatusChangedListener)(dispatchModulesRegistered);
|
|
181
|
+
(0,__WEBPACK_EXTERNAL_MODULE__module_federation_src_index_js_e113b625__.addRemoteModuleRegistrationStatusChangedListener)(dispatchModulesRegistered);
|
|
182
182
|
}
|
|
183
183
|
if (!areModulesReadyValue) {
|
|
184
|
-
(0,
|
|
185
|
-
(0,
|
|
184
|
+
(0,__WEBPACK_EXTERNAL_MODULE__core_src_index_js_d19dd8a6__.addLocalModuleRegistrationStatusChangedListener)(dispatchModulesReady);
|
|
185
|
+
(0,__WEBPACK_EXTERNAL_MODULE__module_federation_src_index_js_e113b625__.addRemoteModuleRegistrationStatusChangedListener)(dispatchModulesReady);
|
|
186
186
|
}
|
|
187
187
|
return ()=>{
|
|
188
|
-
(0,
|
|
189
|
-
(0,
|
|
190
|
-
(0,
|
|
191
|
-
(0,
|
|
188
|
+
(0,__WEBPACK_EXTERNAL_MODULE__core_src_index_js_d19dd8a6__.removeLocalModuleRegistrationStatusChangedListener)(dispatchModulesRegistered);
|
|
189
|
+
(0,__WEBPACK_EXTERNAL_MODULE__module_federation_src_index_js_e113b625__.removeRemoteModuleRegistrationStatusChangedListener)(dispatchModulesRegistered);
|
|
190
|
+
(0,__WEBPACK_EXTERNAL_MODULE__core_src_index_js_d19dd8a6__.removeLocalModuleRegistrationStatusChangedListener)(dispatchModulesReady);
|
|
191
|
+
(0,__WEBPACK_EXTERNAL_MODULE__module_federation_src_index_js_e113b625__.removeRemoteModuleRegistrationStatusChangedListener)(dispatchModulesReady);
|
|
192
192
|
};
|
|
193
193
|
}, [
|
|
194
194
|
areModulesRegisteredValue,
|
|
@@ -198,9 +198,9 @@ function useModuleRegistrationStatusDispatcher(areModulesRegisteredValue, areMod
|
|
|
198
198
|
]);
|
|
199
199
|
}
|
|
200
200
|
function useMswStatusDispatcher(isMswReadyValue, dispatch) {
|
|
201
|
-
const logger = (0,
|
|
202
|
-
const dispatchMswReady = (0,
|
|
203
|
-
if ((0,
|
|
201
|
+
const logger = (0,__WEBPACK_EXTERNAL_MODULE__core_src_index_js_d19dd8a6__.useLogger)();
|
|
202
|
+
const dispatchMswReady = (0,__WEBPACK_EXTERNAL_MODULE__useExecuteOnce_js_e1f8f91b__.useExecuteOnce)((0,__WEBPACK_EXTERNAL_MODULE_react__.useCallback)(()=>{
|
|
203
|
+
if ((0,__WEBPACK_EXTERNAL_MODULE__msw_src_index_js_df8c7d83__.isMswReady)()) {
|
|
204
204
|
dispatch({
|
|
205
205
|
type: "msw-ready"
|
|
206
206
|
});
|
|
@@ -214,10 +214,10 @@ function useMswStatusDispatcher(isMswReadyValue, dispatch) {
|
|
|
214
214
|
]));
|
|
215
215
|
(0,__WEBPACK_EXTERNAL_MODULE_react__.useEffect)(()=>{
|
|
216
216
|
if (!isMswReadyValue) {
|
|
217
|
-
(0,
|
|
217
|
+
(0,__WEBPACK_EXTERNAL_MODULE__msw_src_index_js_df8c7d83__.addMswStateChangedListener)(dispatchMswReady);
|
|
218
218
|
}
|
|
219
219
|
return ()=>{
|
|
220
|
-
(0,
|
|
220
|
+
(0,__WEBPACK_EXTERNAL_MODULE__msw_src_index_js_df8c7d83__.removeMswStateChangedListener)(dispatchMswReady);
|
|
221
221
|
};
|
|
222
222
|
}, [
|
|
223
223
|
isMswReadyValue,
|
|
@@ -225,10 +225,10 @@ function useMswStatusDispatcher(isMswReadyValue, dispatch) {
|
|
|
225
225
|
]);
|
|
226
226
|
}
|
|
227
227
|
function useBootstrappingCompletedDispatcher(state) {
|
|
228
|
-
const eventBus = (0,
|
|
228
|
+
const eventBus = (0,__WEBPACK_EXTERNAL_MODULE__core_src_index_js_d19dd8a6__.useEventBus)();
|
|
229
229
|
const areModulesRegisteredValue = state.areModulesRegistered;
|
|
230
|
-
const isBoostrapping = (0,
|
|
231
|
-
(0,
|
|
230
|
+
const isBoostrapping = (0,__WEBPACK_EXTERNAL_MODULE__useIsBootstrapping_js_642a9b43__.isApplicationBootstrapping)(state);
|
|
231
|
+
(0,__WEBPACK_EXTERNAL_MODULE__useExecuteOnce_js_e1f8f91b__.useExecuteOnce)((0,__WEBPACK_EXTERNAL_MODULE_react__.useCallback)(()=>{
|
|
232
232
|
if (areModulesRegisteredValue && !isBoostrapping) {
|
|
233
233
|
eventBus.dispatch(ApplicationBoostrappedEvent);
|
|
234
234
|
return true;
|
|
@@ -257,8 +257,8 @@ function useReducerDispatchProxy(reactDispatch) {
|
|
|
257
257
|
]);
|
|
258
258
|
}
|
|
259
259
|
function useEnhancedReducerDispatch(reducerDispatch) {
|
|
260
|
-
const logger = (0,
|
|
261
|
-
const eventBus = (0,
|
|
260
|
+
const logger = (0,__WEBPACK_EXTERNAL_MODULE__core_src_index_js_d19dd8a6__.useLogger)();
|
|
261
|
+
const eventBus = (0,__WEBPACK_EXTERNAL_MODULE__core_src_index_js_d19dd8a6__.useEventBus)();
|
|
262
262
|
return (0,__WEBPACK_EXTERNAL_MODULE_react__.useCallback)((action)=>{
|
|
263
263
|
logger.debug("[squide] The following action has been dispatched to the AppRouter reducer:", action);
|
|
264
264
|
eventBus.dispatch(`squide-${action.type}`);
|
|
@@ -272,11 +272,11 @@ function useEnhancedReducerDispatch(reducerDispatch) {
|
|
|
272
272
|
function useAppRouterReducer(waitForMsw, waitForPublicData, waitForProtectedData) {
|
|
273
273
|
const areModulesInitiallyRegistered = getAreModulesRegistered();
|
|
274
274
|
const areModulesInitiallyReady = getAreModulesReady();
|
|
275
|
-
const isMswInitiallyReady = (0,
|
|
276
|
-
const eventBus = (0,
|
|
275
|
+
const isMswInitiallyReady = (0,__WEBPACK_EXTERNAL_MODULE__msw_src_index_js_df8c7d83__.isMswReady)();
|
|
276
|
+
const eventBus = (0,__WEBPACK_EXTERNAL_MODULE__core_src_index_js_d19dd8a6__.useEventBus)();
|
|
277
277
|
// When modules are initially registered, the reducer action will never be dispatched, therefore the event would not be dispatched as well.
|
|
278
278
|
// To ensure the bootstrapping events sequencing, the event is manually dispatched when the modules are initially registered.
|
|
279
|
-
(0,
|
|
279
|
+
(0,__WEBPACK_EXTERNAL_MODULE__useExecuteOnce_js_e1f8f91b__.useExecuteOnce)((0,__WEBPACK_EXTERNAL_MODULE_react__.useCallback)(()=>{
|
|
280
280
|
if (areModulesInitiallyRegistered) {
|
|
281
281
|
eventBus.dispatch(ModulesRegisteredEvent);
|
|
282
282
|
}
|
|
@@ -287,7 +287,7 @@ function useAppRouterReducer(waitForMsw, waitForPublicData, waitForProtectedData
|
|
|
287
287
|
]), true);
|
|
288
288
|
// When modules are initially registered, the reducer action will never be dispatched, therefore the event would not be dispatched as well.
|
|
289
289
|
// To ensure the bootstrapping events sequencing, the event is manually dispatched when the modules are initially registered.
|
|
290
|
-
(0,
|
|
290
|
+
(0,__WEBPACK_EXTERNAL_MODULE__useExecuteOnce_js_e1f8f91b__.useExecuteOnce)((0,__WEBPACK_EXTERNAL_MODULE_react__.useCallback)(()=>{
|
|
291
291
|
if (areModulesInitiallyReady) {
|
|
292
292
|
eventBus.dispatch(ModulesReadyEvent);
|
|
293
293
|
}
|
|
@@ -298,7 +298,7 @@ function useAppRouterReducer(waitForMsw, waitForPublicData, waitForProtectedData
|
|
|
298
298
|
]), true);
|
|
299
299
|
// When modules are initially registered, the reducer action will never be dispatched, therefore the event would not be dispatched as well.
|
|
300
300
|
// To ensure the bootstrapping events sequencing, the event is manually dispatched when the modules are initially registered.
|
|
301
|
-
(0,
|
|
301
|
+
(0,__WEBPACK_EXTERNAL_MODULE__useExecuteOnce_js_e1f8f91b__.useExecuteOnce)((0,__WEBPACK_EXTERNAL_MODULE_react__.useCallback)(()=>{
|
|
302
302
|
if (isMswInitiallyReady) {
|
|
303
303
|
eventBus.dispatch(MswReadyEvent);
|
|
304
304
|
}
|
|
@@ -335,3 +335,5 @@ function useAppRouterReducer(waitForMsw, waitForPublicData, waitForProtectedData
|
|
|
335
335
|
}
|
|
336
336
|
|
|
337
337
|
export { ApplicationBoostrappedEvent, DeferredRegistrationsUpdatedEvent, ModulesReadyEvent, ModulesRegisteredEvent, MswReadyEvent, ProtectedDataReadyEvent, ProtectedDataUpdatedEvent, PublicDataReadyEvent, PublicDataUpdatedEvent, __clearAppReducerDispatchProxy, __setAppReducerDispatchProxyFactory, getAreModulesReady, getAreModulesRegistered, useAppRouterReducer, useBootstrappingCompletedDispatcher, useModuleRegistrationStatusDispatcher, useMswStatusDispatcher };
|
|
338
|
+
|
|
339
|
+
//# sourceMappingURL=AppRouterReducer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AppRouterReducer.js","sources":["webpack://@squide/firefly/./src/AppRouterReducer.ts"],"sourcesContent":["import { addLocalModuleRegistrationStatusChangedListener, getLocalModuleRegistrationStatus, removeLocalModuleRegistrationStatusChangedListener, useEventBus, useLogger } from \"@squide/core\";\nimport { addRemoteModuleRegistrationStatusChangedListener, areModulesReady, areModulesRegistered, getRemoteModuleRegistrationStatus, removeRemoteModuleRegistrationStatusChangedListener } from \"@squide/module-federation\";\nimport { addMswStateChangedListener, isMswReady, removeMswStateChangedListener } from \"@squide/msw\";\nimport { useCallback, useEffect, useMemo, useReducer, type Dispatch } from \"react\";\nimport { useExecuteOnce } from \"./useExecuteOnce.ts\";\nimport { isApplicationBootstrapping } from \"./useIsBootstrapping.ts\";\n\nexport type ActiveRouteVisiblity = \"unknown\" | \"public\" | \"protected\";\n\nexport interface AppRouterState {\n waitForMsw: boolean;\n waitForPublicData: boolean;\n waitForProtectedData: boolean;\n areModulesRegistered: boolean;\n areModulesReady: boolean;\n isMswReady: boolean;\n isPublicDataReady: boolean;\n isProtectedDataReady: boolean;\n publicDataUpdatedAt?: number;\n protectedDataUpdatedAt?: number;\n deferredRegistrationsUpdatedAt?: number;\n activeRouteVisibility: ActiveRouteVisiblity;\n isUnauthorized: boolean;\n}\n\nexport type AppRouterActionType =\n| \"modules-registered\"\n| \"modules-ready\"\n| \"msw-ready\"\n| \"public-data-ready\"\n| \"protected-data-ready\"\n| \"public-data-updated\"\n| \"protected-data-updated\"\n| \"deferred-registrations-updated\"\n| \"active-route-is-public\"\n| \"active-route-is-protected\"\n| \"is-unauthorized\";\n\n// The followings event const are a concatenation of \"squide-\" with AppRouterActionType.\n// They are dispatched by the useEnhancedReducerDispatch hook.\nexport const ModulesRegisteredEvent = \"squide-modules-registered\";\nexport const ModulesReadyEvent = \"squide-modules-ready\";\nexport const MswReadyEvent = \"squide-msw-ready\";\nexport const PublicDataReadyEvent = \"squide-public-data-ready\";\nexport const ProtectedDataReadyEvent = \"squide-protected-data-ready\";\nexport const PublicDataUpdatedEvent = \"squide-public-data-updated\";\nexport const ProtectedDataUpdatedEvent = \"squide-protected-data-updated\";\nexport const DeferredRegistrationsUpdatedEvent = \"squide-deferred-registrations-updated\";\nexport const ApplicationBoostrappedEvent = \"squide-app-boostrapped\";\n\nexport interface AppRouterAction {\n type: AppRouterActionType;\n}\n\nexport type AppRouterDispatch = Dispatch<AppRouterAction>;\n\nfunction reducer(state: AppRouterState, action: AppRouterAction) {\n let newState = state;\n\n switch (action.type) {\n case \"modules-registered\": {\n newState = {\n ...newState,\n areModulesRegistered: true\n };\n\n break;\n }\n case \"modules-ready\": {\n newState = {\n ...newState,\n areModulesReady: true,\n // Will be set even if the app is not using deferred registrations.\n deferredRegistrationsUpdatedAt: Date.now()\n };\n\n break;\n }\n case \"msw-ready\": {\n newState = {\n ...newState,\n isMswReady: true\n };\n\n break;\n }\n case \"public-data-ready\": {\n newState = {\n ...newState,\n isPublicDataReady: true,\n publicDataUpdatedAt: Date.now()\n };\n\n break;\n }\n case \"protected-data-ready\": {\n newState = {\n ...newState,\n isProtectedDataReady: true,\n protectedDataUpdatedAt: Date.now()\n };\n\n break;\n }\n case \"public-data-updated\": {\n newState = {\n ...newState,\n publicDataUpdatedAt: Date.now()\n };\n\n break;\n }\n case \"protected-data-updated\": {\n newState = {\n ...newState,\n protectedDataUpdatedAt: Date.now()\n };\n\n break;\n }\n case \"deferred-registrations-updated\": {\n newState = {\n ...newState,\n deferredRegistrationsUpdatedAt: Date.now()\n };\n\n break;\n }\n case \"active-route-is-public\": {\n newState = {\n ...newState,\n activeRouteVisibility: \"public\"\n };\n\n break;\n }\n case \"active-route-is-protected\": {\n newState = {\n ...newState,\n activeRouteVisibility: \"protected\"\n };\n\n break;\n }\n case \"is-unauthorized\": {\n newState = {\n ...newState,\n isUnauthorized: true\n };\n\n break;\n }\n default: {\n throw new Error(`[squide] The AppRouter component state reducer doesn't support action type \"${action.type}\".`);\n }\n }\n\n return newState;\n}\n\nexport function getAreModulesRegistered() {\n const localModuleStatus = getLocalModuleRegistrationStatus();\n const remoteModuleStatus = getRemoteModuleRegistrationStatus();\n\n return areModulesRegistered(localModuleStatus, remoteModuleStatus);\n}\n\nexport function getAreModulesReady() {\n const localModuleStatus = getLocalModuleRegistrationStatus();\n const remoteModuleStatus = getRemoteModuleRegistrationStatus();\n\n return areModulesReady(localModuleStatus, remoteModuleStatus);\n}\n\nexport function useModuleRegistrationStatusDispatcher(areModulesRegisteredValue: boolean, areModulesReadyValue: boolean, dispatch: AppRouterDispatch) {\n const logger = useLogger();\n\n const dispatchModulesRegistered = useExecuteOnce(useCallback(() => {\n if (getAreModulesRegistered()) {\n dispatch({ type: \"modules-registered\" });\n\n logger.debug(\"[squide] %cModules are registered%c.\", \"color: white; background-color: green;\", \"\");\n\n return true;\n }\n\n return false;\n }, [dispatch, logger]));\n\n const dispatchModulesReady = useExecuteOnce(useCallback(() => {\n if (getAreModulesReady()) {\n dispatch({ type: \"modules-ready\" });\n\n logger.debug(\"[squide] %cModules are ready%c.\", \"color: white; background-color: green;\", \"\");\n\n return true;\n }\n\n return false;\n }, [dispatch, logger]));\n\n return useEffect(() => {\n if (!areModulesRegisteredValue) {\n addLocalModuleRegistrationStatusChangedListener(dispatchModulesRegistered);\n addRemoteModuleRegistrationStatusChangedListener(dispatchModulesRegistered);\n }\n\n if (!areModulesReadyValue) {\n addLocalModuleRegistrationStatusChangedListener(dispatchModulesReady);\n addRemoteModuleRegistrationStatusChangedListener(dispatchModulesReady);\n }\n\n return () => {\n removeLocalModuleRegistrationStatusChangedListener(dispatchModulesRegistered);\n removeRemoteModuleRegistrationStatusChangedListener(dispatchModulesRegistered);\n\n removeLocalModuleRegistrationStatusChangedListener(dispatchModulesReady);\n removeRemoteModuleRegistrationStatusChangedListener(dispatchModulesReady);\n };\n }, [areModulesRegisteredValue, areModulesReadyValue, dispatchModulesRegistered, dispatchModulesReady]);\n}\n\nexport function useMswStatusDispatcher(isMswReadyValue: boolean, dispatch: AppRouterDispatch) {\n const logger = useLogger();\n\n const dispatchMswReady = useExecuteOnce(useCallback(() => {\n if (isMswReady()) {\n dispatch({ type: \"msw-ready\" });\n\n logger.debug(\"[squide] %cMSW is ready%c.\", \"color: white; background-color: green;\", \"\");\n\n return true;\n }\n\n return false;\n }, [dispatch, logger]));\n\n useEffect(() => {\n if (!isMswReadyValue) {\n addMswStateChangedListener(dispatchMswReady);\n }\n\n return () => {\n removeMswStateChangedListener(dispatchMswReady);\n };\n }, [isMswReadyValue, dispatchMswReady]);\n}\n\nexport function useBootstrappingCompletedDispatcher(state: AppRouterState) {\n const eventBus = useEventBus();\n\n const areModulesRegisteredValue = state.areModulesRegistered;\n const isBoostrapping = isApplicationBootstrapping(state);\n\n useExecuteOnce(useCallback(() => {\n if (areModulesRegisteredValue && !isBoostrapping) {\n eventBus.dispatch(ApplicationBoostrappedEvent);\n\n return true;\n }\n\n return false;\n }, [areModulesRegisteredValue, isBoostrapping, eventBus]), true);\n}\n\nlet dispatchProxyFactory: ((reactDispatch: AppRouterDispatch) => AppRouterDispatch) | undefined;\n\n// This function should only be used by tests.\nexport function __setAppReducerDispatchProxyFactory(factory: (reactDispatch: AppRouterDispatch) => AppRouterDispatch) {\n dispatchProxyFactory = factory;\n}\n\n// This function should only be used by tests.\nexport function __clearAppReducerDispatchProxy() {\n dispatchProxyFactory = undefined;\n}\n\nfunction useReducerDispatchProxy(reactDispatch: AppRouterDispatch) {\n return useMemo(() => {\n return dispatchProxyFactory ? dispatchProxyFactory(reactDispatch) : reactDispatch;\n }, [reactDispatch]);\n}\n\nfunction useEnhancedReducerDispatch(reducerDispatch: AppRouterDispatch) {\n const logger = useLogger();\n const eventBus = useEventBus();\n\n return useCallback((action: AppRouterAction) => {\n logger.debug(\"[squide] The following action has been dispatched to the AppRouter reducer:\", action);\n eventBus.dispatch(`squide-${action.type}`);\n\n reducerDispatch(action);\n }, [reducerDispatch, logger, eventBus]);\n}\n\nexport function useAppRouterReducer(waitForMsw: boolean, waitForPublicData: boolean, waitForProtectedData: boolean): [AppRouterState, AppRouterDispatch] {\n const areModulesInitiallyRegistered = getAreModulesRegistered();\n const areModulesInitiallyReady = getAreModulesReady();\n const isMswInitiallyReady = isMswReady();\n\n const eventBus = useEventBus();\n\n // When modules are initially registered, the reducer action will never be dispatched, therefore the event would not be dispatched as well.\n // To ensure the bootstrapping events sequencing, the event is manually dispatched when the modules are initially registered.\n useExecuteOnce(useCallback(() => {\n if (areModulesInitiallyRegistered) {\n eventBus.dispatch(ModulesRegisteredEvent);\n }\n\n return true;\n }, [areModulesInitiallyRegistered, eventBus]), true);\n\n // When modules are initially registered, the reducer action will never be dispatched, therefore the event would not be dispatched as well.\n // To ensure the bootstrapping events sequencing, the event is manually dispatched when the modules are initially registered.\n useExecuteOnce(useCallback(() => {\n if (areModulesInitiallyReady) {\n eventBus.dispatch(ModulesReadyEvent);\n }\n\n return true;\n }, [areModulesInitiallyReady, eventBus]), true);\n\n // When modules are initially registered, the reducer action will never be dispatched, therefore the event would not be dispatched as well.\n // To ensure the bootstrapping events sequencing, the event is manually dispatched when the modules are initially registered.\n useExecuteOnce(useCallback(() => {\n if (isMswInitiallyReady) {\n eventBus.dispatch(MswReadyEvent);\n }\n\n return true;\n }, [isMswInitiallyReady, eventBus]), true);\n\n const [state, reactDispatch] = useReducer(reducer, {\n waitForMsw,\n waitForPublicData,\n waitForProtectedData,\n // When the modules registration functions are awaited, the event listeners are registered after the modules are registered.\n areModulesRegistered: areModulesInitiallyRegistered,\n areModulesReady: areModulesInitiallyReady,\n isMswReady: isMswInitiallyReady,\n isPublicDataReady: false,\n isProtectedDataReady: false,\n activeRouteVisibility: \"unknown\",\n isUnauthorized: false\n });\n\n const {\n areModulesRegistered: areModulesRegisteredValue,\n areModulesReady: areModulesReadyValue,\n isMswReady: isMswReadyValue\n } = state;\n\n // The dispatch proxy is strictly an utility allowing tests to mock the useReducer dispatch function. It's easier\n // than mocking the import from React.\n const dispatchProxy = useReducerDispatchProxy(reactDispatch);\n const dispatch = useEnhancedReducerDispatch(dispatchProxy);\n\n useModuleRegistrationStatusDispatcher(areModulesRegisteredValue, areModulesReadyValue, dispatch);\n useMswStatusDispatcher(isMswReadyValue, dispatch);\n useBootstrappingCompletedDispatcher(state);\n\n return [state, dispatch];\n}\n"],"names":["addLocalModuleRegistrationStatusChangedListener","getLocalModuleRegistrationStatus","removeLocalModuleRegistrationStatusChangedListener","useEventBus","useLogger","addRemoteModuleRegistrationStatusChangedListener","areModulesReady","areModulesRegistered","getRemoteModuleRegistrationStatus","removeRemoteModuleRegistrationStatusChangedListener","addMswStateChangedListener","isMswReady","removeMswStateChangedListener","useCallback","useEffect","useMemo","useReducer","useExecuteOnce","isApplicationBootstrapping","ModulesRegisteredEvent","ModulesReadyEvent","MswReadyEvent","PublicDataReadyEvent","ProtectedDataReadyEvent","PublicDataUpdatedEvent","ProtectedDataUpdatedEvent","DeferredRegistrationsUpdatedEvent","ApplicationBoostrappedEvent","reducer","state","action","newState","Date","Error","getAreModulesRegistered","localModuleStatus","remoteModuleStatus","getAreModulesReady","useModuleRegistrationStatusDispatcher","areModulesRegisteredValue","areModulesReadyValue","dispatch","logger","dispatchModulesRegistered","dispatchModulesReady","useMswStatusDispatcher","isMswReadyValue","dispatchMswReady","useBootstrappingCompletedDispatcher","eventBus","isBoostrapping","dispatchProxyFactory","__setAppReducerDispatchProxyFactory","factory","__clearAppReducerDispatchProxy","undefined","useReducerDispatchProxy","reactDispatch","useEnhancedReducerDispatch","reducerDispatch","useAppRouterReducer","waitForMsw","waitForPublicData","waitForProtectedData","areModulesInitiallyRegistered","areModulesInitiallyReady","isMswInitiallyReady","dispatchProxy"],"mappings":"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"}
|
package/dist/FireflyRuntime.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import * as
|
|
2
|
-
import * as
|
|
3
|
-
import * as
|
|
1
|
+
import * as __WEBPACK_EXTERNAL_MODULE__msw_src_index_js_df8c7d83__ from "../../msw/src/index.js";
|
|
2
|
+
import * as __WEBPACK_EXTERNAL_MODULE__react_router_src_index_js_ff6a88b1__ from "../../react-router/src/index.js";
|
|
3
|
+
import * as __WEBPACK_EXTERNAL_MODULE__AppRouterReducer_js_6fa81ecc__ from "./AppRouterReducer.js";
|
|
4
4
|
|
|
5
|
-
;// CONCATENATED MODULE: external "
|
|
5
|
+
;// CONCATENATED MODULE: external "../../msw/src/index.js"
|
|
6
6
|
|
|
7
|
-
;// CONCATENATED MODULE: external "
|
|
7
|
+
;// CONCATENATED MODULE: external "../../react-router/src/index.js"
|
|
8
8
|
|
|
9
9
|
;// CONCATENATED MODULE: external "./AppRouterReducer.js"
|
|
10
10
|
|
|
@@ -12,14 +12,14 @@ import * as __WEBPACK_EXTERNAL_MODULE__AppRouterReducer_js__ from "./AppRouterRe
|
|
|
12
12
|
|
|
13
13
|
|
|
14
14
|
|
|
15
|
-
class FireflyRuntime extends
|
|
15
|
+
class FireflyRuntime extends __WEBPACK_EXTERNAL_MODULE__react_router_src_index_js_ff6a88b1__.ReactRouterRuntime {
|
|
16
16
|
#useMsw;
|
|
17
17
|
constructor({ plugins, useMsw, ...options } = {}){
|
|
18
18
|
if (useMsw) {
|
|
19
19
|
super({
|
|
20
20
|
plugins: [
|
|
21
21
|
...plugins ?? [],
|
|
22
|
-
(runtime)=>new
|
|
22
|
+
(runtime)=>new __WEBPACK_EXTERNAL_MODULE__msw_src_index_js_df8c7d83__.MswPlugin(runtime)
|
|
23
23
|
],
|
|
24
24
|
...options
|
|
25
25
|
});
|
|
@@ -33,25 +33,25 @@ class FireflyRuntime extends __WEBPACK_EXTERNAL_MODULE__squide_react_router__.Re
|
|
|
33
33
|
}
|
|
34
34
|
}
|
|
35
35
|
registerRequestHandlers(handlers) {
|
|
36
|
-
const mswPlugin = this.getPlugin(
|
|
36
|
+
const mswPlugin = this.getPlugin(__WEBPACK_EXTERNAL_MODULE__msw_src_index_js_df8c7d83__.MswPluginName);
|
|
37
37
|
if (!mswPlugin) {
|
|
38
38
|
throw new Error("[squide] Cannot register the provided MSW request handlers because the runtime hasn't been initialized with MSW. Did you instanciate the FireflyRuntime with the \"useMsw\" option?");
|
|
39
39
|
}
|
|
40
|
-
if ((0,
|
|
40
|
+
if ((0,__WEBPACK_EXTERNAL_MODULE__AppRouterReducer_js_6fa81ecc__.getAreModulesRegistered)()) {
|
|
41
41
|
throw new Error("[squide] Cannot register an MSW request handlers once the modules are registered. Are you trying to register an MSW request handler in a deferred registration function? Only navigation items can be registered in a deferred registration function.");
|
|
42
42
|
}
|
|
43
43
|
mswPlugin.registerRequestHandlers(handlers);
|
|
44
44
|
}
|
|
45
45
|
// Must define a return type otherwise we get an "error TS2742: The inferred type of 'requestHandlers' cannot be named" error.
|
|
46
46
|
get requestHandlers() {
|
|
47
|
-
const mswPlugin = this.getPlugin(
|
|
47
|
+
const mswPlugin = this.getPlugin(__WEBPACK_EXTERNAL_MODULE__msw_src_index_js_df8c7d83__.MswPluginName);
|
|
48
48
|
if (!mswPlugin) {
|
|
49
49
|
throw new Error("[squide] Cannot retrieve MSW request handlers because the runtime hasn't been initialized with MSW. Did you instanciate the FireflyRuntime with the \"useMsw\" option?");
|
|
50
50
|
}
|
|
51
51
|
return mswPlugin.requestHandlers;
|
|
52
52
|
}
|
|
53
53
|
registerRoute(route, options = {}) {
|
|
54
|
-
if ((0,
|
|
54
|
+
if ((0,__WEBPACK_EXTERNAL_MODULE__AppRouterReducer_js_6fa81ecc__.getAreModulesRegistered)()) {
|
|
55
55
|
throw new Error("[squide] Cannot register a route once the modules are registered. Are you trying to register a route in a deferred registration function? Only navigation items can be registered in a deferred registration function.");
|
|
56
56
|
}
|
|
57
57
|
super.registerRoute(route, options);
|
|
@@ -62,3 +62,5 @@ class FireflyRuntime extends __WEBPACK_EXTERNAL_MODULE__squide_react_router__.Re
|
|
|
62
62
|
}
|
|
63
63
|
|
|
64
64
|
export { FireflyRuntime };
|
|
65
|
+
|
|
66
|
+
//# sourceMappingURL=FireflyRuntime.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FireflyRuntime.js","sources":["webpack://@squide/firefly/./src/FireflyRuntime.tsx"],"sourcesContent":["import type { RegisterRouteOptions, RuntimeOptions } from \"@squide/core\";\nimport { MswPlugin, MswPluginName } from \"@squide/msw\";\nimport { ReactRouterRuntime, type Route } from \"@squide/react-router\";\nimport type { RequestHandler } from \"msw\";\nimport { getAreModulesRegistered } from \"./AppRouterReducer.ts\";\n\nexport interface FireflyRuntimeOptions extends RuntimeOptions {\n useMsw?: boolean;\n}\n\nexport class FireflyRuntime extends ReactRouterRuntime {\n readonly #useMsw: boolean;\n\n constructor({ plugins, useMsw, ...options }: FireflyRuntimeOptions = {}) {\n if (useMsw) {\n super({\n plugins: [\n ...(plugins ?? []),\n runtime => new MswPlugin(runtime)\n ],\n ...options\n });\n\n this.#useMsw = true;\n } else {\n super({\n plugins,\n ...options\n });\n\n this.#useMsw = false;\n }\n }\n\n registerRequestHandlers(handlers: RequestHandler[]) {\n const mswPlugin = this.getPlugin(MswPluginName) as MswPlugin;\n\n if (!mswPlugin) {\n throw new Error(\"[squide] Cannot register the provided MSW request handlers because the runtime hasn't been initialized with MSW. Did you instanciate the FireflyRuntime with the \\\"useMsw\\\" option?\");\n }\n\n if (getAreModulesRegistered()) {\n throw new Error(\"[squide] Cannot register an MSW request handlers once the modules are registered. Are you trying to register an MSW request handler in a deferred registration function? Only navigation items can be registered in a deferred registration function.\");\n }\n\n mswPlugin.registerRequestHandlers(handlers);\n }\n\n // Must define a return type otherwise we get an \"error TS2742: The inferred type of 'requestHandlers' cannot be named\" error.\n get requestHandlers(): RequestHandler[] {\n const mswPlugin = this.getPlugin(MswPluginName) as MswPlugin;\n\n if (!mswPlugin) {\n throw new Error(\"[squide] Cannot retrieve MSW request handlers because the runtime hasn't been initialized with MSW. Did you instanciate the FireflyRuntime with the \\\"useMsw\\\" option?\");\n }\n\n return mswPlugin.requestHandlers;\n }\n\n registerRoute(route: Route, options: RegisterRouteOptions = {}) {\n if (getAreModulesRegistered()) {\n throw new Error(\"[squide] Cannot register a route once the modules are registered. Are you trying to register a route in a deferred registration function? Only navigation items can be registered in a deferred registration function.\");\n }\n\n super.registerRoute(route, options);\n }\n\n get isMswEnabled() {\n return this.#useMsw;\n }\n}\n"],"names":["MswPlugin","MswPluginName","ReactRouterRuntime","getAreModulesRegistered","FireflyRuntime","plugins","useMsw","options","runtime","handlers","mswPlugin","Error","route"],"mappings":";;;;;;;;;;;AACuD;AACe;AAEN;AAMzD,MAAMI,uBAAuBF,kFAAkBA;IACzC,OAAO,CAAU;IAE1B,YAAY,EAAEG,OAAO,EAAEC,MAAM,EAAE,GAAGC,SAAgC,GAAG,CAAC,CAAC,CAAE;QACrE,IAAID,QAAQ;YACR,KAAK,CAAC;gBACF,SAAS;uBACDD,WAAW,EAAE;oBACjBG,CAAAA,UAAW,IAAIR,gEAASA,CAACQ;iBAC5B;gBACD,GAAGD,OAAO;YACd;YAEA,IAAI,CAAC,OAAO,GAAG;QACnB,OAAO;YACH,KAAK,CAAC;gBACFF;gBACA,GAAGE,OAAO;YACd;YAEA,IAAI,CAAC,OAAO,GAAG;QACnB;IACJ;IAEA,wBAAwBE,QAA0B,EAAE;QAChD,MAAMC,YAAY,IAAI,CAAC,SAAS,CAACT,oEAAaA;QAE9C,IAAI,CAACS,WAAW;YACZ,MAAM,IAAIC,MAAM;QACpB;QAEA,IAAIR,qFAAuBA,IAAI;YAC3B,MAAM,IAAIQ,MAAM;QACpB;QAEAD,UAAU,uBAAuB,CAACD;IACtC;IAEA,8HAA8H;IAC9H,IAAI,kBAAoC;QACpC,MAAMC,YAAY,IAAI,CAAC,SAAS,CAACT,oEAAaA;QAE9C,IAAI,CAACS,WAAW;YACZ,MAAM,IAAIC,MAAM;QACpB;QAEA,OAAOD,UAAU,eAAe;IACpC;IAEA,cAAcE,KAAY,EAAEL,UAAgC,CAAC,CAAC,EAAE;QAC5D,IAAIJ,qFAAuBA,IAAI;YAC3B,MAAM,IAAIQ,MAAM;QACpB;QAEA,KAAK,CAAC,cAAcC,OAAOL;IAC/B;IAEA,IAAI,eAAe;QACf,OAAO,IAAI,CAAC,OAAO;IACvB;AACJ"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GlobalDataQueriesError.js","sources":["webpack://@squide/firefly/./src/GlobalDataQueriesError.ts"],"sourcesContent":["export class GlobalDataQueriesError extends Error {\n readonly #errors: Error[];\n\n constructor(message: string, errors: Error[]) {\n super(message);\n\n this.#errors = errors;\n }\n\n get errors() {\n return this.#errors;\n }\n}\n\nexport function isGlobalDataQueriesError(error?: unknown): error is GlobalDataQueriesError {\n return error !== undefined && error !== null && error instanceof GlobalDataQueriesError;\n}\n"],"names":["GlobalDataQueriesError","Error","message","errors","isGlobalDataQueriesError","error","undefined"],"mappings":";;AAAO,MAAMA,+BAA+BC;IAC/B,OAAO,CAAU;IAE1B,YAAYC,OAAe,EAAEC,MAAe,CAAE;QAC1C,KAAK,CAACD;QAEN,IAAI,CAAC,OAAO,GAAGC;IACnB;IAEA,IAAI,SAAS;QACT,OAAO,IAAI,CAAC,OAAO;IACvB;AACJ;AAEO,SAASC,yBAAyBC,KAAe;IACpD,OAAOA,UAAUC,aAAaD,UAAU,QAAQA,iBAAiBL;AACrE"}
|
package/dist/RootRoute.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__ from "react/jsx-runtime";
|
|
2
2
|
import * as __WEBPACK_EXTERNAL_MODULE_react__ from "react";
|
|
3
|
-
import * as
|
|
4
|
-
import * as
|
|
5
|
-
import * as
|
|
3
|
+
import * as __WEBPACK_EXTERNAL_MODULE_react_router_dom_5358f3fe__ from "react-router-dom";
|
|
4
|
+
import * as __WEBPACK_EXTERNAL_MODULE__AppRouterContext_js_3c4a3c33__ from "./AppRouterContext.js";
|
|
5
|
+
import * as __WEBPACK_EXTERNAL_MODULE__useIsActiveRouteProtected_js_d94f4832__ from "./useIsActiveRouteProtected.js";
|
|
6
6
|
|
|
7
7
|
;// CONCATENATED MODULE: external "react/jsx-runtime"
|
|
8
8
|
|
|
@@ -21,9 +21,9 @@ import * as __WEBPACK_EXTERNAL_MODULE__useIsActiveRouteProtected_js__ from "./us
|
|
|
21
21
|
|
|
22
22
|
|
|
23
23
|
function RootRoute() {
|
|
24
|
-
const state = (0,
|
|
25
|
-
const isActiveRouteProtected = (0,
|
|
26
|
-
const dispatch = (0,
|
|
24
|
+
const state = (0,__WEBPACK_EXTERNAL_MODULE__AppRouterContext_js_3c4a3c33__.useAppRouterState)();
|
|
25
|
+
const isActiveRouteProtected = (0,__WEBPACK_EXTERNAL_MODULE__useIsActiveRouteProtected_js_d94f4832__.useIsActiveRouteProtected)(state.areModulesReady);
|
|
26
|
+
const dispatch = (0,__WEBPACK_EXTERNAL_MODULE__AppRouterContext_js_3c4a3c33__.useAppRouterDispatcher)();
|
|
27
27
|
(0,__WEBPACK_EXTERNAL_MODULE_react__.useEffect)(()=>{
|
|
28
28
|
// Dispatching the active route visibility must be done in a route because React Router's useLocation
|
|
29
29
|
// hook throws if it's not called from a child of the router component.
|
|
@@ -40,7 +40,9 @@ function RootRoute() {
|
|
|
40
40
|
isActiveRouteProtected,
|
|
41
41
|
dispatch
|
|
42
42
|
]);
|
|
43
|
-
return /*#__PURE__*/ (0,
|
|
43
|
+
return /*#__PURE__*/ (0,__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE_react_router_dom_5358f3fe__.Outlet, {});
|
|
44
44
|
}
|
|
45
45
|
|
|
46
46
|
export { RootRoute };
|
|
47
|
+
|
|
48
|
+
//# sourceMappingURL=RootRoute.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RootRoute.js","sources":["webpack://@squide/firefly/./src/RootRoute.tsx"],"sourcesContent":["import { useEffect } from \"react\";\nimport { Outlet } from \"react-router-dom\";\nimport { useAppRouterDispatcher, useAppRouterState } from \"./AppRouterContext.ts\";\nimport { useIsActiveRouteProtected } from \"./useIsActiveRouteProtected.ts\";\n\nexport function RootRoute() {\n const state = useAppRouterState();\n const isActiveRouteProtected = useIsActiveRouteProtected(state.areModulesReady);\n\n const dispatch = useAppRouterDispatcher();\n\n useEffect(() => {\n // Dispatching the active route visibility must be done in a route because React Router's useLocation\n // hook throws if it's not called from a child of the router component.\n if (isActiveRouteProtected) {\n dispatch({ type: \"active-route-is-protected\" });\n } else {\n dispatch({ type: \"active-route-is-public\" });\n }\n }, [isActiveRouteProtected, dispatch]);\n\n return (\n <Outlet />\n );\n}\n"],"names":["useEffect","Outlet","useAppRouterDispatcher","useAppRouterState","useIsActiveRouteProtected","RootRoute","state","isActiveRouteProtected","dispatch"],"mappings":";;;;;;;;;;;;;;;;;;AAAkC;AACQ;AACwC;AACP;AAEpE,SAASK;IACZ,MAAMC,QAAQH,+EAAiBA;IAC/B,MAAMI,yBAAyBH,gGAAyBA,CAACE,MAAM,eAAe;IAE9E,MAAME,WAAWN,oFAAsBA;IAEvCF,+CAASA,CAAC;QACN,qGAAqG;QACrG,uEAAuE;QACvE,IAAIO,wBAAwB;YACxBC,SAAS;gBAAE,MAAM;YAA4B;QACjD,OAAO;YACHA,SAAS;gBAAE,MAAM;YAAyB;QAC9C;IACJ,GAAG;QAACD;QAAwBC;KAAS;IAErC,qBACI,+DAACP,4DAAMA;AAEf"}
|
package/dist/boostrap.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import * as
|
|
2
|
-
import * as
|
|
3
|
-
import * as
|
|
1
|
+
import * as __WEBPACK_EXTERNAL_MODULE__core_src_index_js_d19dd8a6__ from "../../core/src/index.js";
|
|
2
|
+
import * as __WEBPACK_EXTERNAL_MODULE__module_federation_src_index_js_e113b625__ from "../../module-federation/src/index.js";
|
|
3
|
+
import * as __WEBPACK_EXTERNAL_MODULE__msw_src_index_js_df8c7d83__ from "../../msw/src/index.js";
|
|
4
4
|
|
|
5
|
-
;// CONCATENATED MODULE: external "
|
|
5
|
+
;// CONCATENATED MODULE: external "../../core/src/index.js"
|
|
6
6
|
|
|
7
|
-
;// CONCATENATED MODULE: external "
|
|
7
|
+
;// CONCATENATED MODULE: external "../../module-federation/src/index.js"
|
|
8
8
|
|
|
9
|
-
;// CONCATENATED MODULE: external "
|
|
9
|
+
;// CONCATENATED MODULE: external "../../msw/src/index.js"
|
|
10
10
|
|
|
11
11
|
;// CONCATENATED MODULE: ./src/boostrap.ts?__rslib_entry__
|
|
12
12
|
|
|
@@ -22,19 +22,19 @@ async function bootstrap(runtime, options = {}) {
|
|
|
22
22
|
runtime.eventBus.dispatch(ApplicationBootstrappingStartedEvent);
|
|
23
23
|
let localModuleErrors = [];
|
|
24
24
|
let remoteModuleErrors = [];
|
|
25
|
-
localModuleErrors = await (0,
|
|
25
|
+
localModuleErrors = await (0,__WEBPACK_EXTERNAL_MODULE__core_src_index_js_d19dd8a6__.registerLocalModules)(localModules, runtime, {
|
|
26
26
|
context
|
|
27
27
|
});
|
|
28
|
-
remoteModuleErrors = await (0,
|
|
28
|
+
remoteModuleErrors = await (0,__WEBPACK_EXTERNAL_MODULE__module_federation_src_index_js_e113b625__.registerRemoteModules)(remotes, runtime, {
|
|
29
29
|
context
|
|
30
30
|
});
|
|
31
31
|
if (runtime.isMswEnabled) {
|
|
32
|
-
if (!(0,
|
|
32
|
+
if (!(0,__WEBPACK_EXTERNAL_MODULE__core_src_index_js_d19dd8a6__.isFunction)(startMsw)) {
|
|
33
33
|
throw new Error("[squide] When MSW is enabled, the \"startMsw\" function must be provided.");
|
|
34
34
|
}
|
|
35
35
|
try {
|
|
36
36
|
await startMsw(runtime);
|
|
37
|
-
(0,
|
|
37
|
+
(0,__WEBPACK_EXTERNAL_MODULE__msw_src_index_js_df8c7d83__.setMswAsReady)();
|
|
38
38
|
} catch (error) {
|
|
39
39
|
runtime.logger.debug("[squide] An error occured while starting MSW.", error);
|
|
40
40
|
}
|
|
@@ -50,3 +50,5 @@ function __resetBootstrapGuard() {
|
|
|
50
50
|
}
|
|
51
51
|
|
|
52
52
|
export { ApplicationBootstrappingStartedEvent, __resetBootstrapGuard, bootstrap };
|
|
53
|
+
|
|
54
|
+
//# sourceMappingURL=boostrap.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"boostrap.js","sources":["webpack://@squide/firefly/./src/boostrap.ts"],"sourcesContent":["import { isFunction, registerLocalModules, type ModuleRegisterFunction, type ModuleRegistrationError, type RegisterModulesOptions } from \"@squide/core\";\nimport { registerRemoteModules, type RemoteDefinition, type RemoteModuleRegistrationError } from \"@squide/module-federation\";\nimport { setMswAsReady } from \"@squide/msw\";\nimport type { FireflyRuntime } from \"./FireflyRuntime.tsx\";\n\nexport const ApplicationBootstrappingStartedEvent = \"squide-app-bootstrapping-started\";\n\nlet isBootstrapped = false;\n\nexport type StartMswFunction<TRuntime = FireflyRuntime> = (runtime: TRuntime) => Promise<void>;\n\nexport interface BootstrapAppOptions<TRuntime extends FireflyRuntime = FireflyRuntime, TContext = unknown, TData = unknown> extends RegisterModulesOptions<TContext> {\n localModules?: ModuleRegisterFunction<TRuntime, TContext, TData>[];\n remotes?: RemoteDefinition[];\n startMsw?: StartMswFunction<TRuntime>;\n}\n\nexport async function bootstrap<TRuntime extends FireflyRuntime = FireflyRuntime, TContext = unknown, TData = unknown>(runtime: TRuntime, options: BootstrapAppOptions<TRuntime, TContext, TData> = {}) {\n const {\n localModules = [],\n remotes = [],\n context,\n startMsw\n } = options;\n\n if (isBootstrapped) {\n throw new Error(\"[squide] A squide application can only be bootstrapped once. Did you call the \\\"bootstrap\\\" function twice?\");\n }\n\n runtime.eventBus.dispatch(ApplicationBootstrappingStartedEvent);\n\n let localModuleErrors: ModuleRegistrationError[] = [];\n let remoteModuleErrors: RemoteModuleRegistrationError[] = [];\n\n localModuleErrors = await registerLocalModules<TRuntime, TContext, TData>(localModules, runtime, { context });\n remoteModuleErrors = await registerRemoteModules(remotes, runtime, { context });\n\n if (runtime.isMswEnabled) {\n if (!isFunction(startMsw)) {\n throw new Error(\"[squide] When MSW is enabled, the \\\"startMsw\\\" function must be provided.\");\n }\n\n try {\n await startMsw(runtime);\n\n setMswAsReady();\n } catch (error: unknown) {\n runtime.logger.debug(\"[squide] An error occured while starting MSW.\", error);\n }\n }\n\n isBootstrapped = true;\n\n return {\n localModuleErrors,\n remoteModuleErrors\n };\n}\n\nexport function __resetBootstrapGuard() {\n isBootstrapped = false;\n}\n"],"names":["isFunction","registerLocalModules","registerRemoteModules","setMswAsReady","ApplicationBootstrappingStartedEvent","isBootstrapped","bootstrap","runtime","options","localModules","remotes","context","startMsw","Error","localModuleErrors","remoteModuleErrors","error","__resetBootstrapGuard"],"mappings":";;;;;;;;;;;AAAwJ;AAC3B;AACjF;AAGrC,MAAMI,uCAAuC,mCAAmC;AAEvF,IAAIC,iBAAiB;AAUd,eAAeC,UAAiGC,OAAiB,EAAEC,UAA0D,CAAC,CAAC;IAClM,MAAM,EACFC,eAAe,EAAE,EACjBC,UAAU,EAAE,EACZC,OAAO,EACPC,QAAQ,EACX,GAAGJ;IAEJ,IAAIH,gBAAgB;QAChB,MAAM,IAAIQ,MAAM;IACpB;IAEAN,QAAQ,QAAQ,CAAC,QAAQ,CAACH;IAE1B,IAAIU,oBAA+C,EAAE;IACrD,IAAIC,qBAAsD,EAAE;IAE5DD,oBAAoB,MAAMb,gFAAoBA,CAA4BQ,cAAcF,SAAS;QAAEI;IAAQ;IAC3GI,qBAAqB,MAAMb,8FAAqBA,CAACQ,SAASH,SAAS;QAAEI;IAAQ;IAE7E,IAAIJ,QAAQ,YAAY,EAAE;QACtB,IAAI,CAACP,sEAAUA,CAACY,WAAW;YACvB,MAAM,IAAIC,MAAM;QACpB;QAEA,IAAI;YACA,MAAMD,SAASL;YAEfJ,wEAAaA;QACjB,EAAE,OAAOa,OAAgB;YACrBT,QAAQ,MAAM,CAAC,KAAK,CAAC,iDAAiDS;QAC1E;IACJ;IAEAX,iBAAiB;IAEjB,OAAO;QACHS;QACAC;IACJ;AACJ;AAEO,SAASE;IACZZ,iBAAiB;AACrB"}
|
package/dist/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
export * from "
|
|
2
|
-
export * from "
|
|
3
|
-
export * from "
|
|
4
|
-
export * from "
|
|
1
|
+
export * from "../../core/src/index.js";
|
|
2
|
+
export * from "../../module-federation/src/index.js";
|
|
3
|
+
export * from "../../msw/src/index.js";
|
|
4
|
+
export * from "../../react-router/src/index.js";
|
|
5
5
|
export * from "./FireflyRuntime.js";
|
|
6
6
|
export * from "./AppRouter.js";
|
|
7
7
|
export * from "./AppRouterContext.js";
|
|
@@ -47,3 +47,5 @@ export * from "./boostrap.js";
|
|
|
47
47
|
|
|
48
48
|
|
|
49
49
|
|
|
50
|
+
|
|
51
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["webpack://@squide/firefly/./src/index.ts"],"sourcesContent":["export * from \"@squide/core\";\nexport * from \"@squide/module-federation\";\nexport * from \"@squide/msw\";\nexport * from \"@squide/react-router\";\n\nexport * from \"./FireflyRuntime.tsx\";\n\nexport * from \"./AppRouter.tsx\";\nexport * from \"./AppRouterContext.ts\";\nexport * from \"./AppRouterReducer.ts\";\n\nexport * from \"./GlobalDataQueriesError.ts\";\nexport * from \"./useCanFetchProtectedData.ts\";\nexport * from \"./useCanFetchPublicData.ts\";\nexport * from \"./useCanRegisterDeferredRegistrations.ts\";\nexport * from \"./useCanUpdateDeferredRegistrations.ts\";\nexport * from \"./useDeferredRegistrations.ts\";\nexport * from \"./useIsActiveRouteProtected.ts\";\nexport * from \"./useIsBootstrapping.ts\";\nexport * from \"./useNavigationItems.ts\";\nexport * from \"./useProtectedDataQueries.ts\";\nexport * from \"./usePublicDataQueries.ts\";\nexport * from \"./useRegisterDeferredRegistrations.ts\";\nexport * from \"./useStrictRegistrationMode.ts\";\nexport * from \"./useUpdateDeferredRegistrations.ts\";\n\nexport * from \"./boostrap.ts\";\n\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAA6B;AACa;AACd;AACS;AAEA;AAEL;AACM;AACA;AAEM;AACE;AACH;AACc;AACF;AACT;AACC;AACP;AACA;AACK;AACH;AACY;AACP;AACK;AAEtB"}
|