Skip to content

docs: regenerate API reference + .d.ts to match manifest#1003

Merged
proggeramlug merged 1 commit into
mainfrom
chore/regen-api-docs
May 18, 2026
Merged

docs: regenerate API reference + .d.ts to match manifest#1003
proggeramlug merged 1 commit into
mainfrom
chore/regen-api-docs

Conversation

@proggeramlug
Copy link
Copy Markdown
Contributor

Summary

PRs #966, #967, #982, and #984 added entries to
perry-api-manifest::API_MANIFEST (stream EventEmitter instance
methods, stream.prototype, lodash
inRange/max/maxBy/mean/meanBy/min/minBy/random/sum/sumBy/tail)
but didn't rerun ./scripts/regen_api_docs.sh. The api-docs-drift
gate has been red on every PR that lands on top — including #947, which
doesn't touch the manifest at all. This is the same shape of stale-on-main
blocker that #958 cleared for cargo-test earlier.

Mechanical regen, no manifest edits.

  • Coverage: 870 → 898 entries across 71 modules.
  • Files: docs/api/perry.d.ts, docs/src/api/reference.md.

Test plan

PRs #966, #967, #982, #984 added entries to perry-api-manifest::API_MANIFEST
(stream EventEmitter instance methods, stream.prototype, lodash
inRange/max/maxBy/mean/meanBy/min/minBy/random/sum/sumBy/tail) without
rerunning ./scripts/regen_api_docs.sh. Drift has been blocking the
api-docs-drift gate on every subsequent PR; unblocking the next batch.

Coverage moves from 870 → 898 entries across 71 modules. Mechanical
regen, no manifest edits.
@proggeramlug proggeramlug merged commit 106c8dc into main May 18, 2026
7 of 9 checks passed
@proggeramlug proggeramlug deleted the chore/regen-api-docs branch May 18, 2026 08:34
proggeramlug added a commit that referenced this pull request May 18, 2026
…1009)

PR #973 lowered bare built-in idents (`Promise`, `Array`, `Date`, ...)
as `PropertyGet { GlobalGet(0), name }` so they route through the
globalThis singleton closure path. Two codegen call sites that
specialize `.then()` dispatch were still pattern-matching the legacy
`Expr::GlobalGet(_)` shape only:

- `type_analysis::is_promise_expr` for `Promise.resolve/reject/all/race/
  allSettled/any(...)` and `Array.fromAsync(...)`.
- `lower_call.rs`'s fused `Promise.resolve(x).then(cb)` fast path that
  routes to `js_promise_resolved_then`.

When `is_promise_expr` returned false, `.then(cb)` fell through to the
generic native method dispatch which doesn't enqueue the callback —
microtask-02..07 and edge-promises went silent in compile-smoke's
Native no-fallback gate, and on Linux V8 surfaced the same shape as
`TypeError: then is not a function`. The Native gate had been red on
every PR since #973 (admin-bypassed on #997 / #1000 / #1003 / #1004).

Extract `type_analysis::is_global_builtin_named(expr, name)` that
matches both shapes (legacy `GlobalGet(_)` and the post-#973
`PropertyGet { GlobalGet(0), name }`) and route both call sites
through it.

Validation: `scripts/run_native_no_fallback_tests.sh` — 35 passed, 0
failed (was 28/7 pre-fix).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant