From 11388ea90b52a85f0fdd405815099628f842e77a Mon Sep 17 00:00:00 2001 From: Yura Dupyn <2153100+omedusyo@users.noreply.github.com> Date: Tue, 3 Feb 2026 18:31:50 +0100 Subject: [PATCH] typed versions object --- src/preload.ts | 8 ++++++-- src/renderer.ts | 3 ++- src/versions.ts | 7 +++++++ 3 files changed, 15 insertions(+), 3 deletions(-) create mode 100644 src/versions.ts diff --git a/src/preload.ts b/src/preload.ts index db4f8ff..ea78ec6 100644 --- a/src/preload.ts +++ b/src/preload.ts @@ -2,10 +2,14 @@ // https://www.electronjs.org/docs/latest/tutorial/process-model#preload-scripts import { contextBridge, ipcRenderer } from 'electron'; -contextBridge.exposeInMainWorld('versions', { +import { Versions } from './versions'; + +const versions: Versions = { node() { return process.versions.node; }, chrome() { return process.versions.chrome; }, electron() { return process.versions.electron; }, ping() { return ipcRenderer.invoke('ping'); } -}); +}; + +contextBridge.exposeInMainWorld('versions', versions); diff --git a/src/renderer.ts b/src/renderer.ts index 2ee55d5..cd03b6d 100644 --- a/src/renderer.ts +++ b/src/renderer.ts @@ -27,8 +27,9 @@ */ import './index.scss'; +import { Versions } from './versions'; -console.log("hello world! yooo"); +declare const versions: Versions; // preload const information = document.getElementById('info'); information.innerText = `This app is using Chrome (v${versions.chrome()}), Node.js (v${versions.node()}), and Electron (v${versions.electron()})`; diff --git a/src/versions.ts b/src/versions.ts new file mode 100644 index 0000000..2c13f17 --- /dev/null +++ b/src/versions.ts @@ -0,0 +1,7 @@ + +export type Versions = { + node: () => string; + chrome: () => string; + electron: () => string; + ping: () => Promise; +}