@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,14 @@
1
+ ---
2
+ meta:
3
+ title: Chrome Extension
4
+ description: Chrome Extension
5
+ date: '2023-06-02T00:00:00'
6
+ updated: '2024-06-02T00:00:00'
7
+ excerpt: Chrome Extension ...
8
+ headers:
9
+ Cache-Control: no-cache
10
+ ---
11
+
12
+ ## Chrome Extension
13
+
14
+ **[Setup](/docs/chrome-extension/setup)**
@@ -0,0 +1,30 @@
1
+ ---
2
+ meta:
3
+ title: Setup
4
+ description: Setup
5
+ date: '2023-06-02T00:00:00'
6
+ updated: '2024-06-02T00:00:00'
7
+ excerpt: Setup...
8
+ headers:
9
+ Cache-Control: no-cache
10
+ ---
11
+
12
+ References: https://github.com/Godiswill/cra-crx-boilerplate
13
+
14
+ - Go to chrome://extensions .
15
+ - Click on developer mode switch on top right side to activate it.
16
+ - Click on load unpacked button
17
+ - Browse to build/assets folder
18
+ - We don't need to zip the build.
19
+ - Just need to browse to the folder that contains manifest.json file
20
+
21
+ #Register Callback URl
22
+
23
+ In order for authentication to work properly, its required to register a callback url in auth0 project
24
+
25
+ - Copy your extension id from the extension list like shown below
26
+
27
+ ![Extension ID](/assets/images/extension.png)
28
+
29
+ - Replace your extension id with extension-id in this url `https://<extension-id>.chromiumapp.org`
30
+ - Set env in dev.env AUTH0_EXTENSION_REDIRECT_URL = `https://YOUR_EXTENSION_ID.chromiumapp.org`
@@ -0,0 +1,23 @@
1
+ ---
2
+ meta:
3
+ title: Adding package to sub packages
4
+ description: Adding package to sub packages
5
+ date: '2023-06-02T00:00:00'
6
+ updated: '2024-06-02T00:00:00'
7
+ excerpt: Adding package to sub packages...
8
+ headers:
9
+ Cache-Control: no-cache
10
+ ---
11
+
12
+ ## Adding package to sub packages or to servers or to devices
13
+
14
+ We use [Lerna Hoisting](https://github.com/lerna/lerna/blob/9dc2bc5a9e200de3e8b5e83bbd8cec1fddfc2916/doc/hoist.md) feature. This makes sure the NPM package at most installed only once in the root `node_modules`. However, we should not place npm dependency under root `package.json`. The dependency should go under the package that needs it. For Example, if `servers/backend-server` requires the package then the dependency should be added to its `package.json` but not to the root package.json. Once added follow the below steps to install the package.
15
+
16
+ Run
17
+
18
+ 1. `npm run lerna`. This should automatically install the new npm package as it reads from all packages or servers `package.json`.
19
+ 2. If above one didn't work then install from the root without save option
20
+
21
+ ```
22
+ npm i apollo-server@<version> --no-save
23
+ ```
@@ -0,0 +1,99 @@
1
+ ---
2
+ meta:
3
+ title: Adding Modules with FullStack Pro Kit
4
+ description: Adding Modules with FullStack Pro Kit
5
+ date: '2023-06-02T00:00:00'
6
+ updated: '2024-06-02T00:00:00'
7
+ excerpt: Adding Modules with FullStack Pro Kit...
8
+ headers:
9
+ Cache-Control: no-cache
10
+ ---
11
+
12
+ # Adding Modules with FullStack Pro Kit
13
+
14
+ In this guide, we explain how you can add new modules with FullStack-pro Kit.
15
+
16
+ ## Table of Contents
17
+
18
+ - [Add New Modules](#installing-and-importing-dependencies)
19
+
20
+ ## Add New Modules
21
+
22
+ Adding new modules, usually goes under `packages-modules` folder. For example to create counter module, you create
23
+
24
+ 1. From root directory, create following folders by running the commands (in unix).
25
+
26
+ ```
27
+ mkdir -p packages-modules/counter/browser/src
28
+ mkdir -p packages-modules/counter/servers/src
29
+
30
+ touch packages-modules/counter/browser/src/package.json
31
+ touch packages-modules/counter/servers/src/package.json
32
+ ```
33
+
34
+ 2. Copy following files from the existing modules,
35
+
36
+ From one of the existing moudles, copy the following files into the new module. Make sure the browser's module are copied from another existing browsers location and similarly for server's module.
37
+ - webpack.config.js
38
+ - tsconfig.json
39
+
40
+ 3. Copy the content of the package.json for both browser and server from the existing modules and change the `name` in the package.json to the specific name of the module you want to create. Please make sure to keep the namespace of the module uniform, if the existing module have `@admin-layout`, your new browser module's `package.json` name would be `@admin-layout/counter-browser`, similarly for server module will have `@admin-layout/counter-server`.
41
+
42
+ ```json
43
+ {
44
+ "name": "@admin-layout/counter-module-browser",
45
+ "version": "0.0.1",
46
+ .....
47
+ "publishConfig": {
48
+ "access": "public"
49
+ },
50
+ .....
51
+
52
+ "dependencies": {
53
+ "@sample-stack/platform-browser": "link:../../../packages/sample-platform/browser",
54
+ },
55
+ "peerDependencies": {
56
+ "@common-stack/client-react": ">=0.0.229",
57
+ "@common-stack/core": ">=0.0.229",
58
+ "antd": "^3.26.4"
59
+ }
60
+ }
61
+ ```
62
+
63
+ Add any additional dependencies that this module needed.
64
+
65
+ 4. Then, to use the new module add to `servers` and main `package.json`
66
+
67
+ a. In root `package.json` file add the new module where you have existing modules
68
+
69
+ ```json
70
+ "dependencies": {
71
+ .....
72
+ "@sample-stack/counter-module-browser": "link:packages-modules/counter/browser",
73
+ "@sample-stack/counter-module-server": "link:packages-modules/counter/server",
74
+ ....
75
+ }
76
+ ```
77
+
78
+ b. In frontend server `servers/frontend-server` add the browser module with relative path.
79
+
80
+ ```json
81
+ "dependencies": {
82
+ .....
83
+ "@sample-stack/counter-module-browser": "link:../../packages-modules/counter/browser",
84
+ }
85
+ ```
86
+
87
+ c. In backend servers `servers/backend-server` add the server module with relative path.
88
+
89
+ ```json
90
+ "dependencies": {
91
+ ....
92
+ "@sample-stack/counter-module-server": "link:../../packages-modules/counter/server",
93
+ ....
94
+ }
95
+ ```
96
+
97
+ Notes:
98
+
99
+ - You may have to rerun `yarn watch` to pickup new modules
@@ -0,0 +1,19 @@
1
+ ---
2
+ meta:
3
+ title: Architecture Update
4
+ description: Architecture Update
5
+ date: '2023-06-02T00:00:00'
6
+ updated: '2024-06-02T00:00:00'
7
+ excerpt: Architecture Update...
8
+ headers:
9
+ Cache-Control: no-cache
10
+ ---
11
+
12
+ ## Use git to merge upstream changes
13
+
14
+ ```
15
+ git init
16
+ git remote add [REMOTE_NAME] [GIT_URL]
17
+ git fetch REMOTE_NAME
18
+ git checkout REMOTE_NAME/BRANCH -- path/to/directory
19
+ ```
@@ -0,0 +1,116 @@
1
+ ---
2
+ meta:
3
+ title: Avoid using promises in UI
4
+ description: Avoid using promises in UI
5
+ date: '2023-06-02T00:00:00'
6
+ updated: '2024-06-02T00:00:00'
7
+ excerpt: Avoid using promises in UI...
8
+ headers:
9
+ Cache-Control: no-cache
10
+ ---
11
+
12
+ ## Avoid using promises in UI
13
+
14
+ Do not use promises in the UI. If you using apollo-client, we can use an in-built `upgrade` to perform necessary action.
15
+
16
+ ## Wrong-Way
17
+
18
+ ```
19
+ import * as React from 'react';
20
+ import {
21
+ IOrganizationListSlotProps,
22
+ } from '@adminide-stack/react-shared-components';
23
+ import { useGetUserOrganizationsListLazyQuery,
24
+ } from '@adminide-stack/account-api-client';
25
+ import { useChangeOrganizationMutation } from '@adminide-stack/platform-browser/lib/components';
26
+ import {IOrganization} from '@adminide-stack/core';
27
+
28
+ const {useLayoutEffect} = React;
29
+
30
+ export interface IOrganizationListProps extends IOrganizationListSlotProps {
31
+ active: boolean;
32
+ }
33
+
34
+ export const OrganizationsList = (props: IOrganizationListProps): React.ReactElement => {
35
+ const [fetchOrganizations, {data, loading}] = useGetUserOrganizationsListLazyQuery({
36
+ fetchPolicy:'cache-and-network',
37
+ });
38
+ const [changeOrganization] = useChangeOrganizationMutation();
39
+ const changeOrg = async (orgId: string) => {
40
+ await changeOrganization({
41
+ variables: {
42
+ orgId,
43
+ },
44
+ });
45
+ };
46
+ const {active, render} = props;
47
+
48
+ useLayoutEffect(() => {
49
+ if (active) {
50
+ fetchOrganizations();
51
+ }
52
+ }, [active]);
53
+
54
+ return render({organizations: data?.getUserOrganizations as IOrganization[], changeOrg, loading});
55
+ };
56
+
57
+ OrganizationsList.defaultProps = {
58
+ active: false,
59
+ };
60
+ ```
61
+
62
+ ## Right Way
63
+
64
+ ```
65
+ import * as React from 'react';
66
+ import {
67
+ IOrganizationListSlotProps,
68
+ } from '@adminide-stack/react-shared-components';
69
+ import {
70
+ useGetUserOrganizationsListLazyQuery,
71
+ } from '@adminide-stack/account-api-client';
72
+ import { useChangeOrganizationMutation } from '@adminide-stack/platform-browser/lib/ant-module';
73
+ import { IOrganization } from '@adminide-stack/core';
74
+
75
+ const { useLayoutEffect } = React;
76
+
77
+ export interface IOrganizationListProps extends IOrganizationListSlotProps {
78
+ active: boolean;
79
+ }
80
+
81
+ export const OrganizationsList = (props: IOrganizationListProps): React.ReactElement => {
82
+ const [fetchOrganizations, { data, loading }] = useGetUserOrganizationsListLazyQuery();
83
+ const [changeOrganization] = useChangeOrganizationMutation();
84
+ const changeOrg = (orgName: string) => {
85
+ changeOrganization({
86
+ variables: {
87
+ orgName: orgName,
88
+ },
89
+ update: (cache, { data, errors }) => {
90
+ if (data) {
91
+ cache.modify({
92
+ fields: {
93
+ getUserOrganizations() {}
94
+ }
95
+ })
96
+ }
97
+ }
98
+ });
99
+ };
100
+ const { active, render } = props;
101
+
102
+ useLayoutEffect(() => {
103
+ if (active) {
104
+ fetchOrganizations();
105
+ }
106
+ }, [active]);
107
+
108
+ return render({ organizations: data?.getUserOrganizations as IOrganization[], changeOrg, loading });
109
+ };
110
+
111
+ OrganizationsList.defaultProps = {
112
+ active: false,
113
+ };
114
+ ```
115
+
116
+ Incase if have nonapollo client that requires promises then use packages like `react-hook`.
@@ -0,0 +1,111 @@
1
+ ---
2
+ meta:
3
+ title: Coding Guidelines
4
+ description: Coding Guidelines
5
+ date: '2023-06-02T00:00:00'
6
+ updated: '2024-06-02T00:00:00'
7
+ excerpt: Coding Guidelines...
8
+ headers:
9
+ Cache-Control: no-cache
10
+ ---
11
+
12
+ ## Coding Guidelines
13
+
14
+ ## Intro
15
+
16
+ These are CDEBase coding guidelines. Please also review our [Source Code Organisation](./source-code-organization.md) page.
17
+
18
+ ## Indentation
19
+
20
+ We use tabs, not spaces.
21
+
22
+ ## Names
23
+
24
+ - Use PascalCase for `type` names
25
+ - Use PascalCase for `enum` values. If the `enums` generated from Graphql codegen then it should follow Graphql code style convention.
26
+ - Use camelCase for `function` and `method` names
27
+ - Use camelCase for `property` names and `local variables`
28
+ - Use whole words in names when possible
29
+
30
+ ## Naming for Files and Directories
31
+
32
+ - Name files after their default export. If that default export is a React Component, or a class, then the file name should be in `PascalCase`.
33
+ - Otherwise, the filename should be in `camelCase`.
34
+ - For naming files avoid using `kebab-case` and `snake_case` and make sure the name follows the default export of the file.
35
+ - Naming directories should follow `kebab-case`. Except use `PascalCase` for directories when containing only React components:
36
+
37
+ ```
38
+ components/CtaButton/index.ts
39
+ import 'components/CtaButton'
40
+ ```
41
+
42
+ or
43
+
44
+ ```
45
+ components/CtaButton/CtaButton.tsx
46
+ import 'components/CtaButton/CtaButton'
47
+ ```
48
+
49
+ rather than
50
+
51
+ ```
52
+ components/cta-button/CtaButton.tsx
53
+ ```
54
+
55
+ ## Import files order
56
+
57
+ ### browser side import order
58
+
59
+ - react import (if it is .tsx file)
60
+ - react based packages like react-redux, react-fela, chakra-ui ...
61
+ - npm packages for js utils
62
+ - @common, @admin, @pubngo packages..
63
+ - ../../../package
64
+ - ../../folder/
65
+ - ./Component
66
+
67
+ ### server side import order is similar like
68
+
69
+ - node packages first
70
+ - @common-stack, @cdm, @pubngo ...
71
+ - import from local path by far path first and near folder next
72
+
73
+ ## Types
74
+
75
+ - Do not export `types` or `functions` unless you need to share it across multiple components
76
+ - Do not introduce new `types` or `values` to the global namespace
77
+
78
+ ## Comments
79
+
80
+ - Use JSDoc style comments for `functions`, `interfaces`, `enums`, and `classes`
81
+
82
+ ## Strings
83
+
84
+ - Use "double quotes" for strings shown to the user that need to be externalized (localized)
85
+ - Use 'single quotes' otherwise
86
+ - All strings visible to the user need to be externalized
87
+
88
+ ## Style
89
+
90
+ - Use arrow functions `=>` over anonymous function expressions
91
+ - Only surround arrow function parameters when necessary. For example, `(x) => x + x` is wrong but the following are correct:
92
+
93
+ ```javascript
94
+ x => x + x
95
+ (x, y) => x + y
96
+ <T>(x: T, y: T) => x === y
97
+ ```
98
+
99
+ - Always surround loop and conditional bodies with curly braces
100
+ - Open curly braces always go on the same line as whatever necessitates them
101
+ - Parenthesized constructs should have no surrounding whitespace. A single space follows commas, colons, and semicolons in those constructs. For example:
102
+
103
+ ```javascript
104
+ for (let i = 0, n = str.length; i < 10; i++) {
105
+ if (x < 10) {
106
+ foo();
107
+ }
108
+ }
109
+
110
+ function f(x: number, y: string): void {}
111
+ ```
@@ -0,0 +1,42 @@
1
+ ---
2
+ meta:
3
+ title: Do and Dont't
4
+ description: Do and Dont't
5
+ date: '2023-06-02T00:00:00'
6
+ updated: '2024-06-02T00:00:00'
7
+ excerpt: Do and Dont't...
8
+ headers:
9
+ Cache-Control: no-cache
10
+ ---
11
+
12
+ ## Don't do it...
13
+
14
+ 1. `yarn <package>`
15
+
16
+ Do not install dependencies as `yarn <package dependency>`.
17
+ We use `lerna` and the way it works for the project is by installing `dependencies` to the `packages` or `servers` that requires it. In most cases,
18
+ you can just add the package to frontend or backend by running following
19
+
20
+ > to add to the frontend server so browser gets it
21
+
22
+ `lerna add --scope=*fronted-server <package>`
23
+
24
+ > to add to the backend server for nodejs to use it
25
+
26
+ `lerna add --scope=*backend-server <package>`
27
+
28
+ If a dependency is just needed by one package, you can add to that package's package.json file
29
+
30
+ `lerna add --scope=<package name> <package>`
31
+
32
+ Ideally, root `package.json` should have all the `devDependencies` of the project while `packages` & `servers` file references should be under `dependencies` section as shown [here](https://github.com/cdebase/fullstack-pro/blob/master/package.json#L67-L78).
33
+
34
+ Sometimes we may need to `pin` a package as other dependencies can bring some older versions of the package we want to add. In that case we can pin the required package version by adding to the `pacakge.json`. But make sure you don't have different version of the package in `servers` or `packages` otherwise a duplciate package will be added to its `nodemodules`.
35
+
36
+ ## Do
37
+
38
+ 1. Each package version should be uniform across the repository
39
+
40
+ Before adding a `<package dependency>`, see if the package of different version exist. If it exist then update that version to the required version.
41
+
42
+ 2. You can edit one of the `packages` or `servers`'s `package.json` file directly to add a `dependencies` and then run `yarn lerna` to install them. This is a easy way to install a known version by adding to the target `pacakage.json` file.
@@ -0,0 +1,22 @@
1
+ ---
2
+ meta:
3
+ title: Babel, JSX, and Build Steps
4
+ description: Babel, JSX, and Build Steps
5
+ date: '2023-06-02T00:00:00'
6
+ updated: '2024-06-02T00:00:00'
7
+ excerpt: Babel, JSX, and Build Steps...
8
+ headers:
9
+ Cache-Control: no-cache
10
+ ---
11
+
12
+ ### From where this `@sample-stack/platform-browser` comes in `packages/sample-platform/browser/src/containers/Counter.tsx`?
13
+
14
+ We use [lerna](https://github.com/lerna/lerna) for monorepo. For example all packages starts with `@sample-stack` are either under `packages` or `pacakges-modules` directories.
15
+
16
+ ### Why you have used [hot](https://github.com/cdebase/fullstack-pro/blob/master/servers/frontend-server/src/app/Main.tsx#L3)?
17
+
18
+ It is used for `hot reloading`. Checkout out [React Hot Loader](https://github.com/gaearon/react-hot-loader)
19
+
20
+ ### What is use of rehydrate?
21
+
22
+ It is used for SSR(server side rendering). Server generates initial browser page along with state(redux or apollo-client or css) and that state will be used in the browser to rehydated during browser rendering so the client state don't start from initial values.
@@ -0,0 +1,12 @@
1
+ ---
2
+ meta:
3
+ title: Browser
4
+ description: Browser
5
+ date: '2023-06-02T00:00:00'
6
+ updated: '2024-06-02T00:00:00'
7
+ excerpt: Browser...
8
+ headers:
9
+ Cache-Control: no-cache
10
+ ---
11
+
12
+ ## Browser
@@ -0,0 +1,12 @@
1
+ ---
2
+ meta:
3
+ title: Config
4
+ description: Config
5
+ date: '2023-06-02T00:00:00'
6
+ updated: '2024-06-02T00:00:00'
7
+ excerpt: Config...
8
+ headers:
9
+ Cache-Control: no-cache
10
+ ---
11
+
12
+ ## Config
@@ -0,0 +1,12 @@
1
+ ---
2
+ meta:
3
+ title: Container Server
4
+ description: Container Server
5
+ date: '2023-06-02T00:00:00'
6
+ updated: '2024-06-02T00:00:00'
7
+ excerpt: Container Server...
8
+ headers:
9
+ Cache-Control: no-cache
10
+ ---
11
+
12
+ ## Container Server
@@ -0,0 +1,12 @@
1
+ ---
2
+ meta:
3
+ title: Core
4
+ description: Core
5
+ date: '2023-06-02T00:00:00'
6
+ updated: '2024-06-02T00:00:00'
7
+ excerpt: Core...
8
+ headers:
9
+ Cache-Control: no-cache
10
+ ---
11
+
12
+ ## Core
@@ -0,0 +1,12 @@
1
+ ---
2
+ meta:
3
+ title: Graphql
4
+ description: Graphql
5
+ date: '2023-06-02T00:00:00'
6
+ updated: '2024-06-02T00:00:00'
7
+ excerpt: Graphql...
8
+ headers:
9
+ Cache-Control: no-cache
10
+ ---
11
+
12
+ ## Graphql
@@ -0,0 +1,30 @@
1
+ ---
2
+ meta:
3
+ title: Folder Setup
4
+ description: Folder Setup
5
+ date: '2023-06-02T00:00:00'
6
+ updated: '2024-06-02T00:00:00'
7
+ excerpt: Folder Setup...
8
+ headers:
9
+ Cache-Control: no-cache
10
+ ---
11
+
12
+ ## Folder Setup
13
+
14
+ **[Browser](/docs/contributing/folder-setup/browser)**
15
+
16
+ **[Config](/docs/contributing/folder-setup/config)**
17
+
18
+ **[Containers Server](/docs/contributing/folder-setup/containers-server)**
19
+
20
+ **[Core](/docs/contributing/folder-setup/core)**
21
+
22
+ **[Graphql](/docs/contributing/folder-setup/graphql)**
23
+
24
+ **[Module](/docs/contributing/folder-setup/module)**
25
+
26
+ **[Server](/docs/contributing/folder-setup/server)**
27
+
28
+ **[Services](/docs/contributing/folder-setup/services)**
29
+
30
+ **[Store](/docs/contributing/folder-setup/store)**
@@ -0,0 +1,12 @@
1
+ ---
2
+ meta:
3
+ title: Module
4
+ description: Module
5
+ date: '2023-06-02T00:00:00'
6
+ updated: '2024-06-02T00:00:00'
7
+ excerpt: Module...
8
+ headers:
9
+ Cache-Control: no-cache
10
+ ---
11
+
12
+ ## Module
@@ -0,0 +1,12 @@
1
+ ---
2
+ meta:
3
+ title: Server
4
+ description: Server
5
+ date: '2023-06-02T00:00:00'
6
+ updated: '2024-06-02T00:00:00'
7
+ excerpt: Server...
8
+ headers:
9
+ Cache-Control: no-cache
10
+ ---
11
+
12
+ ## Server
@@ -0,0 +1,12 @@
1
+ ---
2
+ meta:
3
+ title: Services
4
+ description: Services
5
+ date: '2023-06-02T00:00:00'
6
+ updated: '2024-06-02T00:00:00'
7
+ excerpt: Services...
8
+ headers:
9
+ Cache-Control: no-cache
10
+ ---
11
+
12
+ ## Services
@@ -0,0 +1,12 @@
1
+ ---
2
+ meta:
3
+ title: Store
4
+ description: Store
5
+ date: '2023-06-02T00:00:00'
6
+ updated: '2024-06-02T00:00:00'
7
+ excerpt: Store...
8
+ headers:
9
+ Cache-Control: no-cache
10
+ ---
11
+
12
+ ## Store
@@ -0,0 +1,30 @@
1
+ ---
2
+ meta:
3
+ title: Frontend Coding
4
+ description: Frontend Coding
5
+ date: '2023-06-02T00:00:00'
6
+ updated: '2024-06-02T00:00:00'
7
+ excerpt: Frontend Coding...
8
+ headers:
9
+ Cache-Control: no-cache
10
+ ---
11
+
12
+ ## Frontend Coding
13
+
14
+ - **Avoid using promises in the React Components:**
15
+
16
+ There are many ways to avoid using promises in UI. We use the promises in the services but not in the React UI. Here is good blog on how to avoid promises using Hooks when using apollo-react.
17
+
18
+ https://www.freecodecamp.org/news/react-apollo-client-2020-tutorial/
19
+
20
+ - **Synchronous Code only:** Don't write any asynchronous code (avoid promises, await) directly in the UI. Use libraries such as [React Query](https://react-query.tanstack.com/overview) to better manage the asynchronous code.
21
+
22
+ - **No Expansive code:** Don't write expensive code with `react` components that would take full state
23
+
24
+ If you ever need to take a full state either from `redux` or `apollo-client` and further computed within the component would result in bad
25
+ performance.
26
+ 1. If the `state` has nested objects which cause the props to more prone to changes causing unwanted Component rendering.
27
+
28
+ 2. this code won't be reusable.
29
+
30
+ So in that case, use [selectors](https://github.com/reduxjs/reselect) and inject them into props so it resolves the above-mentioned issues.