{"adoption": {"forks": 99, "observed_at": "2026-08-28T04:03:26.195927+00:00", "stars": 1062}, "canonical_url": "https://ross.abutalabs.com/products/vue-web-component-wrapper", "card": {"archived": false, "artifact_type": "library", "description": "(Vue 2 only) Wrap a Vue component as a web component / custom element.", "domain": ["web-development", "frontend", "developer-tools"], "enriched": true, "function": ["ui-components", "frontend-framework"], "health_score": 20, "homepage": null, "language": "JavaScript", "license": null, "license_family": "other", "maturity": "maintenance", "member_repos": ["vuejs/vue-web-component-wrapper"], "name": "vuejs/vue-web-component-wrapper", "platform": ["browser"], "pushed_at": "2023-04-20T11:34:44+00:00", "repo": "vuejs/vue-web-component-wrapper", "stars": 1062, "tags": ["vue", "web-components", "custom-elements", "vue2", "shadow-dom", "javascript", "web"], "topics": [], "urls": [], "use_cases": ["wrap a Vue component as a custom element", "use Vue components in non-Vue pages via web components", "register a Vue component with customElements.define", "embed Vue widgets in plain HTML or other frameworks", "convert Vue 2 components to standards-based custom elements"], "what_it_is": "A Vue 2 library that wraps a Vue component as a standards-based web component (custom element) so it can be registered with customElements.define and used in any page or framework. It proxies props between the custom element and the inner Vue component, including attribute-to-prop mapping and boolean casting.", "when_to_avoid": ["you are using Vue 3, which has built-in defineCustomElement", "you need IE11 support", "you need active development or official maintenance guarantees"], "when_to_choose": ["you are on Vue 2 and need to expose components as native custom elements", "you want to embed Vue components in pages or apps not built with Vue", "you need standards-based custom elements with prop/attribute proxying"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/vue-web-component-wrapper", "repo": "vuejs/vue-web-component-wrapper", "role": "main", "score": 23}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:03:26.195927+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T06:56:47.303997+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4c9a65f759f88c55686b2b153e50a8b6b7e6d89e5c82bae4de9c0d9ac1e6fcee", "fetched_at": "2026-08-28T04:03:26.195927+00:00", "kind": "readme", "missing": false, "url": "https://github.com/vuejs/vue-web-component-wrapper"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:03:26.195927+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T06:56:47.303997+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4c9a65f759f88c55686b2b153e50a8b6b7e6d89e5c82bae4de9c0d9ac1e6fcee", "fetched_at": "2026-08-28T04:03:26.195927+00:00", "kind": "readme", "missing": false, "url": "https://github.com/vuejs/vue-web-component-wrapper"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T06:56:47.303997+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4c9a65f759f88c55686b2b153e50a8b6b7e6d89e5c82bae4de9c0d9ac1e6fcee", "fetched_at": "2026-08-28T04:03:26.195927+00:00", "kind": "readme", "missing": false, "url": "https://github.com/vuejs/vue-web-component-wrapper"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:03:26.195927+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:03:26.195927+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:03:26.195927+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T06:56:47.303997+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4c9a65f759f88c55686b2b153e50a8b6b7e6d89e5c82bae4de9c0d9ac1e6fcee", "fetched_at": "2026-08-28T04:03:26.195927+00:00", "kind": "readme", "missing": false, "url": "https://github.com/vuejs/vue-web-component-wrapper"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:03:26.195927+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:03:26.195927+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T06:56:47.303997+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4c9a65f759f88c55686b2b153e50a8b6b7e6d89e5c82bae4de9c0d9ac1e6fcee", "fetched_at": "2026-08-28T04:03:26.195927+00:00", "kind": "readme", "missing": false, "url": "https://github.com/vuejs/vue-web-component-wrapper"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:03:26.195927+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:03:26.195927+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:03:26.195927+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T06:56:47.303997+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4c9a65f759f88c55686b2b153e50a8b6b7e6d89e5c82bae4de9c0d9ac1e6fcee", "fetched_at": "2026-08-28T04:03:26.195927+00:00", "kind": "readme", "missing": false, "url": "https://github.com/vuejs/vue-web-component-wrapper"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:03:26.195927+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:03:26.195927+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T06:56:47.303997+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4c9a65f759f88c55686b2b153e50a8b6b7e6d89e5c82bae4de9c0d9ac1e6fcee", "fetched_at": "2026-08-28T04:03:26.195927+00:00", "kind": "readme", "missing": false, "url": "https://github.com/vuejs/vue-web-component-wrapper"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T06:56:47.303997+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4c9a65f759f88c55686b2b153e50a8b6b7e6d89e5c82bae4de9c0d9ac1e6fcee", "fetched_at": "2026-08-28T04:03:26.195927+00:00", "kind": "readme", "missing": false, "url": "https://github.com/vuejs/vue-web-component-wrapper"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T06:56:47.303997+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4c9a65f759f88c55686b2b153e50a8b6b7e6d89e5c82bae4de9c0d9ac1e6fcee", "fetched_at": "2026-08-28T04:03:26.195927+00:00", "kind": "readme", "missing": false, "url": "https://github.com/vuejs/vue-web-component-wrapper"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T06:56:47.303997+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4c9a65f759f88c55686b2b153e50a8b6b7e6d89e5c82bae4de9c0d9ac1e6fcee", "fetched_at": "2026-08-28T04:03:26.195927+00:00", "kind": "readme", "missing": false, "url": "https://github.com/vuejs/vue-web-component-wrapper"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 8}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_license"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 3135, "days_push": 1231, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 23, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}