@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,14 @@
|
|
|
1
|
+
---
|
|
2
|
+
meta:
|
|
3
|
+
title: Chrome Extension
|
|
4
|
+
description: Chrome Extension
|
|
5
|
+
date: '2023-06-02T00:00:00'
|
|
6
|
+
updated: '2024-06-02T00:00:00'
|
|
7
|
+
excerpt: Chrome Extension ...
|
|
8
|
+
headers:
|
|
9
|
+
Cache-Control: no-cache
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
## Chrome Extension
|
|
13
|
+
|
|
14
|
+
**[Setup](/docs/chrome-extension/setup)**
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
---
|
|
2
|
+
meta:
|
|
3
|
+
title: Setup
|
|
4
|
+
description: Setup
|
|
5
|
+
date: '2023-06-02T00:00:00'
|
|
6
|
+
updated: '2024-06-02T00:00:00'
|
|
7
|
+
excerpt: Setup...
|
|
8
|
+
headers:
|
|
9
|
+
Cache-Control: no-cache
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
References: https://github.com/Godiswill/cra-crx-boilerplate
|
|
13
|
+
|
|
14
|
+
- Go to chrome://extensions .
|
|
15
|
+
- Click on developer mode switch on top right side to activate it.
|
|
16
|
+
- Click on load unpacked button
|
|
17
|
+
- Browse to build/assets folder
|
|
18
|
+
- We don't need to zip the build.
|
|
19
|
+
- Just need to browse to the folder that contains manifest.json file
|
|
20
|
+
|
|
21
|
+
#Register Callback URl
|
|
22
|
+
|
|
23
|
+
In order for authentication to work properly, its required to register a callback url in auth0 project
|
|
24
|
+
|
|
25
|
+
- Copy your extension id from the extension list like shown below
|
|
26
|
+
|
|
27
|
+

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