@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,166 @@
1
+ ---
2
+ meta:
3
+ title: Don't write network requests over the sub components.
4
+ description: Don't write network requests over the sub components.
5
+ date: '2023-06-02T00:00:00'
6
+ updated: '2024-06-02T00:00:00'
7
+ excerpt: Don't write network requests over the sub components....
8
+ headers:
9
+ Cache-Control: no-cache
10
+ ---
11
+
12
+ ### Don't Do Case
13
+
14
+ #### SubComponent with GraphQL Query
15
+
16
+ In this case, the `SubComponent` handles the GraphQL query directly, which should be avoided:
17
+
18
+ ```javascript
19
+ // SubComponent.js
20
+ import { gql, useQuery } from '@apollo/client';
21
+
22
+ const GET_USERS = gql`
23
+ query GetUsers {
24
+ users {
25
+ id
26
+ name
27
+ email
28
+ }
29
+ }
30
+ `;
31
+
32
+ function SubComponent() {
33
+ const { data, loading, error } = useQuery(GET_USERS);
34
+
35
+ if (loading) return <p>Loading...</p>;
36
+ if (error) return <p>Error: {error.message}</p>;
37
+
38
+ return (
39
+ <div>
40
+ <h1>Users</h1>
41
+ <ul>
42
+ {data.users.map((user) => (
43
+ <li key={user.id}>
44
+ {user.name} ({user.email})
45
+ </li>
46
+ ))}
47
+ </ul>
48
+ </div>
49
+ );
50
+ }
51
+
52
+ export default SubComponent;
53
+ ```
54
+
55
+ #### Main Page Importing SubComponent
56
+
57
+ The main page simply imports and uses `SubComponent`, without handling the data fetching properly.
58
+
59
+ ```javascript
60
+ // mainPage.js
61
+ import SubComponent from './SubComponent';
62
+
63
+ export default function MainPage() {
64
+ return (
65
+ <div>
66
+ <SubComponent />
67
+ </div>
68
+ );
69
+ }
70
+ ```
71
+
72
+ ### Do Case
73
+
74
+ #### Step-by-Step Refactor
75
+
76
+ 1. **Define the GraphQL Query in the Main Page**
77
+
78
+ ```javascript
79
+ // mainPage.js
80
+ import { gql } from '@apollo/client';
81
+
82
+ const GET_USERS = gql`
83
+ query GetUsers {
84
+ users {
85
+ id
86
+ name
87
+ email
88
+ }
89
+ }
90
+ `;
91
+ ```
92
+
93
+ 2. **Set Up the Loader Function**
94
+
95
+ ```javascript
96
+ // mainPage.js
97
+ import { json, LoaderFunction } from '@remix-run/node';
98
+ import { useLoaderData } from '@remix-run/react';
99
+ import { initializeApollo } from '~/utils/apolloClient'; // Utility to initialize Apollo Client
100
+ import SubComponent from './SubComponent';
101
+
102
+ // instead you can also use graphql Query directly with fetch policy set to cache-only to auto generate loaders as described in `generated-data-loaders`
103
+ export let loader: LoaderFunction = async () => {
104
+ const client = initializeApollo();
105
+ try {
106
+ const { data } = await client.query({ query: GET_USERS });
107
+ return json(data);
108
+ } catch (error) {
109
+ console.error('Error fetching users:', error);
110
+ throw new Response('Error fetching users', { status: 500 });
111
+ }
112
+ };
113
+ ```
114
+
115
+ 3. **Create the SubComponent as a Pure Component**
116
+
117
+ ```javascript
118
+ // SubComponent.js
119
+ function SubComponent({ users }) {
120
+ return (
121
+ <div>
122
+ <h1>Users</h1>
123
+ <ul>
124
+ {users.map((user) => (
125
+ <li key={user.id}>
126
+ {user.name} ({user.email})
127
+ </li>
128
+ ))}
129
+ </ul>
130
+ </div>
131
+ );
132
+ }
133
+
134
+ export default SubComponent;
135
+ ```
136
+
137
+ 4. **Use the SubComponent in the Main Page**
138
+
139
+ ```javascript
140
+ // mainPage.js
141
+ import { useLoaderData } from '@remix-run/react';
142
+ import SubComponent from './SubComponent';
143
+
144
+ export default function MainPage() {
145
+ const { users } = useLoaderData();
146
+
147
+ return (
148
+ <div>
149
+ <SubComponent users={users} />
150
+ </div>
151
+ );
152
+ }
153
+ ```
154
+
155
+ ### Summary
156
+
157
+ **Don't Do Case:**
158
+
159
+ - Placing GraphQL queries inside subcomponents makes it harder to manage data flow and breaks SSR benefits.
160
+ - Subcomponents are not pure and are tightly coupled with data-fetching logic.
161
+
162
+ **Do Case:**
163
+
164
+ - GraphQL queries are centralized in the main routed page's loader.
165
+ - Data fetching is handled during SSR, improving performance.
166
+ - Subcomponents are kept pure and receive data via props, making them more reusable and easier to test.
@@ -0,0 +1,122 @@
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
+ # Generated Data Loaders
13
+
14
+ 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.
15
+
16
+ ## How It Works
17
+
18
+ 1. The parser analyzes the component code and detects GraphQL queries.
19
+ 2. 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.
20
+ 3. This information is used to generate both server and client loaders.
21
+
22
+ ## Example
23
+
24
+ Consider this component:
25
+
26
+ ```typescript
27
+ // Teams.tsx
28
+ const Teams = (props) => {
29
+ const [data, { loading }] = useTeamsQuery({ variables: { orgName, pageSize: 10 } });
30
+ // rest of the business logic
31
+ return (
32
+ // component render Markup
33
+ )
34
+ }
35
+ ```
36
+
37
+ The generated `routes.json` structure will look like this:
38
+
39
+ ```json
40
+ {
41
+ "queries": {
42
+ "TeamsDocument": "{orgName: params.orgName, pageSize: 10}"
43
+ }
44
+ }
45
+ ```
46
+
47
+ ## Generated Loaders
48
+
49
+ The generator function uses this meta-information to create loaders for both server and client:
50
+
51
+ ```typescript
52
+ export const loaders = ({ params, context }) => {
53
+ const { apolloClient: client } = context;
54
+ const queries = { GetTeamsDocument: { orgName: params.orgName, pageSize: 10 } };
55
+
56
+ const organizationTeamsQuery = client.query({
57
+ query: GetTeamsDocument,
58
+ variables: queries['GetTeamsDocument'],
59
+ fetchPolicy: __SERVER__ ? 'network-only' : 'cache-first',
60
+ });
61
+
62
+ return {
63
+ data: {
64
+ organizationTeamsQuery,
65
+ },
66
+ };
67
+ };
68
+
69
+ const clientLoader = async ({ params, serverLoader }) => {
70
+ const client = window.__APOLLO_CLIENT__;
71
+ try {
72
+ const getKey = (documentName) => camelCase(documentName).replace('Document', '');
73
+ const queries = { GetTeamsDocument: { orgName: params.orgName, pageSize: 10 } };
74
+ const queryKeys = ['TeamsQuery'];
75
+ let shouldCallServerLoader = false;
76
+ let response = {};
77
+ let cachedData, cacheKey;
78
+
79
+ cachedData = client.cache.readQuery({
80
+ query: GetTeamsDocument,
81
+ variables: queries['GetTeamsDocument'],
82
+ });
83
+ cacheKey = getKey('GetTeamsDocument');
84
+
85
+ if (!cachedData) {
86
+ shouldCallServerLoader = true;
87
+ }
88
+ if (cachedData && cachedData[cacheKey]) {
89
+ response[queryKeys[0]] = Promise.resolve(cachedData[cacheKey]);
90
+ }
91
+
92
+ if (!shouldCallServerLoader) return response;
93
+ const serverData = await serverLoader();
94
+ let queryKey = queryKeys[0];
95
+
96
+ if (!serverData[queryKey].then) {
97
+ return;
98
+ }
99
+ serverData[queryKey].then(({ data }) => {
100
+ client.cache.writeQuery({
101
+ query: GetTeamsDocument,
102
+ variables: queries['GetTeamsDocument'],
103
+ data,
104
+ });
105
+ });
106
+
107
+ return serverData;
108
+ } catch (err) {
109
+ console.error('Error in clientLoader', err);
110
+ }
111
+ };
112
+ ```
113
+
114
+ This approach ensures that by the time the component requests the data, it is already available in the Apollo Cache, reducing redundancy and improving performance.
115
+
116
+ ## Related Topics
117
+
118
+ - For detailed parameter generation, see [Query Params Generator](query-params-generator.md)
119
+ - For automated loader generation, see [Generated Data Loaders](generated-data-loaders.md)
120
+ - For authentication integration, see [Authentication and Authorization](routes-json-auth.md)
121
+
122
+ [Back to Index](routes-json-index.md) | [Previous: Advanced Configurations](routes-json-advanced.md) | [Next: Query Parameters Generator](query-params-generator.md)
@@ -0,0 +1,257 @@
1
+ ---
2
+ meta:
3
+ title: Generated Resource Loaders
4
+ description: Generated Resource Loaders
5
+ date: '2023-06-02T00:00:00'
6
+ updated: '2024-06-02T00:00:00'
7
+ excerpt: Generated Resource Loaders...
8
+ headers:
9
+ Cache-Control: no-cache
10
+ ---
11
+
12
+ # Resource Routes in Generated Data Loaders
13
+
14
+ ## Resource Routes Overview
15
+
16
+ Resource routes are special routes that require resolved data rather than deferred promises. They are commonly used for API endpoints, data fetching routes, and other scenarios where immediate data resolution is required.
17
+
18
+ ## Configuration
19
+
20
+ ### routes.json Configuration
21
+
22
+ ```json
23
+ {
24
+ "/api/teams": {
25
+ "isResourceRoute": true,
26
+ "resourceUri": "teams",
27
+ "queries": {
28
+ "GetTeamsDocument": "{orgName: params.orgName}"
29
+ },
30
+ "middlewares": ["@your-package/middleware/configurations"]
31
+ }
32
+ }
33
+ ```
34
+
35
+ ### GraphQL Query Definition
36
+
37
+ ```graphql
38
+ query GetTeams($orgName: String!) {
39
+ teams(orgName: $orgName) {
40
+ id
41
+ name
42
+ members {
43
+ id
44
+ name
45
+ role
46
+ }
47
+ settings {
48
+ isPublic
49
+ allowInvites
50
+ }
51
+ }
52
+ }
53
+ ```
54
+
55
+ ## Generated Loader
56
+
57
+ ```typescript
58
+ import { json } from '@remix-run/node';
59
+ import { GetTeamsDocument } from './graphql/teams.generated';
60
+
61
+ export const loader = async ({ context, params }) => {
62
+ const loaderErrors = [];
63
+ let defaultLoaderData = {};
64
+
65
+ // Configuration middleware
66
+ const middlewareStack = [];
67
+ const { apolloClient: client } = context;
68
+
69
+ try {
70
+ // Execute queries with immediate resolution
71
+ const teamsResult = await client.query({
72
+ query: GetTeamsDocument,
73
+ variables: { orgName: params.orgName },
74
+ fetchPolicy: 'network-only',
75
+ });
76
+
77
+ defaultLoaderData = {
78
+ teams: teamsResult.data.teams,
79
+ };
80
+
81
+ // Execute middleware if configured
82
+ if (options.resourceUri) {
83
+ const { configurations } = await executeConfigurationMiddleware(params);
84
+ defaultLoaderData.configurations = configurations;
85
+ }
86
+
87
+ return json({
88
+ ...defaultLoaderData,
89
+ errors: loaderErrors,
90
+ });
91
+ } catch (error) {
92
+ loaderErrors.push(error);
93
+ return json({ errors: loaderErrors }, { status: 500 });
94
+ }
95
+ };
96
+ ```
97
+
98
+ ## Example Usage
99
+
100
+ ### Resource Route Component
101
+
102
+ ```typescript
103
+ // app/routes/api/teams.ts
104
+ import { useLoaderData } from '@remix-run/react';
105
+ import type { Team } from '~/types';
106
+
107
+ interface LoaderData {
108
+ teams: Team[];
109
+ configurations?: {
110
+ maxTeamSize: number;
111
+ features: string[];
112
+ };
113
+ errors?: Array<{ message: string }>;
114
+ }
115
+
116
+ export default function TeamsResource() {
117
+ const { teams, configurations, errors } = useLoaderData<LoaderData>();
118
+
119
+ if (errors?.length) {
120
+ return json(
121
+ {
122
+ error: 'Failed to load teams data',
123
+ details: errors,
124
+ },
125
+ {
126
+ status: 500,
127
+ },
128
+ );
129
+ }
130
+
131
+ return json({
132
+ teams,
133
+ settings: configurations,
134
+ timestamp: new Date().toISOString(),
135
+ });
136
+ }
137
+ ```
138
+
139
+ ### Consuming Component
140
+
141
+ ```typescript
142
+ // app/routes/teams/index.tsx
143
+ import { useEffect, useState } from 'react';
144
+
145
+ export default function TeamsPage() {
146
+ const [teams, setTeams] = useState<Team[]>([]);
147
+ const [loading, setLoading] = useState(true);
148
+
149
+ useEffect(() => {
150
+ async function fetchTeams() {
151
+ try {
152
+ const response = await fetch('/api/teams?orgName=acme');
153
+ const data = await response.json();
154
+ setTeams(data.teams);
155
+ } catch (error) {
156
+ console.error('Failed to fetch teams:', error);
157
+ } finally {
158
+ setLoading(false);
159
+ }
160
+ }
161
+
162
+ fetchTeams();
163
+ }, []);
164
+
165
+ if (loading) return <div>Loading teams...</div>;
166
+
167
+ return (
168
+ <div>
169
+ <h1>Teams</h1>
170
+ <div className="teams-grid">
171
+ {teams.map((team) => (
172
+ <TeamCard key={team.id} team={team} maxSize={data.configurations?.maxTeamSize} />
173
+ ))}
174
+ </div>
175
+ </div>
176
+ );
177
+ }
178
+
179
+ // TeamCard component
180
+ const TeamCard = ({ team, maxSize }) => (
181
+ <div className="team-card">
182
+ <h3>{team.name}</h3>
183
+ <div className="member-count">
184
+ Members: {team.members.length} / {maxSize}
185
+ </div>
186
+ <div className="member-list">
187
+ {team.members.map((member) => (
188
+ <div key={member.id} className="member">
189
+ {member.name} ({member.role})
190
+ </div>
191
+ ))}
192
+ </div>
193
+ <div className="team-settings">
194
+ {team.settings.isPublic ? 'Public' : 'Private'} Team
195
+ {team.settings.allowInvites && ' • Invites Enabled'}
196
+ </div>
197
+ </div>
198
+ );
199
+ ```
200
+
201
+ ### Using with Forms
202
+
203
+ ```typescript
204
+ // app/routes/teams/new.tsx
205
+ import { Form, useActionData } from '@remix-run/react';
206
+
207
+ export default function NewTeam() {
208
+ const actionData = useActionData();
209
+
210
+ return (
211
+ <Form method="post" action="/api/teams">
212
+ <div>
213
+ <label htmlFor="teamName">Team Name:</label>
214
+ <input id="teamName" name="teamName" type="text" required />
215
+ </div>
216
+ <div>
217
+ <label htmlFor="isPublic">
218
+ <input id="isPublic" name="isPublic" type="checkbox" />
219
+ Make team public
220
+ </label>
221
+ </div>
222
+ <button type="submit">Create Team</button>
223
+ {actionData?.errors && (
224
+ <div className="error">
225
+ {actionData.errors.map((error) => (
226
+ <p key={error.message}>{error.message}</p>
227
+ ))}
228
+ </div>
229
+ )}
230
+ </Form>
231
+ );
232
+ }
233
+ ```
234
+
235
+ ## Key Differences from Regular Routes
236
+
237
+ 1. **Data Resolution**
238
+ - All data is resolved before sending response
239
+ - Always returns `json` responses
240
+ - No streaming or deferred loading
241
+
242
+ 2. **Error Handling**
243
+ - Errors are collected and returned immediately
244
+ - Appropriate HTTP status codes are set
245
+ - Error details can be included in the response
246
+
247
+ 3. **Middleware Integration**
248
+ - Middleware executes synchronously
249
+ - All configurations are resolved before response
250
+ - Results are included in the JSON response
251
+
252
+ 4. **Response Format**
253
+ - Structured JSON responses
254
+ - Can include metadata and configurations
255
+ - Suitable for API consumption
256
+
257
+ [Back to Index](routes-json-index.md) | [Previous: Query Parameters Generator](query-params-generator.md) | [Next: CSS Import and Stylesheets](css-import-and-stylesheets.md)