Skip to content

Declarative Support #565

@raymondfeng

Description

@raymondfeng

LoopBack manages a set of artifacts, such as models, relations, datasources, connectors, ACLs, controllers, repositories, actions, sequences, components, utility functions, and openapi specs. In addition to the programatic approach to describe these artifacts by code (apis and decorators), we would like to add declarative support so that they can be declared in JSON/YAML files.

There are multiple tasks involved:

  1. Define a LB Next definition language (DSL) in JSON/YAML format and corresponding templates. See New DSL and Template Support #120. We need to come up a list of artifacts and metadata schema for each of them.

  2. Define the project layout to organize LB next artifacts

  3. Leverage the IoC Context to manage metadata/instances of such artifacts following the extension point/extension pattern.

  4. Define the lifecycle and serialization/deserialization requirements for each type of artifact.

  5. Add @loopback/boot to discover/load/resolve/activate the artifacts. See [SPIKE] Create @loopback/boot to support declarative JSON/YAML files #441. The boot process can be tailored for both tooling and runtime.

  6. Build tools (CLI/UI) to scaffold LB next applications and render/manipulate LB next artifacts.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions