@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,58 @@
|
|
|
1
|
+
---
|
|
2
|
+
meta:
|
|
3
|
+
title: Remix Development Tools
|
|
4
|
+
description: Remix Development Tools
|
|
5
|
+
date: '2023-06-02T00:00:00'
|
|
6
|
+
updated: '2024-06-02T00:00:00'
|
|
7
|
+
excerpt: Remix Development Tools...
|
|
8
|
+
headers:
|
|
9
|
+
Cache-Control: no-cache
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
## Remix Development Tools
|
|
13
|
+
|
|
14
|
+
To add `remix-development-tools` to the project
|
|
15
|
+
|
|
16
|
+
- **package.json**
|
|
17
|
+
|
|
18
|
+
```diff
|
|
19
|
+
@@ -342,6 +342,7 @@
|
|
20
|
+
"redux-first-history": "^5.1.1",
|
|
21
|
+
"redux-mock-store": "^1.5.4",
|
|
22
|
+
"remap-istanbul": "^0.13.0",
|
|
23
|
+
+ "remix-development-tools": "^4.4.1",
|
|
24
|
+
"resolve-url-loader": "^5.0.0",
|
|
25
|
+
"rimraf": "^3.0.2",
|
|
26
|
+
"rollup": "^4.13.0",
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
- **servers/frontend-server/vite.config.ts**
|
|
30
|
+
```diff
|
|
31
|
+
@@ -3,6 +3,7 @@ import { vitePlugin as remix } from '@remix-run/dev';
|
|
32
|
+
import { dirname, resolve } from 'path';
|
|
33
|
+
import { installGlobals } from '@remix-run/node';
|
|
34
|
+
import { fileURLToPath } from 'url';
|
|
35
|
+
+import { remixDevTools } from 'remix-development-tools';
|
|
36
|
+
import { defineRoutesConfig } from '@common-stack/rollup-vite-utils/lib/vite-wrappers/json-wrappers.js';
|
|
37
|
+
import tsconfigPaths from 'vite-tsconfig-paths';
|
|
38
|
+
import { i18nInternationalizationPlugin } from '@common-stack/rollup-vite-utils/lib/vite-plugins/i18n-internationalization-plugin.js';
|
|
39
|
+
@@ -71,6 +72,18 @@ export default defineConfig(async ({ isSsrBuild }) => {
|
|
40
|
+
const viteConfig = {
|
|
41
|
+
define: envVariables,
|
|
42
|
+
plugins: [
|
|
43
|
+
+ remixDevTools({
|
|
44
|
+
+ server: {
|
|
45
|
+
+ logs: {
|
|
46
|
+
+ cookies: true,
|
|
47
|
+
+ defer: true,
|
|
48
|
+
+ actions: true,
|
|
49
|
+
+ loaders: true,
|
|
50
|
+
+ cache: true,
|
|
51
|
+
+ siteClear: true,
|
|
52
|
+
+ },
|
|
53
|
+
+ },
|
|
54
|
+
+ }),
|
|
55
|
+
i18nInternationalizationPlugin({
|
|
56
|
+
folderName: 'cdm-locales',
|
|
57
|
+
packages: [...config.modules, ...config.i18n.packages],
|
|
58
|
+
```
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
---
|
|
2
|
+
meta:
|
|
3
|
+
title: Changes Using Server Code
|
|
4
|
+
description: Changes Using Server Code
|
|
5
|
+
date: '2023-06-02T00:00:00'
|
|
6
|
+
updated: '2024-06-02T00:00:00'
|
|
7
|
+
excerpt: Changes Using Server Code...
|
|
8
|
+
headers:
|
|
9
|
+
Cache-Control: no-cache
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
## Changes Using Server Code
|
|
13
|
+
|
|
14
|
+
Here is the diff for the commit [e2e30c8](https://github.com/CDEBase/admin-layout/commit/e2e30c8c088b13daa28002e0d36bad51badd91ba) in markdown format:
|
|
15
|
+
|
|
16
|
+
````md
|
|
17
|
+
# Commit e2e30c8: seperate server code
|
|
18
|
+
|
|
19
|
+
**Author:** [veeramarni](https://github.com/veeramarni)
|
|
20
|
+
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
### Changes
|
|
24
|
+
|
|
25
|
+
#### Modified
|
|
26
|
+
|
|
27
|
+
##### `packages-modules/demo/ant-browser/rollup.config.mjs`
|
|
28
|
+
|
|
29
|
+
```diff
|
|
30
|
+
@@ -5,7 +5,7 @@ const additionalPlugins = [];
|
|
31
|
+
export default [
|
|
32
|
+
createRollupConfig({
|
|
33
|
+
input: [
|
|
34
|
+
- 'src/index.ts',
|
|
35
|
+
+ 'src/index.ts', 'src/index.server.ts',
|
|
36
|
+
],
|
|
37
|
+
plugins: [
|
|
38
|
+
// Spread in additional plugins specific to this config
|
|
39
|
+
```
|
|
40
|
+
````
|
|
41
|
+
|
|
42
|
+
##### `packages-modules/demo/ant-browser/src/antd-pro-demo/modules/system/compute.tsx`
|
|
43
|
+
|
|
44
|
+
```diff
|
|
45
|
+
@@ -39,6 +39,7 @@ export const systemPageStore = [
|
|
46
|
+
path: `${ORG_STD_ROUTES.ORG_BASE_PATH}/system/menu`,
|
|
47
|
+
auth: true,
|
|
48
|
+
component: () => import('./menu/Component'),
|
|
49
|
+
+ hasServerCode: true,
|
|
50
|
+
position: IMenuPosition.Lower,
|
|
51
|
+
exact: true,
|
|
52
|
+
priority: 3,
|
|
53
|
+
@@ -99,6 +100,7 @@ export const systemPageStore = [
|
|
54
|
+
path: `/custom-pages/*`,
|
|
55
|
+
auth: true,
|
|
56
|
+
component: () => import('./menu/CustomPage'),
|
|
57
|
+
+ hasServerCode: true,
|
|
58
|
+
position: IMenuPosition.Lower,
|
|
59
|
+
exact: true,
|
|
60
|
+
priority: 2,
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
#### Added
|
|
64
|
+
|
|
65
|
+
##### `packages-modules/demo/ant-browser/src/antd-pro-demo/modules/system/index.server.ts`
|
|
66
|
+
|
|
67
|
+
```diff
|
|
68
|
+
@@ -0,0 +1,2 @@
|
|
69
|
+
+export * as l from './menu/Component.server';
|
|
70
|
+
+export * as p from './menu/CustomPage.server';
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
---
|
|
74
|
+
|
|
75
|
+
For more details, see the [commit on GitHub](https://github.com/CDEBase/admin-layout/commit/e2e30c8c088b13daa28002e0d36bad51badd91ba).
|
|
76
|
+
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
```
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
---
|
|
2
|
+
meta:
|
|
3
|
+
title: Extra Icons
|
|
4
|
+
description: Extra Icons
|
|
5
|
+
date: '2023-06-02T00:00:00'
|
|
6
|
+
updated: '2024-06-02T00:00:00'
|
|
7
|
+
excerpt: Extra Icons...
|
|
8
|
+
headers:
|
|
9
|
+
Cache-Control: no-cache
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# Extra Icons
|
|
13
|
+
|
|
14
|
+
The following is the configuration of it
|
|
15
|
+
|
|
16
|
+
## Passing Data through `compute.ts`
|
|
17
|
+
|
|
18
|
+
To populate data in this component, you'll need to pass configuration options through `compute.ts`. Here’s an example:
|
|
19
|
+
|
|
20
|
+
1. Configure `extraIcons` in `compute.ts`.
|
|
21
|
+
|
|
22
|
+
this is how you will configure in `compute.ts`.
|
|
23
|
+
|
|
24
|
+
```ts
|
|
25
|
+
{
|
|
26
|
+
....
|
|
27
|
+
extraIcons: [
|
|
28
|
+
`<icon-repository-name>.${<icon-name>}`
|
|
29
|
+
|
|
30
|
+
// example
|
|
31
|
+
|
|
32
|
+
`rifi.${IIconRifi.RifiAllCategories}`
|
|
33
|
+
......
|
|
34
|
+
],
|
|
35
|
+
|
|
36
|
+
....
|
|
37
|
+
}
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
this is how you will configure in `config.json in frontend-server`.
|
|
41
|
+
|
|
42
|
+
```ts
|
|
43
|
+
{
|
|
44
|
+
....
|
|
45
|
+
iconsRepository: {
|
|
46
|
+
....
|
|
47
|
+
<icon-repository-name>: "<icon-repository-path>",
|
|
48
|
+
|
|
49
|
+
// example
|
|
50
|
+
rifi: "@pubngo-stack/icons/lib/rifi/{iconName}.js"
|
|
51
|
+
|
|
52
|
+
.......
|
|
53
|
+
},
|
|
54
|
+
|
|
55
|
+
....
|
|
56
|
+
}
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
### Key Fields:
|
|
60
|
+
|
|
61
|
+
- **extraIcons**: Array of additional icons to map to the categories. Each icon has an associated value that will be passed to the `CategoriesTypeList` component.
|
|
62
|
+
- **iconsRepository**: Object mapping icon repositories to their respective paths. Each key represents a repository, and the value is the path template for the icons in that repository.
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
---
|
|
2
|
+
meta:
|
|
3
|
+
title: Extra Links
|
|
4
|
+
description: Extra Links
|
|
5
|
+
date: '2023-06-02T00:00:00'
|
|
6
|
+
updated: '2024-06-02T00:00:00'
|
|
7
|
+
excerpt: Extra Links...
|
|
8
|
+
headers:
|
|
9
|
+
Cache-Control: no-cache
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# Extra Links
|
|
13
|
+
|
|
14
|
+
The following is the configuration of it
|
|
15
|
+
|
|
16
|
+
## Passing Data through `compute.ts`
|
|
17
|
+
|
|
18
|
+
To populate data in this component, you'll need to pass configuration options through `compute.ts`. Here’s an example:
|
|
19
|
+
|
|
20
|
+
1. Configure `extraLinks` in `compute.ts`.
|
|
21
|
+
|
|
22
|
+
this is how you will configure in `compute.ts`.
|
|
23
|
+
|
|
24
|
+
```ts
|
|
25
|
+
{
|
|
26
|
+
....
|
|
27
|
+
extraLink: [
|
|
28
|
+
`{ rel:stylesheet, hrefImportPath:<link-path> }`
|
|
29
|
+
|
|
30
|
+
// example
|
|
31
|
+
|
|
32
|
+
`{ rel:stylesheet, hrefImportPath:'@splidejs/react-splide/css' }`
|
|
33
|
+
......
|
|
34
|
+
],
|
|
35
|
+
|
|
36
|
+
....
|
|
37
|
+
}
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
this is how you will configure in `page route`.
|
|
41
|
+
|
|
42
|
+
```ts
|
|
43
|
+
{
|
|
44
|
+
....
|
|
45
|
+
|
|
46
|
+
export const links = (params) => {
|
|
47
|
+
return [
|
|
48
|
+
{
|
|
49
|
+
rel: 'stylesheet',
|
|
50
|
+
href: reactDayPickerStyles as unknown as string,
|
|
51
|
+
},
|
|
52
|
+
...params,
|
|
53
|
+
];
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
....
|
|
57
|
+
}
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
params will automatically adds the link provided in compute.ts
|
|
61
|
+
|
|
62
|
+
### Key Fields:
|
|
63
|
+
|
|
64
|
+
- **extraLinks**: Array of additional links to be included in the page. Each link has an associated value that will be passed to the `links` function.
|
|
65
|
+
- **params**: Array of link objects that will be automatically populated with the links provided in `compute.ts`.
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
---
|
|
2
|
+
meta:
|
|
3
|
+
title: Generated Data Loaders
|
|
4
|
+
description: Generated Data Loaders
|
|
5
|
+
date: '2023-06-02T00:00:00'
|
|
6
|
+
updated: '2024-06-02T00:00:00'
|
|
7
|
+
excerpt: Generated Data Loaders...
|
|
8
|
+
headers:
|
|
9
|
+
Cache-Control: no-cache
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
Here's an improved version of your document:
|
|
13
|
+
|
|
14
|
+
# Generated Data Loaders
|
|
15
|
+
|
|
16
|
+
To minimize repetitive work, we automatically generate Remix data loaders by analyzing the page source code. Our parser scans the page for GraphQL queries and calls all of those queries in the generated data loaders. This ensures that by the time the component requests the data, it is already available in the Apollo Cache, reducing redundancy.
|
|
17
|
+
|
|
18
|
+
The following example demonstrates how a component's code is used to generate data loaders:
|
|
19
|
+
|
|
20
|
+
```ts
|
|
21
|
+
#Teams.tsx
|
|
22
|
+
|
|
23
|
+
const Teams = (props) => {
|
|
24
|
+
const [data, { loading }] = useTeamsQuery({ variables: { orgName, pageSize: 10 } });
|
|
25
|
+
// rest of the business logic
|
|
26
|
+
return (
|
|
27
|
+
// component render Markup
|
|
28
|
+
)
|
|
29
|
+
}
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
When our Rollup plugin parses the component and detects the GraphQL queries, it creates a key-value pair where the key represents the GraphQL document the query uses, and the value refers to the variables used by the query. Note the following:
|
|
33
|
+
|
|
34
|
+
- The GraphQL document must be present in the `core` package. For example, if a component is inside `account-browser`, the GraphQL document should be exported from either the `client` or `core` package.
|
|
35
|
+
- Variables passed in the `variables` parameter will be converted to `params.<variableName>`, and the loader will expect these values in the params.
|
|
36
|
+
|
|
37
|
+
For the above component, the following `routes.json` structure will be created:
|
|
38
|
+
|
|
39
|
+
```json
|
|
40
|
+
{
|
|
41
|
+
"queries": {
|
|
42
|
+
"TeamsDocument": "{orgName: params.orgName, pageSize: 10}"
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
This serves as meta-information for our generator function, which uses it to create [loaders](./data-loaders.md) for both server and client. The generated loaders will look something like this:
|
|
48
|
+
|
|
49
|
+
```ts
|
|
50
|
+
export const loaders = ({ params, context }) => {
|
|
51
|
+
const { apolloClient: client } = context;
|
|
52
|
+
const queries = { GetTeamsDocument: { orgName: params.orgName, pageSize: 10 } };
|
|
53
|
+
|
|
54
|
+
const organizationTeamsQuery = client.query({
|
|
55
|
+
query: GetTeamsDocument,
|
|
56
|
+
variables: queries['GetTeamsDocument'],
|
|
57
|
+
fetchPolicy: __SERVER__ ? 'network-only' : 'cache-first',
|
|
58
|
+
});
|
|
59
|
+
|
|
60
|
+
return {
|
|
61
|
+
data: {
|
|
62
|
+
organizationTeamsQuery,
|
|
63
|
+
},
|
|
64
|
+
};
|
|
65
|
+
};
|
|
66
|
+
|
|
67
|
+
const clientLoader = async ({ params, serverLoader }) => {
|
|
68
|
+
const client = window.__APOLLO_CLIENT__;
|
|
69
|
+
try {
|
|
70
|
+
const getKey = (documentName) => camelCase(documentName).replace('Document', '');
|
|
71
|
+
const queries = { GetTeamsDocument: { orgName: params.orgName, pageSize: 10 } };
|
|
72
|
+
const queryKeys = ['TeamsQuery'];
|
|
73
|
+
let shouldCallServerLoader = false;
|
|
74
|
+
let response = {};
|
|
75
|
+
let cachedData, cacheKey;
|
|
76
|
+
|
|
77
|
+
cachedData = client.cache.readQuery({
|
|
78
|
+
query: GetTeamsDocument,
|
|
79
|
+
variables: queries['GetTeamsDocument'],
|
|
80
|
+
});
|
|
81
|
+
cacheKey = getKey('GetTeamsDocument');
|
|
82
|
+
|
|
83
|
+
if (!cachedData) {
|
|
84
|
+
shouldCallServerLoader = true;
|
|
85
|
+
}
|
|
86
|
+
if (cachedData && cachedData[cacheKey]) {
|
|
87
|
+
response[queryKeys[0]] = Promise.resolve(cachedData[cacheKey]);
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
if (!shouldCallServerLoader) return response;
|
|
91
|
+
const serverData = await serverLoader();
|
|
92
|
+
let queryKey = queryKeys[0];
|
|
93
|
+
|
|
94
|
+
if (!serverData[queryKey].then) {
|
|
95
|
+
return;
|
|
96
|
+
}
|
|
97
|
+
serverData[queryKey].then(({ data }) => {
|
|
98
|
+
client.cache.writeQuery({
|
|
99
|
+
query: GetTeamsDocument,
|
|
100
|
+
variables: queries['GetTeamsDocument'],
|
|
101
|
+
data,
|
|
102
|
+
});
|
|
103
|
+
});
|
|
104
|
+
|
|
105
|
+
return serverData;
|
|
106
|
+
} catch (err) {
|
|
107
|
+
console.error('Error in clientLoader', err);
|
|
108
|
+
}
|
|
109
|
+
};
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
The above document provides an example for a simple use case where a component has only one query. For components with multiple queries, the generated loaders will be longer.
|
|
113
|
+
|
|
114
|
+
---
|
|
@@ -0,0 +1,89 @@
|
|
|
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
|
+
# Generalized Query Loaders Documentation
|
|
13
|
+
|
|
14
|
+
This documentation describes how to pass nested variables to queries using a parameter generation function and how to implement query loaders with custom logic.
|
|
15
|
+
|
|
16
|
+
## Query Params Generator Implementation
|
|
17
|
+
|
|
18
|
+
The `queryParamsGenerator` function generates query parameters based on the input parameters.
|
|
19
|
+
|
|
20
|
+
### Usage
|
|
21
|
+
|
|
22
|
+
```javascript
|
|
23
|
+
export const queryParamsGenerator = (params) => ({
|
|
24
|
+
nestedParam1: {
|
|
25
|
+
subParam: {
|
|
26
|
+
key: params.value,
|
|
27
|
+
},
|
|
28
|
+
},
|
|
29
|
+
nestedParam2: { key: params.value },
|
|
30
|
+
});
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## Query Loader Implementation
|
|
34
|
+
|
|
35
|
+
This section describes how to implement query loaders using the variables generated by the `queryParamsGenerator` function.
|
|
36
|
+
|
|
37
|
+
### Example Query Loader 1: CustomQueryLoader1
|
|
38
|
+
|
|
39
|
+
The `CustomQueryLoader1` loads data using the variables generated by the `queryParamsGenerator` function with a specified fetch policy.
|
|
40
|
+
|
|
41
|
+
### Usage
|
|
42
|
+
|
|
43
|
+
```javascript
|
|
44
|
+
const CustomQueryLoader1 = useCustomQuery1({
|
|
45
|
+
variables: queryParamsGenerator(params).nestedParam1,
|
|
46
|
+
fetchPolicy: 'custom-fetch-policy',
|
|
47
|
+
});
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
## General Example
|
|
51
|
+
|
|
52
|
+
Here is a generalized example of how to use the CustomQueryLoader1 and CustomQueryLoader2 together:
|
|
53
|
+
|
|
54
|
+
```javascript
|
|
55
|
+
import { useCustomQuery1, useCustomQuery2 } from './path/to/queries';
|
|
56
|
+
import { dimentsions } from './dimension.js';
|
|
57
|
+
|
|
58
|
+
export const queryParamsGenerator = (params) => ({
|
|
59
|
+
nestedParam1: {
|
|
60
|
+
subParam: {
|
|
61
|
+
key: params.value,
|
|
62
|
+
},
|
|
63
|
+
dimensions: dimensions,
|
|
64
|
+
},
|
|
65
|
+
nestedParam2: { key: params.value },
|
|
66
|
+
});
|
|
67
|
+
|
|
68
|
+
const ExampleComponent = (props) => {
|
|
69
|
+
const params = { value: 'uniqueIdentifier' };
|
|
70
|
+
|
|
71
|
+
const QueryLoader1 = useQuery1({
|
|
72
|
+
variables: queryParamsGenerator(params).nestedParam1,
|
|
73
|
+
fetchPolicy: 'cache-only',
|
|
74
|
+
});
|
|
75
|
+
|
|
76
|
+
const QueryLoader2 = useCustomQuery2({
|
|
77
|
+
variables: queryParamsGenerator(params).nestedParam2,
|
|
78
|
+
fetchPolicy: 'cache-only',
|
|
79
|
+
});
|
|
80
|
+
|
|
81
|
+
return (
|
|
82
|
+
<React.Suspense fallback={<Spinner></Spinner>}>
|
|
83
|
+
<Await resolve={Promise.all([QueryLoader1, QueryLoader2])}>
|
|
84
|
+
<ExampleComponent loaderData={[QueryLoader1, QueryLoader2]} {...props} />
|
|
85
|
+
</Await>
|
|
86
|
+
</React.Suspense>
|
|
87
|
+
);
|
|
88
|
+
};
|
|
89
|
+
```
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
---
|
|
2
|
+
meta:
|
|
3
|
+
title: Resources
|
|
4
|
+
description: Resources
|
|
5
|
+
date: '2023-06-02T00:00:00'
|
|
6
|
+
updated: '2024-06-02T00:00:00'
|
|
7
|
+
excerpt: Resources...
|
|
8
|
+
headers:
|
|
9
|
+
Cache-Control: no-cache
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
## Resources
|
|
13
|
+
|
|
14
|
+
- Mastering Remix.run Routing: Exploring Every Option with In-Depth Diagrams
|
|
15
|
+
|
|
16
|
+
https://www.youtube.com/watch?v=Q-careWW_lA
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
---
|
|
2
|
+
meta:
|
|
3
|
+
title: Styles
|
|
4
|
+
description: Styles
|
|
5
|
+
date: '2023-06-02T00:00:00'
|
|
6
|
+
updated: '2024-06-02T00:00:00'
|
|
7
|
+
excerpt: Styles...
|
|
8
|
+
headers:
|
|
9
|
+
Cache-Control: no-cache
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
## Styles
|
|
13
|
+
|
|
14
|
+
# CSS Import and Stylesheet Links Example
|
|
15
|
+
|
|
16
|
+
This example demonstrates how to import CSS files from a package and return them as stylesheet links in a TypeScript project.
|
|
17
|
+
|
|
18
|
+
## Installation
|
|
19
|
+
|
|
20
|
+
To use this example, follow these steps:
|
|
21
|
+
|
|
22
|
+
1. Install the necessary packages:
|
|
23
|
+
|
|
24
|
+
```bash
|
|
25
|
+
npm install <your-css-package>
|
|
26
|
+
# or
|
|
27
|
+
yarn add <your-css-package>
|
|
28
|
+
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
### Import the CSS files in your TypeScript file:
|
|
32
|
+
|
|
33
|
+
append the _?url_ at the end of css import
|
|
34
|
+
|
|
35
|
+
```javascript
|
|
36
|
+
import mainStyles from '<your-css-package>/main.css?url';
|
|
37
|
+
|
|
38
|
+
or;
|
|
39
|
+
|
|
40
|
+
import '<your-css-package>/any.css';
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
#### Add @tsignore above import
|
|
44
|
+
|
|
45
|
+
```javascript
|
|
46
|
+
//@ts-ignore
|
|
47
|
+
import mainStyles from '<your-css-package>/main.css?url';
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
#### Define a function to return stylesheet links:
|
|
51
|
+
|
|
52
|
+
```javascript
|
|
53
|
+
//@ts-ignore
|
|
54
|
+
import mainStyles from '<your-css-package>/main.css?url';
|
|
55
|
+
//@ts-ignore
|
|
56
|
+
import customStyles from '../styles/landing.css?url';
|
|
57
|
+
|
|
58
|
+
export const links = () => {
|
|
59
|
+
return [
|
|
60
|
+
{
|
|
61
|
+
rel: 'stylesheet',
|
|
62
|
+
href: customStyles as unknown as string,
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
rel: 'stylesheet',
|
|
66
|
+
href: mainStyles as unknown as string,
|
|
67
|
+
},
|
|
68
|
+
];
|
|
69
|
+
};
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
#### Note: All css files import should be in route component, in subcomponent components it will not work
|
|
73
|
+
|
|
74
|
+
## Directory Structure
|
|
75
|
+
|
|
76
|
+
app
|
|
77
|
+
routes
|
|
78
|
+
app.tsx
|
|
79
|
+
components
|
|
80
|
+
Button.tsx
|
|
81
|
+
styles
|
|
82
|
+
app.css
|
|
83
|
+
button.css
|
|
84
|
+
|
|
85
|
+
## app.tsx (Route Component)
|
|
86
|
+
|
|
87
|
+
```tsx
|
|
88
|
+
import { LinksFunction } from 'remix';
|
|
89
|
+
import buttonStyles from '../styles/button.css?url';
|
|
90
|
+
|
|
91
|
+
export const links: LinksFunction = () => {
|
|
92
|
+
return [{ rel: 'stylesheet', href: buttonStyles }];
|
|
93
|
+
};
|
|
94
|
+
|
|
95
|
+
import Button from '../components/Button';
|
|
96
|
+
const ComponentWithLoader = (props) => {
|
|
97
|
+
return (
|
|
98
|
+
<React.Suspense fallback={<Spinner></Spinner>}>
|
|
99
|
+
<Await resolve={OwnerPropertiesLoader} errorElement={<Alert>Error loading TypeLists!</Alert>}>
|
|
100
|
+
<div>
|
|
101
|
+
<h1>Welcome to my Remix app!</h1>
|
|
102
|
+
<Button />
|
|
103
|
+
</div>
|
|
104
|
+
</Await>
|
|
105
|
+
</React.Suspense>
|
|
106
|
+
);
|
|
107
|
+
};
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
## Button.tsx (SubComponent)
|
|
111
|
+
|
|
112
|
+
```tsx
|
|
113
|
+
export default function Button() {
|
|
114
|
+
return <button className="custom-button">Click me</button>;
|
|
115
|
+
}
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
## Troubleshoot
|
|
119
|
+
|
|
120
|
+
### Error: No route matches URL "/styles/landing.css"
|
|
121
|
+
|
|
122
|
+
Make sure `styles` folder which it is looking is copied to `lib` folder. If not check `rollup.config.base.mjs` under root of the project, whether it has `styles` pattern in `copy plugin`
|
|
123
|
+
|
|
124
|
+
```js
|
|
125
|
+
const additionalPlugins = [copy({ patterns: ['**/cdm-locales/**/*', '**/styles/**/*'], rootDir: './src' })];
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
### Build error: [!] RollupError: Could not resolve "../styles/landing.css?url" from "src/pages/Landing.tsx"
|
|
129
|
+
|
|
130
|
+
Make sure `ignoreCssUrlPlugin` added to `rollup.config.base.mjs` after `typescript` plugin as shown below.
|
|
131
|
+
|
|
132
|
+
<img width="1410" alt="image" src="https://github.com/cdmbase/cdebase-wiki/assets/3382355/2017114b-2ee2-4bcf-a25a-269d1c9999c3"/>
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
---
|
|
2
|
+
meta:
|
|
3
|
+
title: Auth Wrapper
|
|
4
|
+
description: Auth Wrapper
|
|
5
|
+
date: '2023-06-02T00:00:00'
|
|
6
|
+
updated: '2024-06-02T00:00:00'
|
|
7
|
+
excerpt: Auth Wrapper...
|
|
8
|
+
headers:
|
|
9
|
+
Cache-Control: no-cache
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# Auth Wrapper
|
|
13
|
+
|
|
14
|
+
Authwrapper is a configuration provided to the Feature, it takes a component AuthWrapper or AuthWrapperHoc in mobile. The purpose of this wrapper is to validate whether the user is authenticated to access the component else it will get redirected to login.
|
|
15
|
+
|
|
16
|
+

|
|
17
|
+
|
|
18
|
+
If you want that particular route should only be accessible to logged in user you can simply pass `auth: true` while configuring the route as shown below
|
|
19
|
+
|
|
20
|
+

|
|
21
|
+
|
|
22
|
+
For mobile, authWrapper works in the similar fashion but the route config can have another property which will be UnAuthenticatedComponent which when provided will be rendered incase the user is unauthenticated and trying to access the route.
|
|
23
|
+
|
|
24
|
+

|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
---
|
|
2
|
+
meta:
|
|
3
|
+
title: Security
|
|
4
|
+
description: Security
|
|
5
|
+
date: '2023-06-02T00:00:00'
|
|
6
|
+
updated: '2024-06-02T00:00:00'
|
|
7
|
+
excerpt: Security...
|
|
8
|
+
headers:
|
|
9
|
+
Cache-Control: no-cache
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
## Security
|
|
13
|
+
|
|
14
|
+
**[Secure Button (mobile)](/docs/security/secure-button-mobilenative)**
|
|
15
|
+
|
|
16
|
+
**[Secure Button (web)](/docs/security/secure-button-web)**
|
|
17
|
+
|
|
18
|
+
**[Auth Wrapper](/docs/security/auth-wrapper)**
|