Repository navigation
Addition
- #2004 Hono, the first web framework the graph models: TypeScript and JavaScript apps built on Hono get their request handling as rows and edges
- a route table: every verb,
on,allandroute()registration with its full path, sub-apps included - the middleware chain in front of each route, in order
- context keys: each
c.setlinked to thec.get/c.varreads it feeds - typed-client (
hc) and test-request links to the route they reach, and validator schemas linked to the handler that reads them - call chains from the handler into the services it uses; what the rules cannot decide is a row naming the reason
- call chains complete end to end 0.777 → 0.942 (dev) and 0.609 → 0.665 (held out); request chains 0.837 → 0.946 and 0.548 → 0.613; chain-edge precision unchanged, no refuted edge added hono
- a route table: every verb,
Improvements
- #2014 hono: Hono imported by its JSR name (
@hono/hono/<sub>, as an import map key or afterjsr:) is Hono, and a route builder's{ route, handler }registered throughapp.openapiis a route. On a Deno app keyed by the JSR name, middleware 0 → 8 and endpoints guarded by authentication 1 → 20; on an app registering through a builder, routes 1 → 13 hono - #2010 typescript: a destructured parameter typed by its context (
const poll: (ctx: Ctx) => R = async ({ utils }) => utils.http(..), or an arrow in an object literal passed to a typed parameter) takes its member's type. On a 1.9k-file Deno repo, resolved calls 7,410 → 8,923 and hook calls of the HTTP helper 0 / 198 → 194 / 198, no edge lost typescript - #2011 typescript: a name destructured from a value typed by an object type literal (
function g({ port }: { port: Port })) takes its member's type, so calls on it resolve like the member access beside it typescript - #2002 typescript: five callee shapes the compiler names now resolve: construction through a shape, a function-typed const read off a namespace, a member chain through inline types,
ThisType, and a bound method (p.tag.bind(p)). Held-out projects: +10 exact, −1 wrong, −12 missed of 19,514 sites; no site got worse; solve time within noise typescript - typescript: arithmetic results (
-,*,**, bitwise, unary) are numbers or bigints,a ?? banda || bkeep the operand's type, and a const declared in a namespace has its declared type, so calls on all three resolve and overloads taking their result pick correctly typescript - #1910 csharp: a relative qualified name (
Models.Report) is read from the namespaces enclosing the site, innermost first, so a file declaring severalModelsnamespaces no longer binds it to all of them csharp
Bugs
- #2007 mcp: a call the CLI could not carry out came back as an ordinary answer; it is now a tool error (
isError: true) with the same words, so the client sees the failure and the model still reads the correction mcp - link: two links from one call site to two different arrow functions or lambdas collapsed into one. Links are now keyed on the target's declaration, and
--removetakes afile:lineand refuses a name that covers more than one declaration link
Build and release
- TypeScript suite: case 99's expected gaps were closed by #2011 and are now part of the golden output ci
- #2013, #2016 merged the 0.2.3 branch into dev and cut the 0.2.3 release; every package and plugin manifest is at 0.2.3 (the parser keeps its own version) release
Contributors
@swapnilpaliwal-sd @JaredHLZhang @G6KlayWang @suyashpaliwal26 @Whua689