908d9c0726
fix(javascript): keep export bindings out of module views ( #9486 )
...
* fix(javascript): keep export bindings out of module views
Exported symbol bindings reuse the javascript-module node kind, so the modules collection counted one row per export alongside the owning module. On a CommonJS or ESM file with N exports, inspect_analysis_view reported N+1 module units, module pages listed indistinguishable rows sharing the module path, and item selection by selector.path failed with "Multiple modules have path".
Treat a node whose observations carry semantic_role export-binding as an export of its owning module, not a module unit, and exclude it from module entries. Export bindings remain distinct graph entities for export-shape comparison and version matching.
Validation: a domain regression in analysisView.test.ts and a CLI acceptance regression over a real CommonJS analysis both fail on main and pass with this change. Also ran the analysis view, MCP boundary, CLI boundary and JavaScript acceptance suites (125 tests), npm run check:fast, and the MCP catalog schema test after regenerating .cache/mcp-tool-catalog.json.
* test(javascript): run the export-binding view case on the shared CLI
The case starts a compiled CLI process for each of its three commands,
paying startup and tool registration three times per run. The fixture
already provides a file-scoped process for calls with no stdin or explicit
timeout, so use it.
* style(javascript): format the constructed-evidence type in the module-view case
The acceptance case's inline graph type did not match what oxfmt emits for the
80-column limit, so `format:check` refused the tree. Reflow only; the assertions
are unchanged.
* style(cli): wrap the native data type path description
The `inspect-native-data-type` argument description line is 82 columns, over the repository's 80-column `.oxfmtrc.json` limit, so `npm run format:check` fails on main and on every branch merged from it. It came in with #9465 and the following commits to this file did not touch it. Reformat the one call the formatter objects to; no behaviour change.
---------
Co-authored-by: 2SinceJuly <202121119+2SinceJuly@users.noreply.github.com >
Co-authored-by: morluto <76467478+morluto@users.noreply.github.com >
2026-11-09 19:42:47 +08:00
..
2026-11-09 08:12:17 +08:00
2026-11-06 14:26:41 +08:00
2026-11-09 19:42:47 +08:00
2026-10-25 04:09:11 +08:00
2026-10-25 09:45:26 +08:00
2026-10-24 03:11:07 +08:00
2026-11-08 00:01:18 +08:00
2026-11-01 20:27:34 +08:00
2026-11-08 00:01:18 +08:00
2026-10-30 02:27:52 -07:00
2026-10-21 21:19:33 -07:00
2026-10-25 07:31:42 +08:00
2026-10-24 16:02:59 +08:00
2026-10-21 14:09:29 +08:00
2026-10-27 09:45:10 +08:00
2026-10-25 07:57:07 +08:00
2026-10-27 06:06:27 +08:00
2026-10-25 07:57:07 +08:00
2026-10-25 07:57:07 +08:00
2026-10-23 22:54:28 +08:00
2026-10-27 03:23:50 +08:00
2026-11-08 00:01:18 +08:00
2026-10-24 08:00:55 +08:00
2026-10-25 07:31:42 +08:00
2026-10-23 22:54:28 +08:00
2026-11-04 19:42:04 +08:00
2026-10-24 03:11:07 +08:00
2026-11-08 00:01:18 +08:00
2026-11-08 16:39:20 +00:00
2026-10-27 09:05:18 +08:00
2026-10-24 08:00:55 +08:00
2026-11-04 19:53:45 +08:00
2026-11-01 00:15:28 +08:00
2026-11-02 02:13:32 +08:00
2026-10-24 04:06:57 +08:00
2026-11-06 01:07:00 +08:00
2026-11-08 16:39:20 +00:00
2026-10-24 01:49:13 +08:00
2026-10-25 07:31:42 +08:00
2026-11-06 10:11:56 +08:00
2026-10-25 08:29:20 +08:00
2026-11-02 02:13:32 +08:00
2026-11-08 02:02:31 +08:00
2026-11-08 02:02:31 +08:00
2026-11-06 14:33:03 +08:00
2026-10-25 07:31:42 +08:00
2026-10-29 21:29:15 +08:00
2026-11-02 02:13:32 +08:00
2026-11-08 16:39:20 +00:00
2026-11-01 19:05:37 +08:00
2026-10-27 09:55:24 +08:00
2026-10-27 09:55:24 +08:00
2026-11-02 02:13:32 +08:00
2026-11-02 02:13:32 +08:00
2026-10-25 07:31:42 +08:00
2026-10-21 03:29:31 +08:00
2026-11-02 02:13:32 +08:00
2026-11-01 00:15:28 +08:00
2026-10-27 09:55:24 +08:00
2026-11-02 02:13:32 +08:00
2026-11-01 00:15:28 +08:00
2026-10-31 16:43:04 +08:00
2026-10-23 00:50:47 +08:00
2026-11-01 00:15:28 +08:00
2026-10-28 11:34:28 +00:00
2026-10-26 22:22:27 +08:00
2026-10-27 21:24:30 +08:00
2026-11-08 01:42:28 +08:00
2026-11-09 19:42:25 +08:00
2026-11-09 19:42:25 +08:00
2026-10-29 07:34:43 +08:00
2026-10-29 08:59:56 +08:00
2026-11-08 16:39:20 +00:00
2026-10-24 12:11:54 +08:00
2026-11-09 19:42:25 +08:00
2026-10-27 21:24:30 +08:00
2026-11-04 19:52:16 +08:00
2026-11-08 16:39:20 +00:00
2026-10-21 06:14:03 +08:00
2026-11-06 18:15:25 +08:00
2026-10-28 11:34:28 +00:00
2026-11-08 00:01:18 +08:00
2026-11-05 17:04:55 +08:00
2026-10-26 15:49:58 +08:00
2026-11-08 02:02:31 +08:00
2026-11-01 13:30:21 +08:00
2026-11-09 02:41:54 +08:00
2026-10-23 21:28:10 +08:00
2026-10-31 00:22:16 +08:00
2026-11-08 02:02:31 +08:00
2026-10-27 08:11:18 +08:00
2026-11-08 01:42:28 +08:00
2026-10-25 07:31:42 +08:00
2026-11-09 19:34:35 +08:00
2026-10-29 20:06:58 +08:00
2026-10-28 11:34:28 +00:00
2026-10-29 10:12:09 +08:00
2026-10-26 16:02:14 +08:00
2026-10-24 05:08:24 +08:00
2026-10-22 15:02:23 +08:00
2026-11-09 19:35:01 +08:00
2026-11-08 16:39:20 +00:00
2026-10-21 04:57:08 -07:00
2026-11-01 00:15:28 +08:00
2026-11-09 19:35:13 +08:00
2026-10-24 02:34:35 +08:00
2026-11-08 00:01:18 +08:00
2026-10-24 17:56:31 +08:00
2026-10-23 14:03:20 +08:00
2026-10-26 15:49:58 +08:00
2026-11-02 02:13:32 +08:00
2026-11-08 02:02:31 +08:00
2026-11-02 02:13:32 +08:00
2026-10-27 21:24:30 +08:00
2026-10-21 20:10:25 -07:00
2026-10-21 20:10:25 -07:00
2026-10-21 20:10:25 -07:00
2026-11-02 02:13:32 +08:00
2026-10-30 06:48:01 +08:00
2026-11-08 02:02:31 +08:00
2026-10-27 04:59:27 +08:00
2026-10-28 11:34:28 +00:00
2026-10-24 11:09:17 +08:00
2026-10-27 05:57:26 +08:00
2026-11-01 00:15:28 +08:00
2026-10-31 15:49:16 +08:00
2026-10-23 07:21:50 +00:00
2026-11-08 00:01:18 +08:00
2026-10-24 04:23:56 +08:00
2026-11-09 14:58:35 +08:00
2026-10-29 05:10:18 +08:00
2026-10-27 06:28:15 +08:00
2026-10-24 15:02:26 +08:00
2026-10-24 23:49:25 +08:00
2026-10-24 08:22:14 +08:00
2026-10-24 08:22:14 +08:00
2026-10-31 00:22:16 +08:00
2026-10-25 11:29:17 +08:00
2026-10-24 15:02:26 +08:00
2026-10-29 13:43:55 +08:00
2026-11-08 02:02:31 +08:00
2026-10-30 06:48:01 +08:00
2026-10-24 03:00:09 +08:00
2026-10-29 23:03:09 +08:00
2026-10-24 22:35:20 +08:00
2026-10-28 16:01:17 +08:00
2026-10-24 08:22:14 +08:00
2026-11-01 00:15:28 +08:00
2026-10-25 07:31:42 +08:00
2026-10-26 23:06:36 +08:00
2026-11-04 19:42:04 +08:00
2026-10-27 07:54:09 +08:00
2026-11-08 16:39:20 +00:00
2026-10-28 11:34:28 +00:00
2026-10-25 10:08:11 +08:00
2026-11-04 19:52:16 +08:00
2026-10-26 14:20:01 +08:00
2026-11-02 00:05:30 -08:00
2026-11-05 16:56:12 +08:00
2026-10-31 15:24:17 +08:00
2026-10-24 05:08:24 +08:00
2026-10-27 14:04:44 +08:00
2026-11-07 23:25:20 +08:00
2026-10-29 07:55:05 +08:00
2026-10-23 12:27:24 +00:00
2026-10-28 11:34:28 +00:00
2026-10-29 10:07:27 +08:00
2026-10-29 22:31:50 +08:00
2026-10-26 02:33:31 +08:00
2026-10-22 17:20:07 +08:00
2026-10-24 11:44:12 +08:00
2026-11-01 00:15:28 +08:00
2026-10-24 00:54:28 +08:00
2026-10-28 11:34:28 +00:00
2026-10-27 17:13:17 +00:00
2026-11-08 16:39:20 +00:00
2026-11-08 01:42:28 +08:00
2026-10-25 07:57:07 +08:00
2026-11-03 02:18:55 +08:00
2026-10-27 03:02:05 +08:00
2026-11-02 02:13:32 +08:00
2026-10-31 16:43:04 +08:00
2026-11-09 19:42:25 +08:00
2026-10-25 07:31:42 +08:00
2026-10-27 03:14:14 +08:00
2026-11-09 19:42:00 +08:00
2026-10-24 06:46:22 +08:00
2026-10-24 06:24:55 +08:00
2026-10-23 19:18:47 +08:00
2026-10-24 03:11:07 +08:00
2026-10-23 19:18:47 +08:00
2026-11-03 14:49:28 +08:00
2026-10-27 08:34:42 +08:00
2026-10-24 06:24:55 +08:00
2026-11-09 19:42:00 +08:00
2026-11-09 13:29:53 +08:00
2026-10-24 02:29:44 +08:00
2026-10-24 06:04:41 +08:00
2026-11-09 19:42:00 +08:00
2026-10-24 06:24:55 +08:00
2026-10-23 21:34:45 +08:00
2026-10-22 06:12:42 +08:00
2026-10-24 02:40:21 +08:00
2026-10-25 07:31:42 +08:00
2026-11-09 07:57:52 +08:00
2026-10-27 17:13:17 +00:00
2026-11-02 10:59:40 +08:00
2026-11-03 01:10:56 +08:00
2026-10-23 12:27:24 +00:00
2026-10-24 11:41:34 +08:00
2026-11-08 16:39:20 +00:00
2026-10-20 05:29:43 +08:00
2026-10-27 21:24:30 +08:00
2026-10-25 07:31:42 +08:00
2026-10-20 05:29:43 +08:00
2026-11-08 16:39:20 +00:00
2026-11-08 16:39:20 +00:00
2026-11-08 01:42:28 +08:00
2026-10-24 15:08:10 +08:00
2026-10-28 11:34:28 +00:00
2026-11-08 22:19:28 +08:00
2026-11-01 00:15:28 +08:00
2026-11-01 00:15:28 +08:00
2026-10-27 05:36:09 +08:00
2026-10-25 05:28:31 +08:00
2026-10-24 02:29:44 +08:00
2026-10-29 01:52:34 +08:00
2026-10-30 01:00:41 -07:00
2026-10-25 07:31:42 +08:00
2026-11-08 02:02:31 +08:00
2026-10-28 00:20:07 +08:00
2026-10-21 19:47:52 +08:00
2026-10-26 17:14:02 +08:00
2026-11-08 16:39:20 +00:00
2026-10-24 15:38:35 +08:00
2026-10-28 11:34:28 +00:00
2026-10-25 08:29:20 +08:00
2026-10-21 19:47:52 +08:00
2026-11-07 20:12:25 +00:00
2026-10-25 07:31:42 +08:00
2026-10-25 07:31:42 +08:00
2026-10-27 05:42:50 +08:00
2026-10-27 00:25:43 +08:00
2026-10-27 02:16:08 +08:00
2026-11-08 02:02:31 +08:00
2026-10-25 10:06:34 +08:00
2026-11-07 15:49:50 +08:00
2026-10-24 16:18:25 +00:00
2026-10-28 11:34:28 +00:00
2026-10-31 16:43:04 +08:00
2026-10-29 10:05:35 +08:00
2026-10-25 05:20:24 -07:00