Community Fix Sprint 2 — five more bugs
Sprint 2 keeps the momentum: five more confirmed bugs fixed — from the Wing Console file browser to the compiler's parser.
Running down the triaged backlog, sprint 2 widened the net to the whole project: the CLI, the Wing Console, and the compiler.
WING_VALUES_FILE is not nil when --values is absent
Fixed in #7279. When no --values FILE was passed, WING_VALUES_FILE was set to an empty string rather than being unset, so WING_VALUES_FILE ?? ... style code didn't treat it as missing. It's now genuinely absent when not provided.
Files uploaded to a bucket as base64
Fixed in #7280. Uploading a Wing source file through the Wing Console file browser stored it base64-encoded because Wing's .w extension wasn't recognized as text. Text and source files now upload as plain text; binary files stay encoded.
Unknown parser error on a redundant semicolon
Fixed in #7281. A stray ; (or trailing ;;; after a statement) produced an opaque Unknown parser error. The grammar now accepts an empty statement, so log("cool beans");;;;;; compiles fine.
Generated TypeScript definitions and variadic arguments
Fixed in #7282. Variadic parameters in generated extern .d.ts annotations were emitted as a regular array argument; they're now true TypeScript variadics (...args: T[]).
ReferenceError from a variable referencing itself
Fixed in #7283. Code like let body = "${body}world" used to die at runtime with ReferenceError: Cannot access 'body' before initialization. The compiler now catches it up front with a clear diagnostic explaining that the variable doesn't exist until after its initializer runs.
Five more fixes on main, each with tests. The backlog is digit-by-digit. Want to help? The next candidates are tagged on the issues list.