Skip to content

release: tag + ship updated ~/.local/bin/affinescript binary so downstream ports pick up new prelude shims #293

@hyperpolymath

Description

@hyperpolymath

Surfaced by

standards#284 — debugging surfaced that the `affinescript` binary at `~/.local/bin/` predated #445 and silently emitted bare `walkRecursive(".")` calls (no `__as_walkRecursive` shim in the prelude). A trunk rebuild surfaced the new shims correctly.

Why this hurts

Downstream port authors (cross-repo TS->AS migration campaign #239) installed `affinescript` weeks ago and never `affinescript --version`-check before each port session. Symptoms:

  • Compiles "succeed" silently
  • Emitted `.deno.js` references undefined globals like `walkRecursive`
  • Deno run fails with `ReferenceError: walkRecursive is not defined`
  • Root cause is invisible (no version mismatch warning)

Every contributor to standards#239 / standards#252 / standards#253 / standards#254 hits this until they realise their installed binary is stale.

Proposed fix (priority order)

  1. Cut a tagged release (e.g. `v0.X.0`) that includes the post-#445 prelude shims so `mise`/`asdf`/`brew` installs land them.
  2. Embed compiler-version self-check: `affinescript --version` should print version + commit SHA + prelude-shim manifest hash; CI could verify the stdlib it ships against matches.
  3. Optional: deprecation warning when emitted output references a shim that the prelude doesn't expose (compile-time pass over generated JS for the known shim list).

Acceptance

  • `affinescript --version` reports a non-dev version
  • Releases are tagged in the repo + GitHub release page
  • Install instructions in README point to the latest tag (not `main`)
  • (Optional) Compiler self-check or warn on stale shims

Refs

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions