The application graph of ledger-desk
The graph that analyze_javascript_application returns for the js-app fixture, drawn as boxes with the relation names on the arrows. Row one: the package ledger-desk loads the electron-main main.js, which contains the BrowserWindow at lines 8 to 16. Row two: main.js loads the electron-renderer index.html, the BrowserWindow loads the electron-preload preload.js, and preload.js exposes the context-bridge-api ledger with three members. Row three: preload.js invokes the ipc-channels ledger:percent-change and ledger:grade-label and sends on ledger:log. Row four: three ipc-handlers in main.js handle those channels. Row five: index.html loads the javascript-asset renderer.js, which calls the network endpoint /api/ledger/latest with fetch and persists_to the storage ledger:latest with localStorage.setItem.
ledger-desk
package, package.json
main.js
electron-main
BrowserWindow@8:17-16:4
browser-window
loads
contains
index.html
electron-renderer
ledger
context bridge, 3 members
preload.js
electron-preload
loads
loads
exposes
ledger:percent-change
ipc-channel
ledger:grade-label
ipc-channel
ledger:log
ipc-channel
sends
invokes
ledger:percent-change
handler, ipcMain.handle
ledger:grade-label
handler, ipcMain.handle
ledger:log
handler, ipcMain.on
handles
handles
handles
renderer.js
javascript-asset
/api/ledger/latest
endpoint, fetch
ledger:latest
storage, localStorage
loads
calls
persists_to