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; +}