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

Spikes for extension infrastructure #1034

Closed
4 tasks
dhmlau opened this issue Feb 22, 2018 · 4 comments
Closed
4 tasks

Spikes for extension infrastructure #1034

dhmlau opened this issue Feb 22, 2018 · 4 comments

Comments

@dhmlau
Copy link
Member

dhmlau commented Feb 22, 2018

Per discussion with @kjdelisle and @raymondfeng, created this epic.

  • to make sure we have consistent extension points/extension
  • Raymond has a few PRs created

Scope (for 4.0 GA)

For GA, do a spike story to confirm feasibility of each of the following extension use cases:

@raymondfeng
Copy link
Contributor

raymondfeng commented Mar 22, 2018

Related issues:

Related PRs:

@raymondfeng
Copy link
Contributor

Some context from the @loopback/boot discussion:

A typical LoopBack 4 application will be composed from multiple components. A component is the basic unit and it has both deployment and runtime views. The deployment view is module while the runtime view is context. A component can be the main application module, an embedded local module, or an installed npm module. I want to have main component to represent the application module to make it consistent. The relation is illustrated below:

App

Each component can have declarative artifacts as well as programatic contributions. The bootstrapper can boot components so that declarative constructs can be populated in the context. The boot process connects the deployment view to the runtime view.

The Application coordinates the composition of components. For example, app.boot() will locate a list of components (including the main one by the application module) and use the Bootstrapper to boot the components. Please note each component has a reference to the containing module and corresponding metadata from package.json or other files. The module metadata provides configuration such as project root and project layout version for the boot. An instance of Context is created per component. After boot, the component context is fully populated. The application can then compose all component contexts into app context (by merging or delegations).

@stale
Copy link

stale bot commented Sep 20, 2019

This issue has been marked stale because it has not seen activity within six months. If you believe this to be in error, please contact one of the code owners, listed in the CODEOWNERS file at the top-level of this repository. This issue will be closed within 30 days of being stale.

@stale stale bot added the stale label Sep 20, 2019
@stale
Copy link

stale bot commented Oct 20, 2019

This issue has been closed due to continued inactivity. Thank you for your understanding. If you believe this to be in error, please contact one of the code owners, listed in the CODEOWNERS file at the top-level of this repository.

@stale stale bot closed this as completed Oct 20, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants