@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.
- package/LICENSE +21 -0
- package/lib/components/Logo.d.ts +4 -0
- package/lib/components/Logo.d.ts.map +1 -0
- package/lib/components/Logo.js +16 -0
- package/lib/components/Logo.js.map +1 -0
- package/lib/components/help/SidebarSearch.d.ts +8 -0
- package/lib/components/help/SidebarSearch.d.ts.map +1 -0
- package/lib/components/help/SidebarSearch.js +111 -0
- package/lib/components/help/SidebarSearch.js.map +1 -0
- package/lib/components/help/index.d.ts +2 -0
- package/lib/components/help/index.d.ts.map +1 -0
- package/lib/components/landing/FeatureCard.d.ts +13 -0
- package/lib/components/landing/FeatureCard.d.ts.map +1 -0
- package/lib/components/landing/FeatureCard.js +85 -0
- package/lib/components/landing/FeatureCard.js.map +1 -0
- package/lib/components/landing/QuickLinkCard.d.ts +8 -0
- package/lib/components/landing/QuickLinkCard.d.ts.map +1 -0
- package/lib/components/landing/QuickLinkCard.js +26 -0
- package/lib/components/landing/QuickLinkCard.js.map +1 -0
- package/lib/components/landing/SearchInput.d.ts +10 -0
- package/lib/components/landing/SearchInput.d.ts.map +1 -0
- package/lib/components/landing/SearchInput.js +223 -0
- package/lib/components/landing/SearchInput.js.map +1 -0
- package/lib/components/landing/index.d.ts +4 -0
- package/lib/components/landing/index.d.ts.map +1 -0
- package/lib/components/welcome.d.ts +3 -0
- package/lib/components/welcome.d.ts.map +1 -0
- package/lib/compute.d.ts +4 -0
- package/lib/compute.d.ts.map +1 -0
- package/lib/compute.js +96 -0
- package/lib/compute.js.map +1 -0
- package/lib/config/env-config.d.ts +4 -0
- package/lib/config/env-config.d.ts.map +1 -0
- package/lib/config/env-config.js +7 -0
- package/lib/config/env-config.js.map +1 -0
- package/lib/docs.config.d.ts +48 -0
- package/lib/docs.config.d.ts.map +1 -0
- package/lib/index.d.ts +4 -0
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +2 -0
- package/lib/index.js.map +1 -0
- package/lib/loaders/search.d.ts +1 -0
- package/lib/loaders/search.d.ts.map +1 -0
- package/lib/module.d.ts +4 -0
- package/lib/module.d.ts.map +1 -0
- package/lib/module.js +11 -0
- package/lib/module.js.map +1 -0
- package/lib/pages/ArticlePage/ArticlePage.d.ts +4 -0
- package/lib/pages/ArticlePage/ArticlePage.d.ts.map +1 -0
- package/lib/pages/ArticlePage/ArticlePage.js +222 -0
- package/lib/pages/ArticlePage/ArticlePage.js.map +1 -0
- package/lib/pages/ArticlePage/index.d.ts +3 -0
- package/lib/pages/ArticlePage/index.d.ts.map +1 -0
- package/lib/pages/ArticlePage/index.js +3 -0
- package/lib/pages/ArticlePage/index.js.map +1 -0
- package/lib/pages/CategoryCollection/CategoryCollection.d.ts +4 -0
- package/lib/pages/CategoryCollection/CategoryCollection.d.ts.map +1 -0
- package/lib/pages/CategoryCollection/CategoryCollection.js +103 -0
- package/lib/pages/CategoryCollection/CategoryCollection.js.map +1 -0
- package/lib/pages/CategoryCollection/index.d.ts +3 -0
- package/lib/pages/CategoryCollection/index.d.ts.map +1 -0
- package/lib/pages/CategoryCollection/index.js +3 -0
- package/lib/pages/CategoryCollection/index.js.map +1 -0
- package/lib/pages/Help/HelpIndex.d.ts +4 -0
- package/lib/pages/Help/HelpIndex.d.ts.map +1 -0
- package/lib/pages/Help/HelpIndex.js +44 -0
- package/lib/pages/Help/HelpIndex.js.map +1 -0
- package/lib/pages/Help/index.d.ts +4 -0
- package/lib/pages/Help/index.d.ts.map +1 -0
- package/lib/pages/Help/index.js +226 -0
- package/lib/pages/Help/index.js.map +1 -0
- package/lib/pages/Landing/index.d.ts +3 -0
- package/lib/pages/Landing/index.d.ts.map +1 -0
- package/lib/pages/Landing/index.js +281 -0
- package/lib/pages/Landing/index.js.map +1 -0
- package/lib/routes.json +2533 -0
- package/lib/seo.d.ts +22 -0
- package/lib/seo.d.ts.map +1 -0
- package/lib/slot-fill/FooterFill.d.ts +3 -0
- package/lib/slot-fill/FooterFill.d.ts.map +1 -0
- package/lib/slot-fill/FooterFill.js +18 -0
- package/lib/slot-fill/FooterFill.js.map +1 -0
- package/lib/slot-fill/LogoFill.d.ts +5 -0
- package/lib/slot-fill/LogoFill.d.ts.map +1 -0
- package/lib/slot-fill/LogoFill.js +74 -0
- package/lib/slot-fill/LogoFill.js.map +1 -0
- package/lib/slot-fill/consts.d.ts +5 -0
- package/lib/slot-fill/consts.d.ts.map +1 -0
- package/lib/slot-fill/consts.js +1 -0
- package/lib/slot-fill/consts.js.map +1 -0
- package/lib/slot-fill/index.d.ts +4 -0
- package/lib/slot-fill/index.d.ts.map +1 -0
- package/lib/templates/assets/images/add-link-frontend.png +0 -0
- package/lib/templates/assets/images/add-package-backend.png +0 -0
- package/lib/templates/assets/images/add-to-backend-module.png +0 -0
- package/lib/templates/assets/images/add-upload-client-frontend.png +0 -0
- package/lib/templates/assets/images/additional-parameters.png +0 -0
- package/lib/templates/assets/images/aeh-implementation.png +0 -0
- package/lib/templates/assets/images/aeh-usage.png +0 -0
- package/lib/templates/assets/images/apollo-client/recommendation_cache_mgmt.png +0 -0
- package/lib/templates/assets/images/app-deploy-new-version/jenkins1.PNG +0 -0
- package/lib/templates/assets/images/app-deploy-new-version/jenkins2.PNG +0 -0
- package/lib/templates/assets/images/auth-wrapper-code.png +0 -0
- package/lib/templates/assets/images/cdebase.png +0 -0
- package/lib/templates/assets/images/cdm-locales-directory.png +0 -0
- package/lib/templates/assets/images/client-settings.png +0 -0
- package/lib/templates/assets/images/codegen_file_update.png +0 -0
- package/lib/templates/assets/images/configuration.png +0 -0
- package/lib/templates/assets/images/copy-plugin.png +0 -0
- package/lib/templates/assets/images/docusaurus.png +0 -0
- package/lib/templates/assets/images/error-link.png +0 -0
- package/lib/templates/assets/images/error-sample.png +0 -0
- package/lib/templates/assets/images/extension copy.png +0 -0
- package/lib/templates/assets/images/extension.png +0 -0
- package/lib/templates/assets/images/graphql/graphql-folder-backend.png +0 -0
- package/lib/templates/assets/images/graphql/graphql-folder-with-gql.png +0 -0
- package/lib/templates/assets/images/i18n-config.png +0 -0
- package/lib/templates/assets/images/image.png +0 -0
- package/lib/templates/assets/images/logo.svg +10 -0
- package/lib/templates/assets/images/logo1.svg +1 -0
- package/lib/templates/assets/images/modify-upload-false-server.png +0 -0
- package/lib/templates/assets/images/navigation-auth-enabled.png +0 -0
- package/lib/templates/assets/images/org-dashboard-navigation.png +0 -0
- package/lib/templates/assets/images/org-navigation.png +0 -0
- package/lib/templates/assets/images/preferences_graphql_type.png +0 -0
- package/lib/templates/assets/images/provider.png +0 -0
- package/lib/templates/assets/images/route-config.png +0 -0
- package/lib/templates/assets/images/service-accounts.png +0 -0
- package/lib/templates/assets/images/source-code/source-code-environments.png +0 -0
- package/lib/templates/assets/images/source-code/source-code-organization.png +0 -0
- package/lib/templates/assets/images/spin-clone-develop-deployment/jenkins-changes.png +0 -0
- package/lib/templates/assets/images/spin-clone-develop-deployment/lerna-changes.png +0 -0
- package/lib/templates/assets/images/spin-clone-develop-deployment/root-package-json-changes.png +0 -0
- package/lib/templates/assets/images/spin-clone-develop-deployment/values-dev-changes.png +0 -0
- package/lib/templates/assets/images/sso-mappers.png +0 -0
- package/lib/templates/assets/images/sso-picture-mapper.png +0 -0
- package/lib/templates/assets/images/sso-settings.png +0 -0
- package/lib/templates/assets/images/timesheet_apollo_cache.png +0 -0
- package/lib/templates/assets/images/timesheet_query.png +0 -0
- package/lib/templates/assets/images/tutorial/docsVersionDropdown.png +0 -0
- package/lib/templates/assets/images/tutorial/localeDropdown.png +0 -0
- package/lib/templates/assets/images/unauthenticated.png +0 -0
- package/lib/templates/assets/images/undraw_docusaurus_mountain.svg +170 -0
- package/lib/templates/assets/images/undraw_docusaurus_react.svg +169 -0
- package/lib/templates/assets/images/undraw_docusaurus_tree.svg +1 -0
- package/lib/templates/assets/images/vite-plugin-config.png +0 -0
- package/lib/templates/content/docs/Generators/Project/generate-fullproject.md +12 -0
- package/lib/templates/content/docs/LLM/Logger.llm.md +194 -0
- package/lib/templates/content/docs/LLM/backend-proxies-services-llm.md +2687 -0
- package/lib/templates/content/docs/LLM/backend-service-llm.md +3384 -0
- package/lib/templates/content/docs/LLM/db_migration_llm.md +954 -0
- package/lib/templates/content/docs/LLM/frontend/REMIX-15.3-upgrade-llm.md +1245 -0
- package/lib/templates/content/docs/LLM/inngest/INNGEST_FUNCTION_DEVELOPMENT_GUIDE_LLM.md +1241 -0
- package/lib/templates/content/docs/LLM/inngest/INNGEST_NAMESPACE_LLM.md +384 -0
- package/lib/templates/content/docs/LLM/llm_workflow_namespace.md +384 -0
- package/lib/templates/content/docs/LLM/organization-components-form-llm.md +1395 -0
- package/lib/templates/content/docs/LLM/page-component-llm.md +173 -0
- package/lib/templates/content/docs/LLM/preferences-settings-llm.md +2781 -0
- package/lib/templates/content/docs/LLM/tailwind-css-llm.md +502 -0
- package/lib/templates/content/docs/UI/SchemaBasedUI.md +334 -0
- package/lib/templates/content/docs/UI/SlotFillComponent.md +334 -0
- package/lib/templates/content/docs/adminide-modules/account/auth0-login.md +31 -0
- package/lib/templates/content/docs/adminide-modules/account/index.md +14 -0
- package/lib/templates/content/docs/adminide-modules/account/keycloak-remix-setup.md +86 -0
- package/lib/templates/content/docs/adminide-modules/account/remix-auth-setup.md +79 -0
- package/lib/templates/content/docs/adminide-modules/account/various-auth-qatest.md +157 -0
- package/lib/templates/content/docs/adminide-modules/api-builders/graphql.md +906 -0
- package/lib/templates/content/docs/adminide-modules/billing/payments/index.md +14 -0
- package/lib/templates/content/docs/adminide-modules/billing/payments/stripe/index.md +14 -0
- package/lib/templates/content/docs/adminide-modules/billing/payments/stripe/settingup-stripe-locally.md +25 -0
- package/lib/templates/content/docs/adminide-modules/billing/tier-config.md +293 -0
- package/lib/templates/content/docs/adminide-modules/connectors/Connector.md +207 -0
- package/lib/templates/content/docs/adminide-modules/file-upload/index.md +16 -0
- package/lib/templates/content/docs/adminide-modules/file-upload/setup.md +435 -0
- package/lib/templates/content/docs/adminide-modules/file-upload/upload-file-using-signed-url.md +161 -0
- package/lib/templates/content/docs/adminide-modules/preferences/AddAdditionalPermissions.md +151 -0
- package/lib/templates/content/docs/adminide-modules/preferences/Configuration.md +241 -0
- package/lib/templates/content/docs/adminide-modules/preferences/Policy-Configuration.md +61 -0
- package/lib/templates/content/docs/adminide-modules/preferences/UI-components/ResourceSettingsLoader.md +319 -0
- package/lib/templates/content/docs/adminide-modules/preferences/contribute_scope_target.md +280 -0
- package/lib/templates/content/docs/adminide-modules/preferences/generate-urii.md +94 -0
- package/lib/templates/content/docs/adminide-modules/preferences/index.md +28 -0
- package/lib/templates/content/docs/adminide-modules/preferences/machine-configuration.md +157 -0
- package/lib/templates/content/docs/adminide-modules/preferences/pageSettings/generateCdecodeUri.md +1289 -0
- package/lib/templates/content/docs/adminide-modules/preferences/pageSettings/migratingFromUseSettings.md +215 -0
- package/lib/templates/content/docs/adminide-modules/preferences/permissions/Roles-Permissions.md +72 -0
- package/lib/templates/content/docs/adminide-modules/preferences/permissions/settingUserPermissions.md +139 -0
- package/lib/templates/content/docs/adminide-modules/preferences/preference-dependency.md +138 -0
- package/lib/templates/content/docs/adminide-modules/preferences/route-based-configuration.md +41 -0
- package/lib/templates/content/docs/adminide-modules/preferences/schema-configuration.md +71 -0
- package/lib/templates/content/docs/adminide-modules/preferences/supported.md +24 -0
- package/lib/templates/content/docs/adminide-modules/preferences/useSettingsLoader.md +248 -0
- package/lib/templates/content/docs/adminide-modules/project-tools/auth-providers.md +1317 -0
- package/lib/templates/content/docs/adminide-modules/project-tools/keycloak-guide.md +543 -0
- package/lib/templates/content/docs/adminide-modules/project-tools/tenant-management/tenant-based-authentication.md +846 -0
- package/lib/templates/content/docs/adminide-modules/project-tools/tenant-management/tenant-management.md +708 -0
- package/lib/templates/content/docs/adminide-modules/project-tools/tenant-management/tenants.md +1117 -0
- package/lib/templates/content/docs/chrome-extension/index.md +14 -0
- package/lib/templates/content/docs/chrome-extension/setup.md +30 -0
- package/lib/templates/content/docs/contributing/adding-package.md +23 -0
- package/lib/templates/content/docs/contributing/adding_new_modules.md +99 -0
- package/lib/templates/content/docs/contributing/architecture-updates.md +19 -0
- package/lib/templates/content/docs/contributing/avoid-using-promises-ui.md +116 -0
- package/lib/templates/content/docs/contributing/coding-guidelines.md +111 -0
- package/lib/templates/content/docs/contributing/do-and-dont.md +42 -0
- package/lib/templates/content/docs/contributing/faq.md +22 -0
- package/lib/templates/content/docs/contributing/folder-setup/browser.md +12 -0
- package/lib/templates/content/docs/contributing/folder-setup/config.md +12 -0
- package/lib/templates/content/docs/contributing/folder-setup/containers-server.md +12 -0
- package/lib/templates/content/docs/contributing/folder-setup/core.md +12 -0
- package/lib/templates/content/docs/contributing/folder-setup/graphql.md +12 -0
- package/lib/templates/content/docs/contributing/folder-setup/index.md +30 -0
- package/lib/templates/content/docs/contributing/folder-setup/module.md +12 -0
- package/lib/templates/content/docs/contributing/folder-setup/server.md +12 -0
- package/lib/templates/content/docs/contributing/folder-setup/services.md +12 -0
- package/lib/templates/content/docs/contributing/folder-setup/store.md +12 -0
- package/lib/templates/content/docs/contributing/frontend-coding.md +30 -0
- package/lib/templates/content/docs/contributing/git-subtree-sharing.md +73 -0
- package/lib/templates/content/docs/contributing/graphql-subscriptions.md +69 -0
- package/lib/templates/content/docs/contributing/how-to-contribute.md +30 -0
- package/lib/templates/content/docs/contributing/how_to_check_pure_esm.md +29 -0
- package/lib/templates/content/docs/contributing/index.md +60 -0
- package/lib/templates/content/docs/contributing/installation-issues.md +23 -0
- package/lib/templates/content/docs/contributing/keyboard-shortcut.md +131 -0
- package/lib/templates/content/docs/contributing/language/locale-support.md +12 -0
- package/lib/templates/content/docs/contributing/lerna-build-tools.md +516 -0
- package/lib/templates/content/docs/contributing/lerna-yarn-workspaces.md +95 -0
- package/lib/templates/content/docs/contributing/lint-and-formatter.md +20 -0
- package/lib/templates/content/docs/contributing/mobile-setup.md +16 -0
- package/lib/templates/content/docs/contributing/project-setup.md +233 -0
- package/lib/templates/content/docs/contributing/react/index.md +14 -0
- package/lib/templates/content/docs/contributing/react/lazy-component.md +70 -0
- package/lib/templates/content/docs/contributing/run-various-options.md +124 -0
- package/lib/templates/content/docs/contributing/schema-first-graphql-types.md +37 -0
- package/lib/templates/content/docs/contributing/source-code-organization.md +57 -0
- package/lib/templates/content/docs/contributing/staging-docker.md +88 -0
- package/lib/templates/content/docs/contributing/third-party/apollo-client-v3-tutorials.md +28 -0
- package/lib/templates/content/docs/contributing/third-party/index.md +18 -0
- package/lib/templates/content/docs/contributing/typescript-contribution.md +16 -0
- package/lib/templates/content/docs/devops/app-deploy-new-version.md +30 -0
- package/lib/templates/content/docs/devops/index.md +14 -0
- package/lib/templates/content/docs/devops/mobile-jenkins-build.md +40 -0
- package/lib/templates/content/docs/devops/versioning-the-project.md +128 -0
- package/lib/templates/content/docs/error-handler/application-error-handler.md +40 -0
- package/lib/templates/content/docs/error-handler/error-handling.md +26 -0
- package/lib/templates/content/docs/error-handler/index.md +16 -0
- package/lib/templates/content/docs/error-handler/logging-errors.md +14 -0
- package/lib/templates/content/docs/feature-api/copy-operation.md +427 -0
- package/lib/templates/content/docs/feature-api/feature-browser/assets.md +46 -0
- package/lib/templates/content/docs/feature-api/feature-browser/auth-permissions.md +12 -0
- package/lib/templates/content/docs/feature-api/feature-browser/feature.md +131 -0
- package/lib/templates/content/docs/feature-api/feature-browser/index.md +22 -0
- package/lib/templates/content/docs/feature-api/feature-browser/routes-menu.md +110 -0
- package/lib/templates/content/docs/feature-api/feature-browser/routing-convention.md +124 -0
- package/lib/templates/content/docs/feature-api/feature-browser/routing.md +338 -0
- package/lib/templates/content/docs/feature-api/feature-mobile/auth-permissions.md +20 -0
- package/lib/templates/content/docs/feature-api/feature-mobile/feature.md +130 -0
- package/lib/templates/content/docs/feature-api/feature-mobile/index.md +18 -0
- package/lib/templates/content/docs/feature-api/feature-mobile/navigation.md +187 -0
- package/lib/templates/content/docs/feature-api/feature-server/Scheduling.md +44 -0
- package/lib/templates/content/docs/feature-api/feature-server/dataloader.md +320 -0
- package/lib/templates/content/docs/feature-api/feature-server/dependency-injection.md +81 -0
- package/lib/templates/content/docs/feature-api/feature-server/feature.md +65 -0
- package/lib/templates/content/docs/feature-api/feature-server/generic-dataloader.md +135 -0
- package/lib/templates/content/docs/feature-api/feature-server/index.md +40 -0
- package/lib/templates/content/docs/feature-api/feature-server/migration.md +127 -0
- package/lib/templates/content/docs/feature-api/feature-server/mongo-model.md +72 -0
- package/lib/templates/content/docs/feature-api/feature-server/permissions.md +12 -0
- package/lib/templates/content/docs/feature-api/feature-server/policies.md +57 -0
- package/lib/templates/content/docs/feature-api/feature-server/preferences.md +57 -0
- package/lib/templates/content/docs/feature-api/feature-server/repositories.md +114 -0
- package/lib/templates/content/docs/feature-api/feature-server/resolvers.md +126 -0
- package/lib/templates/content/docs/feature-api/feature-server/rules.md +132 -0
- package/lib/templates/content/docs/feature-api/feature-server/schema.md +12 -0
- package/lib/templates/content/docs/feature-api/feature-server/services.md +102 -0
- package/lib/templates/content/docs/feature-api/feature-server/setup-resource-crud.md +359 -0
- package/lib/templates/content/docs/feature-api/index.md +18 -0
- package/lib/templates/content/docs/graphql/apolloClient-mutation.md +94 -0
- package/lib/templates/content/docs/graphql/index.md +14 -0
- package/lib/templates/content/docs/graphql/scalars.md +15 -0
- package/lib/templates/content/docs/help/index.md +14 -0
- package/lib/templates/content/docs/help/intro.md +16 -0
- package/lib/templates/content/docs/intl/ant-design-menu-translation.md +74 -0
- package/lib/templates/content/docs/intl/intl-namespace.md +129 -0
- package/lib/templates/content/docs/intl/vite-plugin-intl.md +87 -0
- package/lib/templates/content/docs/intl/webpack-plugin-intl.md +12 -0
- package/lib/templates/content/docs/intro.md +18 -0
- package/lib/templates/content/docs/knowledge/basic-fullstack.md +238 -0
- package/lib/templates/content/docs/mailing/index.md +14 -0
- package/lib/templates/content/docs/mailing/mailing-template.md +148 -0
- package/lib/templates/content/docs/mobile/App-navigation-generator.md +410 -0
- package/lib/templates/content/docs/mobile/MobileTestCases.md +264 -0
- package/lib/templates/content/docs/mobile/eas-profile-build.md +107 -0
- package/lib/templates/content/docs/mobile/expo-push-notification-setup.md +216 -0
- package/lib/templates/content/docs/mobile/index.md +14 -0
- package/lib/templates/content/docs/mobile/routes.md +83 -0
- package/lib/templates/content/docs/organization/adding-account-context.md +116 -0
- package/lib/templates/content/docs/organization/adding-org-mobile-navigation.md +22 -0
- package/lib/templates/content/docs/organization/adding-org-web-navigation.md +12 -0
- package/lib/templates/content/docs/organization/index.md +20 -0
- package/lib/templates/content/docs/organization/initialization.md +20 -0
- package/lib/templates/content/docs/organization/organization-resource-vs-resource.md +112 -0
- package/lib/templates/content/docs/remix/configuration/component-structure-best-practices.md +152 -0
- package/lib/templates/content/docs/remix/configuration/configurations.md +218 -0
- package/lib/templates/content/docs/remix/configuration/css-import-and-stylesheets.md +142 -0
- package/lib/templates/content/docs/remix/configuration/dont-subcomponent-network.md +166 -0
- package/lib/templates/content/docs/remix/configuration/generated-data-loaders.md +122 -0
- package/lib/templates/content/docs/remix/configuration/generated-resource-loaders.md +257 -0
- package/lib/templates/content/docs/remix/configuration/query-params-generator.md +216 -0
- package/lib/templates/content/docs/remix/configuration/routes-extra-icons.md +103 -0
- package/lib/templates/content/docs/remix/configuration/routes-json-advanced.md +86 -0
- package/lib/templates/content/docs/remix/configuration/routes-json-auth.md +113 -0
- package/lib/templates/content/docs/remix/configuration/routes-json-best-practices.md +55 -0
- package/lib/templates/content/docs/remix/configuration/routes-json-fields.md +79 -0
- package/lib/templates/content/docs/remix/configuration/routes-json-graphql.md +79 -0
- package/lib/templates/content/docs/remix/configuration/routes-json-index.md +112 -0
- package/lib/templates/content/docs/remix/configuration/routes-json-loaders.md +165 -0
- package/lib/templates/content/docs/remix/configuration/routes-json-middleware.md +196 -0
- package/lib/templates/content/docs/remix/configuration/routes-json-overview.md +53 -0
- package/lib/templates/content/docs/remix/data-loaders.md +43 -0
- package/lib/templates/content/docs/remix/devtools/remix-devtools.md +58 -0
- package/lib/templates/content/docs/remix/examples/changes-using-servercode.md +79 -0
- package/lib/templates/content/docs/remix/extra-icons.md +62 -0
- package/lib/templates/content/docs/remix/extra-links.md +65 -0
- package/lib/templates/content/docs/remix/generated-data-loaders.md +114 -0
- package/lib/templates/content/docs/remix/queryParamsGenerator.md +89 -0
- package/lib/templates/content/docs/remix/resources.md +16 -0
- package/lib/templates/content/docs/remix/styles.md +132 -0
- package/lib/templates/content/docs/remix/wiki.md +12 -0
- package/lib/templates/content/docs/security/auth-wrapper/auth-wrapper.md +24 -0
- package/lib/templates/content/docs/security/index.md +18 -0
- package/lib/templates/content/docs/security/secure-button-mobilenative.md +88 -0
- package/lib/templates/content/docs/security/secure-button-web.md +89 -0
- package/lib/templates/content/docs/server-side/account-customization.md +82 -0
- package/lib/templates/content/docs/server-side/apollo/caching.md +164 -0
- package/lib/templates/content/docs/server-side/backend-architecture/FINAL-DECISION.md +209 -0
- package/lib/templates/content/docs/server-side/backend-architecture/TRUE-FINAL-ARCHITECTURE.md +603 -0
- package/lib/templates/content/docs/server-side/backend-architecture/index1.md +0 -0
- package/lib/templates/content/docs/server-side/backend-coding.md +839 -0
- package/lib/templates/content/docs/server-side/e2b/manageing-template.md +197 -0
- package/lib/templates/content/docs/server-side/index.md +14 -0
- package/lib/templates/content/docs/server-side/inngest-functions-module.md +309 -0
- package/lib/templates/content/docs/server-side/listen-stripe-events.md +43 -0
- package/lib/templates/content/docs/server-side/slug-service.md +323 -0
- package/lib/templates/content/docs/tests/index.md +18 -0
- package/lib/templates/content/docs/tests/jest-test-debug-vscode.md +40 -0
- package/lib/templates/content/docs/tests/known-errors.md +116 -0
- package/lib/templates/content/docs/tests/service-test-template.md +118 -0
- package/lib/templates/content/docs/tests/test-setup.md +93 -0
- package/lib/templates/content/docs/xstate.md +23 -0
- package/lib/types.d.ts +37 -0
- package/lib/types.d.ts.map +1 -0
- package/lib/utils/docsNavigation.d.ts +9 -0
- package/lib/utils/docsNavigation.d.ts.map +1 -0
- package/lib/utils/docsNavigation.js +37 -0
- package/lib/utils/docsNavigation.js.map +1 -0
- package/lib/utils/helpCenterUtils.d.ts +26 -0
- package/lib/utils/helpCenterUtils.d.ts.map +1 -0
- package/lib/utils/index.d.ts +3 -0
- package/lib/utils/index.d.ts.map +1 -0
- package/lib/utils/index.js +3 -0
- package/lib/utils/index.js.map +1 -0
- package/lib/utils/markdownLoader.d.ts +36 -0
- package/lib/utils/markdownLoader.d.ts.map +1 -0
- package/lib/utils/markdownLoader.js +2242 -0
- package/lib/utils/markdownLoader.js.map +1 -0
- package/package.json +71 -0
|
@@ -0,0 +1,233 @@
|
|
|
1
|
+
---
|
|
2
|
+
meta:
|
|
3
|
+
title: Project Setup
|
|
4
|
+
description: Project Setup
|
|
5
|
+
date: '2023-06-02T00:00:00'
|
|
6
|
+
updated: '2024-06-02T00:00:00'
|
|
7
|
+
excerpt: Project Setup...
|
|
8
|
+
headers:
|
|
9
|
+
Cache-Control: no-cache
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
## Getting Started
|
|
13
|
+
|
|
14
|
+
If you want to develop FullStack locally you must follow the following instructions:
|
|
15
|
+
|
|
16
|
+
1. Clone fullstack-pro locally. Replace the git url with the project url instead.
|
|
17
|
+
|
|
18
|
+
Example:
|
|
19
|
+
|
|
20
|
+
```
|
|
21
|
+
git clone https://github.com/cdebase/fullstack-pro
|
|
22
|
+
cd fullstack-pro
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
2. Install dependencies and build packages.
|
|
26
|
+
|
|
27
|
+
a. make sure `python` version `2.7.16` or higher in `^2` version installed.
|
|
28
|
+
|
|
29
|
+
b. install `node-gyp` globally. For installation check [this document](https://github.com/nodejs/node-gyp#installation).
|
|
30
|
+
|
|
31
|
+
c. install `watchman` for macOS users
|
|
32
|
+
|
|
33
|
+
d. Node version supported is `>=16.0.0` and `yarn` version is `1.22`. You can Download Node from [here](https://nodejs.org/dist/v12.18.4/)
|
|
34
|
+
|
|
35
|
+
e. Insall and build packages using following command. Run from the root folder of this project.
|
|
36
|
+
|
|
37
|
+
```
|
|
38
|
+
yarn global add lerna
|
|
39
|
+
yarn bootstrap
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
3. Setup environment file
|
|
43
|
+
|
|
44
|
+
You need to have environemnt file before you start the project. There is a sample file exist at `config/development/dev.env.sample` which you can copy as `config/development/dev.env`.
|
|
45
|
+
|
|
46
|
+
```
|
|
47
|
+
cp ./config/development/dev.env.sample ./config/development/dev.env
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
You may need to set personalized values in the `dev.env` file.
|
|
51
|
+
|
|
52
|
+
4. Start server MongoDB and Redis (look for [Installation Section](#installation-of-prerequisties-servers))
|
|
53
|
+
|
|
54
|
+
> redis-server
|
|
55
|
+
|
|
56
|
+
> mongod
|
|
57
|
+
|
|
58
|
+
5. Start both client and server together
|
|
59
|
+
|
|
60
|
+
```
|
|
61
|
+
yarn start
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
Alternatively (**recommended**), if you need to run `backend` and `frontend` on its respective terminal instead of one terminal then follow [How to Start Backend and Frontend seperately](./run-various-options#how-to-start-backend-and-frontend-seperately)
|
|
65
|
+
|
|
66
|
+
### Server Enpoints:
|
|
67
|
+
|
|
68
|
+
The server endpoing you can get when the apps starts.
|
|
69
|
+
|
|
70
|
+
The graphql server endpoints typically are
|
|
71
|
+
|
|
72
|
+
> http://localhost:8080/graphql
|
|
73
|
+
|
|
74
|
+
The browser server endopoint is
|
|
75
|
+
|
|
76
|
+
> http://localhost:3000
|
|
77
|
+
|
|
78
|
+
### Start Mobile (expo)
|
|
79
|
+
|
|
80
|
+
Follow the steps [here](./run-various-options#start-mobile-application)
|
|
81
|
+
|
|
82
|
+
### Start Desktop (Electron)
|
|
83
|
+
|
|
84
|
+
Follow the stesp [here](./run-various-options#start-desktop-application)
|
|
85
|
+
|
|
86
|
+
## How to run with HotReload for live changes both in the server and browser?
|
|
87
|
+
|
|
88
|
+
To run build with watch for dependent packages, for auto reloading changes into the server to be productive during development.
|
|
89
|
+
|
|
90
|
+
```
|
|
91
|
+
yarn watch-packages
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
If you also need to watch along with it, you can use as many scopes as required like below.
|
|
95
|
+
|
|
96
|
+
```
|
|
97
|
+
yarn watch-packages -- --scope=@sample-stack/counter-module* --scope=@packageb
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
To run build with watch for all the packages. Note: This will run watch on all packages under `packages-modules` and may saturate the resources in your laptop instead run above `watch-packages` command.
|
|
101
|
+
|
|
102
|
+
```
|
|
103
|
+
yarn watch
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
Sometimes if we have to run `build` or `watch` you can use the `lerna` [command](https://github.com/lerna/lerna/tree/master/commands/exec#usage) for the targeted packages
|
|
107
|
+
|
|
108
|
+
```
|
|
109
|
+
lerna exec --scope=<package name> yarn watch
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
- here `<package name>` will be the package you working on currently. If you have multiple packages, then you need to run it multiple times for each package in its respective terminal.
|
|
113
|
+
|
|
114
|
+
## How to take changes from the branch?
|
|
115
|
+
|
|
116
|
+
Most of the changes at code level can be taken using `git` command.
|
|
117
|
+
|
|
118
|
+
But in some cases when `lerna's packages` are added or versions in `packages.json` are updated, to avoid getting installed duplicate pacakges due to monrepo architecture you need to first clean existing `node_modules` and reinstall again. This can be done with following command.
|
|
119
|
+
|
|
120
|
+
```
|
|
121
|
+
yarn clean:force && git pull <branch_name> && yarn install && yarn build
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
- here <branch_name> should be replaced with the branch you getting updates.
|
|
125
|
+
|
|
126
|
+
## Installation of Prerequisties servers
|
|
127
|
+
|
|
128
|
+
Install redis and mongo and setup an instance with default settings on default port,
|
|
129
|
+
Please check the installation documentation of each one.
|
|
130
|
+
|
|
131
|
+
MongoDB install :
|
|
132
|
+
|
|
133
|
+
> https://www.mongodb.com/docs/manual/administration/install-community/
|
|
134
|
+
|
|
135
|
+
Redis install:
|
|
136
|
+
|
|
137
|
+
> https://redis.io/docs/getting-started/
|
|
138
|
+
|
|
139
|
+
## Advance Options
|
|
140
|
+
|
|
141
|
+
### To test Production build and run
|
|
142
|
+
|
|
143
|
+
You need to run Frontend and Backend in two seperate servers.
|
|
144
|
+
|
|
145
|
+
to start frontend server
|
|
146
|
+
|
|
147
|
+
```
|
|
148
|
+
lerna exec --scope=*frontend-server yarn build
|
|
149
|
+
lerna exec --scope=*frontend-server yarn start:dev
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
to start backend server
|
|
153
|
+
|
|
154
|
+
```
|
|
155
|
+
lerna exec --scope=*backend-server yarn build
|
|
156
|
+
lerna exec --scope=*backend-server yarn start:dev
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
Note: you can pass `:<env>` next to `start` to use env config.
|
|
160
|
+
|
|
161
|
+
- dev: to use `/config/development/dev.env`
|
|
162
|
+
- stage: to use `/config/staging/staging.env`
|
|
163
|
+
|
|
164
|
+
### Docker build and run
|
|
165
|
+
|
|
166
|
+
Build three docker images by following the steps:
|
|
167
|
+
|
|
168
|
+
- Frontend Server
|
|
169
|
+
|
|
170
|
+
```
|
|
171
|
+
lerna exec --scope=*frontend-server yarn docker:build
|
|
172
|
+
lerna exec --scope=*frontend-server yarn docker:run
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
- Backend Server
|
|
176
|
+
|
|
177
|
+
```
|
|
178
|
+
lerna exec --scope=*backend-server yarn docker:build
|
|
179
|
+
lerna exec --scope=*backend-server yarn docker:run
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
- moleculer-server
|
|
183
|
+
|
|
184
|
+
```
|
|
185
|
+
lerna exec --scope=*moleculer-server yarn docker:build
|
|
186
|
+
lerna exec --scope=*moleculer-server yarn docker:run
|
|
187
|
+
```
|
|
188
|
+
|
|
189
|
+
Note: It uses `/config/staging/docker-staging.env` for environment variables.
|
|
190
|
+
|
|
191
|
+
For mac users,
|
|
192
|
+
|
|
193
|
+
```
|
|
194
|
+
###
|
|
195
|
+
### To connect from docker to localhost, if you are using a Mac host, you can use -
|
|
196
|
+
#
|
|
197
|
+
# HOSTNAME= docker.for.mac.host.internal
|
|
198
|
+
# Or
|
|
199
|
+
#
|
|
200
|
+
# HOSTNAME = docker.for.mac.localhost
|
|
201
|
+
###docker.for.mac.localhost
|
|
202
|
+
|
|
203
|
+
NATS_URL=nats://docker.for.mac.localhost:4222/
|
|
204
|
+
NATS_USER=test
|
|
205
|
+
NATS_PW=test
|
|
206
|
+
GRAPHQL_URL=http://docker.for.mac.localhost:8080/graphql
|
|
207
|
+
LOCAL_GRAPHQL_URL=http://docker.for.mac.localhost:8080/graphql
|
|
208
|
+
CLIENT_URL=http://localhost:3000
|
|
209
|
+
WEBHOOK_URL=http://docker.for.mac.localhost:8080
|
|
210
|
+
... rest of the environment
|
|
211
|
+
```
|
|
212
|
+
|
|
213
|
+
### Environment settings needed for non-development
|
|
214
|
+
|
|
215
|
+
```
|
|
216
|
+
GRAPHQL_URL
|
|
217
|
+
CLIENT_URL
|
|
218
|
+
NATS_URL
|
|
219
|
+
NATS_USER
|
|
220
|
+
NATS_PW
|
|
221
|
+
```
|
|
222
|
+
|
|
223
|
+
## Do's and Don't
|
|
224
|
+
|
|
225
|
+
Check [here](./do-and-dont.md)
|
|
226
|
+
|
|
227
|
+
## Installation Issues
|
|
228
|
+
|
|
229
|
+
Check [here](./installation-issues.md)
|
|
230
|
+
|
|
231
|
+
## FAQ
|
|
232
|
+
|
|
233
|
+
Check [here](./faq.md)
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
---
|
|
2
|
+
meta:
|
|
3
|
+
title: React
|
|
4
|
+
description: React
|
|
5
|
+
date: '2023-06-02T00:00:00'
|
|
6
|
+
updated: '2024-06-02T00:00:00'
|
|
7
|
+
excerpt: React...
|
|
8
|
+
headers:
|
|
9
|
+
Cache-Control: no-cache
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
## React
|
|
13
|
+
|
|
14
|
+
**[Lazy Component](/docs/contributing/react/lazy-component)**
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
---
|
|
2
|
+
meta:
|
|
3
|
+
title: Lazy Component
|
|
4
|
+
description: Lazy Component
|
|
5
|
+
date: '2023-06-02T00:00:00'
|
|
6
|
+
updated: '2024-06-02T00:00:00'
|
|
7
|
+
excerpt: Lazy Component...
|
|
8
|
+
headers:
|
|
9
|
+
Cache-Control: no-cache
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
## Lazy Component
|
|
13
|
+
|
|
14
|
+
```
|
|
15
|
+
// SampleComponent
|
|
16
|
+
|
|
17
|
+
import React, { Suspense } from 'react';
|
|
18
|
+
import { Spinner } from '@chakra-ui/react';
|
|
19
|
+
import { BsPerson } from '@react-icons/all-files/bs/BsPerson';
|
|
20
|
+
import { GiHelp } from '@react-icons/all-files/gi/GiHelp';
|
|
21
|
+
import { lazy } from '@loadable/component';
|
|
22
|
+
|
|
23
|
+
const GlobalPreferencesLazy = lazy(() => import('./components/global-preferences'));
|
|
24
|
+
const HostingToolsLazy = lazy(() => import('./components/hosting-tools'));
|
|
25
|
+
|
|
26
|
+
const GlobalPreferences = () => (
|
|
27
|
+
<Suspense fallback={<Spinner />}>
|
|
28
|
+
<GlobalPreferencesLazy />
|
|
29
|
+
</Suspense>
|
|
30
|
+
);
|
|
31
|
+
|
|
32
|
+
const HostingTools = () => (
|
|
33
|
+
<Suspense fallback={<Spinner />}>
|
|
34
|
+
<HostingToolsLazy />
|
|
35
|
+
</Suspense>
|
|
36
|
+
);
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
export const accountPageStore: IPageStore[] | { [key: string]: any } = [
|
|
40
|
+
{
|
|
41
|
+
key: routeKeys.ACCOUNT_GLOBAL_PREFERENCES,
|
|
42
|
+
path: `${LAYOUT_PATH}${AccountRoutes.GlobalPreferences}`,
|
|
43
|
+
hideInMenu: true,
|
|
44
|
+
title: 'Global preferences',
|
|
45
|
+
icon: ConfigurationIcon,
|
|
46
|
+
authority: [IPreDefineAccountPermissions.secureUser],
|
|
47
|
+
description: 'See your default language, currency and timezone',
|
|
48
|
+
position: IMenuPosition.BOTTOM,
|
|
49
|
+
component: GlobalPreferences,
|
|
50
|
+
priority: 6,
|
|
51
|
+
},
|
|
52
|
+
|
|
53
|
+
{
|
|
54
|
+
key: routeKeys.ACCOUNT_HOSTING,
|
|
55
|
+
path: `${LAYOUT_PATH}${AccountRoutes.Hosting}`,
|
|
56
|
+
hideInMenu: true,
|
|
57
|
+
title: 'Professional hosting tools',
|
|
58
|
+
icon: PeopleIcon,
|
|
59
|
+
authority: [IPreDefineAccountPermissions.secureUser],
|
|
60
|
+
description: `Get professional tools if you manage several properties on ${config.APP_NAME}`,
|
|
61
|
+
position: IMenuPosition.BOTTOM,
|
|
62
|
+
component: HostingTools,
|
|
63
|
+
priority: 8,
|
|
64
|
+
},
|
|
65
|
+
];
|
|
66
|
+
|
|
67
|
+
const filteredRoutes: IRouteData[] = getFilteredRoutes(accountPageStore, selectedRoutes);
|
|
68
|
+
|
|
69
|
+
export { filteredRoutes };
|
|
70
|
+
```
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
---
|
|
2
|
+
meta:
|
|
3
|
+
title: Run Various Options
|
|
4
|
+
description: Run Various Options
|
|
5
|
+
date: '2023-06-02T00:00:00'
|
|
6
|
+
updated: '2024-06-02T00:00:00'
|
|
7
|
+
excerpt: Run Various Options...
|
|
8
|
+
headers:
|
|
9
|
+
Cache-Control: no-cache
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
## SETUP and INSTALL
|
|
13
|
+
|
|
14
|
+
### To Install the project and build all packages
|
|
15
|
+
|
|
16
|
+
`yarn bootstrap`
|
|
17
|
+
|
|
18
|
+
### To clean install the project of already installed.
|
|
19
|
+
|
|
20
|
+
If you need to do a clean the existing node_modules and take latest changes from the remote head
|
|
21
|
+
|
|
22
|
+
`yarn clean:install`
|
|
23
|
+
|
|
24
|
+
## LINTING
|
|
25
|
+
|
|
26
|
+
### To check linting
|
|
27
|
+
|
|
28
|
+
`yarn lint <relative folder>`
|
|
29
|
+
|
|
30
|
+
### To check and auto fix linting
|
|
31
|
+
|
|
32
|
+
`yarn format <relative folder>`
|
|
33
|
+
|
|
34
|
+
## PACKAGES COMMANDS
|
|
35
|
+
|
|
36
|
+
### To run build all packages
|
|
37
|
+
|
|
38
|
+
`yarn build`
|
|
39
|
+
|
|
40
|
+
### To run all packages in watch mode
|
|
41
|
+
|
|
42
|
+
`yarn watch`
|
|
43
|
+
|
|
44
|
+
Note: It only run `packages` and `packages-modules` only in watch mode. Servers should be run separately.
|
|
45
|
+
|
|
46
|
+
Also check out `yarn watch-packages` to run watch on required packages.
|
|
47
|
+
|
|
48
|
+
### To run build with watch for dependent packages
|
|
49
|
+
|
|
50
|
+
For auto reloading changes into the server to be productive during development.
|
|
51
|
+
|
|
52
|
+
```
|
|
53
|
+
yarn watch-packages
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
If you also need to watch along with it, you can as many scopes as required like below.
|
|
57
|
+
|
|
58
|
+
```
|
|
59
|
+
yarn watch-packages -- --scope="@sample-stack/counter-module*" --scope="@packageb"
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
## TO START SERVERS
|
|
63
|
+
|
|
64
|
+
### To run an individual package in watch mode
|
|
65
|
+
|
|
66
|
+
`lerna exec --scope="<package name>" yarn watch`
|
|
67
|
+
|
|
68
|
+
More details on how to use [lerna exec](https://github.com/lerna/lerna/tree/master/commands/exec#options)
|
|
69
|
+
|
|
70
|
+
To run any command on a package `<package_name>`
|
|
71
|
+
|
|
72
|
+
`lerna exec --scope="<package_name>" <command>`
|
|
73
|
+
|
|
74
|
+
### How to Start Backend and Frontend separately
|
|
75
|
+
|
|
76
|
+
To start the frontend-server
|
|
77
|
+
|
|
78
|
+
`lerna exec --scope="*frontend-server" yarn watch`
|
|
79
|
+
|
|
80
|
+
To just start the backend-server
|
|
81
|
+
|
|
82
|
+
`lerna exec --scope="*backend-server" yarn watch`
|
|
83
|
+
|
|
84
|
+
### To run both Frontend and Backend Server
|
|
85
|
+
|
|
86
|
+
`yarn start`
|
|
87
|
+
|
|
88
|
+
### To run both Frontend and Backend Server but start frontend in SSR Mode
|
|
89
|
+
|
|
90
|
+
`yarn start:envSSR`
|
|
91
|
+
|
|
92
|
+
### To run Frontend with production build in development
|
|
93
|
+
|
|
94
|
+
Build the package
|
|
95
|
+
|
|
96
|
+
`lerna exec --scope="*frontend-server" yarn build`
|
|
97
|
+
|
|
98
|
+
Start the server with `dev` environment file
|
|
99
|
+
|
|
100
|
+
`lerna exec --scope="*frontend-server" yarn start:dev`
|
|
101
|
+
|
|
102
|
+
Make sure backend is also running in separate terminal
|
|
103
|
+
|
|
104
|
+
`lerna exec --scope="*backend-server" yarn watch`
|
|
105
|
+
|
|
106
|
+
### Start Mobile application
|
|
107
|
+
|
|
108
|
+
Before starting mobile expo, make sure to start the backend server of the web application first.
|
|
109
|
+
|
|
110
|
+
`lerna exec --scope="*backend-server" yarn watch`
|
|
111
|
+
|
|
112
|
+
And then start mobile expo application.
|
|
113
|
+
|
|
114
|
+
`lerna exec --scope="*mobile-device" yarn watch`
|
|
115
|
+
|
|
116
|
+
### Start Desktop application
|
|
117
|
+
|
|
118
|
+
Before starting the desktop application, make sure to start the backend server of the web application first.
|
|
119
|
+
|
|
120
|
+
`lerna exec --scope="*backend-server" yarn watch`
|
|
121
|
+
|
|
122
|
+
And then start the desktop application.
|
|
123
|
+
|
|
124
|
+
`lerna exec --scope="*desktop" yarn watch`
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
---
|
|
2
|
+
meta:
|
|
3
|
+
title: Schema First Graphql Types
|
|
4
|
+
description: Schema First Graphql Types
|
|
5
|
+
date: '2023-06-02T00:00:00'
|
|
6
|
+
updated: '2024-06-02T00:00:00'
|
|
7
|
+
excerpt: Schema First Graphql Types...
|
|
8
|
+
headers:
|
|
9
|
+
Cache-Control: no-cache
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
## Schema First Graphql Types
|
|
13
|
+
|
|
14
|
+
We use [GraphQL Code Generator](https://github.com/dotansimha/graphql-code-generator) to generate `types`.
|
|
15
|
+
|
|
16
|
+
The `graphql` schema is designed first and placed in the `server` side package.
|
|
17
|
+
|
|
18
|
+

|
|
19
|
+
|
|
20
|
+
We don't place any built-in `query or mutation or subscription` within the Component. Instead we add the `queries` or `mutations` or `subscriptions` under `graphql` folder in the clien package (either on `browser` or `client` package). These will have `.gql` extension.
|
|
21
|
+
|
|
22
|
+

|
|
23
|
+
|
|
24
|
+
The generated Wrapper component will be used in the component. The generated files can be determined by looking into `codegen.yaml` file which is at the `root` of the project.
|
|
25
|
+
|
|
26
|
+
## To update to exising Graphql Schema follow the steps.
|
|
27
|
+
|
|
28
|
+
1. Update the Graphql Schema first with required methods.
|
|
29
|
+
|
|
30
|
+
2. Generate Graphql Types by running `npm run genreateGraphql`
|
|
31
|
+
|
|
32
|
+
3. The generated code usually added to `<@sample-stack>/core` package and this package should be imported to use it. In order to auto build when the files changes in the package, make sure `watch` is run on that package.
|
|
33
|
+
|
|
34
|
+
4. Write `resolvers` for the `Mutations | Query | Subscription` that are defined in the graphql schema.
|
|
35
|
+
|
|
36
|
+
The following video shows in-action
|
|
37
|
+
https://youtu.be/F1UZdcpjx3w
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
---
|
|
2
|
+
meta:
|
|
3
|
+
title: Source Code Organization
|
|
4
|
+
description: Source Code Organization
|
|
5
|
+
date: '2023-06-02T00:00:00'
|
|
6
|
+
updated: '2024-06-02T00:00:00'
|
|
7
|
+
excerpt: Source Code Organization...
|
|
8
|
+
headers:
|
|
9
|
+
Cache-Control: no-cache
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
## Source Code Organization
|
|
13
|
+
|
|
14
|
+
Fullstack code consists of a layered and modular
|
|
15
|
+
|
|
16
|
+
# Layers
|
|
17
|
+
|
|
18
|
+
- `packages`: The base packages required for project.
|
|
19
|
+
- `packages-modules`: The entry point to core application based feature. An extended features to the `packages`.
|
|
20
|
+
- It may have dependencies of `packages`
|
|
21
|
+
- It wont' have any dependency of any of other modules within `packages-modules` except if it is a `core` package.
|
|
22
|
+
- `servers`: The entry point to server app for remote development.
|
|
23
|
+
- It has dependencies of `packages-modules`'s packages and/or `packages`
|
|
24
|
+
- `portable-devices`: The entry point to native apps like mobile and deskop.
|
|
25
|
+
- It has dependencies of `packages-modules`'s packages and/or `packages`.
|
|
26
|
+
|
|
27
|
+

|
|
28
|
+
|
|
29
|
+
# Target Environments
|
|
30
|
+
|
|
31
|
+
The `module` is partitioned into the following sub packages:
|
|
32
|
+
|
|
33
|
+
- `platform`: Defines service injection support and the base services for the Project that are shared accross layers
|
|
34
|
+
- `core`: Source code that only requires basic JavaScript APIs and run in all the other target environments
|
|
35
|
+
- `clent`: Source code that only requires basic Client APIs such as `redux`, `redux-epic`, `apollo-client`, `hooks` without requiring Web APIs like `react`, `dom` etc.
|
|
36
|
+
- `browser`: Source code that requires [Web APIs](https://developer.mozilla.org/en-US/docs/Web/API), eg. DOM, React
|
|
37
|
+
- may have dependencies on: `core`, `client`
|
|
38
|
+
- `server`: Source code that requires [Node.JS](https://nodejs.org) APIs
|
|
39
|
+
- may have dependencies on: `core`
|
|
40
|
+
- `mobile`: Source code the requires [React Native](https://reactnative.dev/)
|
|
41
|
+
- `electron`: Source code that requires the [Electron renderer-process](https://github.com/atom/electron/tree/master/docs#modules-for-the-renderer-process-web-page) APIs
|
|
42
|
+
- may have dependencies on: `core`, `browser`, `client`
|
|
43
|
+
- `electron-main`: Source code that requires the [Electron main-process](https://github.com/atom/electron/tree/master/docs#modules-for-the-main-process) APIs
|
|
44
|
+
- may have dependencies on: `core`, `node`
|
|
45
|
+
- `browser-extension`: Source code that requires the [Chrome Extension](https://developer.chrome.com/docs/extensions/)
|
|
46
|
+
- `extension`: Source code of extension
|
|
47
|
+
|
|
48
|
+
You can add additional `target environments` based on the specific third party library
|
|
49
|
+
|
|
50
|
+
- `ant-ui`: Source code that requires the [antd components](https://ant.design/components/overview/)
|
|
51
|
+
- `chakra-ui`: Source code that requires the [Chakra-UI components](https://chakra-ui.com/docs/components)
|
|
52
|
+
|
|
53
|
+

|
|
54
|
+
|
|
55
|
+
# Build and Run
|
|
56
|
+
|
|
57
|
+
We use [lerna](./lerna-build-tools.md) to compile the packages. Read more about it as it is needed to run the project.
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
---
|
|
2
|
+
meta:
|
|
3
|
+
title: Docker Build and Running Frontend Server
|
|
4
|
+
description: Docker Build and Running Frontend Server
|
|
5
|
+
date: '2023-06-02T00:00:00'
|
|
6
|
+
updated: '2024-06-02T00:00:00'
|
|
7
|
+
excerpt: Docker Build and Running Frontend Server...
|
|
8
|
+
headers:
|
|
9
|
+
Cache-Control: no-cache
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# Technical Documentation: Docker Build and Running Frontend Server
|
|
13
|
+
|
|
14
|
+
This document provides instructions on how to build and run a frontend server in Docker. Ensure Docker is installed on your system before proceeding.
|
|
15
|
+
|
|
16
|
+
## Prerequisites
|
|
17
|
+
|
|
18
|
+
- Docker installed on your system. You can follow the instructions on the official Docker website to install Docker: [Docker Installation Guide](https://docs.docker.com/get-docker/).
|
|
19
|
+
|
|
20
|
+
## Setting Up Staging Environment
|
|
21
|
+
|
|
22
|
+
1. **Create and configure the staging environment file:**
|
|
23
|
+
|
|
24
|
+
Create a file named `docker-staging.env` in the `config/staging/` directory and set the environment variables as shown below:
|
|
25
|
+
|
|
26
|
+
```env
|
|
27
|
+
#
|
|
28
|
+
# HOSTNAME = docker.for.mac.localhost
|
|
29
|
+
###docker.for.mac.localhost
|
|
30
|
+
|
|
31
|
+
NATS_USER=test
|
|
32
|
+
NATS_PW=test
|
|
33
|
+
NATS_URL=nats://docker.for.mac.localhost:4222/
|
|
34
|
+
GRAPHQL_URL=http://docker.for.mac.localhost:8080/graphql
|
|
35
|
+
LOCAL_GRAPHQL_URL=http://docker.for.mac.localhost:8080/graphql
|
|
36
|
+
MONGO_URL=mongodb://docker.for.mac.localhost:27017/sample-stack
|
|
37
|
+
REDIS_CLUSTER_URL='[{"port":6379,"host":"docker.for.mac.localhost"}]'
|
|
38
|
+
REDIS_URL=redis://docker.for.mac.localhost:6379
|
|
39
|
+
BACKEND_URL=http://docker.for.mac.localhost:8080
|
|
40
|
+
CLIENT_URL=http://localhost:3000
|
|
41
|
+
ZIPKIN_URL=test
|
|
42
|
+
ZIPKIN_PORT=test
|
|
43
|
+
LOG_LEVEL=trace
|
|
44
|
+
REDIS_CLUSTER_ENABLED=false
|
|
45
|
+
REDIS_SENTINEL_ENABLED=false
|
|
46
|
+
BACKEND_URL=http://localhost:8080
|
|
47
|
+
CONNECTION_ID=v1
|
|
48
|
+
LOCAL_BACKEND_URL=http://localhost:3000
|
|
49
|
+
... add remaining env variables, make sure don't override above ones.
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
2. **Ensure all necessary services are available at the specified URLs in the `docker-staging.env` file.**
|
|
53
|
+
|
|
54
|
+
## Branch Management
|
|
55
|
+
|
|
56
|
+
- **Switch to the `devpublish*` branch:**
|
|
57
|
+
|
|
58
|
+
If you are working on the `develop7` branch, the corresponding publish branch will be `devpublish7`. Switch to the appropriate `devpublish*` branch.
|
|
59
|
+
|
|
60
|
+
```bash
|
|
61
|
+
git checkout devpublish7
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
- **Note:** The `devpublish*` branch should be read-only. Any changes that need to be tested should be made in the corresponding `develop*` branch. If new packages need to be released, please request the admin to publish the packages.
|
|
65
|
+
|
|
66
|
+
## Building and Running the Frontend Server in Docker
|
|
67
|
+
|
|
68
|
+
1. **Build the Docker image and run the frontend server:**
|
|
69
|
+
|
|
70
|
+
Open a terminal and navigate to the root directory of your project.
|
|
71
|
+
|
|
72
|
+
2. **Execute the following command:**
|
|
73
|
+
|
|
74
|
+
```bash
|
|
75
|
+
lerna exec --scope="*frontend-server" yarn docker:build && lerna exec --scope="*frontend-server" yarn docker:run
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
This command will:
|
|
79
|
+
|
|
80
|
+
- Build the Docker image for the frontend server.
|
|
81
|
+
- Run the Docker container for the frontend server.
|
|
82
|
+
|
|
83
|
+
## Additional Notes
|
|
84
|
+
|
|
85
|
+
- Ensure that all dependent services (e.g., NATS, MongoDB, Redis) are running and accessible at the specified URLs in the environment file.
|
|
86
|
+
- The `CLIENT_URL` and `BACKEND_URL` values should be correctly set to match your local setup or desired staging environment.
|
|
87
|
+
|
|
88
|
+
By following these steps, you should be able to successfully build and run the frontend server in Docker using the provided environment configuration.
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
---
|
|
2
|
+
meta:
|
|
3
|
+
title: ApolloClient(v3) tutorials
|
|
4
|
+
description: ApolloClient(v3) tutorials
|
|
5
|
+
date: '2023-06-02T00:00:00'
|
|
6
|
+
updated: '2024-06-02T00:00:00'
|
|
7
|
+
excerpt: ApolloClient(v3) tutorials...
|
|
8
|
+
headers:
|
|
9
|
+
Cache-Control: no-cache
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
## ApolloClient(v3) tutorials
|
|
13
|
+
|
|
14
|
+
Best pratices to use Apollo State management.
|
|
15
|
+
|
|
16
|
+

|
|
17
|
+
|
|
18
|
+
https://www.youtube.com/watch?v=xASrlg9rmR4&t=963s
|
|
19
|
+
|
|
20
|
+
To use Policies as replacement of redux selectors
|
|
21
|
+
|
|
22
|
+
https://www.nerdwallet.com/blog/engineering/redux-to-apollo-data-access-patterns/
|
|
23
|
+
|
|
24
|
+
To use Reactive Variables and Policies
|
|
25
|
+
|
|
26
|
+
https://www.apollographql.com/blog/apollo-client/caching/local-state-management-with-reactive-variables/
|
|
27
|
+
|
|
28
|
+
https://www.youtube.com/watch?v=C53-rtNNg4k&t=97s
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
---
|
|
2
|
+
meta:
|
|
3
|
+
title: Knowledge Resources
|
|
4
|
+
description: Knowledge Resources
|
|
5
|
+
date: '2023-06-02T00:00:00'
|
|
6
|
+
updated: '2024-06-02T00:00:00'
|
|
7
|
+
excerpt: Knowledge Resources...
|
|
8
|
+
headers:
|
|
9
|
+
Cache-Control: no-cache
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
## Knowledge Resources
|
|
13
|
+
|
|
14
|
+
**[ApolloClient(v3) tutorials](/docs/contributing/third-party/apollo-client-v3-tutorials)**
|
|
15
|
+
|
|
16
|
+
### Server Side Rendering and pre generated html
|
|
17
|
+
|
|
18
|
+
https://blog.logrocket.com/react-hydration-pre-rendered-html/
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
---
|
|
2
|
+
meta:
|
|
3
|
+
title: Typescript Contribution
|
|
4
|
+
description: Typescript Contribution
|
|
5
|
+
date: '2023-06-02T00:00:00'
|
|
6
|
+
updated: '2024-06-02T00:00:00'
|
|
7
|
+
excerpt: Typescript Contribution...
|
|
8
|
+
headers:
|
|
9
|
+
Cache-Control: no-cache
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
## Typescript Contribution
|
|
13
|
+
|
|
14
|
+
React Typescript Code styles should be followed based on best practices
|
|
15
|
+
|
|
16
|
+
https://react-typescript-cheatsheet.netlify.app/docs/basic/getting-started/basic_type_example
|