@cdmbase/wiki-browser 12.0.18-alpha.5

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,58 @@
1
+ ---
2
+ meta:
3
+ title: Remix Development Tools
4
+ description: Remix Development Tools
5
+ date: '2023-06-02T00:00:00'
6
+ updated: '2024-06-02T00:00:00'
7
+ excerpt: Remix Development Tools...
8
+ headers:
9
+ Cache-Control: no-cache
10
+ ---
11
+
12
+ ## Remix Development Tools
13
+
14
+ To add `remix-development-tools` to the project
15
+
16
+ - **package.json**
17
+
18
+ ```diff
19
+ @@ -342,6 +342,7 @@
20
+ "redux-first-history": "^5.1.1",
21
+ "redux-mock-store": "^1.5.4",
22
+ "remap-istanbul": "^0.13.0",
23
+ + "remix-development-tools": "^4.4.1",
24
+ "resolve-url-loader": "^5.0.0",
25
+ "rimraf": "^3.0.2",
26
+ "rollup": "^4.13.0",
27
+ ```
28
+
29
+ - **servers/frontend-server/vite.config.ts**
30
+ ```diff
31
+ @@ -3,6 +3,7 @@ import { vitePlugin as remix } from '@remix-run/dev';
32
+ import { dirname, resolve } from 'path';
33
+ import { installGlobals } from '@remix-run/node';
34
+ import { fileURLToPath } from 'url';
35
+ +import { remixDevTools } from 'remix-development-tools';
36
+ import { defineRoutesConfig } from '@common-stack/rollup-vite-utils/lib/vite-wrappers/json-wrappers.js';
37
+ import tsconfigPaths from 'vite-tsconfig-paths';
38
+ import { i18nInternationalizationPlugin } from '@common-stack/rollup-vite-utils/lib/vite-plugins/i18n-internationalization-plugin.js';
39
+ @@ -71,6 +72,18 @@ export default defineConfig(async ({ isSsrBuild }) => {
40
+ const viteConfig = {
41
+ define: envVariables,
42
+ plugins: [
43
+ + remixDevTools({
44
+ + server: {
45
+ + logs: {
46
+ + cookies: true,
47
+ + defer: true,
48
+ + actions: true,
49
+ + loaders: true,
50
+ + cache: true,
51
+ + siteClear: true,
52
+ + },
53
+ + },
54
+ + }),
55
+ i18nInternationalizationPlugin({
56
+ folderName: 'cdm-locales',
57
+ packages: [...config.modules, ...config.i18n.packages],
58
+ ```
@@ -0,0 +1,79 @@
1
+ ---
2
+ meta:
3
+ title: Changes Using Server Code
4
+ description: Changes Using Server Code
5
+ date: '2023-06-02T00:00:00'
6
+ updated: '2024-06-02T00:00:00'
7
+ excerpt: Changes Using Server Code...
8
+ headers:
9
+ Cache-Control: no-cache
10
+ ---
11
+
12
+ ## Changes Using Server Code
13
+
14
+ Here is the diff for the commit [e2e30c8](https://github.com/CDEBase/admin-layout/commit/e2e30c8c088b13daa28002e0d36bad51badd91ba) in markdown format:
15
+
16
+ ````md
17
+ # Commit e2e30c8: seperate server code
18
+
19
+ **Author:** [veeramarni](https://github.com/veeramarni)
20
+
21
+ ---
22
+
23
+ ### Changes
24
+
25
+ #### Modified
26
+
27
+ ##### `packages-modules/demo/ant-browser/rollup.config.mjs`
28
+
29
+ ```diff
30
+ @@ -5,7 +5,7 @@ const additionalPlugins = [];
31
+ export default [
32
+ createRollupConfig({
33
+ input: [
34
+ - 'src/index.ts',
35
+ + 'src/index.ts', 'src/index.server.ts',
36
+ ],
37
+ plugins: [
38
+ // Spread in additional plugins specific to this config
39
+ ```
40
+ ````
41
+
42
+ ##### `packages-modules/demo/ant-browser/src/antd-pro-demo/modules/system/compute.tsx`
43
+
44
+ ```diff
45
+ @@ -39,6 +39,7 @@ export const systemPageStore = [
46
+ path: `${ORG_STD_ROUTES.ORG_BASE_PATH}/system/menu`,
47
+ auth: true,
48
+ component: () => import('./menu/Component'),
49
+ + hasServerCode: true,
50
+ position: IMenuPosition.Lower,
51
+ exact: true,
52
+ priority: 3,
53
+ @@ -99,6 +100,7 @@ export const systemPageStore = [
54
+ path: `/custom-pages/*`,
55
+ auth: true,
56
+ component: () => import('./menu/CustomPage'),
57
+ + hasServerCode: true,
58
+ position: IMenuPosition.Lower,
59
+ exact: true,
60
+ priority: 2,
61
+ ```
62
+
63
+ #### Added
64
+
65
+ ##### `packages-modules/demo/ant-browser/src/antd-pro-demo/modules/system/index.server.ts`
66
+
67
+ ```diff
68
+ @@ -0,0 +1,2 @@
69
+ +export * as l from './menu/Component.server';
70
+ +export * as p from './menu/CustomPage.server';
71
+ ```
72
+
73
+ ---
74
+
75
+ For more details, see the [commit on GitHub](https://github.com/CDEBase/admin-layout/commit/e2e30c8c088b13daa28002e0d36bad51badd91ba).
76
+
77
+ ```
78
+
79
+ ```
@@ -0,0 +1,62 @@
1
+ ---
2
+ meta:
3
+ title: Extra Icons
4
+ description: Extra Icons
5
+ date: '2023-06-02T00:00:00'
6
+ updated: '2024-06-02T00:00:00'
7
+ excerpt: Extra Icons...
8
+ headers:
9
+ Cache-Control: no-cache
10
+ ---
11
+
12
+ # Extra Icons
13
+
14
+ The following is the configuration of it
15
+
16
+ ## Passing Data through `compute.ts`
17
+
18
+ To populate data in this component, you'll need to pass configuration options through `compute.ts`. Here’s an example:
19
+
20
+ 1. Configure `extraIcons` in `compute.ts`.
21
+
22
+ this is how you will configure in `compute.ts`.
23
+
24
+ ```ts
25
+ {
26
+ ....
27
+ extraIcons: [
28
+ `<icon-repository-name>.${<icon-name>}`
29
+
30
+ // example
31
+
32
+ `rifi.${IIconRifi.RifiAllCategories}`
33
+ ......
34
+ ],
35
+
36
+ ....
37
+ }
38
+ ```
39
+
40
+ this is how you will configure in `config.json in frontend-server`.
41
+
42
+ ```ts
43
+ {
44
+ ....
45
+ iconsRepository: {
46
+ ....
47
+ <icon-repository-name>: "<icon-repository-path>",
48
+
49
+ // example
50
+ rifi: "@pubngo-stack/icons/lib/rifi/{iconName}.js"
51
+
52
+ .......
53
+ },
54
+
55
+ ....
56
+ }
57
+ ```
58
+
59
+ ### Key Fields:
60
+
61
+ - **extraIcons**: Array of additional icons to map to the categories. Each icon has an associated value that will be passed to the `CategoriesTypeList` component.
62
+ - **iconsRepository**: Object mapping icon repositories to their respective paths. Each key represents a repository, and the value is the path template for the icons in that repository.
@@ -0,0 +1,65 @@
1
+ ---
2
+ meta:
3
+ title: Extra Links
4
+ description: Extra Links
5
+ date: '2023-06-02T00:00:00'
6
+ updated: '2024-06-02T00:00:00'
7
+ excerpt: Extra Links...
8
+ headers:
9
+ Cache-Control: no-cache
10
+ ---
11
+
12
+ # Extra Links
13
+
14
+ The following is the configuration of it
15
+
16
+ ## Passing Data through `compute.ts`
17
+
18
+ To populate data in this component, you'll need to pass configuration options through `compute.ts`. Here’s an example:
19
+
20
+ 1. Configure `extraLinks` in `compute.ts`.
21
+
22
+ this is how you will configure in `compute.ts`.
23
+
24
+ ```ts
25
+ {
26
+ ....
27
+ extraLink: [
28
+ `{ rel:stylesheet, hrefImportPath:<link-path> }`
29
+
30
+ // example
31
+
32
+ `{ rel:stylesheet, hrefImportPath:'@splidejs/react-splide/css' }`
33
+ ......
34
+ ],
35
+
36
+ ....
37
+ }
38
+ ```
39
+
40
+ this is how you will configure in `page route`.
41
+
42
+ ```ts
43
+ {
44
+ ....
45
+
46
+ export const links = (params) => {
47
+ return [
48
+ {
49
+ rel: 'stylesheet',
50
+ href: reactDayPickerStyles as unknown as string,
51
+ },
52
+ ...params,
53
+ ];
54
+ };
55
+
56
+ ....
57
+ }
58
+ ```
59
+
60
+ params will automatically adds the link provided in compute.ts
61
+
62
+ ### Key Fields:
63
+
64
+ - **extraLinks**: Array of additional links to be included in the page. Each link has an associated value that will be passed to the `links` function.
65
+ - **params**: Array of link objects that will be automatically populated with the links provided in `compute.ts`.
@@ -0,0 +1,114 @@
1
+ ---
2
+ meta:
3
+ title: Generated Data Loaders
4
+ description: Generated Data Loaders
5
+ date: '2023-06-02T00:00:00'
6
+ updated: '2024-06-02T00:00:00'
7
+ excerpt: Generated Data Loaders...
8
+ headers:
9
+ Cache-Control: no-cache
10
+ ---
11
+
12
+ Here's an improved version of your document:
13
+
14
+ # Generated Data Loaders
15
+
16
+ To minimize repetitive work, we automatically generate Remix data loaders by analyzing the page source code. Our parser scans the page for GraphQL queries and calls all of those queries in the generated data loaders. This ensures that by the time the component requests the data, it is already available in the Apollo Cache, reducing redundancy.
17
+
18
+ The following example demonstrates how a component's code is used to generate data loaders:
19
+
20
+ ```ts
21
+ #Teams.tsx
22
+
23
+ const Teams = (props) => {
24
+ const [data, { loading }] = useTeamsQuery({ variables: { orgName, pageSize: 10 } });
25
+ // rest of the business logic
26
+ return (
27
+ // component render Markup
28
+ )
29
+ }
30
+ ```
31
+
32
+ When our Rollup plugin parses the component and detects the GraphQL queries, it creates a key-value pair where the key represents the GraphQL document the query uses, and the value refers to the variables used by the query. Note the following:
33
+
34
+ - The GraphQL document must be present in the `core` package. For example, if a component is inside `account-browser`, the GraphQL document should be exported from either the `client` or `core` package.
35
+ - Variables passed in the `variables` parameter will be converted to `params.<variableName>`, and the loader will expect these values in the params.
36
+
37
+ For the above component, the following `routes.json` structure will be created:
38
+
39
+ ```json
40
+ {
41
+ "queries": {
42
+ "TeamsDocument": "{orgName: params.orgName, pageSize: 10}"
43
+ }
44
+ }
45
+ ```
46
+
47
+ This serves as meta-information for our generator function, which uses it to create [loaders](./data-loaders.md) for both server and client. The generated loaders will look something like this:
48
+
49
+ ```ts
50
+ export const loaders = ({ params, context }) => {
51
+ const { apolloClient: client } = context;
52
+ const queries = { GetTeamsDocument: { orgName: params.orgName, pageSize: 10 } };
53
+
54
+ const organizationTeamsQuery = client.query({
55
+ query: GetTeamsDocument,
56
+ variables: queries['GetTeamsDocument'],
57
+ fetchPolicy: __SERVER__ ? 'network-only' : 'cache-first',
58
+ });
59
+
60
+ return {
61
+ data: {
62
+ organizationTeamsQuery,
63
+ },
64
+ };
65
+ };
66
+
67
+ const clientLoader = async ({ params, serverLoader }) => {
68
+ const client = window.__APOLLO_CLIENT__;
69
+ try {
70
+ const getKey = (documentName) => camelCase(documentName).replace('Document', '');
71
+ const queries = { GetTeamsDocument: { orgName: params.orgName, pageSize: 10 } };
72
+ const queryKeys = ['TeamsQuery'];
73
+ let shouldCallServerLoader = false;
74
+ let response = {};
75
+ let cachedData, cacheKey;
76
+
77
+ cachedData = client.cache.readQuery({
78
+ query: GetTeamsDocument,
79
+ variables: queries['GetTeamsDocument'],
80
+ });
81
+ cacheKey = getKey('GetTeamsDocument');
82
+
83
+ if (!cachedData) {
84
+ shouldCallServerLoader = true;
85
+ }
86
+ if (cachedData && cachedData[cacheKey]) {
87
+ response[queryKeys[0]] = Promise.resolve(cachedData[cacheKey]);
88
+ }
89
+
90
+ if (!shouldCallServerLoader) return response;
91
+ const serverData = await serverLoader();
92
+ let queryKey = queryKeys[0];
93
+
94
+ if (!serverData[queryKey].then) {
95
+ return;
96
+ }
97
+ serverData[queryKey].then(({ data }) => {
98
+ client.cache.writeQuery({
99
+ query: GetTeamsDocument,
100
+ variables: queries['GetTeamsDocument'],
101
+ data,
102
+ });
103
+ });
104
+
105
+ return serverData;
106
+ } catch (err) {
107
+ console.error('Error in clientLoader', err);
108
+ }
109
+ };
110
+ ```
111
+
112
+ The above document provides an example for a simple use case where a component has only one query. For components with multiple queries, the generated loaders will be longer.
113
+
114
+ ---
@@ -0,0 +1,89 @@
1
+ ---
2
+ meta:
3
+ title: Query Params Generator
4
+ description: Query Params Generator
5
+ date: '2023-06-02T00:00:00'
6
+ updated: '2024-06-02T00:00:00'
7
+ excerpt: Query Params Generator...
8
+ headers:
9
+ Cache-Control: no-cache
10
+ ---
11
+
12
+ # Generalized Query Loaders Documentation
13
+
14
+ This documentation describes how to pass nested variables to queries using a parameter generation function and how to implement query loaders with custom logic.
15
+
16
+ ## Query Params Generator Implementation
17
+
18
+ The `queryParamsGenerator` function generates query parameters based on the input parameters.
19
+
20
+ ### Usage
21
+
22
+ ```javascript
23
+ export const queryParamsGenerator = (params) => ({
24
+ nestedParam1: {
25
+ subParam: {
26
+ key: params.value,
27
+ },
28
+ },
29
+ nestedParam2: { key: params.value },
30
+ });
31
+ ```
32
+
33
+ ## Query Loader Implementation
34
+
35
+ This section describes how to implement query loaders using the variables generated by the `queryParamsGenerator` function.
36
+
37
+ ### Example Query Loader 1: CustomQueryLoader1
38
+
39
+ The `CustomQueryLoader1` loads data using the variables generated by the `queryParamsGenerator` function with a specified fetch policy.
40
+
41
+ ### Usage
42
+
43
+ ```javascript
44
+ const CustomQueryLoader1 = useCustomQuery1({
45
+ variables: queryParamsGenerator(params).nestedParam1,
46
+ fetchPolicy: 'custom-fetch-policy',
47
+ });
48
+ ```
49
+
50
+ ## General Example
51
+
52
+ Here is a generalized example of how to use the CustomQueryLoader1 and CustomQueryLoader2 together:
53
+
54
+ ```javascript
55
+ import { useCustomQuery1, useCustomQuery2 } from './path/to/queries';
56
+ import { dimentsions } from './dimension.js';
57
+
58
+ export const queryParamsGenerator = (params) => ({
59
+ nestedParam1: {
60
+ subParam: {
61
+ key: params.value,
62
+ },
63
+ dimensions: dimensions,
64
+ },
65
+ nestedParam2: { key: params.value },
66
+ });
67
+
68
+ const ExampleComponent = (props) => {
69
+ const params = { value: 'uniqueIdentifier' };
70
+
71
+ const QueryLoader1 = useQuery1({
72
+ variables: queryParamsGenerator(params).nestedParam1,
73
+ fetchPolicy: 'cache-only',
74
+ });
75
+
76
+ const QueryLoader2 = useCustomQuery2({
77
+ variables: queryParamsGenerator(params).nestedParam2,
78
+ fetchPolicy: 'cache-only',
79
+ });
80
+
81
+ return (
82
+ <React.Suspense fallback={<Spinner></Spinner>}>
83
+ <Await resolve={Promise.all([QueryLoader1, QueryLoader2])}>
84
+ <ExampleComponent loaderData={[QueryLoader1, QueryLoader2]} {...props} />
85
+ </Await>
86
+ </React.Suspense>
87
+ );
88
+ };
89
+ ```
@@ -0,0 +1,16 @@
1
+ ---
2
+ meta:
3
+ title: Resources
4
+ description: Resources
5
+ date: '2023-06-02T00:00:00'
6
+ updated: '2024-06-02T00:00:00'
7
+ excerpt: Resources...
8
+ headers:
9
+ Cache-Control: no-cache
10
+ ---
11
+
12
+ ## Resources
13
+
14
+ - Mastering Remix.run Routing: Exploring Every Option with In-Depth Diagrams
15
+
16
+ https://www.youtube.com/watch?v=Q-careWW_lA
@@ -0,0 +1,132 @@
1
+ ---
2
+ meta:
3
+ title: Styles
4
+ description: Styles
5
+ date: '2023-06-02T00:00:00'
6
+ updated: '2024-06-02T00:00:00'
7
+ excerpt: Styles...
8
+ headers:
9
+ Cache-Control: no-cache
10
+ ---
11
+
12
+ ## Styles
13
+
14
+ # CSS Import and Stylesheet Links Example
15
+
16
+ This example demonstrates how to import CSS files from a package and return them as stylesheet links in a TypeScript project.
17
+
18
+ ## Installation
19
+
20
+ To use this example, follow these steps:
21
+
22
+ 1. Install the necessary packages:
23
+
24
+ ```bash
25
+ npm install <your-css-package>
26
+ # or
27
+ yarn add <your-css-package>
28
+
29
+ ```
30
+
31
+ ### Import the CSS files in your TypeScript file:
32
+
33
+ append the _?url_ at the end of css import
34
+
35
+ ```javascript
36
+ import mainStyles from '<your-css-package>/main.css?url';
37
+
38
+ or;
39
+
40
+ import '<your-css-package>/any.css';
41
+ ```
42
+
43
+ #### Add @tsignore above import
44
+
45
+ ```javascript
46
+ //@ts-ignore
47
+ import mainStyles from '<your-css-package>/main.css?url';
48
+ ```
49
+
50
+ #### Define a function to return stylesheet links:
51
+
52
+ ```javascript
53
+ //@ts-ignore
54
+ import mainStyles from '<your-css-package>/main.css?url';
55
+ //@ts-ignore
56
+ import customStyles from '../styles/landing.css?url';
57
+
58
+ export const links = () => {
59
+ return [
60
+ {
61
+ rel: 'stylesheet',
62
+ href: customStyles as unknown as string,
63
+ },
64
+ {
65
+ rel: 'stylesheet',
66
+ href: mainStyles as unknown as string,
67
+ },
68
+ ];
69
+ };
70
+ ```
71
+
72
+ #### Note: All css files import should be in route component, in subcomponent components it will not work
73
+
74
+ ## Directory Structure
75
+
76
+ app
77
+ routes
78
+ app.tsx
79
+ components
80
+ Button.tsx
81
+ styles
82
+ app.css
83
+ button.css
84
+
85
+ ## app.tsx (Route Component)
86
+
87
+ ```tsx
88
+ import { LinksFunction } from 'remix';
89
+ import buttonStyles from '../styles/button.css?url';
90
+
91
+ export const links: LinksFunction = () => {
92
+ return [{ rel: 'stylesheet', href: buttonStyles }];
93
+ };
94
+
95
+ import Button from '../components/Button';
96
+ const ComponentWithLoader = (props) => {
97
+ return (
98
+ <React.Suspense fallback={<Spinner></Spinner>}>
99
+ <Await resolve={OwnerPropertiesLoader} errorElement={<Alert>Error loading TypeLists!</Alert>}>
100
+ <div>
101
+ <h1>Welcome to my Remix app!</h1>
102
+ <Button />
103
+ </div>
104
+ </Await>
105
+ </React.Suspense>
106
+ );
107
+ };
108
+ ```
109
+
110
+ ## Button.tsx (SubComponent)
111
+
112
+ ```tsx
113
+ export default function Button() {
114
+ return <button className="custom-button">Click me</button>;
115
+ }
116
+ ```
117
+
118
+ ## Troubleshoot
119
+
120
+ ### Error: No route matches URL "/styles/landing.css"
121
+
122
+ Make sure `styles` folder which it is looking is copied to `lib` folder. If not check `rollup.config.base.mjs` under root of the project, whether it has `styles` pattern in `copy plugin`
123
+
124
+ ```js
125
+ const additionalPlugins = [copy({ patterns: ['**/cdm-locales/**/*', '**/styles/**/*'], rootDir: './src' })];
126
+ ```
127
+
128
+ ### Build error: [!] RollupError: Could not resolve "../styles/landing.css?url" from "src/pages/Landing.tsx"
129
+
130
+ Make sure `ignoreCssUrlPlugin` added to `rollup.config.base.mjs` after `typescript` plugin as shown below.
131
+
132
+ <img width="1410" alt="image" src="https://github.com/cdmbase/cdebase-wiki/assets/3382355/2017114b-2ee2-4bcf-a25a-269d1c9999c3"/>
@@ -0,0 +1,12 @@
1
+ ---
2
+ meta:
3
+ title: Wiki
4
+ description: Wiki
5
+ date: '2023-06-02T00:00:00'
6
+ updated: '2024-06-02T00:00:00'
7
+ excerpt: Wiki...
8
+ headers:
9
+ Cache-Control: no-cache
10
+ ---
11
+
12
+ ## Wiki
@@ -0,0 +1,24 @@
1
+ ---
2
+ meta:
3
+ title: Auth Wrapper
4
+ description: Auth Wrapper
5
+ date: '2023-06-02T00:00:00'
6
+ updated: '2024-06-02T00:00:00'
7
+ excerpt: Auth Wrapper...
8
+ headers:
9
+ Cache-Control: no-cache
10
+ ---
11
+
12
+ # Auth Wrapper
13
+
14
+ Authwrapper is a configuration provided to the Feature, it takes a component AuthWrapper or AuthWrapperHoc in mobile. The purpose of this wrapper is to validate whether the user is authenticated to access the component else it will get redirected to login.
15
+
16
+ ![Configuration](/assets/images/configuration.png)
17
+
18
+ If you want that particular route should only be accessible to logged in user you can simply pass `auth: true` while configuring the route as shown below
19
+
20
+ ![Route Config](/assets/images/route-config.png)
21
+
22
+ For mobile, authWrapper works in the similar fashion but the route config can have another property which will be UnAuthenticatedComponent which when provided will be rendered incase the user is unauthenticated and trying to access the route.
23
+
24
+ ![Unauthenticated Component](/assets/images/unauthenticated.png)
@@ -0,0 +1,18 @@
1
+ ---
2
+ meta:
3
+ title: Security
4
+ description: Security
5
+ date: '2023-06-02T00:00:00'
6
+ updated: '2024-06-02T00:00:00'
7
+ excerpt: Security...
8
+ headers:
9
+ Cache-Control: no-cache
10
+ ---
11
+
12
+ ## Security
13
+
14
+ **[Secure Button (mobile)](/docs/security/secure-button-mobilenative)**
15
+
16
+ **[Secure Button (web)](/docs/security/secure-button-web)**
17
+
18
+ **[Auth Wrapper](/docs/security/auth-wrapper)**