feat: Export TerminalCanvas, BorderStyle, and AsciiLayoutEngine - #91
Conversation
There was a problem hiding this comment.
Pull request overview
This PR formalizes nocterm’s public API surface by exporting three symbols that were already effectively public via type leakage, allowing downstream users to avoid implementation_imports of lib/src/....
Changes:
- Re-export
AsciiLayoutEnginealongside the existingAsciiLayoutConfig/AsciiLayoutResultexports. - Export
TerminalCanvasandBorderStylefrom the mainpackage:nocterm/nocterm.dartentrypoint. - Keep exports narrowly scoped via
showto avoid unintentionally widening the public surface.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
| lib/src/components/ascii_text.dart | Expands the convenience re-export to include AsciiLayoutEngine. |
| lib/nocterm.dart | Exposes TerminalCanvas and BorderStyle as first-class public API exports. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
@FXschwartz These classes are already used on public interfaces. Seems fine to export them, but this introduces some redundant imports in the code base that causes the analyze CI step to fail. Could you fix those? |
|
@nielsenko Imports removed! Ready for a final review |
There is still an analyzer failure on CI |
|
@nielsenko CI is now passing! It was an error that currently exists on main. |
Adds three already public by association symbols to nocterm's public API:
TerminalCanvasandBorderStyle(lib/nocterm.dart)AsciiLayoutEngine(lib/src/components/ascii_text.dart, next to the existingAsciiLayoutConfig/AsciiLayoutResultexports)These types are already part of nocterm's public surface but weren't exported:
Downstream packages that use these have to via
import 'package:nocterm/src/...'with// ignore: implementation_imports.This is mainly to get Copilot to stop complaining about this on our PR's 😅