{"id":25412826,"url":"https://github.com/ota-insight/hero-plugins","last_synced_at":"2025-04-18T05:44:52.930Z","repository":{"id":146185918,"uuid":"617372091","full_name":"OTA-Insight/hero-plugins","owner":"OTA-Insight","description":"Plugins made to be used with Ulixee Hero","archived":false,"fork":false,"pushed_at":"2023-07-26T09:17:04.000Z","size":1462,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-02-16T13:46:49.484Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/OTA-Insight.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":"CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":"AUTHORS","dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-03-22T08:55:16.000Z","updated_at":"2023-03-22T12:56:48.000Z","dependencies_parsed_at":null,"dependency_job_id":"0b20ab97-6dff-4c7f-a11c-57626097f81b","html_url":"https://github.com/OTA-Insight/hero-plugins","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OTA-Insight%2Fhero-plugins","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OTA-Insight%2Fhero-plugins/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OTA-Insight%2Fhero-plugins/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OTA-Insight%2Fhero-plugins/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/OTA-Insight","download_url":"https://codeload.github.com/OTA-Insight/hero-plugins/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249189685,"owners_count":21227228,"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":[],"created_at":"2025-02-16T13:35:35.392Z","updated_at":"2025-04-16T03:22:40.263Z","avatar_url":"https://github.com/OTA-Insight.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# hero-plugins\n\nPlugins made to be used with [Ulixee Hero](https://github.com/ulixee/hero).\n\n## Usage\n\n### Install\n\nCurrently there is no npm version yet, to install use a built from a github `-js-branch`. \nAdd this in package.json, using a commit from a javascript built branch.\n```\n\"hero-plugins\": \"https://github.com/OTA-Insight/hero-plugins.git#commit=dc2e3266bd7ccca1f2c92dd740552f33e8faddef\",\n```\n\n### Usage\n\nEvery plugin can be enabled separately in Hero using this code:\n\n```\nhero.use(require.resolve('hero-plugins/lib/Animations'));\n```\n\nFor everything to work in typescript a bare import is needed, importing directly can also be done but then typings won't work across packages, so it is not recommended.\n\n```\nimport 'hero-plugins/lib/Animations';\n```\n\nFor plugin specific functionality see the interfaces folder.\n\n### Development\n\nWe are using yarn V3, not make everything work with your editor use:\n\n```\nyarn dlx @yarnpkg/sdks vscode\nyarn dlx @yarnpkg/sdks ...\n```\n\n## Plugins\n\n### Animations\n\nPlugin that can be used to pause animations, mainly useful for taking screenshots. The way chrome takes screenshots, triggers animations again which could result in inconsistent images when taking screenshots without this plugin.\n\n\u003e WARNING: The current implementation is detectable by the webpage if they are looking at DOM changes.\n\n### SessionDb\n\nPlugin that can be used to easily use and reuse a sessionDb attached to and within a Hero instance (session).\nThe returned SessionDb is fully typed and allows you to access read-only data from the sessionDb,\nsuch as the fetched resources and socket information.\n\nExample usage:\n\n```typescript\nconst sessionDb = await hero.readSessionDb();\n\nconst socketRecords = sessionDb.sockets.all();\n// ... e.g. can be used to store the relevant info from the sockets as TCP connections\n\nconst resources = sessionDb.resources.all();\n// ... e.g. can be used to store the relevant info from the sockets as Http Requests\n```\n\n## Testing\n\nCurrently there are no tests implemented. As this library grows/matures tests will be added.\n\n## Contributing\n\nContributions are welcome. Please, see [the CONTRIBUTING document](./CONTRIBUTING.md) for details.\n\nPlease note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms. See [Contributor Code of Conduct](./CONTRIBUTING.md#contributor-code-of-conduct) for more information.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fota-insight%2Fhero-plugins","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fota-insight%2Fhero-plugins","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fota-insight%2Fhero-plugins/lists"}