walkerOS v1.0.1
Changes
Add prefix support for inline JavaScript in flow.json
Values prefixed with are output as raw JavaScript instead of quoted
strings in the bundled output. This enables features like callbacks and
predicates directly in JSON configuration files.
Example:
Outputs:
Auto-detect default export for sources and destinations
Sources and destinations now automatically use their package's default export,
eliminating the need to specify for the main function.
Before (verbose):
After (simpler):
The field is now only needed for utility functions. Explicit
still works for packages without default exports.
Implicit collector: auto-add @walkeros/collector when sources/destinations exist
The CLI now automatically adds and imports
when your flow has sources or destinations. No need to declare the collector
package.
Before (verbose):
After (simpler):
You only need to specify when you want to pin a specific
version or use a local path for development.
Queue on() events until destination init completes
Destinations now receive and other lifecycle events only after
has completed. Previously, was called before , requiring
workarounds like gtag's call inside its handler.
Also renamed queue properties for clarity:
- →
- →
Fix CLI commands hanging after completion
Commands (, , ) would hang indefinitely after completing
successfully due to open handles keeping the Node.js event loop alive.
Root cause: esbuild worker threads and pacote HTTP keep-alive connections were
not being cleaned up.
Fixes:
- Add after builds to terminate worker threads
- Add explicit on successful completion for all CLI commands
Breaking change: Unified dynamic pattern syntax in Flow configuration, sorry!
New syntax:
-
- Reference definitions (replaces
)
- Reference definitions (replaces
-
- Reference variables (replaces )
- or - Reference environment variables
Migration:
| Old Syntax | New Syntax |
| --------------------------------------- | -------------------------------------- |
| | |
| | |
| or | or |
Note: Only supports defaults () because environment
variables are external and unpredictable. Variables () are explicitly
defined in config, so missing ones indicate a configuration error and will
throw.
Example:
Remove initializeGtag workaround from on() handler
The handler no longer needs to call as a
workaround. With the collector fix, is now guaranteed to run after
completes, so is always available.
Add modulePathIgnorePatterns to Jest config to prevent Haste module collisions
with cached packages
Fix simulate command JSON output to use consistent property instead of