ReviewOS

home-lang/home

Close import/export-assignment parity: TS6192, duplicate bindings, verbatim export assignment

#406
Open chris opened this 9 days ago ·
9 days ago

Slice landed in 6e2b80a (refs #67 #68 #69).

  • Run full exact-mode conformance corpus with the new shadowed-declaration-root routing (`HOME_TS_CONFORMANCE_ROOT`) and flip any newly-exact fixtures
  • Verify TS6192 section-scoping against `unusedImports*` fixtures
  • Audit require-alias writable suppression for `export = namespace` targets
  • Confirm CI green on 6e2b80a
9 days ago

Current-main verification of one pinned TS6192 fixture (no source change): Home home-tsc on the exact two virtual files from unusedImports_entireImportDeclaration.ts, materialized as a.ts and b.ts with target es2015, module commonjs, noUnusedLocals true and noEmit, returned six diagnostics in the same order, codes, lines, columns and messages as the pinned typescript-go submodule baseline: TS6192 at b.ts(1,1) and (2,1); TS6133 at (4,19), (4,28), (6,17), (8,8). Exit was nonzero as expected. The binary was the existing local home-tsc on main, run under the unchanged 3840 MB guard. This verifies only that exact fixture; it does not establish all unusedImports variants, export-assignment parity, full exact conformance, or CI green. #406 stays open.

9 days ago

Pushed a226d41 (fix(ts): preserve export-equals require alias mutability). Compared against installed TypeScript 5.7.3: a real .ts owner with namespace N { export const fixed = 1; export let mutable = 2; } export = N now gives TS2540 for writes to N.fixed and a chained alias fixed property, while N.mutable remains writable. Ordinary ESM require-alias const/let behavior also matches the oracle. Added checker, Program (serial/parallel and both source orders), and CLI regressions. Guarded suites: checker 4,684/4,684; Program 416/416; CLI 80/80. Each heavy run was serial under HOME_RUN_MAX_MB=3840; observed peak tree footprints were 2,402, 2,281, and 2,255 MB respectively. The direct missing-property case still differs in message rendering: TypeScript reports typeof N, Home reports the structural type, though both report TS2339 at the same location. Full exact-mode conformance and CI are not yet verified, so this issue remains open.

Sign in to comment on this issue.