Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

App Management V1 #2494

Merged
merged 13 commits into from
Oct 15, 2024
Merged

App Management V1 #2494

merged 13 commits into from
Oct 15, 2024

Conversation

odinr
Copy link
Collaborator

@odinr odinr commented Oct 2, 2024

Why These Changes Are Required

The primary reason for these changes is the transition to a micro-service architecture for hosting and managing applications, replacing the previous API.

The changes introduced in @equinor/fusion-framework-cli and @equinor/fusion-framework-module-app are essential for several reasons:

@equinor/fusion-framework-cli

New CLI commands for publishing applications

The new build-config, build-manifest, build-pack, build-upload, build-tag, build-publish commands provide a more structured and intuitive way to publish applications. These commands streamline the process of configuring, packaging, and generating manifests for applications, making it easier for developers to manage their projects.

Warning

  • Renamed config command to build-config.
  • Renamed pack command to build-pack.

New Dev Portal for managing applications

The new dev-portal only uses Vite (previously wrapped inside Express as a middleware). This change simplifies the setup and configuration of the development portal, making it more lightweight and efficient. It Also means in theory that anyone can compose their own dev portal using Vite.

To achieve this, several plugins and middleware have been introduced.

  • Proxy Request Logger:
    • Logging proxy requests helps in debugging and monitoring the interactions between the CLI and the backend services.
  • External Public Plugin:
    • Serving index.html from an external public directory and enhancing middleware improves the flexibility for using custom portals when developing applications.
  • App Proxy Plugin:
    • The appProxyPlugin simplifies the process of proxying requests to the Fusion app backend, ensuring seamless integration and better performance.

Base Manifest Enhancements

The application manifest has had a total overhaul. Event though only manifest.build is used for serving and publishing, we kept the manifest command for backwards compatibility.

Documentation

Added documentation for new CLI commands and improved existing documentation.

@equinor/fusion-framework-module-app

  • App Service API Adjustments:

    • Aligning with the new app service API and introducing the AppClient class standardizes the way applications interact with the backend, making the codebase more maintainable and scalable.
    • Using zod for manifest validation ensures that the data structures are correctly validated, reducing runtime errors.
    • Enhancing the useApps hook with a filterByCurrentUser parameter provides more flexibility in filtering applications based on the current user.
  • Migration Guide:

    • The migration guide helps developers transition from the old API to the new one smoothly, ensuring that their applications continue to function correctly with minimal disruption.

These changes collectively enhance the functionality, maintainability, and usability of the Fusion framework, making it more robust and developer-friendly.

The changes introduced in @equinor/fusion-framework-cli and @equinor/fusion-framework-module-app are essential for several reasons:

@equinor/fusion-framework-cli

  1. Proxy Request Logger:

    • Logging proxy requests helps in debugging and monitoring the interactions between the CLI and the backend services.
  2. Base Manifest Enhancements:

    • Including StandardIncludeAssetExtensions as allowedExtensions ensures that only the necessary file types are included, improving security and performance.
  3. Documentation:

    • Adding documentation for new CLI commands using VuePress makes it easier for developers to understand and use the CLI effectively.
  4. External Public Plugin:

    • Serving index.html from an external public directory and enhancing middleware improves the flexibility and scalability of the application.
  5. Updated CLI Commands:

    • Renaming and introducing new commands (build-config, build-pack, build-manifest) provides a clearer and more intuitive command structure.
  6. App Proxy Plugin:

    • The appProxyPlugin simplifies the process of proxying requests to the Fusion app backend, ensuring seamless integration and better performance.

@equinor/fusion-framework-module-app

  1. App Service API Adjustments:

    • Aligning with the new app service API and introducing the AppClient class standardizes the way applications interact with the backend, making the codebase more maintainable and scalable.
    • Using zod for manifest validation ensures that the data structures are correctly validated, reducing runtime errors.
    • Enhancing the useApps hook with a filterByCurrentUser parameter provides more flexibility in filtering applications based on the current user.
  2. Migration Guide:

    • The migration guide helps developers transition from the old API to the new one smoothly, ensuring that their applications continue to function correctly with minimal disruption.

These changes collectively enhance the functionality, maintainability, and usability of the Fusion framework, making it more robust and developer-friendly.

How to Migrate

Configuration custom app client

Before:

