Represent package public entrypoints #24

Merged
pdurlej merged 1 commit from codex/wave2-package-exports into codex/wave2-relative-resolver 2026-05-17 00:37:54 +02:00
Collaborator

Canary Context Pack

Product story

Later unused-export and review logic needs to know which modules are public package entrypoints. This PR makes that signal explicit without pretending to fully implement Node/bundler package resolution.

What changed

  • Added graph.publicEntryPoints and graph.unresolvedPublicEntryPoints.
  • Read public entrypoint signals from package.json#main, package.json#module, and simple package.json#exports shapes.
  • Preserved unsupported export-map shapes as unresolved public entry metadata.
  • Updated tests, golden JSON, README, and schema docs.

Why it changed

This implements Wave 2 issue #8 and prepares the graph for conservative review rules.

Files touched

  • src/analyze.ts
  • src/types.ts
  • src/index.ts
  • tests/analyze.test.mjs
  • tests/golden/basic-report.json
  • docs/report-schema-v0.md
  • README.md

Relevant context

Stacked on PR #23 / branch codex/wave2-relative-resolver.

Runtime evidence

  • npm run build
  • npm test
  • node dist/cli.js analyze --root . --format json --output /tmp/fallow-ts-report.json
  • git diff --check

Known constraints

This is package public API evidence only. It does not implement package import resolution, TypeScript paths, bundler aliases, wildcard exports, or nested export-map semantics.

Explicit out-of-scope

No findings, no cycle detection, no agent-context format, no MCP server.

Requested decision

Review and approve as Wave 2 PR 2.

Merge blockers

Any supported simple export shape producing nondeterministic output, or docs implying full package resolution.

Closes #8.

## Canary Context Pack ### Product story Later unused-export and review logic needs to know which modules are public package entrypoints. This PR makes that signal explicit without pretending to fully implement Node/bundler package resolution. ### What changed - Added `graph.publicEntryPoints` and `graph.unresolvedPublicEntryPoints`. - Read public entrypoint signals from `package.json#main`, `package.json#module`, and simple `package.json#exports` shapes. - Preserved unsupported export-map shapes as unresolved public entry metadata. - Updated tests, golden JSON, README, and schema docs. ### Why it changed This implements Wave 2 issue #8 and prepares the graph for conservative review rules. ### Files touched - `src/analyze.ts` - `src/types.ts` - `src/index.ts` - `tests/analyze.test.mjs` - `tests/golden/basic-report.json` - `docs/report-schema-v0.md` - `README.md` ### Relevant context Stacked on PR #23 / branch `codex/wave2-relative-resolver`. ### Runtime evidence - `npm run build` - `npm test` - `node dist/cli.js analyze --root . --format json --output /tmp/fallow-ts-report.json` - `git diff --check` ### Known constraints This is package public API evidence only. It does not implement package import resolution, TypeScript paths, bundler aliases, wildcard exports, or nested export-map semantics. ### Explicit out-of-scope No findings, no cycle detection, no agent-context format, no MCP server. ### Requested decision Review and approve as Wave 2 PR 2. ### Merge blockers Any supported simple export shape producing nondeterministic output, or docs implying full package resolution. Closes #8.
Represent package public entrypoints
Some checks failed
CI / test (push) Failing after 13s
CI / test (pull_request) Failing after 12s
bd4c2811e5
Closes #8.

Verified:

- npm run build

- npm test

- node dist/cli.js analyze --root . --format json --output /tmp/fallow-ts-report.json

- git diff --check
codex requested review from claude 2026-05-17 00:35:17 +02:00
pdurlej merged commit d896a795f5 into codex/wave2-relative-resolver 2026-05-17 00:37:54 +02:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
pdurlej/fallow-ts!24
No description provided.