Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 68b425f

Browse files
authored
feat: remove need to manually call monitorRenderer (#271)
* feat: remove need to manually call `monitorRenderer` * docs: update install instructions * docs: correct devtron import to use `@electron/devtron` * docs: remove `app.whenReady()` install example from README
1 parent 7e10e55 commit 68b425f

File tree

5 files changed

+26
-27
lines changed

5 files changed

+26
-27
lines changed

README.md

Lines changed: 2 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -16,26 +16,11 @@
1616
- In your Electron app's `main.js` (or other relevant file) add the following code to load Devtron:
1717

1818
```js
19-
// main.js
19+
//main.js
2020
const { devtron } = require('@electron/devtron');
2121
// or import { devtron } from '@electron/devtron'
2222

23-
// function createWindow() {...}
24-
25-
app.whenReady().then(() => {
26-
devtron.install();
27-
// ...
28-
});
29-
```
30-
31-
- In your Electron app's `preload.js` (or other relevant file) add the following code to load Devtron:
32-
33-
```js
34-
// preload.js
35-
const { monitorRenderer } = require('@electron/devtron/monitorRenderer');
36-
// or import { monitorRenderer } from '@electron/devtron/monitorRenderer'
37-
38-
monitorRenderer();
23+
devtron.install(); // call this function at the top of your file
3924
```
4025

4126
If Devtron is installed correctly, it should appear as a tab in the Developer Tools of your Electron app.

package.json

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,15 +8,15 @@
88
"require": "./dist/cjs/index.cjs",
99
"types": "./dist/types/index.d.ts"
1010
},
11-
"./monitorRenderer": {
12-
"import": "./dist/mjs/electron-renderer-tracker.mjs",
13-
"require": "./dist/cjs/electron-renderer-tracker.cjs",
14-
"types": "./dist/types/lib/electron-renderer-tracker.d.ts"
15-
},
1611
"./service-worker-preload": {
1712
"import": "./dist/mjs/service-worker-preload.mjs",
1813
"require": "./dist/cjs/service-worker-preload.cjs",
1914
"types": "./dist/types/lib/service-worker-preload.d.ts"
15+
},
16+
"./renderer-preload": {
17+
"import": "./dist/mjs/renderer-preload.mjs",
18+
"require": "./dist/cjs/renderer-preload.cjs",
19+
"types": "./dist/types/lib/renderer-preload.d.ts"
2020
}
2121
},
2222
"scripts": {

src/index.ts

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -116,16 +116,27 @@ async function install() {
116116
try {
117117
// register service worker preload script
118118
const dirname = __dirname; // __dirname is replaced with import.meta.url in ESM builds using webpack
119-
const filePath = createRequire(dirname).resolve('@electron/devtron/service-worker-preload');
119+
const serviceWorkerPreloadPath = createRequire(dirname).resolve(
120+
'@electron/devtron/service-worker-preload',
121+
);
122+
const rendererPreloadPath = createRequire(dirname).resolve(
123+
'@electron/devtron/renderer-preload',
124+
);
120125

121126
ses.registerPreloadScript({
122-
filePath,
127+
filePath: serviceWorkerPreloadPath,
123128
type: 'service-worker',
124-
id: 'devtron-preload',
129+
id: 'devtron-sw-preload',
130+
});
131+
132+
ses.registerPreloadScript({
133+
filePath: rendererPreloadPath,
134+
type: 'frame',
135+
id: 'devtron-renderer-preload',
125136
});
126137

127138
// load extension
128-
const extensionPath = path.resolve(filePath, '..', '..', 'extension');
139+
const extensionPath = path.resolve(serviceWorkerPreloadPath, '..', '..', 'extension');
129140
devtron = await ses.extensions.loadExtension(extensionPath, { allowFileAccess: true });
130141
await startServiceWorker(ses, devtron);
131142
console.log('Devtron loaded successfully');

src/lib/renderer-preload.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
import { monitorRenderer } from './electron-renderer-tracker';
2+
3+
monitorRenderer();

webpack.node.config.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import { DefinePlugin, type Configuration } from 'webpack';
33

44
const entryPoints = {
55
index: './src/index.ts',
6-
'electron-renderer-tracker': './src/lib/electron-renderer-tracker.ts',
6+
'renderer-preload': './src/lib/renderer-preload.ts',
77
'service-worker-preload': './src/lib/service-worker-preload.ts',
88
};
99

0 commit comments

Comments
 (0)