Axonpack
@axonpack/expo-devtoolsReference

Console tab

Toolbar, filters, row anatomy, and the > prompt.

Mirrors console.log, .info, .warn, .error and .debug, plus output from wired-up WebView pages. Holds the 500 most recent rows.

Toolbar

ControlWhat it does
Record / ClearAs on the panel. The > prompt still answers while capture is paused.
Filter (⌕ list)Opens the filters panel.
Warn/error countsOn the right: a live count of captured warnings and errors, each in its colour.

Filters panel

FieldWhat it does
Search boxMatches the rendered text of a message.
Level chipsAll (n), Logs (n), Info (n), Warnings (n), Errors (n), Debug (n). Counts are live.
Source chipsOne per source, shown only when more than one source has logged — that is, once a WebView reports in.

A console row

ElementMeaning
Level iconInfo, warning, error and debug get a glyph and colour; warnings and errors tint the whole row.
ArgumentsOne cell per logged argument, so a message and its object stay apart. Objects and arrays render as a collapsed JSON tree; tap to expand level by level.
ErrorThe message on the row; tap to expand the full stack.
SourceWebView::[name] for browser-view output; absent for your app's own.
×nRepeat count. Consecutive identical messages from the same source collapse into one row.
TimeWall-clock time of the most recent occurrence.
CopyCopies the row's text.

The list follows the newest output and stops following the moment you scroll back, with a ⌄ button to jump to the newest again.

A row for an uncaught error links to its own crash report: tapping the message opens the report over the Console tab, while the disclosure arrow still expands the inline stack.

The > prompt

Present when the REPL is enabled through console.repl, which defaults to true in every build.

  • Type an expression and submit: your input appears as an input row (), the result as a result row (). Objects come back as the same explorable tree.
  • A returned promise shows as pending and fills in when it settles.
  • Suggestions appear as chips above the prompt as you type, including members of whatever object you are inside. Tap one to complete.
  • Tap any earlier input row to load that command back into the prompt.
  • $modules('auth') lists loaded Metro modules matching a string; $m('src/stores/auth') returns one. Both read Metro's module registry, which only a development bundle has, so in a release build they return nothing.
  • Anything passed in console.context is in scope by name.

Your app's own imports are not reachable by name: a bundled module is a private closure, so there is nothing for an expression to resolve. context is how you hand over the objects you want to poke at, and it is the only route that works in a release build.

On this page