configurator.setClient({
    getAppManifest: {
        client: {
            fn: ({ appKey }) => httpClient.json$<ApiApp>(`/apps/${appKey}`)
        },
        key: ({ appKey }) => appKey
    },
    getAppManifests: {
        client: {
            fn: () => httpClient.json$<ApiApp[]>(`/apps`)
        },
        key: () => `all-apps`
    },
    getAppConfig: {
        client: {
            fn: ({ appKey }) => httpClient.json$<ApiApp>(`/apps/${appKey}/config`)
        },
        key: ({ appKey }) => appKey
    }
});

After:

import { AppClient } from '@equinor/fusion-framework-module-app';
configurator.setClient(new AppClient());

Check off the following:

  • Confirm that I checked changes to branch which I am merging into.

    • I have validated included files
    • My code does not generate new linting warnings
    • My PR is not a duplicate, check existing pr`s
  • Confirm that the I have completed the self-review checklist.

  • Confirm that my changes meet our code of conduct.

@odinr odinr self-assigned this Oct 2, 2024
Copy link

changeset-bot bot commented Oct 2, 2024

🦋 Changeset detected

Latest commit: 439d6d4

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 25 packages
Name Type
@equinor/fusion-framework-cli Major
@equinor/fusion-framework-react-components-people-provider Patch
@equinor/fusion-framework-docs Minor
@equinor/fusion-framework-cookbook-app-react-environment-variables Patch
@equinor/fusion-framework-cookbook-app-react-bookmark-advanced Patch
@equinor/fusion-framework-cookbook-app-react-feature-flag Patch
@equinor/fusion-framework-cookbook-app-react-bookmark Patch
@equinor/fusion-framework-cookbook-app-react-ag-grid Patch
@equinor/fusion-framework-cookbook-app-react-context Patch
@equinor/fusion-framework-cookbook-app-react-module Patch
@equinor/fusion-framework-cookbook-app-react-people Patch
@equinor/fusion-framework-cookbook-app-react-msal Patch
@equinor/fusion-framework-cookbook-app-vanilla Patch
@equinor/fusion-framework-cookbook-app-react Patch
@equinor/fusion-framework-cookbook-app-react-context-custom-error Patch
@equinor/fusion-framework-cookbook-app-react-router Patch
@equinor/fusion-framework-module-app Major
@equinor/fusion-framework-react-app Patch
@equinor/fusion-framework-react-components-bookmark Patch
@equinor/fusion-framework-react Minor
@equinor/fusion-framework-legacy-interopt Major
poc-portal Patch
@equinor/fusion-framework-app Patch
@equinor/fusion-framework-react-module-bookmark Patch
@equinor/fusion-framework-react-widget Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@github-actions github-actions bot added 👨🏻‍🍳 cookbooks 👾 React 💾 CLI fusion framework CLI 📚 documentation Improvements or additions to documentation 🧬 Modules labels Oct 2, 2024
@odinr odinr changed the title Feat/cli/appmanager/publish (#2178) App Management V1 Oct 2, 2024
@github-actions github-actions bot added 🐞 bug Something isn't working 🚀 feature New feature or request labels Oct 3, 2024
@github-actions github-actions bot added 🛠️ utils packages related to utils and removed 🛠️ utils packages related to utils labels Oct 11, 2024
eikeland and others added 12 commits October 14, 2024 11:41
* Chore/deps/update/fusion wc person (#2493)

* chore(person-resolver): updating fusion-wc-person to fix issue with controlled component usage

* docs: changeset

* feat(cli): command for publish app

* fix(http): reverting changes to http module

* feat(cli): command 'app publish' to publish app with app api

* feat(cli): new app commands for upload, tag and publish

* feat(cookbook-app-react): new config type for cli app publishing

* chore(cookbooks): updating app config to latest type

* docs: changeset

* fix(cli): removing commented console.log

* fix(cli): fixing lint warning

* chore(cli): console message when uploading new app version

* chore(cli): app publishing support environments

* fix(cli): renaming versin parameter for main cli

* fix(cli): renaming variable

* fix(cli): lint warning in upload-application

* fix(cli): comment in upload-application

* fix(cli): getEndpointUrl resolves api from service discovery

* feat(apps-service): cookbook app-react adjustd for new apps service

* feat(module-app): module-apps using the new apps-proxy, cli using the updated apps module

* fix(cli): options for config --env is no longer required

* feat(module-app): appmanifest is now instance of ApplicationManifest

* fix(legacy): mapping legacy apploader to new api

* fix: lockfile

* feat(app-react): new hook for useMyApps for getting a users apps

* docs: chanegset

* chore(cors): adding cors module to cli dev-serve

* chore(module-app): handle setting app key

* chore(config): adapting cookbooks config til new app api scheme

* fix(cli): appConfigurators setClient in type

* fix(cli): improves commands help text

* docs(cli): ads command and authentication documentation to README

* docs(cli): updated README

* docs(cli): add examples in README

* fix(cli): use correct path to resources

* docs(cli): improving documentation structure in vue-press

* fix(app): setting app api version and exposing baseUri in app configurator

* fix(cli): app config now supports using tags

* docs(cli): example for github-workflow to publish with app service

* chore(cookbook-app-react): removing publish script from package.json

* fix(cli): adding dev comments

* fix(cli: using ApplicationManifest in app-package command

* docs: comments and changeset

* chore(app): update app configurator to support filtering app manifests by current user

* docs: changeset cookbooks

* fix(cookbooks): adjusting app config and manifest to breaking changes in cookbooks

* docs(cli): vuepress cli commands options in markdown table

* docs(cli): changing config to new syntax in vuepress

* chore(vuepress): simplifying github workflow for publishing app

* chore(cli): renaming variable tagd to tagged

* fix(cli): creating export manifest defaults increateManifestFromPackage

* fix(cli): createManifestFromPackage proper check for type module

* fix(react-app): removing hook useMyApps since removed from provider

* fix(module-app): remove early return in logic

* fix(modules-app): set api version in client query

* fix(module-app): enableAppModule async callback

* feat(cli): create plugin for handling application api calls (#2448)

- generate manifest, config and source code when local app
- proxy app-service calls when app miss-match

* feat(cli): create plugin for serving index.html from external public directory (#2449)

Create a plugin `externalPublicPlugin` to fix the issue with serving the `index.html` file from the specified external public directory. Vite mode `spa` will not serve the `index.html` file from the specified external public directory.

- Enhanced the middleware to intercept requests and serve the `index.html` file from the specified external public directory.
- Transformed the HTML using Vite's `transformIndexHtml` method.
- Applied appropriate content headers and additional configured headers before sending the response.

* feat(cli): Rewrite dev-portal (#2462)

* feat(cli): add proxyRequestLogger to log proxy requests in the CLI

* fix(cli): set entryPoint in loadAppManifest based on environment mode

* feat(cli): rewrite CLI to use standard vite config.

- removed custom proxy servers
- added plugin for external portal
- added plugin for app-proxy
- added httpClient for app-proxy
- fixed app manifest

TODO: rework app manifest template

* fix(app): update AppConfigurator and ApplicationManifest for improved type handling and async support

* refactor(cli): remove unused imports and clean up Vite config

* build: update lock file

* feat(cookbooks): add a portal poc app

* Feat/cli/appmanager/refactoring-commands (#2450)

* fix(cli): improving docs and types

* feat(cli): refactoring and error handling in commands using apps-service

* fix: lint fixes

* fix(cli): todo in getEndpointUrl, and not using default import in dev-proxy

* fix(cookbook-poc-portal): package as private to not releae to npm

* Renaming getCommisSha to resolveCommitSha

* docs: temporary changeset

* fix(cli): re-adding is-mergable-object as dependency

* fix(cli): make sure export manifest uses js or mjs based on package type

* Feat(module-app): Adjusted module to the new app service API. (#2470)

* feat(module-app): Align manifest with new app service

- Updated zod to version 3.23.8
- Added zod to package.json dependencies
- Removed unused import from index.ts
- Removed unused import from types.ts
- Updated flows.ts to use payload.appKey instead of payload.key
- Updated actions.ts to use AppManifest instead of ApplicationManifest
- Added application.schema.ts to validate application manifest
- Added changeset slimy-buses-give.md

* refactor: Update modules to reflect new manifest

* style: fix lint

* Refactor(app): Update AppBuildManifest and AppManifest types (#2472)

* Refactor(cli): Improve build process and manifest generation

- Refactored build-application.ts to improve the build process.
- Updated create-export-manifest.js to generate the build manifest.
- Renamed getCommisSha to resolveCommitSha in app-package.ts.
- Updated load-app-config.ts to provide more informative console output.
- Updated config.ts to handle unsupported file types.
- Updated vite-config.ts to handle undefined config.
- Updated spinner.ts to attach and detach console output.
- Updated app-config.ts to handle void return type in AppConfigFn.
- Updated bundle-application.ts to use createBuildManifest instead of createExportManifest.
- Updated load-manifest.ts to generate the manifest with command and mode information.

* Refactor(cookbook-app-react): Update app.config and app.manifest.config

- Update app.config.ts to remove unused imports and adjust the endpoints URL.
- Update app.manifest.config.ts to set the appKey to 'app-react' when serving.

* Refactor(app): Update AppBuildManifest and AppManifest types

* refactor(cookbook): Remove unused app configuration files

* doc: update changesets

* refactor(cli): Update publish option default value to 'current'

* docs: update changeset

* Refactor(types): Update imports and exports in types.ts

* doc: updated docs

* docs(cli): documenting major cli changes and vue-press docs

* fix(AppManifest): adding missing types for AppManifest in module-app

* fix(app-module): adding allowedExtensions in build manifest

* fix(module-app): correcting name of categories in AppManifest

* fix(app-module): removed allowed extensions in zod ApiApplicationBuildSchema

* fix(cli): merge of manifest

* fix(app-proxy): simplify app proxy

* fix(module-app): update interfaces and schemas for api calls

* fix(cli): use correct app key when running dev-server

* fix(app-module): merging fixes

* fix(cli): remove doubble import of deepmerge

* fix(module-app): adding category to ApiApplicationSchema

* style: fix lint

* refactor(cli): emit error on failed bundle upload

* refactor(cli): Update import paths for app-proxy and external-public plugins

* doc(cli): Add README for the app proxy plugin

* refactor(cli): Add middleware to serve static assets from specified path

- remove altering of `publicDir`
- add middleware for handling static assets from provided path
- ensure that middleware does not hijack source assets
- ensure static asset middleware does not process `index.html`

* refactor(cli): Update external-public plugin

- check public dir for asset
- allow filtering

* doc(cli): Add External Public Plugin documentation

* build: update lock

* feat(cli): Add App Asset Export Plugin (#2479)

* feat(cli): Add app assets export plugin

create a plugin which will extract application assets and inject loader for import the correct asset when imported threw proxy

* feat(cli): Include StandardIncludeAssetExtensions in generated base manifest

* feat(cli): Include AppAssetExportPlugin in ViteConfig

When building an application, the `AppAssetExportPlugin` is now added to the `ViteConfig` and configured to include `manifest.build.allowedExtensions`.

* refactor(cli): Improve asset resolution and error handling in AppAssetExportPlugin

- resolve should check if the asset exists before filtering

* feat(cookbook-app-react-assets): Add Asset cookbook

Create a cookbook for testing the asset plugin

* refactor(app): rename `baseUri` to `assetUri` to make more sense

* refactor(configurator): Update ServiceDiscoveryConfigurator

If the discoveryClient is already configured, skip the fallback configuration

* refactor(cookbook-poc-portal): Update configuration of service discovery

* docs(changeset): setting minor for fusion-framewoerk-react

* fix(cli): adding correct entryPoint when building and serving

* docs: changeset for externalPlugin for vite

* docs(cli): vue-press adding command app manifest

* docs(vue-press): cli corrects typo in README

* fix(cli): env as required option to publish config, display error response in console

* fix(cli): using node fetch in cli

* fix(cli): remove dead code

* fix(cli): setting node-fetch agent to allow certificate error

* fix(cli): defineAppManifest returns Partial AppManifest

* fix(cli): removing https agent in node-fetch

* docs(cli): defineAppManifest example

* refactor(cli): export plugins

* fix(cli): resolving code review issues

* docs: changeset

---------

Co-authored-by: Odin Thomas Rochmann <[email protected]>
* fix(cli): log response on isAppRegistered

* fix(cli): better spinner mesage
…ior is abstracted (#2508)

* feat(app): Convert config to instance so that implementation of behavior is abstracted

- create manifest for config validation
- create class for transpiling of config
- update cli to use the VO type of config

NOTE: direct access of endpoints if now deprecated!

BREAKING CHANGES: `endpoints` will be deprecate in future, applications should use `getEndpoint`

* refactor(app): Refactor AppConfig class to improve endpoint handling
* feat(cli): added new command for upload-config

* docs: changeset for the new command upload-config

* fix(cli): eslint issues

* fix(cli): better error handling in isAppRegistered

* fix(cli): to many input params for isAppREgistered in  upload-export-config

* fix(cli): throwing error if app is not registrered

* fix(cli): error message when app is deleted
* fix/packages/modules

* docs: changeset

* empty commit
* Revert "fix/packages/modules (#2510)"

This reverts commit 663bed8.

* Revert "refactor(cli): Remove "type" module from package.json"

This reverts commit 43b4cac.

* fix(cli): adding ApiConfigSchema zod type
@odinr odinr marked this pull request as ready for review October 15, 2024 07:15
@odinr odinr requested a review from a team as a code owner October 15, 2024 07:15
Copy link
Contributor

github-actions bot commented Oct 15, 2024

Coverage Report

Status Category Percentage Covered / Total
🔵 Lines 0.39% 1746 / 440975
🔵 Statements 0.39% 1746 / 440975
🔵 Functions 23.8% 219 / 920
🔵 Branches 37.34% 400 / 1071
File Coverage
File Stmts % Branch % Funcs % Lines Uncovered Lines
Changed Files
cookbooks/app-react/app.config.ts 0% 0% 0% 0% 1, 3-11
cookbooks/app-react/app.manifest.config.ts 0% 0% 0% 0% 1, 3
cookbooks/app-react-assets/app.manifest.config.ts 0% 0% 0% 0% 1, 3-7
cookbooks/app-react-assets/src/App.tsx 0% 0% 0% 0% 1, 3-6, 9
cookbooks/app-react-assets/src/config.ts 0% 100% 100% 0% 3, 5, 8-10, 13-16, 18
cookbooks/app-react-assets/src/index.ts 0% 0% 0% 0% 1-2, 4, 6-7, 10, 13, 16, 18, 21, 24, 27-28, 30
cookbooks/poc-portal/app.config.ts 0% 0% 0% 0% 1, 3-12
cookbooks/poc-portal/src/AppList.tsx 0% 0% 0% 0% 1, 3-6, 8
cookbooks/poc-portal/src/Framework.tsx 0% 0% 0% 0% 1-2, 4, 6-7, 9-13, 15-20, 22-23, 25-26, 28-36, 38, 40
cookbooks/poc-portal/src/config.ts 0% 100% 100% 0% 3, 5, 8-10, 13-16, 18
cookbooks/poc-portal/src/index.tsx 0% 0% 0% 0% 1-2, 5, 7-9, 11
cookbooks/poc-portal/src/portal/bootloader.ts 0% 0% 0% 0% 1-2, 4-6, 8, 10, 12, 14, 16-21, 23-28, 30-39, 41-44, 46-47
packages/app/src/configure-modules.ts 0% 0% 0% 0% 1, 4, 7, 25-27, 32-34, 40-47, 49, 51-59, 61
packages/app/src/types.ts 100% 100% 100% 100%
packages/cli/src/schemas.ts 0% 0% 0% 0% 1, 3, 5-16
packages/cli/src/bin/build-application.ts 0% 0% 0% 0% 1, 3, 5-8, 11, 15, 17, 25-30, 32, 34-36, 38-41, 43-44, 46-50, 52-54, 56-58, 60, 62-67, 69-72, 74, 76, 78, 80, 82, 84-89
packages/cli/src/bin/bundle-application.ts 0% 0% 0% 0% 1, 3-4, 6-10, 12-13, 15, 17-19, 21-23, 25, 27-28, 30-31, 33, 35-41, 43-49, 51-54, 56-62
packages/cli/src/bin/create-dev-serve.ts 0% 0% 0% 0% 1, 7, 9-10, 12, 14, 16-18, 20-22, 24-30, 34, 44-45, 47, 49, 51-55, 57-68, 70-75, 77, 79, 82-83, 85-87, 89, 91-130, 132-133, 135-139, 141, 143, 145, 147-150, 152, 154-165
packages/cli/src/bin/create-export-config.ts 0% 0% 0% 0% 1-3, 5-6, 8, 12, 16-17, 19, 21, 23-27, 29-31, 33-48, 50-51, 53
packages/cli/src/bin/create-export-manifest.ts 0% 0% 0% 0% 1-3, 5, 7-8, 10, 13-14, 17-20, 22-24, 33-42, 44-53, 55-72, 74-75, 77-81, 83-85, 87-88
packages/cli/src/bin/main.app.ts 0% 0% 0% 0% 1, 3-7, 9-15, 17-20, 22-69, 71-80, 82-109, 111-131, 133-140, 142-154, 156-160, 162-185, 187-196, 198-205, 207-225, 227-245, 247-270
packages/cli/src/bin/main.ts 0% 0% 0% 0% 1-2, 4-13, 15, 17-22, 24-26, 28-29
packages/cli/src/bin/publish-application.ts 0% 0% 0% 0% 1-4, 12, 15-16, 18, 22-23, 25, 27-28, 30-31, 33-34, 36-41, 43-44, 46-56, 58-65, 67, 69-70, 72-75, 77-80, 82, 84-88, 90-97, 99, 101, 103-111, 113-114, 116-123, 125-134, 136-140
packages/cli/src/bin/tag-application.ts 0% 0% 0% 0% 1-5, 7, 9-12, 14, 19-20, 22, 24-27, 29-31, 33-34, 36-37, 39-44, 46-47, 49-59, 61-62, 64-69, 71-81, 83-95
packages/cli/src/bin/upload-application.ts 0% 0% 0% 0% 1-5, 7, 9, 13-14, 16, 18-19, 21-22, 24-25, 27-32, 34-36, 38-40, 42-49, 51, 53-54, 56-61, 63-67, 69-72, 74, 76, 78-88
packages/cli/src/bin/upload-export-config.ts 0% 0% 0% 0% 1-2, 4-5, 13, 17-19, 21, 27-28, 30, 32-33, 35-37, 39, 41, 43-53, 55-57, 59-60, 62-63, 65-70, 72-73, 75-83, 85-86, 88-93, 95-96, 98-110, 112-119, 121
packages/cli/src/bin/dev-portal/config.ts 0% 0% 0% 0% 1-3, 5-7, 11, 13-20, 22-26, 28-35, 37, 39, 41, 43-49, 51-68, 70-72, 74-78, 80
packages/cli/src/bin/utils/format.ts 0% 0% 0% 0% 1-2, 4, 6, 10-14, 16-21, 23
packages/cli/src/bin/utils/getEndpointUrl.ts 0% 0% 0% 0% 1-2, 4, 11-18, 20-23, 25-27, 29-36, 38-42, 44-50, 52-54, 56-57, 59-61
packages/cli/src/bin/utils/index.ts 0% 0% 0% 0% 1
packages/cli/src/bin/utils/isAppRegistered.ts 0% 0% 0% 0% 1, 3, 6-13, 15-18, 20-22, 24-26, 28-30
packages/cli/src/bin/utils/load-app-config.ts 0% 0% 0% 0% 1-2, 4, 9-12, 14-41, 43
packages/cli/src/bin/utils/load-manifest.ts 0% 0% 0% 0% 1-2, 4, 11-14, 16-22, 24-28, 30-32, 34, 36-42, 44-51, 53
packages/cli/src/bin/utils/proxy-request-logger.ts 0% 0% 0% 0% 1-3, 5, 16-34, 36
packages/cli/src/bin/utils/publishAppConfig.ts 0% 0% 0% 0% 1, 3, 9-18, 20-30, 32-33
packages/cli/src/bin/utils/requireToken.ts 0% 0% 0% 0% 1, 3-10
packages/cli/src/bin/utils/spinner.ts 0% 0% 0% 0% 1, 3-4, 6, 8-9, 11-13, 15-22, 24-27, 29-32, 34-36, 38-40, 42-44, 46-72, 75
packages/cli/src/bin/utils/tagAppBundle.ts 0% 0% 0% 0% 1, 6-15, 17-21, 23-29, 31-32
packages/cli/src/bin/utils/uploadAppBundle.ts 0% 0% 0% 0% 1, 3, 8-12, 14-18, 20-27, 29-33, 35-37, 39-43, 45-47, 49-55, 57-58
packages/cli/src/lib/app-config.ts 0% 0% 0% 0% 1, 8, 10, 12, 24-25, 27-28, 30-31, 33-43, 45-62
packages/cli/src/lib/app-manifest.ts 0% 0% 0% 0% 1-2, 9, 18, 20, 23-24, 37-38, 40, 52-53, 55-60, 62-73, 75, 83-91, 93-95, 97, 100-102, 104-114, 116-132, 134-140, 142-169, 171-189
packages/cli/src/lib/app-package.ts 0% 0% 0% 0% 1-2, 8, 11, 33-35, 37, 48-61, 63, 65-66, 68, 74-78, 80, 84-88, 90, 96-105, 107
packages/cli/src/lib/index.ts 0% 0% 0% 0% 1
packages/cli/src/lib/vite-config.ts 0% 0% 0% 0% 1, 3, 5, 7, 16, 18, 20-22, 24, 26-28, 30-31, 33-34, 36-46, 48-50, 52-64, 66-77, 79-112
packages/cli/src/lib/plugins/app-assets/app-asset-plugin.ts 0% 0% 0% 0% 1, 3-5, 7, 9, 11, 39-41, 45-47, 49, 51, 53, 55-69, 71-76, 78, 80-85, 87-110, 112
packages/cli/src/lib/plugins/app-assets/emit-asset.ts 0% 0% 0% 0% 1, 4, 6, 10, 20-24, 28-31, 33-37, 39-47, 49-51, 53-59, 61-62, 64
packages/cli/src/lib/plugins/app-assets/extension-filter-pattern.ts 0% 0% 0% 0% 1, 4-5, 7, 18-20, 22
packages/cli/src/lib/plugins/app-assets/index.ts 0% 0% 0% 0% 1
packages/cli/src/lib/plugins/app-assets/read-asset-content.ts 0% 0% 0% 0% 1, 3, 5-6, 8, 19-24, 26-27, 29-34, 36-37, 39
packages/cli/src/lib/plugins/app-assets/resolve-asset-id.ts 0% 0% 0% 0% 1-2, 6, 8, 10-22, 24, 37-45, 57-62
packages/cli/src/lib/plugins/app-assets/static.ts 0% 0% 0% 0% 1, 3, 5-15
packages/cli/src/lib/plugins/app-proxy/app-proxy-plugin.ts 0% 0% 0% 0% 1, 9, 23-24, 55, 91-125, 127-128, 130-135, 137-143, 145-156, 158
packages/cli/src/lib/plugins/app-proxy/index.ts 0% 0% 0% 0% 1
packages/cli/src/lib/plugins/external-public/external-public-plugin.ts 0% 0% 0% 0% 1-2, 4, 6, 8, 31-34, 37-39, 41, 43-52, 54, 56-68, 70-83, 85-103, 105-111, 113-121, 123
packages/cli/src/lib/plugins/external-public/index.ts 0% 0% 0% 0% 1
packages/cli/src/lib/utils/config.ts 0% 0% 0% 0% 1-2, 4, 6-10, 12, 46, 48-56, 58-59, 61-62, 64-75, 77-89, 91-95, 97-114, 116-118, 120-121, 123
packages/modules/app/src/AppClient.Selectors.ts 0% 0% 0% 0% 1, 4, 6-7, 9, 16-19, 21-22, 24-25
packages/modules/app/src/AppClient.ts 0% 0% 0% 0% 1, 3-4, 6-7, 9, 12-13, 35, 39-55, 57, 60-64, 66-82, 84-101, 103-133, 135-136, 138-139, 141, 144-159, 161-166, 169
packages/modules/app/src/AppConfig.ts 0% 0% 0% 0% 1-13, 22, 51-53, 61, 68-76, 78, 81-84, 86, 91-94
packages/modules/app/src/AppConfigurator.ts 0% 0% 0% 0% 1, 5, 9, 11, 28-29, 32, 34, 36-38, 40-46, 48-52, 54-55, 57, 59-61, 63-67, 69-71, 73-79, 81-83, 85-87
packages/modules/app/src/AppModuleProvider.ts 0% 0% 0% 0% 1, 10, 17, 22-25, 27, 29, 31, 33, 35, 37, 43-46, 48-57, 59-60, 62-63, 65, 67, 69-81, 83-92, 94, 97-100, 102-104, 106, 109-112, 114, 117-120, 122-123, 125, 128-133, 135-137, 139-141, 143, 146-150, 152-154, 157
packages/modules/app/src/enable-app-module.ts 0% 0% 0% 0% 1-2, 5, 8-22
packages/modules/app/src/index.ts 0% 0% 0% 0% 1, 14-15
packages/modules/app/src/module.ts 0% 0% 0% 0% 1, 4-5, 7, 11, 15-17, 19-21, 24-26, 30-36, 39-43, 45
packages/modules/app/src/schemas.ts 0% 0% 0% 0% 1, 3, 13-24, 28, 39-66, 68, 84-98, 100, 125-154
packages/modules/app/src/types.ts 100% 100% 100% 100%
packages/modules/app/src/app/App.ts 0% 0% 0% 0% 1, 8, 20, 23-24, 27, 29-32, 184-186, 191, 193, 195-200, 202-207, 209-214, 216-221, 223, 225-228, 230-232, 234-236, 238-240, 242-244, 246-248, 250-252, 254-256, 259, 261, 263-264, 266-267, 269-270, 272-276, 278-288, 290-298, 304-305, 307-314, 316-323, 325-332, 334-341, 343-350, 352-359, 361-368, 370-377, 379-386, 388-395, 397-404, 406-414, 416, 421-450, 452-459, 461-463, 465-467, 469-478, 480-489, 491-497, 499-507, 509-520, 522-524, 526-530, 532-548, 550-569, 571-574, 576-580, 582-591, 593-599, 601-609, 611-622, 624-645, 647-651, 656
packages/modules/app/src/app/actions.ts 0% 0% 0% 0% 1, 6, 9-18, 20-42, 44-47, 49-55, 57
packages/modules/app/src/app/create-reducer.ts 0% 0% 0% 0% 1, 6, 8, 10, 12, 16-47, 49
packages/modules/app/src/app/create-state.ts 0% 0% 0% 0% 1, 3, 5, 11-15, 17-18, 20-21, 23-24, 26-27, 29-30
packages/modules/app/src/app/flows.ts 0% 0% 0% 0% 1-2, 4, 11, 17-29, 31-37, 39-53, 55, 61-94, 96, 99-117
packages/modules/app/src/app/types.ts 100% 100% 100% 100%
packages/modules/service-discovery/src/configurator.ts 0% 0% 0% 0% 1, 7, 11, 18-21, 23-25, 27-34, 36-38, 40, 47-50, 52-56, 58, 64-66, 68-72, 74, 81-83, 85-96, 98, 110-120
packages/react/app/src/index.ts 0% 0% 0% 0% 1, 21
packages/react/app/src/useAppEnvironmentVariables.ts 0% 0% 0% 0% 1-2, 7, 9, 33-34, 36-38, 40-43, 45-49, 51-55
packages/react/app/src/feature-flag/enable-feature-flag.ts 0% 0% 0% 0% 1, 7, 12, 40, 44-47, 49, 51-77
packages/react/components/bookmark/src/components/create-bookmark/CreateBookmark.tsx 0% 0% 0% 0% 1, 3-5, 7-9, 13, 15-17, 21-26, 28, 30, 32-62, 64-76, 78-85, 88-93
packages/react/components/bookmark/src/components/edit-bookmark/EditBookmark.tsx 0% 0% 0% 0% 1, 3, 7-9, 11, 13-14, 16-17, 21-22, 25-26, 29-30, 32-35, 40-47, 49, 51-52, 54, 56-61, 63-94, 96-120, 122-129, 132-137
packages/react/framework/src/app/useApps.ts 0% 0% 0% 0% 1-3, 5, 14, 19-23, 25, 27-37, 39-40, 42
packages/react/framework/src/app/useCurrentApp.ts 0% 0% 0% 0% 1, 3, 12, 14, 21-22, 30-43, 45
packages/react/legacy-interopt/src/LegacyAppContainer.ts 0% 0% 0% 0% 1, 8, 11, 13-14, 24-28, 30-38, 42-49, 51-63, 65-83, 85-86, 88-89, 91-94, 97, 99-100, 102-105, 107-110, 112-114, 116-118, 120-122, 124-126, 128, 133-135, 137, 139, 141-150, 152-164, 166-185, 187-192, 194-204, 206-213, 215-221, 223-229, 231-232, 234-235, 237-242, 244-259, 261-264, 266-280, 282-283, 285-313, 315-317, 319-321, 323-326, 328-330, 332-335, 337-339, 341-345, 347-349, 351-353, 356-376, 379
Generated in workflow #7878 for commit 439d6d4 by the Vitest Coverage Report Action

packages/cli/TODO.md Outdated Show resolved Hide resolved
@odinr odinr merged commit e11ad64 into main Oct 15, 2024
8 checks passed
@odinr odinr deleted the next branch October 15, 2024 09:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🐞 bug Something isn't working 💾 CLI fusion framework CLI 👨🏻‍🍳 cookbooks 📚 documentation Improvements or additions to documentation 🚀 feature New feature or request 🧬 Modules 👾 React
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants