Docs/Guides/Plugins

Plugin dependencies and metadata

The plugin manifest schema includes id, name, version, optional description, dependencies, extends, enabled, system, hasSetup, and author. Dependency and extension lists default…

1 min read

The plugin manifest schema includes id, name, version, optional description, dependencies, extends, enabled, system, hasSetup, and author. Dependency and extension lists default to empty arrays in the Zod schema; enabled defaults to true and system/hasSetup default to false.

Declare dependencies#

ts
const plugin = {
  manifest: {
    id: "example-reports",
    name: "Reports",
    version: "1.0.0",
    dependencies: ["example-users"],
    enabled: true,
  },
};

Use dependencies to communicate prerequisites to the plugin manager. Do not assume the host automatically installs an npm package merely because its ID appears in the manifest. Package installation, runtime registration, and plugin activation are separate concerns.

veap metadata in package.json#

The helper createManifestFromPackageJson() derives values from pkg.veap, with fallbacks to pkg.name, pkg.version, and pkg.description. The generated ID fallback strips the npm scope prefix. Set the ID explicitly for stable production plugin identity.

Configuration validation#

The plugin type system includes Zod and supports manifest schema validation. For plugin-specific settings, define a schema at your application boundary and reject invalid configuration before running lifecycle hooks.

veap
Preparing0%