Skip to content

walkerOS v1.1.0

Choose a tag to compare

@alexanderkirtzel alexanderkirtzel released this 29 Jan 16:54
· 764 commits to main since this release
624f000

Changes

Enables explicit control over transformer chain order by accepting arrays for
next and before properties, bypassing automatic chain resolution.

Array chain behavior:

Syntax Behavior
"next": "validate" Walks chain via each transformer's next property
"next": ["validate", "enrich"] Uses exact order specified, ignores transformer next

Example:

{
  "sources": {
    "http": {
      "package": "@walkeros/server-source-express",
      "next": ["validate", "enrich", "redact"]
    }
  },
  "destinations": {
    "analytics": {
      "package": "@walkeros/server-destination-gcp",
      "before": ["format", "anonymize"]
    }
  }
}

When walking a chain encounters an array next, it appends all items and stops
(does not recursively resolve those transformers' next properties).

Add inline code syntax for sources, transformers, and destinations

Enables defining custom logic directly in flow.json using code objects instead
of requiring external packages. This is ideal for simple one-liner
transformations.

Example:

{
  "transformers": {
    "enrich": {
      "code": {
        "push": "$code:(event) => ({ ...event, data: { ...event.data, enriched: true } })"
      },
      "config": {}
    }
  }
}

Code object properties:

  • push - The push function with $code: prefix (required)
  • type - Optional instance type identifier
  • init - Optional init function with $code: prefix

Rules:

  • Use package OR code, never both (CLI validates this)
  • config stays separate from code
  • $code: prefix outputs raw JavaScript at bundle time

Session detection extracted to standalone sourceSession

  • New sourceSession for composable session management
  • Browser source no longer includes session by default
  • To restore previous behavior, add sourceSession alongside browser source:
sources: {
  browser: sourceBrowser,
  session: { code: sourceSession, config: { storage: true } }
}

Add transformer support to CLI bundler

  • Detect and bundle transformer packages from flow.json configuration
  • Support transformer chaining via next field
  • Handle $code: prefix for inline JavaScript in transformer config
  • Generate proper import statements and config objects for transformers
  • Document transformer configuration in flow.json

Add default exports for simpler CLI flow.json configuration

Add array support for transformer chain configuration

Published Packages