Dendron Engine Architecture

Components

The engine is the main interface into the core dendron functions (lookup, rename, delete, etc).

Lifecycle

Initialization

This goes into details of the startup sequence when Dendron first loads

sequenceDiagram participant vscodePlugin participant EngineAPIService participant apiServer participant engine participant store participant fileSystem participant noteParser rect rgb(150, 170, 150) vscodePlugin->>EngineAPIService: creates EngineAPIService->>apiServer: initialize note right of vscodePlugin: plugin end apiServer->>engine: initialize rect rgb(150, 170, 150) note right of engine: local server engine->>store: initialize store->>fileSystem: fetchAllnotes fileSystem->>store: sendNotes; store->>noteParser: parseAllNotes noteParser->>store: parsedNotes store->>engine: return resp end engine->>apiServer: return resp rect rgb(150, 170, 150) note right of vscodePlugin: plugin apiServer->>EngineAPIService: return resp EngineAPIService->>vscodePlugin: return resp end

Trace

  • src/extension.ts: activate { Logger.configure(context, "debug") }
    - src/_extension:activate
        - ...
        - startServerProcess
    

Details

These are some implementation details for further reading

See the Video walkthrough that goes through initialization in detail

It covers the following components:

Resources:

  • See Engine for additional details

Layout

The Dendron Engine is organized into modules that are a top level folder

- src/
    - metadata/
        - service.ts
        - index.ts
        - ...
    - migration/
        - service.ts
        - index.ts
        - ...

Children
  1. History Service
  2. Seed
  3. Unified

Backlinks