@cdmbase/wiki-browser 12.0.18-alpha.10

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 (367) hide show
  1. package/LICENSE +21 -0
  2. package/lib/components/Logo.d.ts +4 -0
  3. package/lib/components/Logo.d.ts.map +1 -0
  4. package/lib/components/Logo.js +16 -0
  5. package/lib/components/Logo.js.map +1 -0
  6. package/lib/components/help/SidebarSearch.d.ts +8 -0
  7. package/lib/components/help/SidebarSearch.d.ts.map +1 -0
  8. package/lib/components/help/SidebarSearch.js +111 -0
  9. package/lib/components/help/SidebarSearch.js.map +1 -0
  10. package/lib/components/help/index.d.ts +2 -0
  11. package/lib/components/help/index.d.ts.map +1 -0
  12. package/lib/components/landing/FeatureCard.d.ts +13 -0
  13. package/lib/components/landing/FeatureCard.d.ts.map +1 -0
  14. package/lib/components/landing/FeatureCard.js +85 -0
  15. package/lib/components/landing/FeatureCard.js.map +1 -0
  16. package/lib/components/landing/QuickLinkCard.d.ts +8 -0
  17. package/lib/components/landing/QuickLinkCard.d.ts.map +1 -0
  18. package/lib/components/landing/QuickLinkCard.js +26 -0
  19. package/lib/components/landing/QuickLinkCard.js.map +1 -0
  20. package/lib/components/landing/SearchInput.d.ts +10 -0
  21. package/lib/components/landing/SearchInput.d.ts.map +1 -0
  22. package/lib/components/landing/SearchInput.js +223 -0
  23. package/lib/components/landing/SearchInput.js.map +1 -0
  24. package/lib/components/landing/index.d.ts +4 -0
  25. package/lib/components/landing/index.d.ts.map +1 -0
  26. package/lib/components/welcome.d.ts +3 -0
  27. package/lib/components/welcome.d.ts.map +1 -0
  28. package/lib/compute.d.ts +4 -0
  29. package/lib/compute.d.ts.map +1 -0
  30. package/lib/compute.js +96 -0
  31. package/lib/compute.js.map +1 -0
  32. package/lib/config/env-config.d.ts +4 -0
  33. package/lib/config/env-config.d.ts.map +1 -0
  34. package/lib/config/env-config.js +7 -0
  35. package/lib/config/env-config.js.map +1 -0
  36. package/lib/docs.config.d.ts +48 -0
  37. package/lib/docs.config.d.ts.map +1 -0
  38. package/lib/index.d.ts +4 -0
  39. package/lib/index.d.ts.map +1 -0
  40. package/lib/index.js +2 -0
  41. package/lib/index.js.map +1 -0
  42. package/lib/loaders/search.d.ts +1 -0
  43. package/lib/loaders/search.d.ts.map +1 -0
  44. package/lib/module.d.ts +4 -0
  45. package/lib/module.d.ts.map +1 -0
  46. package/lib/module.js +11 -0
  47. package/lib/module.js.map +1 -0
  48. package/lib/pages/ArticlePage/ArticlePage.d.ts +4 -0
  49. package/lib/pages/ArticlePage/ArticlePage.d.ts.map +1 -0
  50. package/lib/pages/ArticlePage/ArticlePage.js +222 -0
  51. package/lib/pages/ArticlePage/ArticlePage.js.map +1 -0
  52. package/lib/pages/ArticlePage/index.d.ts +3 -0
  53. package/lib/pages/ArticlePage/index.d.ts.map +1 -0
  54. package/lib/pages/ArticlePage/index.js +3 -0
  55. package/lib/pages/ArticlePage/index.js.map +1 -0
  56. package/lib/pages/CategoryCollection/CategoryCollection.d.ts +4 -0
  57. package/lib/pages/CategoryCollection/CategoryCollection.d.ts.map +1 -0
  58. package/lib/pages/CategoryCollection/CategoryCollection.js +103 -0
  59. package/lib/pages/CategoryCollection/CategoryCollection.js.map +1 -0
  60. package/lib/pages/CategoryCollection/index.d.ts +3 -0
  61. package/lib/pages/CategoryCollection/index.d.ts.map +1 -0
  62. package/lib/pages/CategoryCollection/index.js +3 -0
  63. package/lib/pages/CategoryCollection/index.js.map +1 -0
  64. package/lib/pages/Help/HelpIndex.d.ts +4 -0
  65. package/lib/pages/Help/HelpIndex.d.ts.map +1 -0
  66. package/lib/pages/Help/HelpIndex.js +44 -0
  67. package/lib/pages/Help/HelpIndex.js.map +1 -0
  68. package/lib/pages/Help/index.d.ts +4 -0
  69. package/lib/pages/Help/index.d.ts.map +1 -0
  70. package/lib/pages/Help/index.js +226 -0
  71. package/lib/pages/Help/index.js.map +1 -0
  72. package/lib/pages/Landing/index.d.ts +3 -0
  73. package/lib/pages/Landing/index.d.ts.map +1 -0
  74. package/lib/pages/Landing/index.js +281 -0
  75. package/lib/pages/Landing/index.js.map +1 -0
  76. package/lib/routes.json +2533 -0
  77. package/lib/seo.d.ts +22 -0
  78. package/lib/seo.d.ts.map +1 -0
  79. package/lib/slot-fill/FooterFill.d.ts +3 -0
  80. package/lib/slot-fill/FooterFill.d.ts.map +1 -0
  81. package/lib/slot-fill/FooterFill.js +18 -0
  82. package/lib/slot-fill/FooterFill.js.map +1 -0
  83. package/lib/slot-fill/LogoFill.d.ts +5 -0
  84. package/lib/slot-fill/LogoFill.d.ts.map +1 -0
  85. package/lib/slot-fill/LogoFill.js +74 -0
  86. package/lib/slot-fill/LogoFill.js.map +1 -0
  87. package/lib/slot-fill/consts.d.ts +5 -0
  88. package/lib/slot-fill/consts.d.ts.map +1 -0
  89. package/lib/slot-fill/consts.js +1 -0
  90. package/lib/slot-fill/consts.js.map +1 -0
  91. package/lib/slot-fill/index.d.ts +4 -0
  92. package/lib/slot-fill/index.d.ts.map +1 -0
  93. package/lib/templates/assets/images/add-link-frontend.png +0 -0
  94. package/lib/templates/assets/images/add-package-backend.png +0 -0
  95. package/lib/templates/assets/images/add-to-backend-module.png +0 -0
  96. package/lib/templates/assets/images/add-upload-client-frontend.png +0 -0
  97. package/lib/templates/assets/images/additional-parameters.png +0 -0
  98. package/lib/templates/assets/images/aeh-implementation.png +0 -0
  99. package/lib/templates/assets/images/aeh-usage.png +0 -0
  100. package/lib/templates/assets/images/apollo-client/recommendation_cache_mgmt.png +0 -0
  101. package/lib/templates/assets/images/app-deploy-new-version/jenkins1.PNG +0 -0
  102. package/lib/templates/assets/images/app-deploy-new-version/jenkins2.PNG +0 -0
  103. package/lib/templates/assets/images/auth-wrapper-code.png +0 -0
  104. package/lib/templates/assets/images/cdebase.png +0 -0
  105. package/lib/templates/assets/images/cdm-locales-directory.png +0 -0
  106. package/lib/templates/assets/images/client-settings.png +0 -0
  107. package/lib/templates/assets/images/codegen_file_update.png +0 -0
  108. package/lib/templates/assets/images/configuration.png +0 -0
  109. package/lib/templates/assets/images/copy-plugin.png +0 -0
  110. package/lib/templates/assets/images/docusaurus.png +0 -0
  111. package/lib/templates/assets/images/error-link.png +0 -0
  112. package/lib/templates/assets/images/error-sample.png +0 -0
  113. package/lib/templates/assets/images/extension copy.png +0 -0
  114. package/lib/templates/assets/images/extension.png +0 -0
  115. package/lib/templates/assets/images/graphql/graphql-folder-backend.png +0 -0
  116. package/lib/templates/assets/images/graphql/graphql-folder-with-gql.png +0 -0
  117. package/lib/templates/assets/images/i18n-config.png +0 -0
  118. package/lib/templates/assets/images/image.png +0 -0
  119. package/lib/templates/assets/images/logo.svg +10 -0
  120. package/lib/templates/assets/images/logo1.svg +1 -0
  121. package/lib/templates/assets/images/modify-upload-false-server.png +0 -0
  122. package/lib/templates/assets/images/navigation-auth-enabled.png +0 -0
  123. package/lib/templates/assets/images/org-dashboard-navigation.png +0 -0
  124. package/lib/templates/assets/images/org-navigation.png +0 -0
  125. package/lib/templates/assets/images/preferences_graphql_type.png +0 -0
  126. package/lib/templates/assets/images/provider.png +0 -0
  127. package/lib/templates/assets/images/route-config.png +0 -0
  128. package/lib/templates/assets/images/service-accounts.png +0 -0
  129. package/lib/templates/assets/images/source-code/source-code-environments.png +0 -0
  130. package/lib/templates/assets/images/source-code/source-code-organization.png +0 -0
  131. package/lib/templates/assets/images/spin-clone-develop-deployment/jenkins-changes.png +0 -0
  132. package/lib/templates/assets/images/spin-clone-develop-deployment/lerna-changes.png +0 -0
  133. package/lib/templates/assets/images/spin-clone-develop-deployment/root-package-json-changes.png +0 -0
  134. package/lib/templates/assets/images/spin-clone-develop-deployment/values-dev-changes.png +0 -0
  135. package/lib/templates/assets/images/sso-mappers.png +0 -0
  136. package/lib/templates/assets/images/sso-picture-mapper.png +0 -0
  137. package/lib/templates/assets/images/sso-settings.png +0 -0
  138. package/lib/templates/assets/images/timesheet_apollo_cache.png +0 -0
  139. package/lib/templates/assets/images/timesheet_query.png +0 -0
  140. package/lib/templates/assets/images/tutorial/docsVersionDropdown.png +0 -0
  141. package/lib/templates/assets/images/tutorial/localeDropdown.png +0 -0
  142. package/lib/templates/assets/images/unauthenticated.png +0 -0
  143. package/lib/templates/assets/images/undraw_docusaurus_mountain.svg +170 -0
  144. package/lib/templates/assets/images/undraw_docusaurus_react.svg +169 -0
  145. package/lib/templates/assets/images/undraw_docusaurus_tree.svg +1 -0
  146. package/lib/templates/assets/images/vite-plugin-config.png +0 -0
  147. package/lib/templates/content/docs/Generators/Project/generate-fullproject.md +12 -0
  148. package/lib/templates/content/docs/LLM/Logger.llm.md +194 -0
  149. package/lib/templates/content/docs/LLM/backend-proxies-services-llm.md +2687 -0
  150. package/lib/templates/content/docs/LLM/backend-service-llm.md +3384 -0
  151. package/lib/templates/content/docs/LLM/db_migration_llm.md +954 -0
  152. package/lib/templates/content/docs/LLM/frontend/REMIX-15.3-upgrade-llm.md +1245 -0
  153. package/lib/templates/content/docs/LLM/inngest/INNGEST_FUNCTION_DEVELOPMENT_GUIDE_LLM.md +1241 -0
  154. package/lib/templates/content/docs/LLM/inngest/INNGEST_NAMESPACE_LLM.md +384 -0
  155. package/lib/templates/content/docs/LLM/llm_workflow_namespace.md +384 -0
  156. package/lib/templates/content/docs/LLM/organization-components-form-llm.md +1395 -0
  157. package/lib/templates/content/docs/LLM/page-component-llm.md +173 -0
  158. package/lib/templates/content/docs/LLM/preferences-settings-llm.md +2781 -0
  159. package/lib/templates/content/docs/LLM/tailwind-css-llm.md +502 -0
  160. package/lib/templates/content/docs/UI/SchemaBasedUI.md +334 -0
  161. package/lib/templates/content/docs/UI/SlotFillComponent.md +334 -0
  162. package/lib/templates/content/docs/adminide-modules/account/auth0-login.md +31 -0
  163. package/lib/templates/content/docs/adminide-modules/account/index.md +14 -0
  164. package/lib/templates/content/docs/adminide-modules/account/keycloak-remix-setup.md +86 -0
  165. package/lib/templates/content/docs/adminide-modules/account/remix-auth-setup.md +79 -0
  166. package/lib/templates/content/docs/adminide-modules/account/various-auth-qatest.md +157 -0
  167. package/lib/templates/content/docs/adminide-modules/api-builders/graphql.md +906 -0
  168. package/lib/templates/content/docs/adminide-modules/billing/payments/index.md +14 -0
  169. package/lib/templates/content/docs/adminide-modules/billing/payments/stripe/index.md +14 -0
  170. package/lib/templates/content/docs/adminide-modules/billing/payments/stripe/settingup-stripe-locally.md +25 -0
  171. package/lib/templates/content/docs/adminide-modules/billing/tier-config.md +293 -0
  172. package/lib/templates/content/docs/adminide-modules/connectors/Connector.md +207 -0
  173. package/lib/templates/content/docs/adminide-modules/file-upload/index.md +16 -0
  174. package/lib/templates/content/docs/adminide-modules/file-upload/setup.md +435 -0
  175. package/lib/templates/content/docs/adminide-modules/file-upload/upload-file-using-signed-url.md +161 -0
  176. package/lib/templates/content/docs/adminide-modules/preferences/AddAdditionalPermissions.md +151 -0
  177. package/lib/templates/content/docs/adminide-modules/preferences/Configuration.md +241 -0
  178. package/lib/templates/content/docs/adminide-modules/preferences/Policy-Configuration.md +61 -0
  179. package/lib/templates/content/docs/adminide-modules/preferences/UI-components/ResourceSettingsLoader.md +319 -0
  180. package/lib/templates/content/docs/adminide-modules/preferences/contribute_scope_target.md +280 -0
  181. package/lib/templates/content/docs/adminide-modules/preferences/generate-urii.md +94 -0
  182. package/lib/templates/content/docs/adminide-modules/preferences/index.md +28 -0
  183. package/lib/templates/content/docs/adminide-modules/preferences/machine-configuration.md +157 -0
  184. package/lib/templates/content/docs/adminide-modules/preferences/pageSettings/generateCdecodeUri.md +1289 -0
  185. package/lib/templates/content/docs/adminide-modules/preferences/pageSettings/migratingFromUseSettings.md +215 -0
  186. package/lib/templates/content/docs/adminide-modules/preferences/permissions/Roles-Permissions.md +72 -0
  187. package/lib/templates/content/docs/adminide-modules/preferences/permissions/settingUserPermissions.md +139 -0
  188. package/lib/templates/content/docs/adminide-modules/preferences/preference-dependency.md +138 -0
  189. package/lib/templates/content/docs/adminide-modules/preferences/route-based-configuration.md +41 -0
  190. package/lib/templates/content/docs/adminide-modules/preferences/schema-configuration.md +71 -0
  191. package/lib/templates/content/docs/adminide-modules/preferences/supported.md +24 -0
  192. package/lib/templates/content/docs/adminide-modules/preferences/useSettingsLoader.md +248 -0
  193. package/lib/templates/content/docs/adminide-modules/project-tools/auth-providers.md +1317 -0
  194. package/lib/templates/content/docs/adminide-modules/project-tools/keycloak-guide.md +543 -0
  195. package/lib/templates/content/docs/adminide-modules/project-tools/tenant-management/tenant-based-authentication.md +846 -0
  196. package/lib/templates/content/docs/adminide-modules/project-tools/tenant-management/tenant-management.md +708 -0
  197. package/lib/templates/content/docs/adminide-modules/project-tools/tenant-management/tenants.md +1117 -0
  198. package/lib/templates/content/docs/chrome-extension/index.md +14 -0
  199. package/lib/templates/content/docs/chrome-extension/setup.md +30 -0
  200. package/lib/templates/content/docs/contributing/adding-package.md +23 -0
  201. package/lib/templates/content/docs/contributing/adding_new_modules.md +99 -0
  202. package/lib/templates/content/docs/contributing/architecture-updates.md +19 -0
  203. package/lib/templates/content/docs/contributing/avoid-using-promises-ui.md +116 -0
  204. package/lib/templates/content/docs/contributing/coding-guidelines.md +111 -0
  205. package/lib/templates/content/docs/contributing/do-and-dont.md +42 -0
  206. package/lib/templates/content/docs/contributing/faq.md +22 -0
  207. package/lib/templates/content/docs/contributing/folder-setup/browser.md +12 -0
  208. package/lib/templates/content/docs/contributing/folder-setup/config.md +12 -0
  209. package/lib/templates/content/docs/contributing/folder-setup/containers-server.md +12 -0
  210. package/lib/templates/content/docs/contributing/folder-setup/core.md +12 -0
  211. package/lib/templates/content/docs/contributing/folder-setup/graphql.md +12 -0
  212. package/lib/templates/content/docs/contributing/folder-setup/index.md +30 -0
  213. package/lib/templates/content/docs/contributing/folder-setup/module.md +12 -0
  214. package/lib/templates/content/docs/contributing/folder-setup/server.md +12 -0
  215. package/lib/templates/content/docs/contributing/folder-setup/services.md +12 -0
  216. package/lib/templates/content/docs/contributing/folder-setup/store.md +12 -0
  217. package/lib/templates/content/docs/contributing/frontend-coding.md +30 -0
  218. package/lib/templates/content/docs/contributing/git-subtree-sharing.md +73 -0
  219. package/lib/templates/content/docs/contributing/graphql-subscriptions.md +69 -0
  220. package/lib/templates/content/docs/contributing/how-to-contribute.md +30 -0
  221. package/lib/templates/content/docs/contributing/how_to_check_pure_esm.md +29 -0
  222. package/lib/templates/content/docs/contributing/index.md +60 -0
  223. package/lib/templates/content/docs/contributing/installation-issues.md +23 -0
  224. package/lib/templates/content/docs/contributing/keyboard-shortcut.md +131 -0
  225. package/lib/templates/content/docs/contributing/language/locale-support.md +12 -0
  226. package/lib/templates/content/docs/contributing/lerna-build-tools.md +516 -0
  227. package/lib/templates/content/docs/contributing/lerna-yarn-workspaces.md +95 -0
  228. package/lib/templates/content/docs/contributing/lint-and-formatter.md +20 -0
  229. package/lib/templates/content/docs/contributing/mobile-setup.md +16 -0
  230. package/lib/templates/content/docs/contributing/project-setup.md +233 -0
  231. package/lib/templates/content/docs/contributing/react/index.md +14 -0
  232. package/lib/templates/content/docs/contributing/react/lazy-component.md +70 -0
  233. package/lib/templates/content/docs/contributing/run-various-options.md +124 -0
  234. package/lib/templates/content/docs/contributing/schema-first-graphql-types.md +37 -0
  235. package/lib/templates/content/docs/contributing/source-code-organization.md +57 -0
  236. package/lib/templates/content/docs/contributing/staging-docker.md +88 -0
  237. package/lib/templates/content/docs/contributing/third-party/apollo-client-v3-tutorials.md +28 -0
  238. package/lib/templates/content/docs/contributing/third-party/index.md +18 -0
  239. package/lib/templates/content/docs/contributing/typescript-contribution.md +16 -0
  240. package/lib/templates/content/docs/devops/app-deploy-new-version.md +30 -0
  241. package/lib/templates/content/docs/devops/index.md +14 -0
  242. package/lib/templates/content/docs/devops/mobile-jenkins-build.md +40 -0
  243. package/lib/templates/content/docs/devops/versioning-the-project.md +128 -0
  244. package/lib/templates/content/docs/error-handler/application-error-handler.md +40 -0
  245. package/lib/templates/content/docs/error-handler/error-handling.md +26 -0
  246. package/lib/templates/content/docs/error-handler/index.md +16 -0
  247. package/lib/templates/content/docs/error-handler/logging-errors.md +14 -0
  248. package/lib/templates/content/docs/feature-api/copy-operation.md +427 -0
  249. package/lib/templates/content/docs/feature-api/feature-browser/assets.md +46 -0
  250. package/lib/templates/content/docs/feature-api/feature-browser/auth-permissions.md +12 -0
  251. package/lib/templates/content/docs/feature-api/feature-browser/feature.md +131 -0
  252. package/lib/templates/content/docs/feature-api/feature-browser/index.md +22 -0
  253. package/lib/templates/content/docs/feature-api/feature-browser/routes-menu.md +110 -0
  254. package/lib/templates/content/docs/feature-api/feature-browser/routing-convention.md +124 -0
  255. package/lib/templates/content/docs/feature-api/feature-browser/routing.md +338 -0
  256. package/lib/templates/content/docs/feature-api/feature-mobile/auth-permissions.md +20 -0
  257. package/lib/templates/content/docs/feature-api/feature-mobile/feature.md +130 -0
  258. package/lib/templates/content/docs/feature-api/feature-mobile/index.md +18 -0
  259. package/lib/templates/content/docs/feature-api/feature-mobile/navigation.md +187 -0
  260. package/lib/templates/content/docs/feature-api/feature-server/Scheduling.md +44 -0
  261. package/lib/templates/content/docs/feature-api/feature-server/dataloader.md +320 -0
  262. package/lib/templates/content/docs/feature-api/feature-server/dependency-injection.md +81 -0
  263. package/lib/templates/content/docs/feature-api/feature-server/feature.md +65 -0
  264. package/lib/templates/content/docs/feature-api/feature-server/generic-dataloader.md +135 -0
  265. package/lib/templates/content/docs/feature-api/feature-server/index.md +40 -0
  266. package/lib/templates/content/docs/feature-api/feature-server/migration.md +127 -0
  267. package/lib/templates/content/docs/feature-api/feature-server/mongo-model.md +72 -0
  268. package/lib/templates/content/docs/feature-api/feature-server/permissions.md +12 -0
  269. package/lib/templates/content/docs/feature-api/feature-server/policies.md +57 -0
  270. package/lib/templates/content/docs/feature-api/feature-server/preferences.md +57 -0
  271. package/lib/templates/content/docs/feature-api/feature-server/repositories.md +114 -0
  272. package/lib/templates/content/docs/feature-api/feature-server/resolvers.md +126 -0
  273. package/lib/templates/content/docs/feature-api/feature-server/rules.md +132 -0
  274. package/lib/templates/content/docs/feature-api/feature-server/schema.md +12 -0
  275. package/lib/templates/content/docs/feature-api/feature-server/services.md +102 -0
  276. package/lib/templates/content/docs/feature-api/feature-server/setup-resource-crud.md +359 -0
  277. package/lib/templates/content/docs/feature-api/index.md +18 -0
  278. package/lib/templates/content/docs/graphql/apolloClient-mutation.md +94 -0
  279. package/lib/templates/content/docs/graphql/index.md +14 -0
  280. package/lib/templates/content/docs/graphql/scalars.md +15 -0
  281. package/lib/templates/content/docs/help/index.md +14 -0
  282. package/lib/templates/content/docs/help/intro.md +16 -0
  283. package/lib/templates/content/docs/intl/ant-design-menu-translation.md +74 -0
  284. package/lib/templates/content/docs/intl/intl-namespace.md +129 -0
  285. package/lib/templates/content/docs/intl/vite-plugin-intl.md +87 -0
  286. package/lib/templates/content/docs/intl/webpack-plugin-intl.md +12 -0
  287. package/lib/templates/content/docs/intro.md +18 -0
  288. package/lib/templates/content/docs/knowledge/basic-fullstack.md +238 -0
  289. package/lib/templates/content/docs/mailing/index.md +14 -0
  290. package/lib/templates/content/docs/mailing/mailing-template.md +148 -0
  291. package/lib/templates/content/docs/mobile/App-navigation-generator.md +410 -0
  292. package/lib/templates/content/docs/mobile/MobileTestCases.md +264 -0
  293. package/lib/templates/content/docs/mobile/eas-profile-build.md +107 -0
  294. package/lib/templates/content/docs/mobile/expo-push-notification-setup.md +216 -0
  295. package/lib/templates/content/docs/mobile/index.md +14 -0
  296. package/lib/templates/content/docs/mobile/routes.md +83 -0
  297. package/lib/templates/content/docs/organization/adding-account-context.md +116 -0
  298. package/lib/templates/content/docs/organization/adding-org-mobile-navigation.md +22 -0
  299. package/lib/templates/content/docs/organization/adding-org-web-navigation.md +12 -0
  300. package/lib/templates/content/docs/organization/index.md +20 -0
  301. package/lib/templates/content/docs/organization/initialization.md +20 -0
  302. package/lib/templates/content/docs/organization/organization-resource-vs-resource.md +112 -0
  303. package/lib/templates/content/docs/remix/configuration/component-structure-best-practices.md +152 -0
  304. package/lib/templates/content/docs/remix/configuration/configurations.md +218 -0
  305. package/lib/templates/content/docs/remix/configuration/css-import-and-stylesheets.md +142 -0
  306. package/lib/templates/content/docs/remix/configuration/dont-subcomponent-network.md +166 -0
  307. package/lib/templates/content/docs/remix/configuration/generated-data-loaders.md +122 -0
  308. package/lib/templates/content/docs/remix/configuration/generated-resource-loaders.md +257 -0
  309. package/lib/templates/content/docs/remix/configuration/query-params-generator.md +216 -0
  310. package/lib/templates/content/docs/remix/configuration/routes-extra-icons.md +103 -0
  311. package/lib/templates/content/docs/remix/configuration/routes-json-advanced.md +86 -0
  312. package/lib/templates/content/docs/remix/configuration/routes-json-auth.md +113 -0
  313. package/lib/templates/content/docs/remix/configuration/routes-json-best-practices.md +55 -0
  314. package/lib/templates/content/docs/remix/configuration/routes-json-fields.md +79 -0
  315. package/lib/templates/content/docs/remix/configuration/routes-json-graphql.md +79 -0
  316. package/lib/templates/content/docs/remix/configuration/routes-json-index.md +112 -0
  317. package/lib/templates/content/docs/remix/configuration/routes-json-loaders.md +165 -0
  318. package/lib/templates/content/docs/remix/configuration/routes-json-middleware.md +196 -0
  319. package/lib/templates/content/docs/remix/configuration/routes-json-overview.md +53 -0
  320. package/lib/templates/content/docs/remix/data-loaders.md +43 -0
  321. package/lib/templates/content/docs/remix/devtools/remix-devtools.md +58 -0
  322. package/lib/templates/content/docs/remix/examples/changes-using-servercode.md +79 -0
  323. package/lib/templates/content/docs/remix/extra-icons.md +62 -0
  324. package/lib/templates/content/docs/remix/extra-links.md +65 -0
  325. package/lib/templates/content/docs/remix/generated-data-loaders.md +114 -0
  326. package/lib/templates/content/docs/remix/queryParamsGenerator.md +89 -0
  327. package/lib/templates/content/docs/remix/resources.md +16 -0
  328. package/lib/templates/content/docs/remix/styles.md +132 -0
  329. package/lib/templates/content/docs/remix/wiki.md +12 -0
  330. package/lib/templates/content/docs/security/auth-wrapper/auth-wrapper.md +24 -0
  331. package/lib/templates/content/docs/security/index.md +18 -0
  332. package/lib/templates/content/docs/security/secure-button-mobilenative.md +88 -0
  333. package/lib/templates/content/docs/security/secure-button-web.md +89 -0
  334. package/lib/templates/content/docs/server-side/account-customization.md +82 -0
  335. package/lib/templates/content/docs/server-side/apollo/caching.md +164 -0
  336. package/lib/templates/content/docs/server-side/backend-architecture/FINAL-DECISION.md +209 -0
  337. package/lib/templates/content/docs/server-side/backend-architecture/TRUE-FINAL-ARCHITECTURE.md +603 -0
  338. package/lib/templates/content/docs/server-side/backend-architecture/index1.md +0 -0
  339. package/lib/templates/content/docs/server-side/backend-coding.md +839 -0
  340. package/lib/templates/content/docs/server-side/e2b/manageing-template.md +197 -0
  341. package/lib/templates/content/docs/server-side/index.md +14 -0
  342. package/lib/templates/content/docs/server-side/inngest-functions-module.md +309 -0
  343. package/lib/templates/content/docs/server-side/listen-stripe-events.md +43 -0
  344. package/lib/templates/content/docs/server-side/slug-service.md +323 -0
  345. package/lib/templates/content/docs/tests/index.md +18 -0
  346. package/lib/templates/content/docs/tests/jest-test-debug-vscode.md +40 -0
  347. package/lib/templates/content/docs/tests/known-errors.md +116 -0
  348. package/lib/templates/content/docs/tests/service-test-template.md +118 -0
  349. package/lib/templates/content/docs/tests/test-setup.md +93 -0
  350. package/lib/templates/content/docs/xstate.md +23 -0
  351. package/lib/types.d.ts +37 -0
  352. package/lib/types.d.ts.map +1 -0
  353. package/lib/utils/docsNavigation.d.ts +9 -0
  354. package/lib/utils/docsNavigation.d.ts.map +1 -0
  355. package/lib/utils/docsNavigation.js +37 -0
  356. package/lib/utils/docsNavigation.js.map +1 -0
  357. package/lib/utils/helpCenterUtils.d.ts +26 -0
  358. package/lib/utils/helpCenterUtils.d.ts.map +1 -0
  359. package/lib/utils/index.d.ts +3 -0
  360. package/lib/utils/index.d.ts.map +1 -0
  361. package/lib/utils/index.js +3 -0
  362. package/lib/utils/index.js.map +1 -0
  363. package/lib/utils/markdownLoader.d.ts +36 -0
  364. package/lib/utils/markdownLoader.d.ts.map +1 -0
  365. package/lib/utils/markdownLoader.js +2242 -0
  366. package/lib/utils/markdownLoader.js.map +1 -0
  367. package/package.json +71 -0
@@ -0,0 +1,427 @@
1
+ # Copy Operations Documentation
2
+
3
+ ## Overview
4
+
5
+ The Copy Operations system is a build-time mechanism that copies files and directories from `node_modules` packages to specific locations in your application servers (frontend, backend, mobile, etc.). This ensures that necessary assets, workers, and modules are available at runtime in the correct locations.
6
+
7
+ This system is framework-agnostic and can be used with any Node.js-based application that needs to distribute package assets to specific runtime locations.
8
+
9
+ ## Purpose
10
+
11
+ The copy operations system serves several critical purposes:
12
+
13
+ 1. **Asset Distribution**: Copies static assets (like binary files, images, etc.) from npm packages to public directories
14
+ 2. **Worker Files**: Places web workers in accessible public directories for browser execution
15
+ 3. **Module Generation**: Automatically generates module configuration files for dynamic imports
16
+ 4. **Build Optimization**: Ensures assets are available without requiring runtime resolution from node_modules
17
+
18
+ ## Architecture
19
+
20
+ ### Configuration Files
21
+
22
+ Copy operations are defined in two types of configuration files:
23
+
24
+ #### 1. Package-Level Configuration (`package.json`)
25
+
26
+ Individual packages can define their own copy operations in the `cdecode` section:
27
+
28
+ ```json
29
+ {
30
+ "name": "@your-org/your-package-browser",
31
+ "cdecode": {
32
+ "copyOperations": [
33
+ {
34
+ "packageName": "@your-org/your-package-browser",
35
+ "sourcePath": "assets/data-file.bin",
36
+ "destPath": "../public/files/data-file.bin",
37
+ "generateModule": false
38
+ }
39
+ ]
40
+ }
41
+ }
42
+ ```
43
+
44
+ #### 2. Application-Level Configuration
45
+
46
+ Applications define centralized copy operations in their configuration files. The location and naming can vary by project structure:
47
+
48
+ - **Frontend Server**: `app/cde-webconfig.json` or `config.json`
49
+ - **Backend Server**: `config.json`
50
+ - **Mobile App**: `config.json`
51
+ - **Custom Apps**: Any JSON configuration file you choose
52
+
53
+ ### Configuration Schema
54
+
55
+ Each copy operation object supports the following properties:
56
+
57
+ | Property | Type | Required | Description |
58
+ | ---------------- | ------- | -------- | ----------------------------------------------------------------------------------------------------------------------------------------- |
59
+ | `packageName` | string | Yes | The npm package name to copy from (e.g., `@my-org/my-package-browser`) |
60
+ | `sourcePath` | string | No | Relative path within the package's `lib` directory. If omitted, copies the entire package |
61
+ | `destPath` | string | Yes | Destination path relative to the application's configured directory. Supports variable interpolation (e.g., `$.commonPaths.appStackPath`) |
62
+ | `generateModule` | boolean | Yes | Whether to generate a `modules.js` file listing all modules in the copied directory |
63
+
64
+ ### Variable Interpolation
65
+
66
+ The `destPath` supports JSONPath-style variable interpolation using the `$.` prefix:
67
+
68
+ ```json
69
+ {
70
+ "commonPaths": {
71
+ "appPath": "app",
72
+ "sharedLibPath": "shared-lib"
73
+ },
74
+ "copyOperations": [
75
+ {
76
+ "packageName": "@my-org/shared-components",
77
+ "destPath": "$.commonPaths.sharedLibPath",
78
+ "generateModule": true
79
+ }
80
+ ]
81
+ }
82
+ ```
83
+
84
+ In this example, `$.commonPaths.sharedLibPath` resolves to `shared-lib`.
85
+
86
+ ## Execution Flow
87
+
88
+ ### 1. Build Time Execution
89
+
90
+ Copy operations execute at different stages depending on the environment:
91
+
92
+ #### Production Build
93
+
94
+ ```typescript
95
+ // In vite.config.ts
96
+ const routesConfig = async (defineRoutes) => {
97
+ if (process.env.NODE_ENV === 'production') {
98
+ await performCopyOperations(config);
99
+ }
100
+ // ... route definitions
101
+ };
102
+ ```
103
+
104
+ #### Development/Server Start
105
+
106
+ ```javascript
107
+ // In server.js
108
+ const startServer = async () => {
109
+ await performCopyOperations(config);
110
+ // ... server initialization
111
+ };
112
+ ```
113
+
114
+ ### 2. Copy Process
115
+
116
+ The `performCopyOperations` function (from `@common-stack/rollup-vite-utils`):
117
+
118
+ 1. **Resolves Source**: Locates the package in `node_modules`
119
+ 2. **Constructs Source Path**: Combines package location with `lib/` directory and optional `sourcePath`
120
+ 3. **Resolves Destination**: Interpolates variables in `destPath` and constructs absolute path
121
+ 4. **Checks Freshness**: Compares timestamps to skip unnecessary copies
122
+ 5. **Performs Copy**: Copies file or directory recursively
123
+ 6. **Generates Module File**: If `generateModule: true`, creates a `modules.js` file
124
+
125
+ ### 3. Terminal Output
126
+
127
+ During execution, you'll see output like:
128
+
129
+ ```
130
+ Copy operation for @my-org/shared-components completed successfully.
131
+ Copied directory from /path/to/node_modules/@my-org/my-package/lib/assets/data-file.bin
132
+ to /path/to/servers/frontend-server/public/files/data-file.bin
133
+ Copy operation for @my-org/my-package completed successfully.
134
+ ```
135
+
136
+ ## Common Use Cases
137
+
138
+ ### 1. Copying Static Assets
139
+
140
+ **Use Case**: Binary files, images, or data files needed at runtime
141
+
142
+ ```json
143
+ {
144
+ "packageName": "@my-org/ml-models",
145
+ "sourcePath": "assets/model.bin",
146
+ "destPath": "../public/files/model.bin",
147
+ "generateModule": false
148
+ }
149
+ ```
150
+
151
+ **Result**: The binary file is accessible at `/files/model.bin` in the browser
152
+
153
+ ### 2. Copying Web Workers
154
+
155
+ **Use Case**: Web Worker files that need to be loaded by the browser
156
+
157
+ ```json
158
+ {
159
+ "packageName": "@my-org/worker-package",
160
+ "sourcePath": "main.worker.js",
161
+ "destPath": "../public/workers/main.worker.js",
162
+ "generateModule": true
163
+ }
164
+ ```
165
+
166
+ **Result**: Worker is available at `/workers/main.worker.js` for `new Worker()` instantiation
167
+
168
+ ### 3. Copying Entire Module Libraries
169
+
170
+ **Use Case**: Full module with auto-discovery and dynamic imports
171
+
172
+ ```json
173
+ {
174
+ "packageName": "@my-org/component-library",
175
+ "destPath": "$.commonPaths.componentLibPath",
176
+ "generateModule": true
177
+ }
178
+ ```
179
+
180
+ **Result**:
181
+
182
+ - Entire package copied to `app/component-lib/`
183
+ - `modules.js` file generated listing all available modules
184
+ - Enables dynamic import: `import('@app/component-lib/lib/component.js')`
185
+
186
+ ### 4. Copying Source Maps
187
+
188
+ **Use Case**: Debug support with source maps
189
+
190
+ ```json
191
+ {
192
+ "packageName": "@my-org/worker-package",
193
+ "sourcePath": "main.worker.js.map",
194
+ "destPath": "../public/workers/main.worker.js.map",
195
+ "generateModule": false
196
+ }
197
+ ```
198
+
199
+ ## Module Generation
200
+
201
+ When `generateModule: true`, a `modules.js` file is created in the destination directory:
202
+
203
+ ```javascript
204
+ // Generated modules.js
205
+ export const modules = [
206
+ './lib/components/Button.js',
207
+ './lib/components/Form.js',
208
+ './lib/utils/helpers.js',
209
+ // ... all JS/TS files found
210
+ ];
211
+ ```
212
+
213
+ This enables:
214
+
215
+ - **Dynamic Discovery**: Runtime enumeration of available modules
216
+ - **Lazy Loading**: On-demand imports based on configuration
217
+ - **Plugin Systems**: Auto-registration of discovered modules
218
+
219
+ ## Example Configuration
220
+
221
+ ### Frontend Server Configuration
222
+
223
+ ```json
224
+ {
225
+ "commonPaths": {
226
+ "appPath": "app",
227
+ "sharedLibPath": "shared-lib"
228
+ },
229
+ "copyOperations": [
230
+ {
231
+ "packageName": "@my-org/component-library",
232
+ "destPath": "$.commonPaths.sharedLibPath",
233
+ "generateModule": true
234
+ },
235
+ {
236
+ "packageName": "@my-org/ml-models",
237
+ "sourcePath": "assets/model.bin",
238
+ "destPath": "../public/files/model.bin",
239
+ "generateModule": false
240
+ },
241
+ {
242
+ "packageName": "@my-org/worker-package",
243
+ "sourcePath": "main.worker.js",
244
+ "destPath": "../public/workers/main.worker.js",
245
+ "generateModule": true
246
+ },
247
+ {
248
+ "packageName": "@my-org/worker-package",
249
+ "sourcePath": "main.worker.js.map",
250
+ "destPath": "../public/workers/main.worker.js.map",
251
+ "generateModule": false
252
+ }
253
+ ]
254
+ }
255
+ ```
256
+
257
+ ### Mobile App Configuration
258
+
259
+ ```json
260
+ {
261
+ "commonPaths": {
262
+ "appPath": "app",
263
+ "mobileLibPath": "mobile-shared"
264
+ },
265
+ "copyOperations": [
266
+ {
267
+ "packageName": "@my-org/mobile-components",
268
+ "destPath": "$.commonPaths.mobileLibPath",
269
+ "generateModule": true
270
+ }
271
+ ]
272
+ }
273
+ ```
274
+
275
+ ## Integration Points
276
+
277
+ ### 1. Vite Configuration
278
+
279
+ ```typescript
280
+ // vite.config.ts
281
+ import { performCopyOperations } from '@common-stack/rollup-vite-utils/lib/preStartup/configLoader/configLoader.js';
282
+
283
+ export default defineConfig(({ isSsrBuild }) => {
284
+ const routesConfig = async (defineRoutes) => {
285
+ if (process.env.NODE_ENV === 'production') {
286
+ await performCopyOperations(config);
287
+ }
288
+ // Route configuration...
289
+ };
290
+ // Vite config...
291
+ });
292
+ ```
293
+
294
+ ### 2. Express Server
295
+
296
+ ```javascript
297
+ // server.js
298
+ import { performCopyOperations } from '@common-stack/rollup-vite-utils/lib/preStartup/configLoader/configLoader.js';
299
+
300
+ const startServer = async () => {
301
+ await performCopyOperations(config);
302
+ // Server setup...
303
+ };
304
+ ```
305
+
306
+ ### 3. Build Scripts
307
+
308
+ ```json
309
+ {
310
+ "scripts": {
311
+ "build": "vite build",
312
+ "start": "node server.js"
313
+ }
314
+ }
315
+ ```
316
+
317
+ Copy operations run automatically during:
318
+
319
+ - Production builds (`yarn build`)
320
+ - Development server start (`yarn start`)
321
+
322
+ ## Best Practices
323
+
324
+ ### 1. Use Relative Paths Carefully
325
+
326
+ ```json
327
+ {
328
+ "destPath": "../public/files/asset.bin"
329
+ }
330
+ ```
331
+
332
+ The path is relative to the `app` directory specified in `commonPaths.appPath`.
333
+
334
+ ### 2. Enable Module Generation Strategically
335
+
336
+ - ✅ **Use `generateModule: true`** for: Full libraries, plugin systems, component libraries
337
+ - ❌ **Use `generateModule: false`** for: Single files, binary assets, source maps
338
+
339
+ ### 3. Organize by Purpose
340
+
341
+ Group copy operations logically:
342
+
343
+ - Framework/stack modules first
344
+ - Application modules second
345
+ - Assets and workers third
346
+
347
+ ### 4. Version Consistency
348
+
349
+ Ensure package versions in `package.json` match the expected structure in copy operations.
350
+
351
+ ### 5. Clean Builds
352
+
353
+ Copy operations check timestamps to avoid unnecessary copying, but for clean builds:
354
+
355
+ ```bash
356
+ # Clean and rebuild
357
+ rm -rf servers/frontend-server/app/shared-lib
358
+ rm -rf servers/frontend-server/public/files
359
+ rm -rf servers/frontend-server/public/workers
360
+ npm run build # or yarn build
361
+ ```
362
+
363
+ ## Troubleshooting
364
+
365
+ ### Issue: "Source path not found"
366
+
367
+ **Problem**: Package structure changed or `sourcePath` is incorrect
368
+
369
+ **Solution**:
370
+
371
+ 1. Check the package in `node_modules/{packageName}/lib/`
372
+ 2. Verify the `sourcePath` matches the actual file structure
373
+ 3. Ensure the package is installed: `yarn install`
374
+
375
+ ### Issue: "Module generation failed"
376
+
377
+ **Problem**: Destination directory doesn't exist or permissions issue
378
+
379
+ **Solution**:
380
+
381
+ 1. Ensure parent directories exist
382
+ 2. Check write permissions
383
+ 3. Verify `destPath` is correct
384
+
385
+ ### Issue: "Copy operation skipped"
386
+
387
+ **Problem**: Destination is newer than source (timestamp check)
388
+
389
+ **Solution**: This is normal behavior. To force copy:
390
+
391
+ 1. Delete the destination directory/file
392
+ 2. Re-run the build
393
+
394
+ ### Issue: "Worker not loading in browser"
395
+
396
+ **Problem**: Worker file not accessible or incorrect path
397
+
398
+ **Solution**:
399
+
400
+ 1. Verify the file exists in `public/workers/`
401
+ 2. Check browser console for 404 errors
402
+ 3. Ensure the worker path in code matches `destPath`
403
+
404
+ ## Performance Considerations
405
+
406
+ 1. **Incremental Copies**: The system uses timestamp comparison to skip unchanged files
407
+ 2. **Production Only**: Some operations only run in production to speed up development
408
+ 3. **Parallel Operations**: Multiple copy operations can run concurrently
409
+ 4. **Caching**: Vite's build cache works with copied files
410
+
411
+ ## Related Tools
412
+
413
+ - **Source**: `@common-stack/rollup-vite-utils` package
414
+ - **Configuration Loader**: `configLoader.js`
415
+ - **Environment Loader**: `envLoader.js`
416
+
417
+ ## Summary
418
+
419
+ The Copy Operations system provides a declarative, configuration-driven approach to managing build-time asset distribution. It ensures that:
420
+
421
+ - Static assets are accessible at runtime
422
+ - Web workers are properly positioned for browser execution
423
+ - Module libraries support dynamic imports
424
+ - Build processes are efficient and incremental
425
+ - Configuration is centralized and maintainable
426
+
427
+ By understanding and properly configuring copy operations, you can ensure your application's assets and modules are correctly positioned for optimal runtime performance.
@@ -0,0 +1,46 @@
1
+ ---
2
+ meta:
3
+ title: Assets
4
+ description: Assets
5
+ date: '2023-06-02T00:00:00'
6
+ updated: '2024-06-02T00:00:00'
7
+ excerpt: Assets...
8
+ headers:
9
+ Cache-Control: no-cache
10
+ ---
11
+
12
+ ## Importing Assets
13
+
14
+ CDEBase is a webpack-based project, so it follows the general approach to importing assets —
15
+ [webpack dependency management]. You can look up the module `packages/assets` to see how assets are imported.
16
+
17
+ As you can see in the code sample below, the project imports all the assets from the `modules/favicon/common/assets`
18
+ folder:
19
+
20
+ ```js
21
+ const exportedAssets = {};
22
+ let isbrowser = typeof window !== 'undefined';
23
+ if (isbrowser) {
24
+ // Favicon.ico should not be hashed, since browsers expect it to be exactly on /favicon.ico URL
25
+ require('!file-loader?name=[name].[ext]!./assets/favicon.ico'); // eslint-disable-line
26
+
27
+ // Require all files from assets dir recursively adding them into assets.json
28
+ const req = require.context('!file-loader?name=[hash].[ext]!./assets', true, /.*/);
29
+ req.keys().map((key) => {
30
+ exportedAssets[`${key.replace('./', '')}`] = req(key);
31
+ });
32
+ }
33
+
34
+ export default exportedAssets;
35
+ ```
36
+
37
+ To use new assets in your client side react code, import from the favicon package as follows:
38
+
39
+ ```js
40
+ import assets from '@admin-layout/assets';
41
+ console.log('--ASSETS', assets);
42
+
43
+ export const Favicon = <img src={assets['favicon.ico']} />;
44
+ ```
45
+
46
+ <img width="1052" alt="image" src="https://user-images.githubusercontent.com/3382355/232731184-a5c3b622-48f0-41ac-a96c-678339d71558.png"/>
@@ -0,0 +1,12 @@
1
+ ---
2
+ meta:
3
+ title: Auth Permissions
4
+ description: Auth Permissions
5
+ date: '2023-06-02T00:00:00'
6
+ updated: '2024-06-02T00:00:00'
7
+ excerpt: Auth Permissions...
8
+ headers:
9
+ Cache-Control: no-cache
10
+ ---
11
+
12
+ ## Auth Permissions
@@ -0,0 +1,131 @@
1
+ ---
2
+ meta:
3
+ title: Feature Browser API
4
+ description: Feature Browser API
5
+ date: '2023-06-02T00:00:00'
6
+ updated: '2024-06-02T00:00:00'
7
+ excerpt: Feature Browser API...
8
+ headers:
9
+ Cache-Control: no-cache
10
+ ---
11
+
12
+ # Feature Browser API
13
+
14
+ Feature is a fractal-based modular architecture. It is like a module federation to create independent packages that have references to all that need to run a fullstack application. Each of these module should have code limited to its requirement that way we achieve seperation of concerns.
15
+
16
+ It is opiniated and it supports following for client state management
17
+
18
+ - redux
19
+ - redux-persist
20
+ - apollo-client
21
+ - redux-observable
22
+
23
+ Components are rendered only through `react-router`, for that we pass `routeConfig`.
24
+
25
+ Dynamic Components are provided using `slot-fill` logic using `componentFillPlugins` configuration.
26
+
27
+ Third-party Scripts can be inserted into HTML page as well.
28
+
29
+ Each of these packaged module is used in the `frontend-server` like below
30
+
31
+ ```js
32
+ import counterModule from '@sample-stack/counter-module-browser';
33
+ import accountModule from '@sample-stack/account-module-browser';
34
+ import paymentModule from '@sample-stack/payment-module-browser';
35
+
36
+ const features = new Feature(FeatureWithRouterFactory, counterModule, accountModule, paymentModule);
37
+ ```
38
+
39
+ The `frontend-server` have all required logic to consolidate the `reducers`, `epics`, `apollo-client configuration`, `react-router configuration` etc to run the application.
40
+
41
+ For example provide all the required configuration to the `Feature` like below.
42
+
43
+ ```js
44
+ const module = new Feature({
45
+ /**
46
+ Customizing ID in the apollo cache.
47
+ **/
48
+ dataIdFromObject,
49
+ /**
50
+ load apollo-client state management.
51
+ **/
52
+ clientStateParams: { resolvers, typeDefs: schema },
53
+ /**
54
+ load redux-observables to manage the client state.
55
+ **/
56
+ epic: [onUserAccountNotFound],
57
+ /**
58
+ load react-router configuration to display component based on navigation.
59
+ for more information check [Routing](./routing.mx)
60
+ **/
61
+ routeConfig: filteredRoutes,
62
+ componentFillPlugins: [
63
+ {
64
+ name: 'teams-contribution',
65
+ render: TeamsContribution,
66
+ },
67
+ ],
68
+ /**
69
+ load any scripts when this Feature Module is used.
70
+ **/
71
+ scriptsInsert: 'https://js.stripe.com/v3/',
72
+ createContainerFunc: [Auth0Module],
73
+ /**
74
+ load reducers to the Redux Store when this Feature Module is used.
75
+ **/
76
+ reducer: { user: userReducer, redirectRoutes: redirectRoutesReducer, authErrors: authErrorsReducer },
77
+ /**
78
+ By default all redux state is persisted using redux-persist, if you need to manipulate the persist state
79
+ add configuration here.
80
+ **/
81
+ reduxPersistTransforms: [blacklistErrorFilter, blacklistUserFilter],
82
+ });
83
+ ```
84
+
85
+ We don't need to put the `redux` store creation nor apollo-client setup in the Module as this action will be taken care at the higher level (frontend-server).
86
+
87
+ ### Client State Management
88
+
89
+ Applciation state can be managed using Apollo Link State and Redux.
90
+
91
+ #### Redux
92
+
93
+ Support [redux's reducers](https://redux.js.org/usage/structuring-reducers/basic-reducer-structure)
94
+ Example:
95
+
96
+ ```js
97
+ const module = new Feature({
98
+ reducer: { user: userReducer, redirectRoutes: redirectRoutesReducer, authErrors: authErrorsReducer },
99
+ ....
100
+ });
101
+ ```
102
+
103
+ #### Apollo Client State Management
104
+
105
+ Support [interacting with local data in Apollo Client](https://www.apollographql.com/docs/react/local-state/local-state-management/)
106
+
107
+ Example:
108
+
109
+ ```js
110
+ const module = new Feature({
111
+ clientStateParams: { resolvers, typeDefs: schema, typePolicies },
112
+ ....
113
+ });
114
+ ```
115
+
116
+ ##### dataIdFromObject
117
+
118
+ Support cusotmizing the ID in the apollo cache. More infromation is [here](https://www.apollographql.com/docs/react/caching/cache-configuration/#dataidfromobject)
119
+
120
+ #### Epic
121
+
122
+ Support [redux-observable](https://redux-observable.js.org/docs/basics/Epics.html)
123
+
124
+ Example:
125
+
126
+ ```js
127
+ const module = new Feature({
128
+ epic: [onUserAccountNotFound],
129
+ ....
130
+ });
131
+ ```
@@ -0,0 +1,22 @@
1
+ ---
2
+ meta:
3
+ title: Feature Browser
4
+ description: Feature Browser
5
+ date: '2023-06-02T00:00:00'
6
+ updated: '2024-06-02T00:00:00'
7
+ excerpt: Feature Browser...
8
+ headers:
9
+ Cache-Control: no-cache
10
+ ---
11
+
12
+ ## Feature Browser
13
+
14
+ **[Feature Browser API](/docs/feature-api/feature-browser/feature)**
15
+
16
+ **[Routes and Menu](/docs/feature-api/feature-browser/routes-menu)**
17
+
18
+ **[Routing Convetion](/docs/feature-api/feature-browser/routing-convention)**
19
+
20
+ **[Routing](/docs/feature-api/feature-browser/routing)**
21
+
22
+ **[Auth & Permissions](/docs/feature-api/feature-browser/auth-permissions)**