0.0.5-beta.2 • Published 1 year ago

@skodacustomerjourney/feature-apps-loader-react v0.0.5-beta.2

Weekly downloads
-
License
-
Repository
-
Last release
1 year ago

Skoda feature apps loader

Feature App is a microfrontend that encapsulates a composable and reusable UI. This package provides set of universal React components that simplifies integration of feature applications developed by Skoda.

Installation

npm install @skodacustomerjourney/feature-apps-loader-react

Usage

Example of integration of Forms feature application.

import { SkodaFeatureAppLoader, SkodaFeatureHubContextProvider } from '@skodacustomerjourney/feature-apps-loader-react';

const formsFeatureAppConfig = { formCode: 'cypress_tests_0', isTemp: false }
const localeServiceConfig = { countryCode: 'cz', bid: '260', language: 'cs', currency: 'czk' }

export const App = () =>
    <SkodaFeatureHubContextProvider
        localeServiceConfig={localeServiceConfig}>
        <SkodaFeatureAppLoader
            featureAppId='Skoda:FormsFeatureApp'
            src='forms-feature-app.umd.js'
            baseUrl='https://skoda-forms-api-dev.azurewebsites.net'
            config={formsFeatureAppConfig}
        />
    </SkodaFeatureHubContextProvider>

Feature Services provide shared state and shared functionality to consumers, e.g. Feature Apps. "locale-service" is required and consumed by majority of Skoda feature apps.

  • featureAppId - The Feature App ID is required to identify the Feature App instance. Multiple Feature App Loaders with the same featureAppId will render the same Feature app instance.
  • src - URL of client module bundle. Can be absolute or relative. If relative, loader will download the resource from baseUrl.
  • baseUrl - feature apps refers to its own resources that are available on this url.
  • config - feature app configuration object. Each feature app has unique configuration. Above is minimal example of configuration of Forms feature application.

Loading multiple feature apps

To load multiple (different or same) feature apps use SkodaFeatureAppLoader in different locations. It only must exist in scope of SkodaFeatureHubContextProvider.