Description
varlock-wrangler dev can repeatedly print no-op env reload messages on macOS even when no env source file contents appear to have changed:
[varlock-wrangler] change detected in 1 env source file; reloaded env, no changes found, skipping restart.
The behavior is functionally safe because the worker is not restarted, but the repeated log line makes local dev look unstable or like some process is rewriting env files.
Steps to Reproduce
- Run a Cloudflare Worker dev command through
varlock-wrangler dev.
- Leave the dev server running without editing env files.
- Observe repeated no-op reload logs.
- In another shell, watch the env files directly:
node -e 'for (const f of [".env.schema", ".env.development"]) require("node:fs").watch(f, (event) => console.log(new Date().toISOString(), event, f))'
Observed output from that watcher:
2026-06-26T19:48:10.045Z change .env.schema
But checking the file metadata showed .env.schema was not actually rewritten or touched in the meaningful sense:
Jun 25 22:50:35 2026 1782442235 831 .env.schema
Expected Behavior
No-op watcher events should be quiet by default, or repeated no-op messages should be suppressed/coalesced. A debug-only log behind VARLOCK_DEBUG would be fine.
Actual Behavior
varlock-wrangler dev prints the no-op reload message repeatedly, e.g. four times while the project was idle:
[varlock-wrangler] change detected in 1 env source file; reloaded env, no changes found, skipping restart.
[varlock-wrangler] change detected in 1 env source file; reloaded env, no changes found, skipping restart.
[varlock-wrangler] change detected in 1 env source file; reloaded env, no changes found, skipping restart.
[varlock-wrangler] change detected in 1 env source file; reloaded env, no changes found, skipping restart.
Environment
- OS: macOS 26.5.1
- Node: v24.18.0
- varlock: 1.8.0
- @varlock/cloudflare-integration: 1.2.0
- wrangler: 4.104.0
Additional Context
The current varlock-wrangler source already accounts for this functionally by debouncing, reloading the graph, and skipping the restart when the serialized graph is unchanged. The inline comment also mentions macOS fs.watch() extra events for unchanged files. The issue is only that these expected no-op events are noisy in normal dev output.
Description
varlock-wrangler devcan repeatedly print no-op env reload messages on macOS even when no env source file contents appear to have changed:The behavior is functionally safe because the worker is not restarted, but the repeated log line makes local dev look unstable or like some process is rewriting env files.
Steps to Reproduce
varlock-wrangler dev.node -e 'for (const f of [".env.schema", ".env.development"]) require("node:fs").watch(f, (event) => console.log(new Date().toISOString(), event, f))'Observed output from that watcher:
But checking the file metadata showed
.env.schemawas not actually rewritten or touched in the meaningful sense:Expected Behavior
No-op watcher events should be quiet by default, or repeated no-op messages should be suppressed/coalesced. A debug-only log behind
VARLOCK_DEBUGwould be fine.Actual Behavior
varlock-wrangler devprints the no-op reload message repeatedly, e.g. four times while the project was idle:Environment
Additional Context
The current
varlock-wranglersource already accounts for this functionally by debouncing, reloading the graph, and skipping the restart when the serialized graph is unchanged. The inline comment also mentions macOSfs.watch()extra events for unchanged files. The issue is only that these expected no-op events are noisy in normal dev output.