@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,216 @@
|
|
|
1
|
+
---
|
|
2
|
+
meta:
|
|
3
|
+
title: Query Params Generator
|
|
4
|
+
description: Query Params Generator
|
|
5
|
+
date: '2023-06-02T00:00:00'
|
|
6
|
+
updated: '2024-06-02T00:00:00'
|
|
7
|
+
excerpt: Query Params Generator...
|
|
8
|
+
headers:
|
|
9
|
+
Cache-Control: no-cache
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# Query Parameters and External Values in GraphQL Loaders
|
|
13
|
+
|
|
14
|
+
## Simple Parameter Handling (Using params)
|
|
15
|
+
|
|
16
|
+
When your query only needs values from `params`, use direct parameter definition in `routes.json`:
|
|
17
|
+
|
|
18
|
+
```json
|
|
19
|
+
{
|
|
20
|
+
"queries": {
|
|
21
|
+
"GetFilteredProjects": "{filter: {id: params.id, orgName: params.orgName}}",
|
|
22
|
+
"GetTeamMembers": "{teamId: params.teamId, pageSize: 10}"
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
## Query Parameter Generator
|
|
28
|
+
|
|
29
|
+
Use Query Parameter Generator when you need to incorporate values from external sources, imports, or complex computations.
|
|
30
|
+
|
|
31
|
+
### When to Use Query Parameter Generator
|
|
32
|
+
|
|
33
|
+
1. **External Configuration Values**
|
|
34
|
+
|
|
35
|
+
```typescript
|
|
36
|
+
import { dimensions } from './dimension.js';
|
|
37
|
+
import { DEFAULT_PAGE_SIZE } from './constants';
|
|
38
|
+
import { calculateDateRange } from './utils';
|
|
39
|
+
|
|
40
|
+
export const queryParamsGenerator = (params) => ({
|
|
41
|
+
teamSearch: {
|
|
42
|
+
filters: {
|
|
43
|
+
teamId: params.teamId,
|
|
44
|
+
dimensions: dimensions, // From import
|
|
45
|
+
pageSize: DEFAULT_PAGE_SIZE, // From constants
|
|
46
|
+
dateRange: calculateDateRange(params.period), // From utility function
|
|
47
|
+
},
|
|
48
|
+
},
|
|
49
|
+
});
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
2. **Environment-Specific Values**
|
|
53
|
+
|
|
54
|
+
```typescript
|
|
55
|
+
import { environmentConfig } from './config';
|
|
56
|
+
|
|
57
|
+
export const queryParamsGenerator = (params) => ({
|
|
58
|
+
search: {
|
|
59
|
+
orgId: params.orgId,
|
|
60
|
+
region: environmentConfig.defaultRegion,
|
|
61
|
+
features: environmentConfig.enabledFeatures,
|
|
62
|
+
},
|
|
63
|
+
});
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
3. **Computed or Transformed Values**
|
|
67
|
+
|
|
68
|
+
```typescript
|
|
69
|
+
import { getRolePermissions } from './permissions';
|
|
70
|
+
import { getDefaultFilters } from './filters';
|
|
71
|
+
|
|
72
|
+
export const queryParamsGenerator = (params) => {
|
|
73
|
+
const rolePermissions = getRolePermissions(params.role);
|
|
74
|
+
const defaultFilters = getDefaultFilters();
|
|
75
|
+
|
|
76
|
+
return {
|
|
77
|
+
userQuery: {
|
|
78
|
+
id: params.userId,
|
|
79
|
+
permissions: rolePermissions,
|
|
80
|
+
filters: {
|
|
81
|
+
...defaultFilters,
|
|
82
|
+
...params.filters,
|
|
83
|
+
},
|
|
84
|
+
},
|
|
85
|
+
};
|
|
86
|
+
};
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
### Example Implementation
|
|
90
|
+
|
|
91
|
+
```typescript
|
|
92
|
+
// dimensions.ts
|
|
93
|
+
export const dimensions = {
|
|
94
|
+
layout: 'horizontal',
|
|
95
|
+
maxItems: 50,
|
|
96
|
+
sortOrder: 'asc',
|
|
97
|
+
};
|
|
98
|
+
|
|
99
|
+
// searchConfig.ts
|
|
100
|
+
export const searchDefaults = {
|
|
101
|
+
pageSize: 20,
|
|
102
|
+
sortField: 'createdAt',
|
|
103
|
+
includeArchived: false,
|
|
104
|
+
};
|
|
105
|
+
|
|
106
|
+
// queryParamGenerator.ts
|
|
107
|
+
import { dimensions } from './dimensions';
|
|
108
|
+
import { searchDefaults } from './searchConfig';
|
|
109
|
+
import { formatDateRange } from './utils';
|
|
110
|
+
|
|
111
|
+
export const queryParamsGenerator = (params) => ({
|
|
112
|
+
searchParams: {
|
|
113
|
+
basic: {
|
|
114
|
+
query: params.searchTerm,
|
|
115
|
+
pageSize: searchDefaults.pageSize,
|
|
116
|
+
},
|
|
117
|
+
advanced: {
|
|
118
|
+
dimensions: dimensions,
|
|
119
|
+
dateRange: formatDateRange(params.startDate, params.endDate),
|
|
120
|
+
sorting: {
|
|
121
|
+
field: searchDefaults.sortField,
|
|
122
|
+
order: dimensions.sortOrder,
|
|
123
|
+
},
|
|
124
|
+
},
|
|
125
|
+
},
|
|
126
|
+
});
|
|
127
|
+
|
|
128
|
+
// Component Usage
|
|
129
|
+
const SearchComponent = () => {
|
|
130
|
+
const params = {
|
|
131
|
+
searchTerm: 'example',
|
|
132
|
+
startDate: '2024-01-01',
|
|
133
|
+
endDate: '2024-12-31',
|
|
134
|
+
};
|
|
135
|
+
|
|
136
|
+
const SearchQuery = useCustomQuery({
|
|
137
|
+
variables: queryParamsGenerator(params).searchParams,
|
|
138
|
+
fetchPolicy: 'cache-only',
|
|
139
|
+
});
|
|
140
|
+
|
|
141
|
+
return (
|
|
142
|
+
<Suspense fallback={<Spinner />}>
|
|
143
|
+
<Await resolve={SearchQuery}>{(data) => <SearchResults data={data} />}</Await>
|
|
144
|
+
</Suspense>
|
|
145
|
+
);
|
|
146
|
+
};
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
### routes.json Integration
|
|
150
|
+
|
|
151
|
+
When using query parameter generators, you reference them in `routes.json`:
|
|
152
|
+
|
|
153
|
+
```json
|
|
154
|
+
{
|
|
155
|
+
"queries": {
|
|
156
|
+
"SearchDocument": "queryParamsGenerator(params).searchParams"
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
### Generated Loader
|
|
162
|
+
|
|
163
|
+
```typescript
|
|
164
|
+
export const defaultServerLoader = async ({ context, params, _dataContext = {} }) => {
|
|
165
|
+
const { apolloClient: client } = context;
|
|
166
|
+
|
|
167
|
+
// System automatically handles the query parameter generation
|
|
168
|
+
const searchResults = client.query({
|
|
169
|
+
query: SearchDocument,
|
|
170
|
+
variables: queryParamsGenerator(params).searchParams,
|
|
171
|
+
fetchPolicy: __SERVER__ ? 'network-only' : 'cache-first',
|
|
172
|
+
});
|
|
173
|
+
|
|
174
|
+
return {
|
|
175
|
+
data: {
|
|
176
|
+
searchResults,
|
|
177
|
+
},
|
|
178
|
+
};
|
|
179
|
+
};
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
## Comparison: Direct Params vs Query Parameter Generator
|
|
183
|
+
|
|
184
|
+
### Direct Params (Simple Cases)
|
|
185
|
+
|
|
186
|
+
```json
|
|
187
|
+
{
|
|
188
|
+
"queries": {
|
|
189
|
+
"GetTeamMembers": "{teamId: params.teamId, pageSize: 10}"
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
```
|
|
193
|
+
|
|
194
|
+
✓ Good for: Simple parameter passing from URL/route parameters
|
|
195
|
+
|
|
196
|
+
### Query Parameter Generator (Complex Cases)
|
|
197
|
+
|
|
198
|
+
```typescript
|
|
199
|
+
export const queryParamsGenerator = (params) => ({
|
|
200
|
+
teamMembers: {
|
|
201
|
+
teamId: params.teamId,
|
|
202
|
+
pageSize: environmentConfig.pageSize,
|
|
203
|
+
permissions: getRolePermissions(params.role),
|
|
204
|
+
filters: getTeamFilters(environmentConfig.region),
|
|
205
|
+
},
|
|
206
|
+
});
|
|
207
|
+
```
|
|
208
|
+
|
|
209
|
+
✓ Good for:
|
|
210
|
+
|
|
211
|
+
- Including imported values
|
|
212
|
+
- Environment-specific configuration
|
|
213
|
+
- Computed or transformed values
|
|
214
|
+
- Complex parameter structures with external dependencies
|
|
215
|
+
|
|
216
|
+
[Back to Index](routes-json-index.md) | [Previous: Generated Data Loaders](generated-data-loaders.md) | [Next: Resource Loaders](generated-resource-loaders.md)
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
---
|
|
2
|
+
meta:
|
|
3
|
+
title: Icon System Documentation
|
|
4
|
+
description: Icon System Documentation
|
|
5
|
+
date: '2023-06-02T00:00:00'
|
|
6
|
+
updated: '2024-06-02T00:00:00'
|
|
7
|
+
excerpt: Icon System Documentation...
|
|
8
|
+
headers:
|
|
9
|
+
Cache-Control: no-cache
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# Icon System Documentation
|
|
13
|
+
|
|
14
|
+
This document explains the icon system used in our application, including configuration, implementation, and usage.
|
|
15
|
+
|
|
16
|
+
## Icon Configuration in routes.json
|
|
17
|
+
|
|
18
|
+
### Menu Icons
|
|
19
|
+
|
|
20
|
+
In the `routes.json` file, you can specify an icon for each route that will appear in the menu. This is done using the `icon` property:
|
|
21
|
+
|
|
22
|
+
```json
|
|
23
|
+
{
|
|
24
|
+
"//listings": {
|
|
25
|
+
"path": "//listings",
|
|
26
|
+
"key": "SELECT_ORGANIZATION",
|
|
27
|
+
"icon": "FaHotel",
|
|
28
|
+
"name": "My Listings"
|
|
29
|
+
// ... other properties
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
By default, any icon specified in the `icon` property of a route in `routes.json` will be automatically added to `selectiveIcons` This means it will be available for use in the application without any additional configuration.
|
|
35
|
+
|
|
36
|
+
### Additional Icons for Components
|
|
37
|
+
|
|
38
|
+
If a component requires more icons than just the menu icon, you can use the `extraIcons` property in the route configuration. This allows you to specify additional icons that should be loaded for a particular route:
|
|
39
|
+
|
|
40
|
+
```json
|
|
41
|
+
{
|
|
42
|
+
"//landing": {
|
|
43
|
+
"path": "//landing",
|
|
44
|
+
"key": "landing",
|
|
45
|
+
"extraIcons": [
|
|
46
|
+
"rifi.RifiAllCategories",
|
|
47
|
+
"rifi.RifiAppartments",
|
|
48
|
+
"rifi.RifiArtStudio"
|
|
49
|
+
// ... other icons
|
|
50
|
+
]
|
|
51
|
+
// ... other properties
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
## Icon Repository Configuration
|
|
57
|
+
|
|
58
|
+
The icon repository configuration is defined in a `config.json` file . This configuration specifies where different sets of icons can be found. Here's an example of how the `iconsRepository` should be defined:
|
|
59
|
+
|
|
60
|
+
```json
|
|
61
|
+
{
|
|
62
|
+
"iconsRepository": {
|
|
63
|
+
"accounts": "@pubngo-stack/icons/lib/accounts/accountIcons/{iconName}.js",
|
|
64
|
+
"rifi": "@pubngo-stack/icons/lib/rifi/{iconName}.js",
|
|
65
|
+
"custom": "./path/to/custom/icons/{iconName}.js"
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
In this configuration:
|
|
71
|
+
|
|
72
|
+
- The keys (e.g., "rifi", "accounts", "custom") represent the repository prefixes.
|
|
73
|
+
- The values are the paths where the icons can be found, with `{iconName}` as a placeholder for the specific icon name.
|
|
74
|
+
|
|
75
|
+
The `{iconName}` placeholder in the paths will be replaced with the actual name of the icon from extraIcons when it's being loaded.
|
|
76
|
+
|
|
77
|
+
This configuration allows the selective icons system to know where to find different sets of icons, enabling it to dynamically import the correct icon based on the name provided in the `icon` or `extraIcons` properties in the routes configuration.
|
|
78
|
+
|
|
79
|
+
## Usage
|
|
80
|
+
|
|
81
|
+
To use the selective icon system in your application:
|
|
82
|
+
|
|
83
|
+
1. Import the default function from `selectiveIcons.js`.
|
|
84
|
+
2. Call the function with the desired icon name.
|
|
85
|
+
3. Handle the returned Promise to render the icon component.
|
|
86
|
+
|
|
87
|
+
Example:
|
|
88
|
+
|
|
89
|
+
```javascript
|
|
90
|
+
import getIcon from '@app/selectiveIcons.js';
|
|
91
|
+
|
|
92
|
+
function IconComponent({ name }) {
|
|
93
|
+
const [Icon, setIcon] = useState(null);
|
|
94
|
+
|
|
95
|
+
useEffect(() => {
|
|
96
|
+
getIcon(nameOfIcon).then((module) => setIcon(module.default));
|
|
97
|
+
}, [name]);
|
|
98
|
+
|
|
99
|
+
return Icon ? <Icon /> : null;
|
|
100
|
+
}
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
[Back to Index](routes-json-index.md) | [Previous: Configuration Management](configurations.md) | [Next: Best Practices](routes-json-best-practices.md)
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
---
|
|
2
|
+
meta:
|
|
3
|
+
title: Advanced Configurations in routes.json
|
|
4
|
+
description: Advanced Configurations in routes.json
|
|
5
|
+
date: '2023-06-02T00:00:00'
|
|
6
|
+
updated: '2024-06-02T00:00:00'
|
|
7
|
+
excerpt: Advanced Configurations in routes.json...
|
|
8
|
+
headers:
|
|
9
|
+
Cache-Control: no-cache
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# Advanced Configurations in routes.json
|
|
13
|
+
|
|
14
|
+
This document covers advanced configurations and usage patterns for `routes.json`.
|
|
15
|
+
|
|
16
|
+
## Custom Wrappers
|
|
17
|
+
|
|
18
|
+
You can specify custom wrappers for your routes to add additional functionality or behavior.
|
|
19
|
+
|
|
20
|
+
```json
|
|
21
|
+
{
|
|
22
|
+
"/custom-route": {
|
|
23
|
+
"wrapperPath": "@your-package/custom-wrapper"
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
## Resource URIs
|
|
29
|
+
|
|
30
|
+
For routes that are associated with specific resources, you can specify a `resourceUri`:
|
|
31
|
+
|
|
32
|
+
```json
|
|
33
|
+
{
|
|
34
|
+
"/api/resource/:id": {
|
|
35
|
+
"resourceUri": "/api/resource/{id}"
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
## Dynamic Routes
|
|
41
|
+
|
|
42
|
+
For dynamic routes, use parameters in your path definition:
|
|
43
|
+
|
|
44
|
+
```json
|
|
45
|
+
{
|
|
46
|
+
"/user/:userId": {
|
|
47
|
+
"componentPath": "@your-package/UserProfile"
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
## Nested Routes
|
|
53
|
+
|
|
54
|
+
You can define nested routes to create a hierarchical structure:
|
|
55
|
+
|
|
56
|
+
```json
|
|
57
|
+
{
|
|
58
|
+
"/parent": {
|
|
59
|
+
"componentPath": "@your-package/ParentComponent",
|
|
60
|
+
"children": {
|
|
61
|
+
"/child": {
|
|
62
|
+
"componentPath": "@your-package/ChildComponent"
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
## Route-Specific Configurations
|
|
70
|
+
|
|
71
|
+
You can add custom configurations for specific routes:
|
|
72
|
+
|
|
73
|
+
```json
|
|
74
|
+
{
|
|
75
|
+
"/custom-config": {
|
|
76
|
+
"customConfig": {
|
|
77
|
+
"key1": "value1",
|
|
78
|
+
"key2": "value2"
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
These advanced configurations allow for more flexible and powerful routing setups in your application.
|
|
85
|
+
|
|
86
|
+
[Back to Index](routes-json-index.md) | [Previous: Middleware System](routes-json-middleware.md) | [Next: Generated Data Loaders](generated-data-loaders.md)
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
---
|
|
2
|
+
meta:
|
|
3
|
+
title: Authentication and Authorization in routes.json
|
|
4
|
+
description: Authentication and Authorization in routes.json
|
|
5
|
+
date: '2023-06-02T00:00:00'
|
|
6
|
+
updated: '2024-06-02T00:00:00'
|
|
7
|
+
excerpt: Authentication and Authorization in routes.json...
|
|
8
|
+
headers:
|
|
9
|
+
Cache-Control: no-cache
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# Authentication and Authorization in routes.json
|
|
13
|
+
|
|
14
|
+
This document explains how to configure authentication and authorization for routes using the `routes.json` file.
|
|
15
|
+
|
|
16
|
+
## Authentication
|
|
17
|
+
|
|
18
|
+
Authentication is configured using the `auth` field in the route definition.
|
|
19
|
+
|
|
20
|
+
### Syntax
|
|
21
|
+
|
|
22
|
+
```json
|
|
23
|
+
{
|
|
24
|
+
"/path": {
|
|
25
|
+
"auth": true | false | "optional"
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
### Options
|
|
31
|
+
|
|
32
|
+
- `true`: The route requires authentication. Users must be logged in to access this route.
|
|
33
|
+
- `false`: The route does not require authentication. It's publicly accessible.
|
|
34
|
+
- `"optional"`: Authentication is optional for this route. Both authenticated and unauthenticated users can access it.
|
|
35
|
+
|
|
36
|
+
### Example
|
|
37
|
+
|
|
38
|
+
```json
|
|
39
|
+
{
|
|
40
|
+
"/login": {
|
|
41
|
+
"auth": false
|
|
42
|
+
},
|
|
43
|
+
"/dashboard": {
|
|
44
|
+
"auth": true
|
|
45
|
+
},
|
|
46
|
+
"/public-content": {
|
|
47
|
+
"auth": "optional"
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
## Authorization
|
|
53
|
+
|
|
54
|
+
Authorization is configured using the `authority` and `extraPermissions` fields.
|
|
55
|
+
|
|
56
|
+
### Authority
|
|
57
|
+
|
|
58
|
+
The `authority` field specifies the permissions required to access the route.
|
|
59
|
+
|
|
60
|
+
#### Syntax
|
|
61
|
+
|
|
62
|
+
```json
|
|
63
|
+
{
|
|
64
|
+
"/path": {
|
|
65
|
+
"authority": ["permission1", "permission2"]
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
#### Example
|
|
71
|
+
|
|
72
|
+
```json
|
|
73
|
+
{
|
|
74
|
+
"/o/:orgName/settings": {
|
|
75
|
+
"authority": ["organization.settings.view"]
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
### Extra Permissions
|
|
81
|
+
|
|
82
|
+
The `extraPermissions` field specifies additional permissions that might be required for certain actions within the route.
|
|
83
|
+
|
|
84
|
+
#### Syntax
|
|
85
|
+
|
|
86
|
+
```json
|
|
87
|
+
{
|
|
88
|
+
"/path": {
|
|
89
|
+
"extraPermissions": ["permission1", "permission2"]
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
#### Example
|
|
95
|
+
|
|
96
|
+
```json
|
|
97
|
+
{
|
|
98
|
+
"/o/:orgName/settings": {
|
|
99
|
+
"authority": ["organization.settings.view"],
|
|
100
|
+
"extraPermissions": ["organization.settings.edit"]
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
## Automatic Wrapping
|
|
106
|
+
|
|
107
|
+
Based on the authentication and authorization configurations in `routes.json`, the application automatically applies the necessary wrappers to the components:
|
|
108
|
+
|
|
109
|
+
1. If `auth` is set to `true`, an authentication wrapper is applied to ensure the user is logged in.
|
|
110
|
+
2. If `authority` is specified, a permission wrapper is added to check the user's permissions.
|
|
111
|
+
3. If `extraPermissions` are defined, additional permission checks may be implemented within the component.
|
|
112
|
+
|
|
113
|
+
[Back to Index](routes-json-index.md) | [Previous: Field Descriptions](routes-json-fields.md) | [Next: Data Loading](routes-json-loaders.md)
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
---
|
|
2
|
+
meta:
|
|
3
|
+
title: Best Practices and Tips for routes.json
|
|
4
|
+
description: Best Practices and Tips for routes.json
|
|
5
|
+
date: '2023-06-02T00:00:00'
|
|
6
|
+
updated: '2024-06-02T00:00:00'
|
|
7
|
+
excerpt: Best Practices and Tips for routes.json...
|
|
8
|
+
headers:
|
|
9
|
+
Cache-Control: no-cache
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# Best Practices and Tips for routes.json
|
|
13
|
+
|
|
14
|
+
This document outlines best practices and tips for working with `routes.json` in your application.
|
|
15
|
+
|
|
16
|
+
## Organizing routes.json
|
|
17
|
+
|
|
18
|
+
1. **Group related routes**: Keep related routes together for better readability.
|
|
19
|
+
2. **Use meaningful keys**: Choose descriptive keys that reflect the purpose of each route.
|
|
20
|
+
3. **Maintain a consistent structure**: Follow a consistent pattern when defining routes.
|
|
21
|
+
|
|
22
|
+
## Naming Conventions
|
|
23
|
+
|
|
24
|
+
1. **Use kebab-case for paths**: e.g., `/user-profile` instead of `/userProfile`.
|
|
25
|
+
2. **Use camelCase for keys**: e.g., `"userProfile"` instead of `"user-profile"`.
|
|
26
|
+
3. **Be consistent with authority strings**: Use a consistent naming pattern for permissions.
|
|
27
|
+
|
|
28
|
+
## Security Considerations
|
|
29
|
+
|
|
30
|
+
1. **Always set the `auth` field**: Explicitly define authentication requirements for each route.
|
|
31
|
+
2. **Use granular permissions**: Prefer specific permissions over broad ones.
|
|
32
|
+
3. **Regularly audit your routes**: Review and update permissions as your application evolves.
|
|
33
|
+
|
|
34
|
+
## Performance Optimization
|
|
35
|
+
|
|
36
|
+
1. **Minimize the use of wildcards**: Be specific with route paths when possible.
|
|
37
|
+
2. **Use exact matching**: Set `"exact": true` for routes that don't have children.
|
|
38
|
+
3. **Optimize loader usage**: Only use loaders when necessary to avoid unnecessary data fetching.
|
|
39
|
+
|
|
40
|
+
## Maintainability
|
|
41
|
+
|
|
42
|
+
1. **Keep routes.json DRY**: Use variables or functions to generate repeated configurations.
|
|
43
|
+
2. **Document complex configurations**: Add comments for non-obvious setups.
|
|
44
|
+
3. **Version control**: Keep track of changes to `routes.json` in your version control system.
|
|
45
|
+
|
|
46
|
+
## Troubleshooting Common Issues
|
|
47
|
+
|
|
48
|
+
1. **Check for typos**: Many issues stem from simple typing errors.
|
|
49
|
+
2. **Verify file paths**: Ensure all referenced component paths are correct.
|
|
50
|
+
3. **Test authentication flows**: Regularly test different auth scenarios.
|
|
51
|
+
4. **Monitor for circular dependencies**: Avoid circular references in your route structure.
|
|
52
|
+
|
|
53
|
+
By following these best practices, you can create a more maintainable, secure, and efficient routing configuration for your application.
|
|
54
|
+
|
|
55
|
+
[Back to Index](routes-json-index.md) | [Previous: Icon System](routes-extra-icons.md) | [Next: Routes Overview](routes-json-overview.md)
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
---
|
|
2
|
+
meta:
|
|
3
|
+
title: routes.json Field Descriptions
|
|
4
|
+
description: routes.json Field Descriptions
|
|
5
|
+
date: '2023-06-02T00:00:00'
|
|
6
|
+
updated: '2024-06-02T00:00:00'
|
|
7
|
+
excerpt: routes.json Field Descriptions...
|
|
8
|
+
headers:
|
|
9
|
+
Cache-Control: no-cache
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# routes.json Field Descriptions
|
|
13
|
+
|
|
14
|
+
This document provides detailed descriptions of the fields used in the `routes.json` file.
|
|
15
|
+
|
|
16
|
+
## Common Fields
|
|
17
|
+
|
|
18
|
+
- **`path`**: (String) The URL path for the route.
|
|
19
|
+
Example: `"/login"` or `"/o/:orgName/dashboard"`
|
|
20
|
+
|
|
21
|
+
- **`componentPath`**: (String) The path to the component to be rendered for this route.
|
|
22
|
+
Example: `"@adminide-stack/user-auth0-browser-ant/lib/pages/Login/Login.js"`
|
|
23
|
+
|
|
24
|
+
- **`key`**: (String) A unique identifier for the route.
|
|
25
|
+
Example: `"login"` or `"organizations.dashboard"`
|
|
26
|
+
|
|
27
|
+
- **`name`**: (String) A human-readable name for the route, often used in menus or breadcrumbs.
|
|
28
|
+
Example: `"Login Page"` or `"Organization Dashboard"`
|
|
29
|
+
|
|
30
|
+
- **`exact`**: (Boolean) If true, the path must be an exact match.
|
|
31
|
+
Example: `true`
|
|
32
|
+
|
|
33
|
+
## Authentication and Authorization Fields
|
|
34
|
+
|
|
35
|
+
- **`auth`**: (Boolean or String) Represents the authentication requirement for the route.
|
|
36
|
+
Possible values: `true`, `false`, or `"optional"`
|
|
37
|
+
|
|
38
|
+
- **`authority`**: (Array of Strings) Authority strings required to access the route.
|
|
39
|
+
Example: `["organization.settings.view"]`
|
|
40
|
+
|
|
41
|
+
- **`extraPermissions`**: (Array of Strings) Additional permissions required for certain actions on the route.
|
|
42
|
+
Example: `["organization.settings.edit"]`
|
|
43
|
+
|
|
44
|
+
## Component and Data Loading Fields
|
|
45
|
+
|
|
46
|
+
- **`hasComponent`**: (Boolean) Indicates if the component exists for the route.
|
|
47
|
+
Example: `true`
|
|
48
|
+
|
|
49
|
+
- **`hasLoader`**: (Boolean) If true, the route has a server-side loader.
|
|
50
|
+
Example: `true`
|
|
51
|
+
|
|
52
|
+
- **`hasClientLoader`**: (Boolean) If true, the route has a client-side loader.
|
|
53
|
+
Example: `true`
|
|
54
|
+
|
|
55
|
+
- **`hasAction`**: (Boolean) If true, the route has an action for form submissions or mutations.
|
|
56
|
+
Example: `true`
|
|
57
|
+
|
|
58
|
+
- **`hasServerCode`**: (Boolean) Indicates if the route has server-specific code.
|
|
59
|
+
Example: `true`
|
|
60
|
+
|
|
61
|
+
## GraphQL and Data Fetching Fields
|
|
62
|
+
|
|
63
|
+
- **`queries`**: (Object) GraphQL queries that need to be run as part of the loader. Each query can have associated parameters.
|
|
64
|
+
Example:
|
|
65
|
+
```json
|
|
66
|
+
"queries": {
|
|
67
|
+
"GetAllCountriesDocument": "{}"
|
|
68
|
+
}
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
## Additional Configuration Fields
|
|
72
|
+
|
|
73
|
+
- **`configurations`**: (Object) Additional configuration options for the route.
|
|
74
|
+
(This field was not explicitly defined in the provided documentation, but it's mentioned as a possibility)
|
|
75
|
+
|
|
76
|
+
- **`resourceUri`**: (String) URI for specific resources associated with the route.
|
|
77
|
+
(This field was not explicitly defined in the provided documentation, but it's mentioned as a possibility)
|
|
78
|
+
|
|
79
|
+
[Back to Index](routes-json-index.md) | [Previous: Routes Overview](routes-json-overview.md) | [Next: Authentication](routes-json-auth.md)
|