morluto
410537667e
fix(javascript): retain uncertainty for conditionally skipped writes
...
Own skipped-write interpretation at definition collection, including conditional branches, loop iterations and optional-chain arguments. Remove the narrower initializer-only representation.
Fixes #2562
2026-10-14 14:47:26 +08:00
morluto
c923fb0dc9
fix(javascript): retain compiler-dependent module resolution facts
...
Compare import and require outcomes for static TypeScript references when compiler options are unknown. Preserve branch facts through worker IR and both graph projections; retain declaration fallbacks as candidates without changing explicitly selected paths.
Validation: 210 focused resolver and semantic tests; 21 production-boundary and source-extension tests. A bounded 2,000-reference probe adds about 16–17 ms wall time for dual resolution; full task token costs and real compiled application behavior remain unmeasured.
2026-10-13 15:58:25 +08:00
morluto
1b953021ea
fix(javascript): centralize module syntax and separate erased type dependencies
2026-10-13 14:39:06 +08:00
hhang and hhang
86fab11fbe
fix(javascript): preserve import-equals declaration and export evidence ( #2062 )
...
* fix(javascript): retain TypeScript import-equals dependencies
* test(mcp): align completion checks with warm provider state
* fix(javascript): propagate require origins through exported aliases
* fix(javascript): normalize equivalent CTS binding origins
---------
Co-authored-by: hhang <169027046+xu91102@users.noreply.github.com >
2026-10-13 06:04:21 +09:00
morluto
d3088c3795
perf(javascript): reuse collected callable identities for returns
2026-10-11 13:20:16 +08:00
Ysopwnable
b28c0337fc
perf(javascript): reduce retained semantic analysis allocations ( #1601 )
...
Reduce retained semantic allocations and memoize lexical scope ancestry while preserving semantic identities. Refs #1065 and #1563 ; the complete-directory memory failure remains open.
2026-10-11 03:20:05 +08:00
Ysopwnable
782e0147cd
fix(javascript): retain returned-reference mutation uncertainty ( #1471 )
2026-10-10 15:46:24 +08:00
Rudy Mizrahi Celekli and N0zoM1z0
c29931ce81
fix(javascript): scan direct returns without recursive stack growth
...
Use the shared AST child enumeration with an explicit stack, preserving return order and nested callable boundaries.
Refs #1065 .
Co-authored-by: rudycelekli <47457359+rudycelekli@users.noreply.github.com >
Co-authored-by: N0zoM1z0 <161784452+N0zoM1z0@users.noreply.github.com >
2026-10-10 12:25:00 +08:00
You Wish
a9f5dad5a8
fix(javascript): resolve exported callables through lexical bindings ( #1351 )
...
* fix(javascript): resolve exported callables through lexical bindings
* fix(javascript): preserve export scope and hoisted writes
* test(javascript): consolidate export binding assertions
* fix(javascript): account for skipped initializers and loop binding writes
* fix(javascript): preserve parameters copied into body variables
2026-10-10 06:39:56 +08:00
morluto
0f10499245
refactor(javascript): share Babel child traversal
2026-10-10 05:13:53 +08:00
morluto
b628bba1fa
refactor(javascript): normalize erased expression syntax once
2026-10-10 01:45:01 +08:00
Rudy Celekli
e995b19f83
fix(javascript): preserve semantic evidence through satisfies
2026-10-10 01:45:00 +08:00
morluto
765e809e36
refactor: use canonical implementations and types directly
...
Remove forwarding wrappers and shadow aliases, migrate callers and verification scripts to their owners, and share one exhaustive semantic resource-bound projection.
2026-10-09 23:35:19 +08:00
morluto
ad59531a96
refactor: remove forwarding exports and redundant aliases
2026-10-09 22:46:09 +08:00
morluto
475a0f84da
fix(javascript)!: preserve property paths and uncertain slot presence
...
Use one explicit object/array slot model and JSON-pointer property identity across mutation analysis, return projection, and semantic graphs. Require observed presence for discriminants and resolve writes only through retained object or array receivers.
BREAKING CHANGE: projected return fields require explicit presence and semantic object operations carry full property paths.
2026-10-09 20:18:52 +08:00
Matt Van Horn and morluto
45e3edc17f
feat(javascript): report observed export property presence ( #1160 )
...
* feat(javascript): report observed export property presence
Extend compare_javascript_export_shapes so each retained return variant
lists observed property names and each change reports presence independently
of value resolution. Complete parent coverage classifies one-sided names as
added or removed even when static values stay unknown.
Fixes #725
* test(javascript): match unknown export-shape values by availability
Nested availability objects include a reason when values stay unresolved.
Assert availability through objectContaining so presence-only added and
removed rows still verify unknown values.
* fix(javascript): preserve uncertain export property presence and locations
* fix(javascript): normalize presence and preserve local property coverage
* fix(javascript): require present discriminants for return pairing
* fix(javascript): normalize retained shapes before comparison
* refactor(javascript): share return projection with executable examples
* fix(javascript): localize uncertainty for missing mutated slots
* fix(javascript): bind advertised export examples to exact artifacts
* fix(javascript): keep uncertain property flow as candidates
---------
Co-authored-by: morluto <76467478+morluto@users.noreply.github.com >
2026-10-09 18:30:31 +08:00
ysopwnable
f6a58f1062
refactor(javascript): group domain semantics and contracts ( #907 )
2026-10-07 17:16:58 +08:00