{"id":21748249,"url":"https://github.com/electron-modules/electrom","last_synced_at":"2025-04-13T07:13:07.308Z","repository":{"id":37981654,"uuid":"314995149","full_name":"electron-modules/electrom","owner":"electron-modules","description":"Electrom is a resource management solution for Electron applications, which is convenient for performance management and friendly debugging of multiple windows.","archived":false,"fork":false,"pushed_at":"2023-03-21T14:47:03.000Z","size":2908,"stargazers_count":30,"open_issues_count":0,"forks_count":2,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-04-13T07:12:59.103Z","etag":null,"topics":["electron","monitor","process-manager"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/electron-modules.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-11-22T08:48:59.000Z","updated_at":"2024-03-19T14:49:54.000Z","dependencies_parsed_at":"2024-06-21T03:39:15.723Z","dependency_job_id":"ac962de4-a210-419d-a0f7-5405a1fbe654","html_url":"https://github.com/electron-modules/electrom","commit_stats":{"total_commits":71,"total_committers":6,"mean_commits":"11.833333333333334","dds":0.2816901408450704,"last_synced_commit":"dce46506232c11c3cb8b1b51ea1707bc05a2f305"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/electron-modules%2Felectrom","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/electron-modules%2Felectrom/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/electron-modules%2Felectrom/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/electron-modules%2Felectrom/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/electron-modules","download_url":"https://codeload.github.com/electron-modules/electrom/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248675422,"owners_count":21143768,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["electron","monitor","process-manager"],"created_at":"2024-11-26T08:12:46.203Z","updated_at":"2025-04-13T07:13:07.264Z","avatar_url":"https://github.com/electron-modules.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# electrom\n\n[![NPM version][npm-image]][npm-url]\n[![CI][CI-image]][CI-url]\n[![Test coverage][codecov-image]][codecov-url]\n[![node version][node-image]][node-url]\n[![npm download][download-image]][download-url]\n\n[npm-image]: https://img.shields.io/npm/v/electrom.svg\n[npm-url]: https://npmjs.org/package/electrom\n[CI-image]: https://github.com/electron-modules/electrom/actions/workflows/ci.yml/badge.svg\n[CI-url]: https://github.com/electron-modules/electrom/actions/workflows/ci.yml\n[codecov-image]: https://img.shields.io/codecov/c/github/electron-modules/electrom.svg?logo=codecov\n[codecov-url]: https://codecov.io/gh/electron-modules/electrom\n[node-image]: https://img.shields.io/badge/node.js-%3E=_8-green.svg\n[node-url]: http://nodejs.org/download/\n[download-image]: https://img.shields.io/npm/dm/electrom.svg\n[download-url]: https://npmjs.org/package/electrom\n\n\u003e Electrom is a resource management solution for Electron applications, which is convenient for performance management and friendly debugging of multiple windows.\n\n![](./demo.gif)\n\n\u003c!-- GITCONTRIBUTOR_START --\u003e\n\n## Contributors\n\n|[\u003cimg src=\"https://avatars.githubusercontent.com/u/1011681?v=4\" width=\"100px;\"/\u003e\u003cbr/\u003e\u003csub\u003e\u003cb\u003exudafeng\u003c/b\u003e\u003c/sub\u003e](https://github.com/xudafeng)\u003cbr/\u003e|[\u003cimg src=\"https://avatars.githubusercontent.com/u/2226423?v=4\" width=\"100px;\"/\u003e\u003cbr/\u003e\u003csub\u003e\u003cb\u003eyantze\u003c/b\u003e\u003c/sub\u003e](https://github.com/yantze)\u003cbr/\u003e|[\u003cimg src=\"https://avatars.githubusercontent.com/u/17586742?v=4\" width=\"100px;\"/\u003e\u003cbr/\u003e\u003csub\u003e\u003cb\u003esriting\u003c/b\u003e\u003c/sub\u003e](https://github.com/sriting)\u003cbr/\u003e|[\u003cimg src=\"https://avatars.githubusercontent.com/u/52845048?v=4\" width=\"100px;\"/\u003e\u003cbr/\u003e\u003csub\u003e\u003cb\u003esnapre\u003c/b\u003e\u003c/sub\u003e](https://github.com/snapre)\u003cbr/\u003e|\n| :---: | :---: | :---: | :---: |\n\n\nThis project follows the git-contributor [spec](https://github.com/xudafeng/git-contributor), auto updated at `Tue May 03 2022 11:32:04 GMT+0800`.\n\n\u003c!-- GITCONTRIBUTOR_END --\u003e\n\n## Installment\n\n```shell\nnpm i electrom --save-dev\n```\n\n## How to use\n\nPlease visit the demo code\n\n- [./example/main.ts](./example/main.ts)\n- [electron-modules/electron-windows/blob/master/app/electrom.js](https://github.com/electron-modules/electron-windows/blob/master/app/electrom.js)\n\n```typescript\n// main process: import electrom\nimport {\n  EVENT_DATA_CHANNEL_NAME,\n  BROWSER_WINDOW_PRELOAD_PATH,\n  Monitor,\n} from 'electrom';\n\nconst monitor = new Monitor();\n/**\n * Please set this script's path as `webPreferences.preload` of `BrowserWindow`.\n * {\n *   preload: BROWSER_WINDOW_PRELOAD_PATH\n * }\n */\nmainWindow.webContents.on('dom-ready', () =\u003e {\n  monitor.on(EVENT_DATA_CHANNEL_NAME, (data: any) =\u003e {\n    mainWindow.webContents.send(EVENT_DATA_CHANNEL_NAME, data);\n  });\n  monitor.bindEventToWindow(mainWindow);\n  monitor.start();\n});\n```\n\n## Perf Board\n\nYou can use the Perf-Board standalone in your front-end.\n\n```javascript\nimport React from 'react';\nimport PerfBoard from 'electrom/src/PerfBoard';\n\nfunction() {\n  return (\n    \u003cPerfBoard /\u003e\n  );\n}\n```\n\n## TODO\n\n- [ ] heapdump\n\n## License\n\nThe MIT License (MIT)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Felectron-modules%2Felectrom","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Felectron-modules%2Felectrom","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Felectron-modules%2Felectrom/lists"}