{"id":20826535,"url":"https://github.com/upsetjs/cytoscape.js-bubblesets","last_synced_at":"2025-07-23T18:33:14.137Z","repository":{"id":46229750,"uuid":"270256085","full_name":"upsetjs/cytoscape.js-bubblesets","owner":"upsetjs","description":"Cytoscape.js Bubblesets plugin","archived":false,"fork":false,"pushed_at":"2025-03-01T21:44:36.000Z","size":6416,"stargazers_count":30,"open_issues_count":9,"forks_count":7,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-06-22T00:39:26.856Z","etag":null,"topics":["bubblesets","cytoscape","cytoscapejs","cytoscapejs-extension","javascript"],"latest_commit_sha":null,"homepage":"https://js.cytoscape.org/#extensions/ui-extensions","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/upsetjs.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","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,"zenodo":null},"funding":{"github":["sgratzl"]}},"created_at":"2020-06-07T09:27:01.000Z","updated_at":"2024-11-29T15:52:43.000Z","dependencies_parsed_at":"2024-06-09T00:07:59.211Z","dependency_job_id":"1653d534-85fd-4dc9-8162-09b25ba4acb6","html_url":"https://github.com/upsetjs/cytoscape.js-bubblesets","commit_stats":{"total_commits":65,"total_committers":4,"mean_commits":16.25,"dds":"0.12307692307692308","last_synced_commit":"2ba3dcd20a70bfad87b74ea7bed5b9d9fabec9d9"},"previous_names":[],"tags_count":10,"template":false,"template_full_name":null,"purl":"pkg:github/upsetjs/cytoscape.js-bubblesets","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/upsetjs%2Fcytoscape.js-bubblesets","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/upsetjs%2Fcytoscape.js-bubblesets/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/upsetjs%2Fcytoscape.js-bubblesets/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/upsetjs%2Fcytoscape.js-bubblesets/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/upsetjs","download_url":"https://codeload.github.com/upsetjs/cytoscape.js-bubblesets/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/upsetjs%2Fcytoscape.js-bubblesets/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266501006,"owners_count":23939160,"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","status":"online","status_checked_at":"2025-07-22T02:00:09.085Z","response_time":66,"last_error":null,"robots_txt_status":null,"robots_txt_updated_at":null,"robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["bubblesets","cytoscape","cytoscapejs","cytoscapejs-extension","javascript"],"created_at":"2024-11-17T23:09:24.811Z","updated_at":"2025-07-23T18:33:14.045Z","avatar_url":"https://github.com/upsetjs.png","language":"TypeScript","funding_links":["https://github.com/sponsors/sgratzl"],"categories":[],"sub_categories":[],"readme":"# Cytoscape.js BubbleSets Plugin\n\n[![NPM Package][npm-image]][npm-url] [![Github Actions][github-actions-image]][github-actions-url] [![Cytoscape Plugin][cytoscape-image]][cytoscape-url]\n\nA [Cytoscape.js](https://js.cytoscape.org) plugin for rendering [Bubblesets](https://github.com/upsetjs/bubblesets-js).\n\n![Euler Example](https://user-images.githubusercontent.com/4129778/83965199-249aef00-a8b2-11ea-866e-4b0207c7b446.png)\n\n## Install\n\n```sh\nnpm install cytoscape cytoscape-layers cytoscape-bubblesets\n```\n\n## Usage\n\nsee [Samples](./samples) on Github\n\nor at this [![Open in CodePen][codepen]](https://codepen.io/sgratzl/pen/RwQdBLY)\n\n```js\nimport cytoscape from 'cytoscape';\nimport BubbleSets from 'cytoscape-bubblesets';\ncytoscape.use(BubbleSets);\n\nconst cy = cytoscape({\n  container: document.getElementById('app'),\n  elements: [\n    { data: { id: 'a' } },\n    { data: { id: 'b' } },\n    {\n      data: {\n        id: 'ab',\n        source: 'a',\n        target: 'b',\n      },\n    },\n  ],\n});\ncy.ready(() =\u003e {\n  const bb = cy.bubbleSets();\n  bb.addPath(cy.nodes(), cy.edges(), null);\n});\n```\n\n![image](https://user-images.githubusercontent.com/4129778/83965802-8cebcf80-a8b6-11ea-9481-1744521fe8a1.png)\n\nAlternative without registration\n\n```js\nimport cytoscape from 'cytoscape';\nimport { BubbleSetsPlugin } from 'cytoscape-bubblesets';\n\nconst cy = cytoscape({\n  container: document.getElementById('app'),\n  elements: [\n    { data: { id: 'a' } },\n    { data: { id: 'b' } },\n    {\n      data: {\n        id: 'ab',\n        source: 'a',\n        target: 'b',\n      },\n    },\n  ],\n});\ncy.ready(() =\u003e {\n  const bb = new BubbleSetsPlugin(cy);\n  bb.addPath(cy.nodes(), cy.edges(), null);\n});\n```\n\n## API\n\n- `addPath(nodes: NodeCollection, edges?: EdgeCollection | null, avoidNodes?: NodeCollection | null, options?: IBubbleSetPathOptions): BubbleSetPath`\n\n  creates a new `BubbleSetPath` instance. The `nodes` is a node collection that should be linked. `edges` an edge collection to include edges. `avoidNodes` is an optional node collection of nodes that should be avoided when generating the outline and any virtual edge between the nodes.\n\n- `removePath(path: BubbleSetPath)`\n\n  removes a path again\n\n- `getPaths(): readonly BubbleSetPath[]`\n\n  returns the list of active paths\n\n## Development Environment\n\n```sh\nnpm i -g yarn\nyarn set version latest\ncat .yarnrc_patch.yml \u003e\u003e .yarnrc.yml\nyarn\nyarn pnpify --sdk vscode\n```\n\n### Common commands\n\n```sh\nyarn compile\nyarn test\nyarn lint\nyarn fix\nyarn build\nyarn docs\nyarn release\nyarn release:pre\n```\n\n[npm-image]: https://badge.fury.io/js/cytoscape-bubblesets.svg\n[npm-url]: https://npmjs.org/package/cytoscape-bubblesets\n[github-actions-image]: https://github.com/upsetjs/cytoscape.js-bubblesets/workflows/ci/badge.svg\n[github-actions-url]: https://github.com/upsetjs/cytoscape.js-bubblesets/actions\n[cytoscape-image]: https://img.shields.io/badge/Cytoscape-plugin-yellow\n[cytoscape-url]: https://js.cytoscape.org/#extensions/ui-extensions\n[codepen]: https://img.shields.io/badge/CodePen-open-blue?logo=codepen\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fupsetjs%2Fcytoscape.js-bubblesets","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fupsetjs%2Fcytoscape.js-bubblesets","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fupsetjs%2Fcytoscape.js-bubblesets/lists"}