mix bloccs.gen.node (bloccs v0.10.0)

Copy Markdown View Source
mix bloccs.gen.node <name> [--kind <kind>] [--module <Base>]

Adds one node to the current Mix project: a manifest at nodes/<name>.bloccs and its implementation at lib/nodes/<name>.ex (a pure core and an effect shell). Unlike mix bloccs.new, which scaffolds a whole new project, this drops a node into an app you already have.

Options

  • --kindtransform (default), source, sink, or router. Determines the port skeleton and the effect-shell return: transform/source/router emit, a sink consumes (:drop).
  • --module — the base module for the generated node (<Base>.Nodes.<Name>). Defaults to the current app's camelized name.

Examples

mix bloccs.gen.node enrich
mix bloccs.gen.node ingest --kind source
mix bloccs.gen.node route --kind router --module MyApp

After generating, register the port schemas the node references (see your app's schema-registration module) and wire it into a network — write one by hand or run mix bloccs.gen.network.