Skip to content

Dynamically lightup of injected packages as part of application closure #2620

@gkhanna79

Description

@gkhanna79

Today, an application's closure is defined by its corresponding .deps.json file, which is statically computed and known at publish time. However, there are scenarios where certain packages may needed to be injected at runtime for them to become part of the application closure.

To support this, the entity wishing to inject packages would produce a lightup.deps.json and place it in a folder that mimic's the SharedFX layout. That is, the file will live in \Shared<SharedFXPackageName><SharedFrameworkVersion>\lightup.deps.json. The host will then be pointed to BaseFolder during application activation (either via an environment variable or command line argument) and will lookup lightup.deps.json using the SharedFX package name/version from the application's deps.json.

The contents of this file will then be part of the deps.json merge step in the host, where the app's deps.json will still override it incase of conflicting packages (like it does today for fx.deps.json).

CC @DamianEdwards @glennc @davidfowl @ramarag @cakine @eerhardt @Petermarcu @richlander @bleroy

Metadata

Metadata

Assignees

Labels

enhancementProduct code improvement that does NOT require public API changes/additions

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions