@openedx/frontend-base 1.0.0-alpha.3 → 1.0.0-alpha.31

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.
Files changed (806) hide show
  1. package/README.md +27 -0
  2. package/{index.ts → dist/index.d.ts} +0 -3
  3. package/dist/index.js +4 -0
  4. package/dist/index.js.map +1 -0
  5. package/dist/runtime/analytics/MockAnalyticsService.d.ts +50 -0
  6. package/dist/runtime/analytics/MockAnalyticsService.js +64 -0
  7. package/dist/runtime/analytics/MockAnalyticsService.js.map +1 -0
  8. package/dist/runtime/analytics/SegmentAnalyticsService.d.ts +64 -0
  9. package/dist/runtime/analytics/SegmentAnalyticsService.js +218 -0
  10. package/dist/runtime/analytics/SegmentAnalyticsService.js.map +1 -0
  11. package/dist/runtime/analytics/index.d.ts +3 -0
  12. package/dist/runtime/analytics/index.js +4 -0
  13. package/dist/runtime/analytics/index.js.map +1 -0
  14. package/dist/runtime/analytics/interface.d.ts +53 -0
  15. package/{runtime → dist/runtime}/analytics/interface.js +26 -38
  16. package/dist/runtime/analytics/interface.js.map +1 -0
  17. package/dist/runtime/auth/AxiosCsrfTokenService.d.ts +10 -0
  18. package/dist/runtime/auth/AxiosCsrfTokenService.js +64 -0
  19. package/dist/runtime/auth/AxiosCsrfTokenService.js.map +1 -0
  20. package/dist/runtime/auth/AxiosJwtAuthService.d.ts +182 -0
  21. package/dist/runtime/auth/AxiosJwtAuthService.js +339 -0
  22. package/dist/runtime/auth/AxiosJwtAuthService.js.map +1 -0
  23. package/dist/runtime/auth/AxiosJwtTokenService.d.ts +16 -0
  24. package/dist/runtime/auth/AxiosJwtTokenService.js +130 -0
  25. package/dist/runtime/auth/AxiosJwtTokenService.js.map +1 -0
  26. package/dist/runtime/auth/LocalForageCache.d.ts +7 -0
  27. package/dist/runtime/auth/LocalForageCache.js +78 -0
  28. package/dist/runtime/auth/LocalForageCache.js.map +1 -0
  29. package/dist/runtime/auth/MockAuthService.d.ts +209 -0
  30. package/dist/runtime/auth/MockAuthService.js +256 -0
  31. package/dist/runtime/auth/MockAuthService.js.map +1 -0
  32. package/dist/runtime/auth/index.d.ts +3 -0
  33. package/dist/runtime/auth/index.js +4 -0
  34. package/dist/runtime/auth/index.js.map +1 -0
  35. package/dist/runtime/auth/interceptors/createCsrfTokenProviderInterceptor.d.ts +2 -0
  36. package/dist/runtime/auth/interceptors/createCsrfTokenProviderInterceptor.js +42 -0
  37. package/dist/runtime/auth/interceptors/createCsrfTokenProviderInterceptor.js.map +1 -0
  38. package/dist/runtime/auth/interceptors/createJwtTokenProviderInterceptor.d.ts +2 -0
  39. package/dist/runtime/auth/interceptors/createJwtTokenProviderInterceptor.js +40 -0
  40. package/dist/runtime/auth/interceptors/createJwtTokenProviderInterceptor.js.map +1 -0
  41. package/dist/runtime/auth/interceptors/createProcessAxiosRequestErrorInterceptor.d.ts +2 -0
  42. package/dist/runtime/auth/interceptors/createProcessAxiosRequestErrorInterceptor.js +26 -0
  43. package/dist/runtime/auth/interceptors/createProcessAxiosRequestErrorInterceptor.js.map +1 -0
  44. package/dist/runtime/auth/interceptors/createRetryInterceptor.d.ts +3 -0
  45. package/dist/runtime/auth/interceptors/createRetryInterceptor.js +67 -0
  46. package/dist/runtime/auth/interceptors/createRetryInterceptor.js.map +1 -0
  47. package/dist/runtime/auth/interface.d.ts +133 -0
  48. package/{runtime → dist/runtime}/auth/interface.js +65 -72
  49. package/dist/runtime/auth/interface.js.map +1 -0
  50. package/dist/runtime/auth/utils.d.ts +13 -0
  51. package/dist/runtime/auth/utils.js +66 -0
  52. package/dist/runtime/auth/utils.js.map +1 -0
  53. package/dist/runtime/babel.config.d.ts +2 -0
  54. package/{runtime → dist/runtime}/babel.config.js +2 -1
  55. package/dist/runtime/babel.config.js.map +1 -0
  56. package/{runtime/config/index.ts → dist/runtime/config/index.d.ts} +45 -124
  57. package/dist/runtime/config/index.js +359 -0
  58. package/dist/runtime/config/index.js.map +1 -0
  59. package/dist/runtime/constants.d.ts +57 -0
  60. package/{runtime/constants.ts → dist/runtime/constants.js} +1 -11
  61. package/dist/runtime/constants.js.map +1 -0
  62. package/dist/runtime/i18n/index.d.ts +3 -0
  63. package/{runtime → dist/runtime}/i18n/index.js +4 -44
  64. package/dist/runtime/i18n/index.js.map +1 -0
  65. package/dist/runtime/i18n/injectIntlWithShim.d.ts +11 -0
  66. package/dist/runtime/i18n/injectIntlWithShim.js +45 -0
  67. package/dist/runtime/i18n/injectIntlWithShim.js.map +1 -0
  68. package/dist/runtime/i18n/lib.d.ts +113 -0
  69. package/dist/runtime/i18n/lib.js +223 -0
  70. package/dist/runtime/i18n/lib.js.map +1 -0
  71. package/dist/runtime/index.d.ts +14 -0
  72. package/dist/runtime/index.js +15 -0
  73. package/dist/runtime/index.js.map +1 -0
  74. package/dist/runtime/initialize.d.ts +87 -0
  75. package/dist/runtime/initialize.js +305 -0
  76. package/dist/runtime/initialize.js.map +1 -0
  77. package/dist/runtime/jest.config.d.ts +16 -0
  78. package/dist/runtime/jest.config.js +34 -0
  79. package/dist/runtime/jest.config.js.map +1 -0
  80. package/dist/runtime/logging/MockLoggingService.d.ts +28 -0
  81. package/dist/runtime/logging/MockLoggingService.js +31 -0
  82. package/dist/runtime/logging/MockLoggingService.js.map +1 -0
  83. package/dist/runtime/logging/NewRelicLoggingService.d.ts +67 -0
  84. package/dist/runtime/logging/NewRelicLoggingService.js +175 -0
  85. package/dist/runtime/logging/NewRelicLoggingService.js.map +1 -0
  86. package/{runtime/logging/index.ts → dist/runtime/logging/index.d.ts} +1 -7
  87. package/dist/runtime/logging/index.js +4 -0
  88. package/dist/runtime/logging/index.js.map +1 -0
  89. package/dist/runtime/logging/interface.d.ts +38 -0
  90. package/{runtime → dist/runtime}/logging/interface.js +16 -26
  91. package/dist/runtime/logging/interface.js.map +1 -0
  92. package/dist/runtime/logging/types.d.ts +4 -0
  93. package/dist/runtime/logging/types.js +2 -0
  94. package/dist/runtime/logging/types.js.map +1 -0
  95. package/dist/runtime/react/AuthenticatedPageRoute.d.ts +30 -0
  96. package/{runtime/react/AuthenticatedPageRoute.jsx → dist/runtime/react/AuthenticatedPageRoute.js} +13 -18
  97. package/dist/runtime/react/AuthenticatedPageRoute.js.map +1 -0
  98. package/dist/runtime/react/CombinedAppProvider.d.ts +6 -0
  99. package/dist/runtime/react/CombinedAppProvider.js +24 -0
  100. package/dist/runtime/react/CombinedAppProvider.js.map +1 -0
  101. package/dist/runtime/react/CurrentAppContext.d.ts +20 -0
  102. package/{runtime/react/CurrentAppContext.tsx → dist/runtime/react/CurrentAppContext.js} +3 -7
  103. package/dist/runtime/react/CurrentAppContext.js.map +1 -0
  104. package/dist/runtime/react/CurrentAppProvider.d.ts +23 -0
  105. package/dist/runtime/react/CurrentAppProvider.js +33 -0
  106. package/dist/runtime/react/CurrentAppProvider.js.map +1 -0
  107. package/dist/runtime/react/Divider.d.ts +1 -0
  108. package/dist/runtime/react/Divider.js +5 -0
  109. package/dist/runtime/react/Divider.js.map +1 -0
  110. package/dist/runtime/react/ErrorBoundary.d.ts +32 -0
  111. package/dist/runtime/react/ErrorBoundary.js +40 -0
  112. package/dist/runtime/react/ErrorBoundary.js.map +1 -0
  113. package/dist/runtime/react/ErrorPage.d.ts +17 -0
  114. package/dist/runtime/react/ErrorPage.js +29 -0
  115. package/dist/runtime/react/ErrorPage.js.map +1 -0
  116. package/dist/runtime/react/LoginRedirect.d.ts +8 -0
  117. package/{runtime/react/LoginRedirect.jsx → dist/runtime/react/LoginRedirect.js} +5 -5
  118. package/dist/runtime/react/LoginRedirect.js.map +1 -0
  119. package/dist/runtime/react/NotFoundPage.d.ts +2 -0
  120. package/dist/runtime/react/NotFoundPage.js +14 -0
  121. package/dist/runtime/react/NotFoundPage.js.map +1 -0
  122. package/dist/runtime/react/PageWrap.d.ts +8 -0
  123. package/{runtime/react/PageWrap.jsx → dist/runtime/react/PageWrap.js} +7 -10
  124. package/dist/runtime/react/PageWrap.js.map +1 -0
  125. package/dist/runtime/react/SiteContext.d.ts +24 -0
  126. package/{runtime/react/SiteContext.tsx → dist/runtime/react/SiteContext.js} +5 -11
  127. package/dist/runtime/react/SiteContext.js.map +1 -0
  128. package/dist/runtime/react/SiteProvider.d.ts +29 -0
  129. package/dist/runtime/react/SiteProvider.js +69 -0
  130. package/dist/runtime/react/SiteProvider.js.map +1 -0
  131. package/dist/runtime/react/constants.d.ts +3 -0
  132. package/dist/runtime/react/constants.js +4 -0
  133. package/dist/runtime/react/constants.js.map +1 -0
  134. package/dist/runtime/react/hooks/index.d.ts +7 -0
  135. package/dist/runtime/react/hooks/index.js +8 -0
  136. package/dist/runtime/react/hooks/index.js.map +1 -0
  137. package/dist/runtime/react/hooks/theme/index.d.ts +2 -0
  138. package/dist/runtime/react/hooks/theme/index.js +3 -0
  139. package/dist/runtime/react/hooks/theme/index.js.map +1 -0
  140. package/dist/runtime/react/hooks/theme/useTheme.d.ts +35 -0
  141. package/dist/runtime/react/hooks/theme/useTheme.js +153 -0
  142. package/dist/runtime/react/hooks/theme/useTheme.js.map +1 -0
  143. package/dist/runtime/react/hooks/theme/useThemeConfig.d.ts +16 -0
  144. package/dist/runtime/react/hooks/theme/useThemeConfig.js +29 -0
  145. package/dist/runtime/react/hooks/theme/useThemeConfig.js.map +1 -0
  146. package/dist/runtime/react/hooks/theme/useThemeCore.d.ts +10 -0
  147. package/dist/runtime/react/hooks/theme/useThemeCore.js +40 -0
  148. package/dist/runtime/react/hooks/theme/useThemeCore.js.map +1 -0
  149. package/dist/runtime/react/hooks/theme/useThemeVariants.d.ts +17 -0
  150. package/dist/runtime/react/hooks/theme/useThemeVariants.js +90 -0
  151. package/dist/runtime/react/hooks/theme/useThemeVariants.js.map +1 -0
  152. package/dist/runtime/react/hooks/theme/useTrackColorSchemeChoice.d.ts +8 -0
  153. package/dist/runtime/react/hooks/theme/useTrackColorSchemeChoice.js +30 -0
  154. package/dist/runtime/react/hooks/theme/useTrackColorSchemeChoice.js.map +1 -0
  155. package/dist/runtime/react/hooks/theme/utils.d.ts +6 -0
  156. package/dist/runtime/react/hooks/theme/utils.js +11 -0
  157. package/dist/runtime/react/hooks/theme/utils.js.map +1 -0
  158. package/dist/runtime/react/hooks/useActiveRoles.d.ts +2 -0
  159. package/dist/runtime/react/hooks/useActiveRoles.js +13 -0
  160. package/dist/runtime/react/hooks/useActiveRoles.js.map +1 -0
  161. package/dist/runtime/react/hooks/useActiveRouteRoleWatcher.d.ts +2 -0
  162. package/dist/runtime/react/hooks/useActiveRouteRoleWatcher.js +28 -0
  163. package/dist/runtime/react/hooks/useActiveRouteRoleWatcher.js.map +1 -0
  164. package/dist/runtime/react/hooks/useAppConfig.d.ts +2 -0
  165. package/dist/runtime/react/hooks/useAppConfig.js +8 -0
  166. package/dist/runtime/react/hooks/useAppConfig.js.map +1 -0
  167. package/dist/runtime/react/hooks/useAuthenticatedUser.d.ts +2 -0
  168. package/dist/runtime/react/hooks/useAuthenticatedUser.js +8 -0
  169. package/dist/runtime/react/hooks/useAuthenticatedUser.js.map +1 -0
  170. package/dist/runtime/react/hooks/useSiteConfig.d.ts +2 -0
  171. package/dist/runtime/react/hooks/useSiteConfig.js +8 -0
  172. package/dist/runtime/react/hooks/useSiteConfig.js.map +1 -0
  173. package/dist/runtime/react/hooks/useSiteEvent.d.ts +12 -0
  174. package/dist/runtime/react/hooks/useSiteEvent.js +22 -0
  175. package/dist/runtime/react/hooks/useSiteEvent.js.map +1 -0
  176. package/{runtime/react/index.ts → dist/runtime/react/index.d.ts} +1 -1
  177. package/dist/runtime/react/index.js +20 -0
  178. package/dist/runtime/react/index.js.map +1 -0
  179. package/dist/runtime/react/reducers.d.ts +11 -0
  180. package/dist/runtime/react/reducers.js +28 -0
  181. package/dist/runtime/react/reducers.js.map +1 -0
  182. package/dist/runtime/routing/authenticatedLoader.d.ts +2 -0
  183. package/dist/runtime/routing/authenticatedLoader.js +27 -0
  184. package/dist/runtime/routing/authenticatedLoader.js.map +1 -0
  185. package/dist/runtime/routing/index.d.ts +2 -0
  186. package/dist/runtime/routing/index.js +3 -0
  187. package/dist/runtime/routing/index.js.map +1 -0
  188. package/dist/runtime/routing/utils.d.ts +4 -0
  189. package/dist/runtime/routing/utils.js +43 -0
  190. package/dist/runtime/routing/utils.js.map +1 -0
  191. package/dist/runtime/scripts/index.d.ts +1 -0
  192. package/dist/runtime/scripts/index.js +14 -0
  193. package/dist/runtime/scripts/index.js.map +1 -0
  194. package/dist/runtime/setupTest.d.ts +1 -0
  195. package/dist/runtime/setupTest.js +12 -0
  196. package/dist/runtime/setupTest.js.map +1 -0
  197. package/dist/runtime/slots/Slot.d.ts +10 -0
  198. package/dist/runtime/slots/Slot.js +35 -0
  199. package/dist/runtime/slots/Slot.js.map +1 -0
  200. package/dist/runtime/slots/SlotContext.d.ts +8 -0
  201. package/dist/runtime/slots/SlotContext.js +7 -0
  202. package/dist/runtime/slots/SlotContext.js.map +1 -0
  203. package/dist/runtime/slots/hooks.d.ts +13 -0
  204. package/dist/runtime/slots/hooks.js +29 -0
  205. package/dist/runtime/slots/hooks.js.map +1 -0
  206. package/dist/runtime/slots/index.js +7 -0
  207. package/dist/runtime/slots/index.js.map +1 -0
  208. package/dist/runtime/slots/layout/DefaultSlotLayout.d.ts +1 -0
  209. package/dist/runtime/slots/layout/DefaultSlotLayout.js +7 -0
  210. package/dist/runtime/slots/layout/DefaultSlotLayout.js.map +1 -0
  211. package/dist/runtime/slots/layout/hooks.d.ts +10 -0
  212. package/dist/runtime/slots/layout/hooks.js +57 -0
  213. package/dist/runtime/slots/layout/hooks.js.map +1 -0
  214. package/dist/runtime/slots/layout/index.js +5 -0
  215. package/dist/runtime/slots/layout/index.js.map +1 -0
  216. package/{runtime/slots/layout/types.ts → dist/runtime/slots/layout/types.d.ts} +10 -25
  217. package/dist/runtime/slots/layout/types.js +12 -0
  218. package/dist/runtime/slots/layout/types.js.map +1 -0
  219. package/dist/runtime/slots/layout/utils.d.ts +5 -0
  220. package/dist/runtime/slots/layout/utils.js +11 -0
  221. package/dist/runtime/slots/layout/utils.js.map +1 -0
  222. package/{runtime/slots/types.ts → dist/runtime/slots/types.d.ts} +6 -12
  223. package/dist/runtime/slots/types.js +7 -0
  224. package/dist/runtime/slots/types.js.map +1 -0
  225. package/dist/runtime/slots/utils.d.ts +3 -0
  226. package/dist/runtime/slots/utils.js +66 -0
  227. package/dist/runtime/slots/utils.js.map +1 -0
  228. package/dist/runtime/slots/widget/WidgetContext.d.ts +6 -0
  229. package/dist/runtime/slots/widget/WidgetContext.js +8 -0
  230. package/dist/runtime/slots/widget/WidgetContext.js.map +1 -0
  231. package/dist/runtime/slots/widget/WidgetProvider.d.ts +9 -0
  232. package/dist/runtime/slots/widget/WidgetProvider.js +18 -0
  233. package/dist/runtime/slots/widget/WidgetProvider.js.map +1 -0
  234. package/dist/runtime/slots/widget/hooks.d.ts +13 -0
  235. package/dist/runtime/slots/widget/hooks.js +104 -0
  236. package/dist/runtime/slots/widget/hooks.js.map +1 -0
  237. package/dist/runtime/slots/widget/iframe/IFrameContentWrapper.d.ts +10 -0
  238. package/dist/runtime/slots/widget/iframe/IFrameContentWrapper.js +42 -0
  239. package/dist/runtime/slots/widget/iframe/IFrameContentWrapper.js.map +1 -0
  240. package/dist/runtime/slots/widget/iframe/IFrameContentWrapper.messages.d.ts +13 -0
  241. package/dist/runtime/slots/widget/iframe/IFrameContentWrapper.messages.js +15 -0
  242. package/dist/runtime/slots/widget/iframe/IFrameContentWrapper.messages.js.map +1 -0
  243. package/dist/runtime/slots/widget/iframe/IFrameWidget.d.ts +6 -0
  244. package/dist/runtime/slots/widget/iframe/IFrameWidget.js +32 -0
  245. package/dist/runtime/slots/widget/iframe/IFrameWidget.js.map +1 -0
  246. package/dist/runtime/slots/widget/iframe/constants.d.ts +15 -0
  247. package/{runtime/slots/widget/iframe/constants.ts → dist/runtime/slots/widget/iframe/constants.js} +2 -4
  248. package/dist/runtime/slots/widget/iframe/constants.js.map +1 -0
  249. package/dist/runtime/slots/widget/iframe/hooks.d.ts +64 -0
  250. package/dist/runtime/slots/widget/iframe/hooks.js +144 -0
  251. package/dist/runtime/slots/widget/iframe/hooks.js.map +1 -0
  252. package/{runtime/slots/widget/iframe/index.ts → dist/runtime/slots/widget/iframe/index.d.ts} +1 -4
  253. package/dist/runtime/slots/widget/iframe/index.js +3 -0
  254. package/dist/runtime/slots/widget/iframe/index.js.map +1 -0
  255. package/{runtime/slots/widget/iframe/types.ts → dist/runtime/slots/widget/iframe/types.d.ts} +2 -4
  256. package/dist/runtime/slots/widget/iframe/types.js +3 -0
  257. package/dist/runtime/slots/widget/iframe/types.js.map +1 -0
  258. package/dist/runtime/slots/widget/index.js +6 -0
  259. package/dist/runtime/slots/widget/index.js.map +1 -0
  260. package/{runtime/slots/widget/types.ts → dist/runtime/slots/widget/types.d.ts} +58 -84
  261. package/dist/runtime/slots/widget/types.js +41 -0
  262. package/dist/runtime/slots/widget/types.js.map +1 -0
  263. package/dist/runtime/slots/widget/utils.d.ts +22 -0
  264. package/dist/runtime/slots/widget/utils.js +184 -0
  265. package/dist/runtime/slots/widget/utils.js.map +1 -0
  266. package/{runtime/subscriptions.ts → dist/runtime/subscriptions.d.ts} +5 -41
  267. package/dist/runtime/subscriptions.js +48 -0
  268. package/dist/runtime/subscriptions.js.map +1 -0
  269. package/{runtime/testing/index.ts → dist/runtime/testing/index.d.ts} +0 -1
  270. package/dist/runtime/testing/index.js +9 -0
  271. package/dist/runtime/testing/index.js.map +1 -0
  272. package/dist/runtime/testing/initializeMockApp.d.ts +46 -0
  273. package/{runtime/testing/initializeMockApp.ts → dist/runtime/testing/initializeMockApp.js} +26 -36
  274. package/dist/runtime/testing/initializeMockApp.js.map +1 -0
  275. package/dist/runtime/testing/mockMessages.d.ts +22 -0
  276. package/dist/runtime/testing/mockMessages.js +23 -0
  277. package/dist/runtime/testing/mockMessages.js.map +1 -0
  278. package/dist/runtime/utils.d.ts +95 -0
  279. package/{runtime → dist/runtime}/utils.js +55 -70
  280. package/dist/runtime/utils.js.map +1 -0
  281. package/dist/shell/DefaultLayout.d.ts +1 -0
  282. package/dist/shell/DefaultLayout.js +7 -0
  283. package/dist/shell/DefaultLayout.js.map +1 -0
  284. package/dist/shell/DefaultMain.d.ts +1 -0
  285. package/dist/shell/DefaultMain.js +6 -0
  286. package/dist/shell/DefaultMain.js.map +1 -0
  287. package/dist/shell/Logo.d.ts +6 -0
  288. package/dist/shell/Logo.js +16 -0
  289. package/dist/shell/Logo.js.map +1 -0
  290. package/dist/shell/Shell.d.ts +1 -0
  291. package/dist/shell/Shell.js +10 -0
  292. package/dist/shell/Shell.js.map +1 -0
  293. package/dist/shell/Shell.messages.d.ts +58 -0
  294. package/dist/shell/Shell.messages.js +60 -0
  295. package/dist/shell/Shell.messages.js.map +1 -0
  296. package/dist/shell/app.d.ts +3 -0
  297. package/dist/shell/app.js +43 -0
  298. package/dist/shell/app.js.map +1 -0
  299. package/{shell → dist/shell}/app.scss +2 -1
  300. package/dist/shell/babel.config.d.ts +2 -0
  301. package/{shell → dist/shell}/babel.config.js +2 -1
  302. package/dist/shell/babel.config.js.map +1 -0
  303. package/dist/shell/constants.d.ts +2 -0
  304. package/dist/shell/constants.js +3 -0
  305. package/dist/shell/constants.js.map +1 -0
  306. package/dist/shell/dev/devFooter/app.d.ts +3 -0
  307. package/dist/shell/dev/devFooter/app.js +36 -0
  308. package/dist/shell/dev/devFooter/app.js.map +1 -0
  309. package/dist/shell/dev/devFooter/index.js +2 -0
  310. package/dist/shell/dev/devFooter/index.js.map +1 -0
  311. package/dist/shell/dev/devHeader/BarContext.d.ts +7 -0
  312. package/dist/shell/dev/devHeader/BarContext.js +8 -0
  313. package/dist/shell/dev/devHeader/BarContext.js.map +1 -0
  314. package/dist/shell/dev/devHeader/BarLink.d.ts +1 -0
  315. package/dist/shell/dev/devHeader/BarLink.js +10 -0
  316. package/dist/shell/dev/devHeader/BarLink.js.map +1 -0
  317. package/dist/shell/dev/devHeader/BarProvider.d.ts +6 -0
  318. package/dist/shell/dev/devHeader/BarProvider.js +16 -0
  319. package/dist/shell/dev/devHeader/BarProvider.js.map +1 -0
  320. package/dist/shell/dev/devHeader/CoursesLink.d.ts +1 -0
  321. package/dist/shell/dev/devHeader/CoursesLink.js +10 -0
  322. package/dist/shell/dev/devHeader/CoursesLink.js.map +1 -0
  323. package/dist/shell/dev/devHeader/FooContext.d.ts +7 -0
  324. package/dist/shell/dev/devHeader/FooContext.js +8 -0
  325. package/dist/shell/dev/devHeader/FooContext.js.map +1 -0
  326. package/dist/shell/dev/devHeader/FooLink.d.ts +1 -0
  327. package/dist/shell/dev/devHeader/FooLink.js +10 -0
  328. package/dist/shell/dev/devHeader/FooLink.js.map +1 -0
  329. package/dist/shell/dev/devHeader/FooProvider.d.ts +6 -0
  330. package/dist/shell/dev/devHeader/FooProvider.js +16 -0
  331. package/dist/shell/dev/devHeader/FooProvider.js.map +1 -0
  332. package/dist/shell/dev/devHeader/app.d.ts +3 -0
  333. package/dist/shell/dev/devHeader/app.js +34 -0
  334. package/dist/shell/dev/devHeader/app.js.map +1 -0
  335. package/dist/shell/dev/devHeader/index.js +2 -0
  336. package/dist/shell/dev/devHeader/index.js.map +1 -0
  337. package/dist/shell/dev/devHeader/providers.d.ts +3 -0
  338. package/dist/shell/dev/devHeader/providers.js +8 -0
  339. package/dist/shell/dev/devHeader/providers.js.map +1 -0
  340. package/dist/shell/dev/devHome/HomePage.d.ts +1 -0
  341. package/dist/shell/dev/devHome/HomePage.js +14 -0
  342. package/dist/shell/dev/devHome/HomePage.js.map +1 -0
  343. package/dist/shell/dev/devHome/app.d.ts +3 -0
  344. package/dist/shell/dev/devHome/app.js +15 -0
  345. package/dist/shell/dev/devHome/app.js.map +1 -0
  346. package/dist/shell/dev/devHome/index.js +2 -0
  347. package/dist/shell/dev/devHome/index.js.map +1 -0
  348. package/dist/shell/dev/devHome/messages.d.ts +8 -0
  349. package/dist/shell/dev/devHome/messages.js +10 -0
  350. package/dist/shell/dev/devHome/messages.js.map +1 -0
  351. package/dist/shell/dev/devUser/app.d.ts +3 -0
  352. package/dist/shell/dev/devUser/app.js +22 -0
  353. package/dist/shell/dev/devUser/app.js.map +1 -0
  354. package/dist/shell/dev/devUser/index.js +2 -0
  355. package/dist/shell/dev/devUser/index.js.map +1 -0
  356. package/dist/shell/dev/index.js +6 -0
  357. package/dist/shell/dev/index.js.map +1 -0
  358. package/dist/shell/dev/slotShowcase/HorizontalSlotLayout.d.ts +1 -0
  359. package/dist/shell/dev/slotShowcase/HorizontalSlotLayout.js +8 -0
  360. package/dist/shell/dev/slotShowcase/HorizontalSlotLayout.js.map +1 -0
  361. package/dist/shell/dev/slotShowcase/LayoutWithOptions.d.ts +1 -0
  362. package/dist/shell/dev/slotShowcase/LayoutWithOptions.js +9 -0
  363. package/dist/shell/dev/slotShowcase/LayoutWithOptions.js.map +1 -0
  364. package/dist/shell/dev/slotShowcase/SlotShowcase.scss +50 -0
  365. package/dist/shell/dev/slotShowcase/SlotShowcasePage.d.ts +2 -0
  366. package/dist/shell/dev/slotShowcase/SlotShowcasePage.js +17 -0
  367. package/dist/shell/dev/slotShowcase/SlotShowcasePage.js.map +1 -0
  368. package/dist/shell/dev/slotShowcase/ToggleByRoleLayout.d.ts +1 -0
  369. package/dist/shell/dev/slotShowcase/ToggleByRoleLayout.js +11 -0
  370. package/dist/shell/dev/slotShowcase/ToggleByRoleLayout.js.map +1 -0
  371. package/dist/shell/dev/slotShowcase/WidgetWithOptions.d.ts +1 -0
  372. package/dist/shell/dev/slotShowcase/WidgetWithOptions.js +8 -0
  373. package/dist/shell/dev/slotShowcase/WidgetWithOptions.js.map +1 -0
  374. package/dist/shell/dev/slotShowcase/app.d.ts +3 -0
  375. package/dist/shell/dev/slotShowcase/app.js +372 -0
  376. package/dist/shell/dev/slotShowcase/app.js.map +1 -0
  377. package/dist/shell/dev/slotShowcase/index.js +2 -0
  378. package/dist/shell/dev/slotShowcase/index.js.map +1 -0
  379. package/dist/shell/footer/CenterLinks.d.ts +1 -0
  380. package/dist/shell/footer/CenterLinks.js +7 -0
  381. package/dist/shell/footer/CenterLinks.js.map +1 -0
  382. package/dist/shell/footer/CopyrightNotice.d.ts +10 -0
  383. package/dist/shell/footer/CopyrightNotice.js +10 -0
  384. package/dist/shell/footer/CopyrightNotice.js.map +1 -0
  385. package/dist/shell/footer/Footer.d.ts +1 -0
  386. package/dist/shell/footer/Footer.js +12 -0
  387. package/dist/shell/footer/Footer.js.map +1 -0
  388. package/dist/shell/footer/LabeledLinkColumn.d.ts +1 -0
  389. package/dist/shell/footer/LabeledLinkColumn.js +11 -0
  390. package/dist/shell/footer/LabeledLinkColumn.js.map +1 -0
  391. package/dist/shell/footer/LanguageMenu.d.ts +1 -0
  392. package/dist/shell/footer/LanguageMenu.js +16 -0
  393. package/dist/shell/footer/LanguageMenu.js.map +1 -0
  394. package/dist/shell/footer/LanguageMenuItem.d.ts +8 -0
  395. package/dist/shell/footer/LanguageMenuItem.js +11 -0
  396. package/dist/shell/footer/LanguageMenuItem.js.map +1 -0
  397. package/dist/shell/footer/LeftLinks.d.ts +1 -0
  398. package/dist/shell/footer/LeftLinks.js +7 -0
  399. package/dist/shell/footer/LeftLinks.js.map +1 -0
  400. package/dist/shell/footer/LegalNotices.d.ts +1 -0
  401. package/dist/shell/footer/LegalNotices.js +10 -0
  402. package/dist/shell/footer/LegalNotices.js.map +1 -0
  403. package/dist/shell/footer/PoweredBy.d.ts +1 -0
  404. package/dist/shell/footer/PoweredBy.js +9 -0
  405. package/dist/shell/footer/PoweredBy.js.map +1 -0
  406. package/dist/shell/footer/RevealLinks.d.ts +1 -0
  407. package/dist/shell/footer/RevealLinks.js +16 -0
  408. package/dist/shell/footer/RevealLinks.js.map +1 -0
  409. package/dist/shell/footer/RightLinks.d.ts +1 -0
  410. package/dist/shell/footer/RightLinks.js +7 -0
  411. package/dist/shell/footer/RightLinks.js.map +1 -0
  412. package/dist/shell/footer/app.d.ts +3 -0
  413. package/dist/shell/footer/app.js +59 -0
  414. package/dist/shell/footer/app.js.map +1 -0
  415. package/dist/shell/footer/data/api.d.ts +1 -0
  416. package/dist/shell/footer/data/api.js +45 -0
  417. package/dist/shell/footer/data/api.js.map +1 -0
  418. package/dist/shell/footer/index.js +3 -0
  419. package/dist/shell/footer/index.js.map +1 -0
  420. package/dist/shell/header/AuthenticatedMenu.d.ts +5 -0
  421. package/dist/shell/header/AuthenticatedMenu.js +9 -0
  422. package/dist/shell/header/AuthenticatedMenu.js.map +1 -0
  423. package/dist/shell/header/Header.d.ts +1 -0
  424. package/dist/shell/header/Header.js +8 -0
  425. package/dist/shell/header/Header.js.map +1 -0
  426. package/dist/shell/header/anonymous-menu/AnonymousMenu.d.ts +5 -0
  427. package/dist/shell/header/anonymous-menu/AnonymousMenu.js +7 -0
  428. package/dist/shell/header/anonymous-menu/AnonymousMenu.js.map +1 -0
  429. package/dist/shell/header/anonymous-menu/LoginButton.d.ts +3 -0
  430. package/dist/shell/header/anonymous-menu/LoginButton.js +22 -0
  431. package/dist/shell/header/anonymous-menu/LoginButton.js.map +1 -0
  432. package/dist/shell/header/anonymous-menu/RegisterButton.d.ts +3 -0
  433. package/dist/shell/header/anonymous-menu/RegisterButton.js +22 -0
  434. package/dist/shell/header/anonymous-menu/RegisterButton.js.map +1 -0
  435. package/dist/shell/header/app.d.ts +4 -0
  436. package/dist/shell/header/app.js +132 -0
  437. package/dist/shell/header/app.js.map +1 -0
  438. package/dist/shell/header/app.scss +14 -0
  439. package/dist/shell/header/constants.d.ts +2 -0
  440. package/dist/shell/header/constants.js +3 -0
  441. package/dist/shell/header/constants.js.map +1 -0
  442. package/dist/shell/header/course-navigation-bar/CourseTabsNavigation.d.ts +3 -0
  443. package/dist/shell/header/course-navigation-bar/CourseTabsNavigation.js +62 -0
  444. package/dist/shell/header/course-navigation-bar/CourseTabsNavigation.js.map +1 -0
  445. package/dist/shell/header/course-navigation-bar/course-tabs-navigation.scss +7 -0
  446. package/dist/shell/header/course-navigation-bar/data/service.d.ts +9 -0
  447. package/dist/shell/header/course-navigation-bar/data/service.js +27 -0
  448. package/dist/shell/header/course-navigation-bar/data/service.js.map +1 -0
  449. package/dist/shell/header/course-navigation-bar/messages.d.ts +8 -0
  450. package/dist/shell/header/course-navigation-bar/messages.js +10 -0
  451. package/dist/shell/header/course-navigation-bar/messages.js.map +1 -0
  452. package/dist/shell/header/course-navigation-bar/utils.d.ts +2 -0
  453. package/dist/shell/header/course-navigation-bar/utils.js +27 -0
  454. package/dist/shell/header/course-navigation-bar/utils.js.map +1 -0
  455. package/dist/shell/header/desktop/DesktopLayout.d.ts +1 -0
  456. package/dist/shell/header/desktop/DesktopLayout.js +10 -0
  457. package/dist/shell/header/desktop/DesktopLayout.js.map +1 -0
  458. package/dist/shell/header/desktop/PrimaryNavLinks.d.ts +1 -0
  459. package/dist/shell/header/desktop/PrimaryNavLinks.js +7 -0
  460. package/dist/shell/header/desktop/PrimaryNavLinks.js.map +1 -0
  461. package/dist/shell/header/desktop/SecondaryNavLinks.d.ts +1 -0
  462. package/dist/shell/header/desktop/SecondaryNavLinks.js +7 -0
  463. package/dist/shell/header/desktop/SecondaryNavLinks.js.map +1 -0
  464. package/{shell/header/index.ts → dist/shell/header/index.d.ts} +1 -0
  465. package/dist/shell/header/index.js +4 -0
  466. package/dist/shell/header/index.js.map +1 -0
  467. package/dist/shell/header/mobile/MobileLayout.d.ts +1 -0
  468. package/dist/shell/header/mobile/MobileLayout.js +17 -0
  469. package/dist/shell/header/mobile/MobileLayout.js.map +1 -0
  470. package/dist/shell/header/mobile/MobileNavLinks.d.ts +1 -0
  471. package/dist/shell/header/mobile/MobileNavLinks.js +7 -0
  472. package/dist/shell/header/mobile/MobileNavLinks.js.map +1 -0
  473. package/{shell/index.ts → dist/shell/index.d.ts} +2 -1
  474. package/dist/shell/index.js +9 -0
  475. package/dist/shell/index.js.map +1 -0
  476. package/dist/shell/jest.config.d.ts +15 -0
  477. package/{tools/dist/jest → dist/shell}/jest.config.js +12 -10
  478. package/dist/shell/jest.config.js.map +1 -0
  479. package/dist/shell/menus/LinkMenuItem.d.ts +9 -0
  480. package/dist/shell/menus/LinkMenuItem.js +38 -0
  481. package/dist/shell/menus/LinkMenuItem.js.map +1 -0
  482. package/dist/shell/menus/NavDropdownMenuSlot.d.ts +7 -0
  483. package/dist/shell/menus/NavDropdownMenuSlot.js +14 -0
  484. package/dist/shell/menus/NavDropdownMenuSlot.js.map +1 -0
  485. package/dist/shell/menus/ProfileLinkMenuItem.d.ts +8 -0
  486. package/dist/shell/menus/ProfileLinkMenuItem.js +16 -0
  487. package/dist/shell/menus/ProfileLinkMenuItem.js.map +1 -0
  488. package/dist/shell/menus/data/utils.d.ts +4 -0
  489. package/dist/shell/menus/data/utils.js +13 -0
  490. package/dist/shell/menus/data/utils.js.map +1 -0
  491. package/dist/shell/router/createRouter.d.ts +1 -0
  492. package/dist/shell/router/createRouter.js +26 -0
  493. package/dist/shell/router/createRouter.js.map +1 -0
  494. package/dist/shell/router/getAppRoutes.d.ts +2 -0
  495. package/dist/shell/router/getAppRoutes.js +27 -0
  496. package/dist/shell/router/getAppRoutes.js.map +1 -0
  497. package/dist/shell/setupTest.d.ts +1 -0
  498. package/dist/shell/setupTest.js +12 -0
  499. package/dist/shell/setupTest.js.map +1 -0
  500. package/dist/shell/site.config.dev.d.ts +4 -0
  501. package/dist/shell/site.config.dev.js +43 -0
  502. package/dist/shell/site.config.dev.js.map +1 -0
  503. package/dist/shell/site.d.ts +1 -0
  504. package/dist/shell/site.js +45 -0
  505. package/dist/shell/site.js.map +1 -0
  506. package/dist/tools/babel/babel.config.d.ts +12 -0
  507. package/dist/tools/babel.config.d.ts +2 -0
  508. package/dist/tools/babel.config.js +3 -0
  509. package/dist/tools/cli/commands/serve.d.ts +1 -0
  510. package/dist/tools/cli/commands/translations.d.ts +2 -0
  511. package/dist/tools/cli/commands/translations.js +20 -0
  512. package/dist/tools/cli/openedx.d.ts +2 -0
  513. package/{tools/dist → dist/tools}/cli/openedx.js +33 -8
  514. package/dist/tools/cli/utils/ensureConfigFilenameOption.d.ts +2 -0
  515. package/dist/tools/cli/utils/formatter.d.ts +1 -0
  516. package/dist/tools/cli/utils/formatter.js +3 -0
  517. package/dist/tools/cli/utils/getResolvedConfigPath.d.ts +2 -0
  518. package/dist/tools/cli/utils/prettyPrintTitle.d.ts +1 -0
  519. package/dist/tools/cli/utils/printUsage.d.ts +1 -0
  520. package/{tools/dist → dist/tools}/cli/utils/printUsage.js +8 -0
  521. package/dist/tools/cli/utils/translations/index.d.ts +2 -0
  522. package/dist/tools/cli/utils/translations/index.js +7 -0
  523. package/dist/tools/cli/utils/translations/messagesObject.d.ts +26 -0
  524. package/dist/tools/cli/utils/translations/messagesObject.js +66 -0
  525. package/dist/tools/cli/utils/translations/prepare.d.ts +5 -0
  526. package/dist/tools/cli/utils/translations/prepare.js +98 -0
  527. package/dist/tools/cli/utils/translations/pull.d.ts +6 -0
  528. package/dist/tools/cli/utils/translations/pull.js +102 -0
  529. package/dist/tools/config-helpers/createConfig.d.ts +2 -0
  530. package/dist/tools/config-helpers/createLintConfig.d.ts +2 -0
  531. package/dist/tools/config-helpers/getBaseConfig.d.ts +2 -0
  532. package/dist/tools/defaultConfigPaths.d.ts +8 -0
  533. package/dist/tools/eslint/base.eslint.config.d.ts +3 -0
  534. package/{config → dist/tools}/eslint/base.eslint.config.js +5 -4
  535. package/dist/tools/eslint.config.d.ts +3 -0
  536. package/dist/tools/index.d.ts +3 -0
  537. package/dist/tools/jest/jest.config.d.ts +14 -0
  538. package/dist/tools/jest.config.d.ts +8 -0
  539. package/dist/tools/types.d.ts +20 -0
  540. package/{tools/dist → dist/tools}/types.js +2 -0
  541. package/{tools/dist → dist/tools}/typescript/tsconfig.json +2 -1
  542. package/dist/tools/webpack/common-config/all/getCodeRules.d.ts +2 -0
  543. package/dist/tools/webpack/common-config/all/getFileLoaderRules.d.ts +11 -0
  544. package/dist/tools/webpack/common-config/all/getImageMinimizer.d.ts +5 -0
  545. package/dist/tools/webpack/common-config/all/getStylesheetRule.d.ts +8 -0
  546. package/{config → dist/tools}/webpack/common-config/all/getStylesheetRule.js +1 -1
  547. package/dist/tools/webpack/common-config/dev/getDevServer.d.ts +2 -0
  548. package/{tools/dist → dist/tools}/webpack/common-config/dev/getDevServer.js +3 -5
  549. package/dist/tools/webpack/common-config/index.d.ts +7 -0
  550. package/{config → dist/tools}/webpack/common-config/index.js +3 -1
  551. package/dist/tools/webpack/common-config/site/getHtmlWebpackPlugin.d.ts +2 -0
  552. package/dist/tools/webpack/common-config/site/getI18nMessagesFallbackPlugin/emptyI18n.d.ts +2 -0
  553. package/{config/webpack/types.js → dist/tools/webpack/common-config/site/getI18nMessagesFallbackPlugin/emptyI18n.js} +1 -0
  554. package/dist/tools/webpack/common-config/site/getI18nMessagesFallbackPlugin/index.d.ts +2 -0
  555. package/dist/tools/webpack/common-config/site/getI18nMessagesFallbackPlugin/index.js +26 -0
  556. package/dist/tools/webpack/plugins/html-webpack-new-relic-plugin/HtmlWebpackNewRelicPlugin.d.ts +16 -0
  557. package/dist/tools/webpack/plugins/html-webpack-new-relic-plugin/index.d.ts +2 -0
  558. package/dist/tools/webpack/plugins/html-webpack-new-relic-plugin/test/fixtures/entry.d.ts +1 -0
  559. package/dist/tools/webpack/utils/getPublicPath.d.ts +1 -0
  560. package/{tools/dist → dist/tools}/webpack/utils/getPublicPath.js +1 -1
  561. package/dist/tools/webpack/utils/getResolvedSiteConfigPath.d.ts +1 -0
  562. package/dist/tools/webpack/utils/getResolvedSiteI18nPath.d.ts +1 -0
  563. package/dist/tools/webpack/utils/getResolvedSiteI18nPath.js +25 -0
  564. package/dist/tools/webpack/webpack.config.build.d.ts +3 -0
  565. package/{config → dist/tools}/webpack/webpack.config.build.js +12 -15
  566. package/dist/tools/webpack/webpack.config.dev.d.ts +3 -0
  567. package/{config → dist/tools}/webpack/webpack.config.dev.js +16 -15
  568. package/dist/tools/webpack/webpack.config.dev.shell.d.ts +3 -0
  569. package/{config → dist/tools}/webpack/webpack.config.dev.shell.js +7 -14
  570. package/dist/types.d.ts +92 -0
  571. package/dist/types.js +7 -0
  572. package/dist/types.js.map +1 -0
  573. package/package.json +37 -19
  574. package/config/tsconfig.json +0 -32
  575. package/config/types.js +0 -23
  576. package/config/webpack/common-config/all/getIgnoreWarnings.js +0 -14
  577. package/config/webpack/common-config/dev/getDevServer.js +0 -38
  578. package/config/webpack/plugins/html-webpack-new-relic-plugin/test/HtmlWebpackNewRelicPlugin.test.js +0 -66
  579. package/config/webpack/plugins/paragon-webpack-plugin/ParagonWebpackPlugin.js +0 -108
  580. package/config/webpack/plugins/paragon-webpack-plugin/index.js +0 -7
  581. package/config/webpack/plugins/paragon-webpack-plugin/utils/assetUtils.js +0 -64
  582. package/config/webpack/plugins/paragon-webpack-plugin/utils/htmlUtils.js +0 -53
  583. package/config/webpack/plugins/paragon-webpack-plugin/utils/index.js +0 -9
  584. package/config/webpack/plugins/paragon-webpack-plugin/utils/paragonStylesheetUtils.js +0 -114
  585. package/config/webpack/plugins/paragon-webpack-plugin/utils/scriptUtils.js +0 -146
  586. package/config/webpack/plugins/paragon-webpack-plugin/utils/stylesheetUtils.js +0 -126
  587. package/config/webpack/plugins/paragon-webpack-plugin/utils/tagUtils.js +0 -57
  588. package/config/webpack/utils/getLocalAliases.js +0 -65
  589. package/config/webpack/utils/getPublicPath.js +0 -6
  590. package/config/webpack/utils/paragonUtils.js +0 -138
  591. package/runtime/__mocks__/file.js +0 -1
  592. package/runtime/__mocks__/svg.js +0 -1
  593. package/runtime/__mocks__/universal-cookie.js +0 -6
  594. package/runtime/analytics/MockAnalyticsService.js +0 -71
  595. package/runtime/analytics/SegmentAnalyticsService.js +0 -243
  596. package/runtime/analytics/index.ts +0 -12
  597. package/runtime/analytics/interface.test.js +0 -242
  598. package/runtime/auth/AxiosCsrfTokenService.js +0 -60
  599. package/runtime/auth/AxiosJwtAuthService.js +0 -363
  600. package/runtime/auth/AxiosJwtAuthService.test.jsx +0 -1076
  601. package/runtime/auth/AxiosJwtTokenService.js +0 -134
  602. package/runtime/auth/LocalForageCache.js +0 -76
  603. package/runtime/auth/MockAuthService.js +0 -278
  604. package/runtime/auth/index.ts +0 -19
  605. package/runtime/auth/interceptors/createCsrfTokenProviderInterceptor.js +0 -36
  606. package/runtime/auth/interceptors/createJwtTokenProviderInterceptor.js +0 -37
  607. package/runtime/auth/interceptors/createProcessAxiosRequestErrorInterceptor.js +0 -20
  608. package/runtime/auth/interceptors/createRetryInterceptor.js +0 -74
  609. package/runtime/auth/interceptors/createRetryInterceptor.test.js +0 -23
  610. package/runtime/auth/utils.js +0 -105
  611. package/runtime/config/getExternalLinkUrl.test.js +0 -76
  612. package/runtime/i18n/injectIntlWithShim.jsx +0 -48
  613. package/runtime/i18n/lib.test.js +0 -230
  614. package/runtime/i18n/lib.ts +0 -272
  615. package/runtime/index.ts +0 -134
  616. package/runtime/initialize.async.function.config.test.js +0 -43
  617. package/runtime/initialize.const.config.test.js +0 -41
  618. package/runtime/initialize.function.config.test.js +0 -41
  619. package/runtime/initialize.js +0 -352
  620. package/runtime/initialize.test.js +0 -356
  621. package/runtime/jest.config.js +0 -32
  622. package/runtime/logging/MockLoggingService.js +0 -31
  623. package/runtime/logging/NewRelicLoggingService.js +0 -184
  624. package/runtime/logging/NewRelicLoggingService.test.js +0 -214
  625. package/runtime/logging/types.ts +0 -4
  626. package/runtime/react/AuthenticatedPageRoute.test.jsx +0 -135
  627. package/runtime/react/CombinedAppProvider.tsx +0 -46
  628. package/runtime/react/CurrentAppProvider.tsx +0 -46
  629. package/runtime/react/Divider.tsx +0 -5
  630. package/runtime/react/ErrorBoundary.jsx +0 -47
  631. package/runtime/react/ErrorBoundary.test.jsx +0 -83
  632. package/runtime/react/ErrorPage.jsx +0 -72
  633. package/runtime/react/SiteProvider.test.jsx +0 -66
  634. package/runtime/react/SiteProvider.tsx +0 -78
  635. package/runtime/react/hooks.test.jsx +0 -104
  636. package/runtime/react/hooks.ts +0 -106
  637. package/runtime/routing/index.ts +0 -1
  638. package/runtime/routing/utils.test.ts +0 -7
  639. package/runtime/routing/utils.ts +0 -34
  640. package/runtime/scripts/GoogleAnalyticsLoader.test.ts +0 -77
  641. package/runtime/scripts/GoogleAnalyticsLoader.ts +0 -59
  642. package/runtime/scripts/index.ts +0 -1
  643. package/runtime/setupTest.js +0 -49
  644. package/runtime/site.config.test.tsx +0 -33
  645. package/runtime/slots/Slot.test.tsx +0 -40
  646. package/runtime/slots/Slot.tsx +0 -32
  647. package/runtime/slots/SlotContext.tsx +0 -8
  648. package/runtime/slots/hooks.ts +0 -35
  649. package/runtime/slots/layout/DefaultSlotLayout.test.tsx +0 -31
  650. package/runtime/slots/layout/DefaultSlotLayout.tsx +0 -9
  651. package/runtime/slots/layout/hooks.test.tsx +0 -178
  652. package/runtime/slots/layout/hooks.ts +0 -65
  653. package/runtime/slots/layout/utils.test.ts +0 -67
  654. package/runtime/slots/layout/utils.ts +0 -14
  655. package/runtime/slots/utils.test.ts +0 -64
  656. package/runtime/slots/utils.ts +0 -78
  657. package/runtime/slots/widget/WidgetContext.tsx +0 -9
  658. package/runtime/slots/widget/WidgetProvider.tsx +0 -30
  659. package/runtime/slots/widget/hooks.ts +0 -105
  660. package/runtime/slots/widget/iframe/IFrameContentWrapper.messages.tsx +0 -16
  661. package/runtime/slots/widget/iframe/IFrameContentWrapper.tsx +0 -84
  662. package/runtime/slots/widget/iframe/IFrameWidget.tsx +0 -59
  663. package/runtime/slots/widget/iframe/hooks.ts +0 -179
  664. package/runtime/slots/widget/utils.tsx +0 -201
  665. package/runtime/testing/initializeMockApp.test.ts +0 -66
  666. package/runtime/testing/mockMessages.ts +0 -23
  667. package/runtime/utils.test.js +0 -116
  668. package/shell/DefaultLayout.tsx +0 -18
  669. package/shell/DefaultMain.tsx +0 -7
  670. package/shell/Logo.test.tsx +0 -32
  671. package/shell/Logo.tsx +0 -28
  672. package/shell/Shell.messages.ts +0 -61
  673. package/shell/Shell.tsx +0 -18
  674. package/shell/__mocks__/file.js +0 -1
  675. package/shell/__mocks__/svg.js +0 -1
  676. package/shell/__mocks__/universal-cookie.js +0 -6
  677. package/shell/app.ts +0 -38
  678. package/shell/dev/devFooter/app.tsx +0 -43
  679. package/shell/dev/devHeader/BarContext.tsx +0 -13
  680. package/shell/dev/devHeader/BarLink.tsx +0 -16
  681. package/shell/dev/devHeader/BarProvider.tsx +0 -25
  682. package/shell/dev/devHeader/CoursesLink.tsx +0 -16
  683. package/shell/dev/devHeader/FooContext.tsx +0 -13
  684. package/shell/dev/devHeader/FooLink.tsx +0 -16
  685. package/shell/dev/devHeader/FooProvider.tsx +0 -25
  686. package/shell/dev/devHeader/app.tsx +0 -53
  687. package/shell/dev/devHeader/providers.tsx +0 -11
  688. package/shell/dev/devHome/HomePage.tsx +0 -28
  689. package/shell/dev/devHome/app.ts +0 -18
  690. package/shell/dev/devHome/i18n/index.ts +0 -27
  691. package/shell/dev/devHome/messages.ts +0 -11
  692. package/shell/dev/devUser/app.tsx +0 -24
  693. package/shell/dev/slotShowcase/HorizontalSlotLayout.tsx +0 -11
  694. package/shell/dev/slotShowcase/LayoutWithOptions.tsx +0 -17
  695. package/shell/dev/slotShowcase/SlotShowcasePage.tsx +0 -66
  696. package/shell/dev/slotShowcase/WidgetWithOptions.tsx +0 -11
  697. package/shell/dev/slotShowcase/app.tsx +0 -373
  698. package/shell/footer/CenterLinks.tsx +0 -11
  699. package/shell/footer/CopyrightNotice.tsx +0 -36
  700. package/shell/footer/Footer.tsx +0 -34
  701. package/shell/footer/LabeledLinkColumn.tsx +0 -19
  702. package/shell/footer/LanguageMenu.tsx +0 -35
  703. package/shell/footer/LanguageMenuItem.tsx +0 -23
  704. package/shell/footer/LeftLinks.tsx +0 -11
  705. package/shell/footer/LegalNotices.tsx +0 -17
  706. package/shell/footer/PoweredBy.tsx +0 -17
  707. package/shell/footer/RevealLinks.tsx +0 -43
  708. package/shell/footer/RightLinks.tsx +0 -11
  709. package/shell/footer/app.tsx +0 -73
  710. package/shell/footer/data/api.ts +0 -48
  711. package/shell/header/AuthenticatedMenu.tsx +0 -32
  712. package/shell/header/Header.tsx +0 -17
  713. package/shell/header/anonymous-menu/AnonymousMenu.tsx +0 -14
  714. package/shell/header/anonymous-menu/LoginButton.tsx +0 -14
  715. package/shell/header/anonymous-menu/RegisterButton.tsx +0 -15
  716. package/shell/header/app.tsx +0 -142
  717. package/shell/header/desktop/DesktopLayout.tsx +0 -22
  718. package/shell/header/desktop/PrimaryNavLinks.tsx +0 -10
  719. package/shell/header/desktop/SecondaryNavLinks.tsx +0 -10
  720. package/shell/header/mobile/MobileLayout.tsx +0 -47
  721. package/shell/header/mobile/MobileNavLinks.tsx +0 -10
  722. package/shell/i18n/index.ts +0 -25
  723. package/shell/jest.config.js +0 -30
  724. package/shell/menus/LinkMenuItem.tsx +0 -64
  725. package/shell/menus/NavDropdownMenuSlot.tsx +0 -29
  726. package/shell/menus/ProfileLinkMenuItem.tsx +0 -33
  727. package/shell/menus/data/utils.ts +0 -19
  728. package/shell/public/index.html +0 -10
  729. package/shell/router/createRouter.test.tsx +0 -50
  730. package/shell/router/createRouter.ts +0 -17
  731. package/shell/router/getAppRoutes.test.tsx +0 -59
  732. package/shell/router/getAppRoutes.ts +0 -21
  733. package/shell/setupTest.js +0 -48
  734. package/shell/site.config.dev.tsx +0 -49
  735. package/shell/site.config.test.tsx +0 -16
  736. package/shell/site.tsx +0 -41
  737. package/tools/dist/babel/babel.config.js +0 -28
  738. package/tools/dist/cli/intl-imports.js +0 -233
  739. package/tools/dist/cli/intl-imports.test.js +0 -146
  740. package/tools/dist/cli/transifex-utils.js +0 -68
  741. package/tools/dist/cli/utils/formatter.js +0 -10
  742. package/tools/dist/config-helpers/createConfig.js +0 -13
  743. package/tools/dist/config-helpers/createLintConfig.js +0 -16
  744. package/tools/dist/config-helpers/getBaseConfig.js +0 -12
  745. package/tools/dist/defaultConfigPaths.js +0 -35
  746. package/tools/dist/eslint/base.eslint.config.js +0 -113
  747. package/tools/dist/index.js +0 -12
  748. package/tools/dist/webpack/common-config/all/getCodeRules.js +0 -52
  749. package/tools/dist/webpack/common-config/all/getFileLoaderRules.js +0 -26
  750. package/tools/dist/webpack/common-config/all/getIgnoreWarnings.js +0 -14
  751. package/tools/dist/webpack/common-config/all/getImageMinimizer.js +0 -25
  752. package/tools/dist/webpack/common-config/all/getStylesheetRule.js +0 -112
  753. package/tools/dist/webpack/common-config/index.js +0 -18
  754. package/tools/dist/webpack/common-config/site/getHtmlWebpackPlugin.js +0 -16
  755. package/tools/dist/webpack/plugins/html-webpack-new-relic-plugin/HtmlWebpackNewRelicPlugin.js +0 -91
  756. package/tools/dist/webpack/plugins/html-webpack-new-relic-plugin/index.js +0 -7
  757. package/tools/dist/webpack/plugins/html-webpack-new-relic-plugin/test/HtmlWebpackNewRelicPlugin.test.js +0 -66
  758. package/tools/dist/webpack/plugins/html-webpack-new-relic-plugin/test/fixtures/entry.js +0 -3
  759. package/tools/dist/webpack/plugins/paragon-webpack-plugin/ParagonWebpackPlugin.js +0 -108
  760. package/tools/dist/webpack/plugins/paragon-webpack-plugin/index.js +0 -7
  761. package/tools/dist/webpack/plugins/paragon-webpack-plugin/utils/assetUtils.js +0 -64
  762. package/tools/dist/webpack/plugins/paragon-webpack-plugin/utils/htmlUtils.js +0 -53
  763. package/tools/dist/webpack/plugins/paragon-webpack-plugin/utils/index.js +0 -9
  764. package/tools/dist/webpack/plugins/paragon-webpack-plugin/utils/paragonStylesheetUtils.js +0 -114
  765. package/tools/dist/webpack/plugins/paragon-webpack-plugin/utils/scriptUtils.js +0 -146
  766. package/tools/dist/webpack/plugins/paragon-webpack-plugin/utils/stylesheetUtils.js +0 -126
  767. package/tools/dist/webpack/plugins/paragon-webpack-plugin/utils/tagUtils.js +0 -57
  768. package/tools/dist/webpack/types.js +0 -2
  769. package/tools/dist/webpack/utils/getLocalAliases.js +0 -65
  770. package/tools/dist/webpack/utils/getResolvedSiteConfigPath.js +0 -32
  771. package/tools/dist/webpack/utils/paragonUtils.js +0 -138
  772. package/tools/dist/webpack/webpack.config.build.js +0 -80
  773. package/tools/dist/webpack/webpack.config.dev.js +0 -76
  774. package/tools/dist/webpack/webpack.config.dev.shell.js +0 -110
  775. package/types.ts +0 -99
  776. /package/{runtime/slots/index.ts → dist/runtime/slots/index.d.ts} +0 -0
  777. /package/{runtime/slots/layout/index.ts → dist/runtime/slots/layout/index.d.ts} +0 -0
  778. /package/{runtime/slots/widget/index.ts → dist/runtime/slots/widget/index.d.ts} +0 -0
  779. /package/{shell/dev/devFooter/index.ts → dist/shell/dev/devFooter/index.d.ts} +0 -0
  780. /package/{shell/dev/devHeader/index.ts → dist/shell/dev/devHeader/index.d.ts} +0 -0
  781. /package/{shell/dev/devHome/index.ts → dist/shell/dev/devHome/index.d.ts} +0 -0
  782. /package/{shell/dev/devUser/index.ts → dist/shell/dev/devUser/index.d.ts} +0 -0
  783. /package/{shell/dev/index.ts → dist/shell/dev/index.d.ts} +0 -0
  784. /package/{shell/dev/slotShowcase/index.ts → dist/shell/dev/slotShowcase/index.d.ts} +0 -0
  785. /package/{shell/footer/index.ts → dist/shell/footer/index.d.ts} +0 -0
  786. /package/{config → dist/tools}/babel/babel.config.js +0 -0
  787. /package/{tools/dist → dist/tools}/cli/commands/serve.js +0 -0
  788. /package/{tools/dist → dist/tools}/cli/utils/ensureConfigFilenameOption.js +0 -0
  789. /package/{tools/dist → dist/tools}/cli/utils/getResolvedConfigPath.js +0 -0
  790. /package/{tools/dist → dist/tools}/cli/utils/prettyPrintTitle.js +0 -0
  791. /package/{config → dist/tools}/config-helpers/createConfig.js +0 -0
  792. /package/{config → dist/tools}/config-helpers/createLintConfig.js +0 -0
  793. /package/{config → dist/tools}/config-helpers/getBaseConfig.js +0 -0
  794. /package/{config → dist/tools}/defaultConfigPaths.js +0 -0
  795. /package/{tools/dist → dist/tools}/eslint.config.js +0 -0
  796. /package/{config → dist/tools}/index.js +0 -0
  797. /package/{config → dist/tools}/jest/jest.config.js +0 -0
  798. /package/{tools/dist → dist/tools}/jest.config.js +0 -0
  799. /package/{config → dist/tools}/webpack/common-config/all/getCodeRules.js +0 -0
  800. /package/{config → dist/tools}/webpack/common-config/all/getFileLoaderRules.js +0 -0
  801. /package/{config → dist/tools}/webpack/common-config/all/getImageMinimizer.js +0 -0
  802. /package/{config → dist/tools}/webpack/common-config/site/getHtmlWebpackPlugin.js +0 -0
  803. /package/{config → dist/tools}/webpack/plugins/html-webpack-new-relic-plugin/HtmlWebpackNewRelicPlugin.js +0 -0
  804. /package/{config → dist/tools}/webpack/plugins/html-webpack-new-relic-plugin/index.js +0 -0
  805. /package/{config → dist/tools}/webpack/plugins/html-webpack-new-relic-plugin/test/fixtures/entry.js +0 -0
  806. /package/{config → dist/tools}/webpack/utils/getResolvedSiteConfigPath.js +0 -0
@@ -0,0 +1,15 @@
1
+ export { configureAnalytics, getAnalyticsService, identifyAnonymousUser, identifyAuthenticatedUser, MockAnalyticsService, resetAnalyticsService, SegmentAnalyticsService, sendPageEvent, sendTrackEvent, sendTrackingLogEvent } from './analytics';
2
+ export { AUTHENTICATED_USER_CHANGED, AUTHENTICATED_USER_TOPIC, AxiosJwtAuthService, configureAuth, ensureAuthenticatedUser, fetchAuthenticatedUser, getAuthenticatedHttpClient, getAuthenticatedUser, getAuthService, getHttpClient, getLoginRedirectUrl, getLogoutRedirectUrl, hydrateAuthenticatedUser, MockAuthService, redirectToLogin, redirectToLogout, setAuthenticatedUser } from './auth';
3
+ export { getSiteConfig, setSiteConfig, mergeSiteConfig, addAppConfigs, getAppConfig, mergeAppConfig, setActiveRouteRoles, getActiveRouteRoles, addActiveWidgetRole, removeActiveWidgetRole, getActiveWidgetRoles, getActiveRoles, getExternalLinkUrl, getProvides, getProvidesAsStrings } from './config';
4
+ export * from './constants';
5
+ export { configureI18n, createIntl, defineMessages, FormattedDate, FormattedMessage, FormattedNumber, FormattedPlural, FormattedRelativeTime, FormattedTime, getLocale, getLocalizedLanguageName, getMessages, getPrimaryLanguageSubtag, getSupportedLanguageList, handleRtl, injectIntl, IntlProvider, intlShape, isRtl, LOCALE_CHANGED, LOCALE_TOPIC, mergeMessages, updateLocale, useIntl } from './i18n';
6
+ export { auth, getBasename, initError, initialize } from './initialize';
7
+ export { loadExternalScripts } from './scripts';
8
+ export { configureLogging, getLoggingService, logError, logInfo, MockLoggingService, NewRelicLoggingService, resetLoggingService } from './logging';
9
+ export { CurrentAppContext, CurrentAppProvider, SiteContext, SiteProvider, AuthenticatedPageRoute, Divider, ErrorBoundary, ErrorPage, LoginRedirect, PageWrap, useSiteEvent, useAuthenticatedUser, useSiteConfig, useAppConfig } from './react';
10
+ export { authenticatedLoader, getUrlByRouteRole, isRoleRouteObject } from './routing';
11
+ export { clearAllSubscriptions, publish, subscribe, unsubscribe } from './subscriptions';
12
+ export { initializeMockApp, mockMessages } from './testing';
13
+ export { camelCaseObject, convertKeyNames, getQueryParameters, isValidVariableName, modifyObjectKeys, snakeCaseObject } from './utils';
14
+ export * from './slots';
15
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../runtime/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,EACrB,yBAAyB,EACzB,oBAAoB,EACpB,qBAAqB,EACrB,uBAAuB,EACvB,aAAa,EACb,cAAc,EACd,oBAAoB,EACrB,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,0BAA0B,EAC1B,wBAAwB,EACxB,mBAAmB,EACnB,aAAa,EACb,uBAAuB,EACvB,sBAAsB,EACtB,0BAA0B,EAC1B,oBAAoB,EACpB,cAAc,EACd,aAAa,EACb,mBAAmB,EACnB,oBAAoB,EACpB,wBAAwB,EACxB,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,oBAAoB,EACrB,MAAM,QAAQ,CAAC;AAEhB,OAAO,EACL,aAAa,EACb,aAAa,EACb,eAAe,EACf,aAAa,EACb,YAAY,EACZ,cAAc,EACd,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,sBAAsB,EACtB,oBAAoB,EACpB,cAAc,EACd,kBAAkB,EAClB,WAAW,EACX,oBAAoB,EACrB,MAAM,UAAU,CAAC;AAElB,cAAc,aAAa,CAAC;AAE5B,OAAO,EACL,aAAa,EACb,UAAU,EACV,cAAc,EACd,aAAa,EACb,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,qBAAqB,EACrB,aAAa,EACb,SAAS,EACT,wBAAwB,EACxB,WAAW,EACX,wBAAwB,EACxB,wBAAwB,EACxB,SAAS,EACT,UAAU,EACV,YAAY,EACZ,SAAS,EACT,KAAK,EACL,cAAc,EACd,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,OAAO,EACR,MAAM,QAAQ,CAAC;AAEhB,OAAO,EACL,IAAI,EACJ,WAAW,EACX,SAAS,EACT,UAAU,EACX,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,mBAAmB,EACpB,MAAM,WAAW,CAAC;AAEnB,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,QAAQ,EACR,OAAO,EACP,kBAAkB,EAClB,sBAAsB,EACtB,mBAAmB,EACpB,MAAM,WAAW,CAAC;AAEnB,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,WAAW,EACX,YAAY,EACZ,sBAAsB,EACtB,OAAO,EACP,aAAa,EACb,SAAS,EACT,aAAa,EACb,QAAQ,EACR,YAAY,EACZ,oBAAoB,EACpB,aAAa,EACb,YAAY,EACb,MAAM,SAAS,CAAC;AAEjB,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,iBAAiB,EAClB,MAAM,WAAW,CAAC;AAEnB,OAAO,EACL,qBAAqB,EACrB,OAAO,EACP,SAAS,EACT,WAAW,EACZ,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,iBAAiB,EACjB,YAAY,EACb,MAAM,WAAW,CAAC;AAEnB,OAAO,EACL,eAAe,EACf,eAAe,EACf,kBAAkB,EAClB,mBAAmB,EACnB,gBAAgB,EAChB,eAAe,EAChB,MAAM,SAAS,CAAC;AAEjB,cAAc,SAAS,CAAC","sourcesContent":["export {\n configureAnalytics,\n getAnalyticsService,\n identifyAnonymousUser,\n identifyAuthenticatedUser,\n MockAnalyticsService,\n resetAnalyticsService,\n SegmentAnalyticsService,\n sendPageEvent,\n sendTrackEvent,\n sendTrackingLogEvent\n} from './analytics';\n\nexport {\n AUTHENTICATED_USER_CHANGED,\n AUTHENTICATED_USER_TOPIC,\n AxiosJwtAuthService,\n configureAuth,\n ensureAuthenticatedUser,\n fetchAuthenticatedUser,\n getAuthenticatedHttpClient,\n getAuthenticatedUser,\n getAuthService,\n getHttpClient,\n getLoginRedirectUrl,\n getLogoutRedirectUrl,\n hydrateAuthenticatedUser,\n MockAuthService,\n redirectToLogin,\n redirectToLogout,\n setAuthenticatedUser\n} from './auth';\n\nexport {\n getSiteConfig,\n setSiteConfig,\n mergeSiteConfig,\n addAppConfigs,\n getAppConfig,\n mergeAppConfig,\n setActiveRouteRoles,\n getActiveRouteRoles,\n addActiveWidgetRole,\n removeActiveWidgetRole,\n getActiveWidgetRoles,\n getActiveRoles,\n getExternalLinkUrl,\n getProvides,\n getProvidesAsStrings\n} from './config';\n\nexport * from './constants';\n\nexport {\n configureI18n,\n createIntl,\n defineMessages,\n FormattedDate,\n FormattedMessage,\n FormattedNumber,\n FormattedPlural,\n FormattedRelativeTime,\n FormattedTime,\n getLocale,\n getLocalizedLanguageName,\n getMessages,\n getPrimaryLanguageSubtag,\n getSupportedLanguageList,\n handleRtl,\n injectIntl,\n IntlProvider,\n intlShape,\n isRtl,\n LOCALE_CHANGED,\n LOCALE_TOPIC,\n mergeMessages,\n updateLocale,\n useIntl\n} from './i18n';\n\nexport {\n auth,\n getBasename,\n initError,\n initialize\n} from './initialize';\n\nexport {\n loadExternalScripts\n} from './scripts';\n\nexport {\n configureLogging,\n getLoggingService,\n logError,\n logInfo,\n MockLoggingService,\n NewRelicLoggingService,\n resetLoggingService\n} from './logging';\n\nexport {\n CurrentAppContext,\n CurrentAppProvider,\n SiteContext,\n SiteProvider,\n AuthenticatedPageRoute,\n Divider,\n ErrorBoundary,\n ErrorPage,\n LoginRedirect,\n PageWrap,\n useSiteEvent,\n useAuthenticatedUser,\n useSiteConfig,\n useAppConfig\n} from './react';\n\nexport {\n authenticatedLoader,\n getUrlByRouteRole,\n isRoleRouteObject\n} from './routing';\n\nexport {\n clearAllSubscriptions,\n publish,\n subscribe,\n unsubscribe\n} from './subscriptions';\n\nexport {\n initializeMockApp,\n mockMessages\n} from './testing';\n\nexport {\n camelCaseObject,\n convertKeyNames,\n getQueryParameters,\n isValidVariableName,\n modifyObjectKeys,\n snakeCaseObject\n} from './utils';\n\nexport * from './slots';\n"]}
@@ -0,0 +1,87 @@
1
+ /**
2
+ * The default handler for the initialization lifecycle's `initError` phase. Logs the error to the
3
+ * LoggingService using `logError`
4
+ *
5
+ * @see {@link module:frontend-base~logError}
6
+ * @param {*} error
7
+ */
8
+ export function initError(error: any): Promise<void>;
9
+ /**
10
+ * The default handler for the initialization lifecycle's `auth` phase.
11
+ *
12
+ * The handler has several responsibilities:
13
+ * - Determining the user's authentication state (authenticated or anonymous)
14
+ * - Optionally redirecting to login if the application requires an authenticated user.
15
+ * - Optionally loading additional user information via the application's user account data
16
+ * endpoint.
17
+ *
18
+ * @param {boolean} requireUser Whether or not we should redirect to login if a user is not
19
+ * authenticated.
20
+ * @param {boolean} hydrateUser Whether or not we should fetch additional user account data.
21
+ */
22
+ export function auth(requireUser: boolean, hydrateUser: boolean): Promise<void>;
23
+ /**
24
+ * The default handler for the initialization lifecycle's `analytics` phase.
25
+ *
26
+ * The handler is responsible for identifying authenticated and anonymous users with the analytics
27
+ * service. This is a pre-requisite for sending analytics events, thus, we do it during the
28
+ * initialization sequence so that analytics is ready once the application's UI code starts to load.
29
+ *
30
+ */
31
+ export function analytics(): Promise<void>;
32
+ /**
33
+ * Invokes the application initialization sequence.
34
+ *
35
+ * The sequence proceeds through a number of lifecycle phases, during which pertinent services are
36
+ * configured.
37
+ *
38
+ * Using the `handlers` option, lifecycle phase handlers can be overridden to perform custom
39
+ * functionality. Note that while these override handlers _do_ replace the default handler
40
+ * functionality for analytics, auth, and initError (the other phases have no default
41
+ * functionality), they do _not_ override the configuration of the actual services that those
42
+ * handlers leverage.
43
+ *
44
+ * Some services can be overridden via the loggingService and analyticsService options. The other
45
+ * services (auth and i18n) cannot currently be overridden.
46
+ *
47
+ * The following lifecycle phases exist:
48
+ *
49
+ * - pubSub: A no-op by default.
50
+ * - config: A no-op by default.
51
+ * - logging: A no-op by default.
52
+ * - auth: Uses the 'auth' handler defined above.
53
+ * - analytics: Uses the 'analytics' handler defined above.
54
+ * - i18n: A no-op by default.
55
+ * - ready: A no-op by default.
56
+ * - initError: Uses the 'initError' handler defined above.
57
+ *
58
+ * @param {Object} [options]
59
+ * @param {*} [options.loggingService=NewRelicLoggingService] The `LoggingService` implementation
60
+ * to use.
61
+ * @param {*} [options.analyticsService=SegmentAnalyticsService] The `AnalyticsService`
62
+ * implementation to use.
63
+ * @param {*} [options.authMiddleware=[]] An array of middleware to apply to http clients in the auth service.
64
+ * @param {*} [options.requireAuthenticatedUser=false] If true, turns on automatic login
65
+ * redirection for unauthenticated users. Defaults to false, meaning that by default the
66
+ * application will allow anonymous/unauthenticated sessions.
67
+ * @param {*} [options.hydrateAuthenticatedUser=false] If true, makes an API call to the user
68
+ * account endpoint (`${App.config.lmsBaseUrl}/api/user/v1/accounts/${username}`) to fetch
69
+ * detailed account information for the authenticated user. This data is merged into the return
70
+ * value of `getAuthenticatedUser`, overriding any duplicate keys that already exist. Defaults to
71
+ * false, meaning that no additional account information will be loaded.
72
+ * @param {*} [options.messages] A i18n-compatible messages object, or an array of such objects. If
73
+ * an array is provided, duplicate keys are resolved with the last-one-in winning.
74
+ * @param {*} [options.handlers={}] An optional object of handlers which can be used to replace the
75
+ * default behavior of any part of the startup sequence. It can also be used to add additional
76
+ * initialization behavior before or after the rest of the sequence.
77
+ */
78
+ export function initialize({ loggingService, analyticsService, authService, authMiddleware, requireAuthenticatedUser: requireUser, hydrateAuthenticatedUser: hydrateUser, messages, handlers: overrideHandlers, }?: {
79
+ loggingService?: any;
80
+ analyticsService?: any;
81
+ authMiddleware?: any;
82
+ requireAuthenticatedUser?: any;
83
+ hydrateAuthenticatedUser?: any;
84
+ messages?: any;
85
+ handlers?: any;
86
+ }): Promise<void>;
87
+ export function getBasename(): string | undefined;
@@ -0,0 +1,305 @@
1
+ /**
2
+ * #### Import members from **@openedx/frontend-base**
3
+ *
4
+ * The initialization module provides a function for managing an application's initialization
5
+ * lifecycle. It also provides constants and default handler implementations.
6
+ *
7
+ * ```
8
+ * import {
9
+ * initialize,
10
+ * SITE_INIT_ERROR,
11
+ * SITE_READY,
12
+ * subscribe,
13
+ * SiteProvider,
14
+ * ErrorPage,
15
+ * PageWrap
16
+ * } from '@openedx/frontend-base';
17
+ * import React from 'react';
18
+ * import ReactDOM from 'react-dom';
19
+ * import { Routes, Route } from 'react-router-dom';
20
+ *
21
+ * subscribe(SITE_READY, () => {
22
+ * ReactDOM.render(
23
+ * <SiteProvider>
24
+ * <Header />
25
+ * <main>
26
+ * <Routes>
27
+ * <Route path="/" element={<PageWrap><PaymentPage /></PageWrap>} />
28
+ * </Routes>
29
+ * </main>
30
+ * <Footer />
31
+ * </SiteProvider>,
32
+ * document.getElementById('root'),
33
+ * );
34
+ * });
35
+ *
36
+ * subscribe(SITE_INIT_ERROR, (error) => {
37
+ * ReactDOM.render(<ErrorPage message={error.message} />, document.getElementById('root'));
38
+ * });
39
+ *
40
+ * initialize({
41
+ * messages: [appMessages],
42
+ * requireAuthenticatedUser: true,
43
+ * hydrateAuthenticatedUser: true,
44
+ * });
45
+
46
+ ```
47
+ * @module Initialization
48
+ */
49
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
50
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
51
+ return new (P || (P = Promise))(function (resolve, reject) {
52
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
53
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
54
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
55
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
56
+ });
57
+ };
58
+ /*
59
+ This 'site.config' package is a special 'magic' alias in our webpack configuration in the `config`
60
+ folder. It points at an `site.config.tsx` file in the root of a site's repository.
61
+ */
62
+ import siteConfig from 'site.config';
63
+ import { configureAnalytics, identifyAnonymousUser, identifyAuthenticatedUser, SegmentAnalyticsService, } from './analytics';
64
+ import { AxiosJwtAuthService, configureAuth, ensureAuthenticatedUser, fetchAuthenticatedUser, getAuthenticatedHttpClient, getAuthenticatedUser, hydrateAuthenticatedUser, } from './auth';
65
+ import configureCache from './auth/LocalForageCache';
66
+ import { getSiteConfig, mergeSiteConfig, } from './config';
67
+ import { SITE_ANALYTICS_INITIALIZED, SITE_AUTH_INITIALIZED, SITE_CONFIG_INITIALIZED, SITE_I18N_INITIALIZED, SITE_INIT_ERROR, SITE_LOGGING_INITIALIZED, SITE_PUBSUB_INITIALIZED, SITE_READY, } from './constants';
68
+ import { configureI18n } from './i18n';
69
+ import { configureLogging, getLoggingService, logError, NewRelicLoggingService, } from './logging';
70
+ import { publish } from './subscriptions';
71
+ import { EnvironmentTypes } from '../types';
72
+ /**
73
+ * If set in configuration, a basename will be prepended to all relative routes under BrowserRouter.
74
+ *
75
+ * Unlike webpack's publicPath, the basename cannot be auto-discovered, so when publicPath is set
76
+ * (or when it's set to 'auto' and the site is being served from a path other than '/') this
77
+ * needs to be configured.
78
+ */
79
+ export const getBasename = () => getSiteConfig().basename;
80
+ /**
81
+ * The default handler for the initialization lifecycle's `initError` phase. Logs the error to the
82
+ * LoggingService using `logError`
83
+ *
84
+ * @see {@link module:frontend-base~logError}
85
+ * @param {*} error
86
+ */
87
+ export function initError(error) {
88
+ return __awaiter(this, void 0, void 0, function* () {
89
+ logError(error);
90
+ });
91
+ }
92
+ /**
93
+ * The default handler for the initialization lifecycle's `auth` phase.
94
+ *
95
+ * The handler has several responsibilities:
96
+ * - Determining the user's authentication state (authenticated or anonymous)
97
+ * - Optionally redirecting to login if the application requires an authenticated user.
98
+ * - Optionally loading additional user information via the application's user account data
99
+ * endpoint.
100
+ *
101
+ * @param {boolean} requireUser Whether or not we should redirect to login if a user is not
102
+ * authenticated.
103
+ * @param {boolean} hydrateUser Whether or not we should fetch additional user account data.
104
+ */
105
+ export function auth(requireUser, hydrateUser) {
106
+ return __awaiter(this, void 0, void 0, function* () {
107
+ if (requireUser) {
108
+ yield ensureAuthenticatedUser(globalThis.location.href);
109
+ }
110
+ else {
111
+ yield fetchAuthenticatedUser();
112
+ }
113
+ if (hydrateUser && getAuthenticatedUser() !== null) {
114
+ // We intentionally do not await the promise returned by hydrateAuthenticatedUser. All the
115
+ // critical data is returned as part of fetch/ensureAuthenticatedUser above, and anything else
116
+ // is a nice-to-have for application code.
117
+ hydrateAuthenticatedUser();
118
+ }
119
+ });
120
+ }
121
+ /**
122
+ * Set or overrides configuration via an site.config.tsx file in the consuming application.
123
+ * This site.config.tsx is loaded at runtime and must export one of two things:
124
+ *
125
+ * - An object which will be merged into the application config via `mergeSiteConfig`.
126
+ * - A function which returns an object which will be merged into the application config via
127
+ * `mergeSiteConfig`. This function can return a promise.
128
+ */
129
+ function fileConfig() {
130
+ return __awaiter(this, void 0, void 0, function* () {
131
+ let config = {};
132
+ if (typeof siteConfig === 'function') {
133
+ config = yield siteConfig();
134
+ }
135
+ else {
136
+ config = siteConfig;
137
+ }
138
+ mergeSiteConfig(config);
139
+ });
140
+ }
141
+ /*
142
+ * Set or overrides configuration through an API.
143
+ * This method allows runtime configuration.
144
+ * Set a basic configuration when an error happen and allow initError and display the ErrorPage.
145
+ */
146
+ function runtimeConfig() {
147
+ return __awaiter(this, void 0, void 0, function* () {
148
+ try {
149
+ const { runtimeConfigJsonUrl, environment } = getSiteConfig();
150
+ if (runtimeConfigJsonUrl) {
151
+ const apiConfig = { headers: { accept: 'application/json' } };
152
+ const apiService = yield configureCache();
153
+ const runtimeConfigUrl = new URL(runtimeConfigJsonUrl, window.location.origin);
154
+ // In development mode, add a timestamp as a cache buster
155
+ // to support live-editing runtime config JSON
156
+ if (environment === EnvironmentTypes.DEVELOPMENT) {
157
+ runtimeConfigUrl.searchParams.set('timestamp', Date.now());
158
+ }
159
+ const { data } = yield apiService.get(runtimeConfigUrl.toString(), apiConfig);
160
+ if (!data || typeof data !== 'object' || Array.isArray(data)) {
161
+ throw new TypeError('Runtime config must be a valid JSON object.');
162
+ }
163
+ mergeSiteConfig(data, { limitAppMergeToConfig: true });
164
+ }
165
+ }
166
+ catch (error) {
167
+ console.error('Error with config API:', error.message);
168
+ }
169
+ });
170
+ }
171
+ /**
172
+ * The default handler for the initialization lifecycle's `analytics` phase.
173
+ *
174
+ * The handler is responsible for identifying authenticated and anonymous users with the analytics
175
+ * service. This is a pre-requisite for sending analytics events, thus, we do it during the
176
+ * initialization sequence so that analytics is ready once the application's UI code starts to load.
177
+ *
178
+ */
179
+ export function analytics() {
180
+ return __awaiter(this, void 0, void 0, function* () {
181
+ const authenticatedUser = getAuthenticatedUser();
182
+ if (authenticatedUser === null || authenticatedUser === void 0 ? void 0 : authenticatedUser.userId) {
183
+ identifyAuthenticatedUser(authenticatedUser.userId);
184
+ }
185
+ else {
186
+ yield identifyAnonymousUser();
187
+ }
188
+ });
189
+ }
190
+ function applyOverrideHandlers(overrides) {
191
+ const noOp = () => __awaiter(this, void 0, void 0, function* () { });
192
+ return Object.assign({ pubSub: noOp, config: noOp, logging: noOp, auth,
193
+ analytics, i18n: noOp, ready: noOp, initError }, overrides);
194
+ }
195
+ /**
196
+ * Invokes the application initialization sequence.
197
+ *
198
+ * The sequence proceeds through a number of lifecycle phases, during which pertinent services are
199
+ * configured.
200
+ *
201
+ * Using the `handlers` option, lifecycle phase handlers can be overridden to perform custom
202
+ * functionality. Note that while these override handlers _do_ replace the default handler
203
+ * functionality for analytics, auth, and initError (the other phases have no default
204
+ * functionality), they do _not_ override the configuration of the actual services that those
205
+ * handlers leverage.
206
+ *
207
+ * Some services can be overridden via the loggingService and analyticsService options. The other
208
+ * services (auth and i18n) cannot currently be overridden.
209
+ *
210
+ * The following lifecycle phases exist:
211
+ *
212
+ * - pubSub: A no-op by default.
213
+ * - config: A no-op by default.
214
+ * - logging: A no-op by default.
215
+ * - auth: Uses the 'auth' handler defined above.
216
+ * - analytics: Uses the 'analytics' handler defined above.
217
+ * - i18n: A no-op by default.
218
+ * - ready: A no-op by default.
219
+ * - initError: Uses the 'initError' handler defined above.
220
+ *
221
+ * @param {Object} [options]
222
+ * @param {*} [options.loggingService=NewRelicLoggingService] The `LoggingService` implementation
223
+ * to use.
224
+ * @param {*} [options.analyticsService=SegmentAnalyticsService] The `AnalyticsService`
225
+ * implementation to use.
226
+ * @param {*} [options.authMiddleware=[]] An array of middleware to apply to http clients in the auth service.
227
+ * @param {*} [options.requireAuthenticatedUser=false] If true, turns on automatic login
228
+ * redirection for unauthenticated users. Defaults to false, meaning that by default the
229
+ * application will allow anonymous/unauthenticated sessions.
230
+ * @param {*} [options.hydrateAuthenticatedUser=false] If true, makes an API call to the user
231
+ * account endpoint (`${App.config.lmsBaseUrl}/api/user/v1/accounts/${username}`) to fetch
232
+ * detailed account information for the authenticated user. This data is merged into the return
233
+ * value of `getAuthenticatedUser`, overriding any duplicate keys that already exist. Defaults to
234
+ * false, meaning that no additional account information will be loaded.
235
+ * @param {*} [options.messages] A i18n-compatible messages object, or an array of such objects. If
236
+ * an array is provided, duplicate keys are resolved with the last-one-in winning.
237
+ * @param {*} [options.handlers={}] An optional object of handlers which can be used to replace the
238
+ * default behavior of any part of the startup sequence. It can also be used to add additional
239
+ * initialization behavior before or after the rest of the sequence.
240
+ */
241
+ export function initialize(_a) {
242
+ return __awaiter(this, arguments, void 0, function* ({ loggingService = NewRelicLoggingService, analyticsService = SegmentAnalyticsService, authService = AxiosJwtAuthService, authMiddleware = [], requireAuthenticatedUser: requireUser = false, hydrateAuthenticatedUser: hydrateUser = false, messages, handlers: overrideHandlers = {}, }) {
243
+ var _b, _c, _d;
244
+ const handlers = applyOverrideHandlers(overrideHandlers);
245
+ try {
246
+ // Pub/Sub
247
+ yield handlers.pubSub();
248
+ publish(SITE_PUBSUB_INITIALIZED);
249
+ // Configuration
250
+ yield fileConfig();
251
+ yield handlers.config();
252
+ yield runtimeConfig();
253
+ publish(SITE_CONFIG_INITIALIZED);
254
+ /*
255
+ * This allows us to replace the implementations of the logging, analytics, and auth
256
+ * services based on keys in the SiteConfig. The JavaScript File Configuration method is
257
+ * the only one capable of supplying an alternate implementation since it can import other
258
+ * modules. If a service wasn't supplied we fall back to the default parameters on the
259
+ * initialize function signature.
260
+ */
261
+ const loggingServiceImpl = (_b = getSiteConfig().loggingService) !== null && _b !== void 0 ? _b : loggingService;
262
+ const analyticsServiceImpl = (_c = getSiteConfig().analyticsService) !== null && _c !== void 0 ? _c : analyticsService;
263
+ const authServiceImpl = (_d = getSiteConfig().authService) !== null && _d !== void 0 ? _d : authService;
264
+ // Logging
265
+ configureLogging(loggingServiceImpl, {
266
+ config: getSiteConfig(),
267
+ });
268
+ yield handlers.logging();
269
+ publish(SITE_LOGGING_INITIALIZED);
270
+ // Internationalization
271
+ configureI18n({
272
+ messages,
273
+ });
274
+ yield handlers.i18n();
275
+ publish(SITE_I18N_INITIALIZED);
276
+ // Authentication
277
+ configureAuth(authServiceImpl, {
278
+ loggingService: getLoggingService(),
279
+ config: getSiteConfig(),
280
+ middleware: authMiddleware,
281
+ });
282
+ yield handlers.auth(requireUser, hydrateUser);
283
+ publish(SITE_AUTH_INITIALIZED);
284
+ // Analytics
285
+ configureAnalytics(analyticsServiceImpl, {
286
+ config: getSiteConfig(),
287
+ loggingService: getLoggingService(),
288
+ httpClient: getAuthenticatedHttpClient(),
289
+ });
290
+ yield handlers.analytics();
291
+ publish(SITE_ANALYTICS_INITIALIZED);
292
+ // Application Ready
293
+ yield handlers.ready();
294
+ publish(SITE_READY);
295
+ }
296
+ catch (error) {
297
+ if (!error.isRedirecting) {
298
+ // Initialization Error
299
+ yield handlers.initError(error);
300
+ publish(SITE_INIT_ERROR, error);
301
+ }
302
+ }
303
+ });
304
+ }
305
+ //# sourceMappingURL=initialize.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"initialize.js","sourceRoot":"","sources":["../../runtime/initialize.js"],"names":[],"mappings":"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","sourcesContent":["/**\n * #### Import members from **@openedx/frontend-base**\n *\n * The initialization module provides a function for managing an application's initialization\n * lifecycle. It also provides constants and default handler implementations.\n *\n * ```\n * import {\n * initialize,\n * SITE_INIT_ERROR,\n * SITE_READY,\n * subscribe,\n * SiteProvider,\n * ErrorPage,\n * PageWrap\n * } from '@openedx/frontend-base';\n * import React from 'react';\n * import ReactDOM from 'react-dom';\n * import { Routes, Route } from 'react-router-dom';\n *\n * subscribe(SITE_READY, () => {\n * ReactDOM.render(\n * <SiteProvider>\n * <Header />\n * <main>\n * <Routes>\n * <Route path=\"/\" element={<PageWrap><PaymentPage /></PageWrap>} />\n * </Routes>\n * </main>\n * <Footer />\n * </SiteProvider>,\n * document.getElementById('root'),\n * );\n * });\n *\n * subscribe(SITE_INIT_ERROR, (error) => {\n * ReactDOM.render(<ErrorPage message={error.message} />, document.getElementById('root'));\n * });\n *\n * initialize({\n * messages: [appMessages],\n * requireAuthenticatedUser: true,\n * hydrateAuthenticatedUser: true,\n * });\n\n```\n * @module Initialization\n */\n\n/*\nThis 'site.config' package is a special 'magic' alias in our webpack configuration in the `config`\nfolder. It points at an `site.config.tsx` file in the root of a site's repository.\n*/\nimport siteConfig from 'site.config';\nimport {\n configureAnalytics,\n identifyAnonymousUser,\n identifyAuthenticatedUser,\n SegmentAnalyticsService,\n} from './analytics';\nimport {\n AxiosJwtAuthService,\n configureAuth,\n ensureAuthenticatedUser,\n fetchAuthenticatedUser,\n getAuthenticatedHttpClient,\n getAuthenticatedUser,\n hydrateAuthenticatedUser,\n} from './auth';\nimport configureCache from './auth/LocalForageCache';\nimport {\n getSiteConfig, mergeSiteConfig,\n} from './config';\nimport {\n SITE_ANALYTICS_INITIALIZED,\n SITE_AUTH_INITIALIZED,\n SITE_CONFIG_INITIALIZED,\n SITE_I18N_INITIALIZED,\n SITE_INIT_ERROR,\n SITE_LOGGING_INITIALIZED,\n SITE_PUBSUB_INITIALIZED,\n SITE_READY,\n} from './constants';\nimport { configureI18n } from './i18n';\nimport {\n configureLogging,\n getLoggingService,\n logError,\n NewRelicLoggingService,\n} from './logging';\nimport { publish } from './subscriptions';\nimport { EnvironmentTypes } from '../types';\n\n/**\n * If set in configuration, a basename will be prepended to all relative routes under BrowserRouter.\n *\n * Unlike webpack's publicPath, the basename cannot be auto-discovered, so when publicPath is set\n * (or when it's set to 'auto' and the site is being served from a path other than '/') this\n * needs to be configured.\n */\nexport const getBasename = () => getSiteConfig().basename;\n\n/**\n * The default handler for the initialization lifecycle's `initError` phase. Logs the error to the\n * LoggingService using `logError`\n *\n * @see {@link module:frontend-base~logError}\n * @param {*} error\n */\nexport async function initError(error) {\n logError(error);\n}\n\n/**\n * The default handler for the initialization lifecycle's `auth` phase.\n *\n * The handler has several responsibilities:\n * - Determining the user's authentication state (authenticated or anonymous)\n * - Optionally redirecting to login if the application requires an authenticated user.\n * - Optionally loading additional user information via the application's user account data\n * endpoint.\n *\n * @param {boolean} requireUser Whether or not we should redirect to login if a user is not\n * authenticated.\n * @param {boolean} hydrateUser Whether or not we should fetch additional user account data.\n */\nexport async function auth(requireUser, hydrateUser) {\n if (requireUser) {\n await ensureAuthenticatedUser(globalThis.location.href);\n } else {\n await fetchAuthenticatedUser();\n }\n\n if (hydrateUser && getAuthenticatedUser() !== null) {\n // We intentionally do not await the promise returned by hydrateAuthenticatedUser. All the\n // critical data is returned as part of fetch/ensureAuthenticatedUser above, and anything else\n // is a nice-to-have for application code.\n hydrateAuthenticatedUser();\n }\n}\n\n/**\n * Set or overrides configuration via an site.config.tsx file in the consuming application.\n * This site.config.tsx is loaded at runtime and must export one of two things:\n *\n * - An object which will be merged into the application config via `mergeSiteConfig`.\n * - A function which returns an object which will be merged into the application config via\n * `mergeSiteConfig`. This function can return a promise.\n */\nasync function fileConfig() {\n let config = {};\n if (typeof siteConfig === 'function') {\n config = await siteConfig();\n } else {\n config = siteConfig;\n }\n\n mergeSiteConfig(config);\n}\n\n/*\n * Set or overrides configuration through an API.\n * This method allows runtime configuration.\n * Set a basic configuration when an error happen and allow initError and display the ErrorPage.\n */\nasync function runtimeConfig() {\n try {\n const { runtimeConfigJsonUrl, environment } = getSiteConfig();\n\n if (runtimeConfigJsonUrl) {\n const apiConfig = { headers: { accept: 'application/json' } };\n const apiService = await configureCache();\n\n const runtimeConfigUrl = new URL(runtimeConfigJsonUrl, window.location.origin);\n\n // In development mode, add a timestamp as a cache buster\n // to support live-editing runtime config JSON\n if (environment === EnvironmentTypes.DEVELOPMENT) {\n runtimeConfigUrl.searchParams.set('timestamp', Date.now());\n }\n\n const { data } = await apiService.get(runtimeConfigUrl.toString(), apiConfig);\n if (!data || typeof data !== 'object' || Array.isArray(data)) {\n throw new TypeError('Runtime config must be a valid JSON object.');\n }\n mergeSiteConfig(data, { limitAppMergeToConfig: true });\n }\n } catch (error) {\n console.error('Error with config API:', error.message);\n }\n}\n\n/**\n * The default handler for the initialization lifecycle's `analytics` phase.\n *\n * The handler is responsible for identifying authenticated and anonymous users with the analytics\n * service. This is a pre-requisite for sending analytics events, thus, we do it during the\n * initialization sequence so that analytics is ready once the application's UI code starts to load.\n *\n */\nexport async function analytics() {\n const authenticatedUser = getAuthenticatedUser();\n if (authenticatedUser?.userId) {\n identifyAuthenticatedUser(authenticatedUser.userId);\n } else {\n await identifyAnonymousUser();\n }\n}\n\nfunction applyOverrideHandlers(overrides) {\n const noOp = async () => { };\n return {\n pubSub: noOp,\n config: noOp,\n logging: noOp,\n auth,\n analytics,\n i18n: noOp,\n ready: noOp,\n initError,\n ...overrides, // This will override any same-keyed handlers from above.\n };\n}\n\n/**\n * Invokes the application initialization sequence.\n *\n * The sequence proceeds through a number of lifecycle phases, during which pertinent services are\n * configured.\n *\n * Using the `handlers` option, lifecycle phase handlers can be overridden to perform custom\n * functionality. Note that while these override handlers _do_ replace the default handler\n * functionality for analytics, auth, and initError (the other phases have no default\n * functionality), they do _not_ override the configuration of the actual services that those\n * handlers leverage.\n *\n * Some services can be overridden via the loggingService and analyticsService options. The other\n * services (auth and i18n) cannot currently be overridden.\n *\n * The following lifecycle phases exist:\n *\n * - pubSub: A no-op by default.\n * - config: A no-op by default.\n * - logging: A no-op by default.\n * - auth: Uses the 'auth' handler defined above.\n * - analytics: Uses the 'analytics' handler defined above.\n * - i18n: A no-op by default.\n * - ready: A no-op by default.\n * - initError: Uses the 'initError' handler defined above.\n *\n * @param {Object} [options]\n * @param {*} [options.loggingService=NewRelicLoggingService] The `LoggingService` implementation\n * to use.\n * @param {*} [options.analyticsService=SegmentAnalyticsService] The `AnalyticsService`\n * implementation to use.\n * @param {*} [options.authMiddleware=[]] An array of middleware to apply to http clients in the auth service.\n * @param {*} [options.requireAuthenticatedUser=false] If true, turns on automatic login\n * redirection for unauthenticated users. Defaults to false, meaning that by default the\n * application will allow anonymous/unauthenticated sessions.\n * @param {*} [options.hydrateAuthenticatedUser=false] If true, makes an API call to the user\n * account endpoint (`${App.config.lmsBaseUrl}/api/user/v1/accounts/${username}`) to fetch\n * detailed account information for the authenticated user. This data is merged into the return\n * value of `getAuthenticatedUser`, overriding any duplicate keys that already exist. Defaults to\n * false, meaning that no additional account information will be loaded.\n * @param {*} [options.messages] A i18n-compatible messages object, or an array of such objects. If\n * an array is provided, duplicate keys are resolved with the last-one-in winning.\n * @param {*} [options.handlers={}] An optional object of handlers which can be used to replace the\n * default behavior of any part of the startup sequence. It can also be used to add additional\n * initialization behavior before or after the rest of the sequence.\n */\nexport async function initialize({\n loggingService = NewRelicLoggingService,\n analyticsService = SegmentAnalyticsService,\n authService = AxiosJwtAuthService,\n authMiddleware = [],\n requireAuthenticatedUser: requireUser = false,\n hydrateAuthenticatedUser: hydrateUser = false,\n messages,\n handlers: overrideHandlers = {},\n}) {\n const handlers = applyOverrideHandlers(overrideHandlers);\n try {\n // Pub/Sub\n await handlers.pubSub();\n publish(SITE_PUBSUB_INITIALIZED);\n\n // Configuration\n await fileConfig();\n await handlers.config();\n await runtimeConfig();\n publish(SITE_CONFIG_INITIALIZED);\n\n /*\n * This allows us to replace the implementations of the logging, analytics, and auth\n * services based on keys in the SiteConfig. The JavaScript File Configuration method is\n * the only one capable of supplying an alternate implementation since it can import other\n * modules. If a service wasn't supplied we fall back to the default parameters on the\n * initialize function signature.\n */\n const loggingServiceImpl = getSiteConfig().loggingService ?? loggingService;\n const analyticsServiceImpl = getSiteConfig().analyticsService ?? analyticsService;\n const authServiceImpl = getSiteConfig().authService ?? authService;\n\n // Logging\n configureLogging(loggingServiceImpl, {\n config: getSiteConfig(),\n });\n await handlers.logging();\n publish(SITE_LOGGING_INITIALIZED);\n\n // Internationalization\n configureI18n({\n messages,\n });\n await handlers.i18n();\n publish(SITE_I18N_INITIALIZED);\n\n // Authentication\n configureAuth(authServiceImpl, {\n loggingService: getLoggingService(),\n config: getSiteConfig(),\n middleware: authMiddleware,\n });\n\n await handlers.auth(requireUser, hydrateUser);\n publish(SITE_AUTH_INITIALIZED);\n\n // Analytics\n configureAnalytics(analyticsServiceImpl, {\n config: getSiteConfig(),\n loggingService: getLoggingService(),\n httpClient: getAuthenticatedHttpClient(),\n });\n await handlers.analytics();\n publish(SITE_ANALYTICS_INITIALIZED);\n\n // Application Ready\n await handlers.ready();\n publish(SITE_READY);\n } catch (error) {\n if (!error.isRedirecting) {\n // Initialization Error\n await handlers.initError(error);\n publish(SITE_INIT_ERROR, error);\n }\n }\n}\n"]}
@@ -0,0 +1,16 @@
1
+ export let setupFilesAfterEnv: string[];
2
+ export let moduleNameMapper: {
3
+ '\\.svg$': string;
4
+ '\\.(jpg|jpeg|png|gif|eot|otf|webp|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$': string;
5
+ '\\.(css|scss)$': string;
6
+ 'site.config': string;
7
+ };
8
+ export let testEnvironment: string;
9
+ export namespace testEnvironmentOptions {
10
+ let url: string;
11
+ }
12
+ export let collectCoverageFrom: string[];
13
+ export let coveragePathIgnorePatterns: string[];
14
+ export let transformIgnorePatterns: string[];
15
+ export let modulePathIgnorePatterns: string[];
16
+ export let testPathIgnorePatterns: string[];
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ module.exports = {
3
+ setupFilesAfterEnv: [
4
+ '<rootDir>/setupTest.js',
5
+ ],
6
+ moduleNameMapper: {
7
+ '\\.svg$': '<rootDir>/__mocks__/svg.js',
8
+ '\\.(jpg|jpeg|png|gif|eot|otf|webp|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$': '<rootDir/__mocks__/file.js',
9
+ '\\.(css|scss)$': require.resolve('identity-obj-proxy'),
10
+ 'site.config': '<rootDir>/site.config.test.tsx',
11
+ },
12
+ testEnvironment: 'jsdom',
13
+ testEnvironmentOptions: {
14
+ url: 'http://localhost/',
15
+ },
16
+ collectCoverageFrom: [
17
+ '<rootDir>/**/*.{js,jsx,ts,tsx}',
18
+ ],
19
+ coveragePathIgnorePatterns: [
20
+ '<rootDir>/setupTest.js',
21
+ ],
22
+ transformIgnorePatterns: [
23
+ '/node_modules/(?!(@openedx|@edx)/)',
24
+ ],
25
+ modulePathIgnorePatterns: [
26
+ '/dist/',
27
+ ],
28
+ testPathIgnorePatterns: [
29
+ '/site.config.test.tsx',
30
+ '/node_modules/',
31
+ '/dist/',
32
+ ],
33
+ };
34
+ //# sourceMappingURL=jest.config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jest.config.js","sourceRoot":"","sources":["../../runtime/jest.config.js"],"names":[],"mappings":";AAAA,MAAM,CAAC,OAAO,GAAG;IACf,kBAAkB,EAAE;QAClB,wBAAwB;KACzB;IACD,gBAAgB,EAAE;QAChB,SAAS,EAAE,4BAA4B;QACvC,iFAAiF,EAAE,4BAA4B;QAC/G,gBAAgB,EAAE,OAAO,CAAC,OAAO,CAAC,oBAAoB,CAAC;QACvD,aAAa,EAAE,gCAAgC;KAChD;IACD,eAAe,EAAE,OAAO;IACxB,sBAAsB,EAAE;QACtB,GAAG,EAAE,mBAAmB;KACzB;IACD,mBAAmB,EAAE;QACnB,gCAAgC;KACjC;IACD,0BAA0B,EAAE;QAC1B,wBAAwB;KACzB;IACD,uBAAuB,EAAE;QACvB,oCAAoC;KACrC;IACD,wBAAwB,EAAE;QACxB,QAAQ;KACT;IACD,sBAAsB,EAAE;QACtB,uBAAuB;QACvB,gBAAgB;QAChB,QAAQ;KACT;CACF,CAAC","sourcesContent":["module.exports = {\n setupFilesAfterEnv: [\n '<rootDir>/setupTest.js',\n ],\n moduleNameMapper: {\n '\\\\.svg$': '<rootDir>/__mocks__/svg.js',\n '\\\\.(jpg|jpeg|png|gif|eot|otf|webp|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$': '<rootDir/__mocks__/file.js',\n '\\\\.(css|scss)$': require.resolve('identity-obj-proxy'),\n 'site.config': '<rootDir>/site.config.test.tsx',\n },\n testEnvironment: 'jsdom',\n testEnvironmentOptions: {\n url: 'http://localhost/',\n },\n collectCoverageFrom: [\n '<rootDir>/**/*.{js,jsx,ts,tsx}',\n ],\n coveragePathIgnorePatterns: [\n '<rootDir>/setupTest.js',\n ],\n transformIgnorePatterns: [\n '/node_modules/(?!(@openedx|@edx)/)',\n ],\n modulePathIgnorePatterns: [\n '/dist/',\n ],\n testPathIgnorePatterns: [\n '/site.config.test.tsx',\n '/node_modules/',\n '/dist/',\n ],\n};\n"]}
@@ -0,0 +1,28 @@
1
+ export default MockLoggingService;
2
+ /**
3
+ * The MockLoggingService implements both logInfo and logError as jest mock functions via
4
+ * jest.fn(). It has no other functionality.
5
+ *
6
+ * @implements {LoggingService}
7
+ * @memberof module:Logging
8
+ */
9
+ declare class MockLoggingService implements LoggingService {
10
+ /**
11
+ * Implemented as a jest.fn()
12
+ *
13
+ * @memberof MockLoggingService
14
+ */
15
+ logInfo: jest.Mock<any, any, any>;
16
+ /**
17
+ * Implemented as a jest.fn()
18
+ *
19
+ * @memberof MockLoggingService
20
+ */
21
+ logError: jest.Mock<any, any, any>;
22
+ /**
23
+ * Implemented as a jest.fn()
24
+ *
25
+ * @memberof MockLoggingService
26
+ */
27
+ setCustomAttribute: jest.Mock<any, any, any>;
28
+ }
@@ -0,0 +1,31 @@
1
+ /**
2
+ * The MockLoggingService implements both logInfo and logError as jest mock functions via
3
+ * jest.fn(). It has no other functionality.
4
+ *
5
+ * @implements {LoggingService}
6
+ * @memberof module:Logging
7
+ */
8
+ class MockLoggingService {
9
+ constructor() {
10
+ /**
11
+ * Implemented as a jest.fn()
12
+ *
13
+ * @memberof MockLoggingService
14
+ */
15
+ this.logInfo = jest.fn();
16
+ /**
17
+ * Implemented as a jest.fn()
18
+ *
19
+ * @memberof MockLoggingService
20
+ */
21
+ this.logError = jest.fn();
22
+ /**
23
+ * Implemented as a jest.fn()
24
+ *
25
+ * @memberof MockLoggingService
26
+ */
27
+ this.setCustomAttribute = jest.fn();
28
+ }
29
+ }
30
+ export default MockLoggingService;
31
+ //# sourceMappingURL=MockLoggingService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MockLoggingService.js","sourceRoot":"","sources":["../../../runtime/logging/MockLoggingService.js"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,kBAAkB;IAAxB;QACE;;;;WAIG;QACH,YAAO,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QAEpB;;;;WAIG;QACH,aAAQ,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QAErB;;;;WAIG;QACH,uBAAkB,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;IACjC,CAAC;CAAA;AAED,eAAe,kBAAkB,CAAC","sourcesContent":["/**\n * The MockLoggingService implements both logInfo and logError as jest mock functions via\n * jest.fn(). It has no other functionality.\n *\n * @implements {LoggingService}\n * @memberof module:Logging\n */\nclass MockLoggingService {\n /**\n * Implemented as a jest.fn()\n *\n * @memberof MockLoggingService\n */\n logInfo = jest.fn();\n\n /**\n * Implemented as a jest.fn()\n *\n * @memberof MockLoggingService\n */\n logError = jest.fn();\n\n /**\n * Implemented as a jest.fn()\n *\n * @memberof MockLoggingService\n */\n setCustomAttribute = jest.fn();\n}\n\nexport default MockLoggingService;\n"]}
@@ -0,0 +1,67 @@
1
+ /**
2
+ * NewRelic will not log an error if it is too long.
3
+ *
4
+ * @ignore
5
+ */
6
+ export const MAX_ERROR_LENGTH: 4000;
7
+ /**
8
+ * The NewRelicLoggingService is a concrete implementation of the logging service interface that
9
+ * sends messages to NewRelic that can be seen in NewRelic Browser and NewRelic Insights. When in
10
+ * development mode, all messages will instead be sent to the console.
11
+ *
12
+ * When you use `logError`, your errors will be checked to see if they're ignored *or* not.
13
+ * Not-ignored errors will appear under "JS errors" for your Browser application.
14
+ *
15
+ * ```
16
+ * SELECT * from JavaScriptError WHERE errorStatus is not null SINCE 10 days ago
17
+ * ```
18
+ *
19
+ * Ignored errors will appear in New Relic Insights as page actions, which can be queried:
20
+ *
21
+ * ```
22
+ * SELECT * from PageAction WHERE actionName = 'IGNORED_ERROR' SINCE 1 hour ago
23
+ * ```
24
+ *
25
+ * When using `logInfo`, these only appear in New Relic Insights when querying for page actions as
26
+ * follows:
27
+ *
28
+ * ```
29
+ * SELECT * from PageAction WHERE actionName = 'INFO' SINCE 1 hour ago
30
+ * ```
31
+ *
32
+ * You can also add your own custom metrics as an additional argument, or see the code to find
33
+ * other standard custom attributes. By default, userId is added (via setCustomAttribute) for logged
34
+ * in users via the auth service (AuthAxiosJwtService).
35
+ *
36
+ * Requires the NewRelic Browser JavaScript snippet.
37
+ *
38
+ * @implements {LoggingService}
39
+ * @memberof module:Logging
40
+ */
41
+ export default class NewRelicLoggingService implements LoggingService {
42
+ constructor(options: any);
43
+ ignoredErrorRegexes: any;
44
+ /**
45
+ *
46
+ *
47
+ * @param {*} infoStringOrErrorObject
48
+ * @param {*} [customAttributes={}]
49
+ * @memberof NewRelicLoggingService
50
+ */
51
+ logInfo(infoStringOrErrorObject: any, customAttributes?: any): void;
52
+ /**
53
+ *
54
+ *
55
+ * @param {*} errorStringOrObject
56
+ * @param {*} [customAttributes={}]
57
+ * @memberof NewRelicLoggingService
58
+ */
59
+ logError(errorStringOrObject: any, customAttributes?: any): void;
60
+ /**
61
+ * Sets a custom attribute that will be included with all subsequent log messages.
62
+ *
63
+ * @param {string} name
64
+ * @param {string|number|null} value
65
+ */
66
+ setCustomAttribute(name: string, value: string | number | null): void;
67
+ }