Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Hybrid Platform Ui Core Components Laravel Package

ezsystems/hybrid-platform-ui-core-components

Core custom elements for eZ Hybrid Platform UI, including ez-platform-ui-app, ez-navigation-hub, and ez-toolbar. Also provides an eZ.TabsMixin class expression mixin and base CSS for tab markup, enabling components to recognize and switch tabs automatically.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Framing correction (material to the decision): despite the Laravel/PHP framing, this is not a PHP package. It is a legacy front-end asset bundle — Polymer 2–era custom elements (<ez-platform-ui-app>, <ez-navigation-hub>, <ez-toolbar>) plus a class-expression mixin (eZ.TabsMixin) for tab markup, distributed as HTML Imports and Bower/npm-style static files. Any composer.json presence exists only to let eZ's PHP metapackages pin a front-end asset version. There is no PHP API, no service provider, no Laravel integration surface, and no server-side logic to evaluate. That single fact drives the entire assessment.

Architecture fit — poor. The package occupies the browser shell layer of the eZ Platform "Hybrid" admin UI (the eZ Publish 1.x → Symfony bridge era). It assumes: a Polymer 2 runtime, webcomponentsjs polyfills, HTML Imports loading, and a sibling ecosystem that supplies the data contracts for the navigation hub and toolbar (routes, menu trees, action definitions). A Laravel application built on Blade + Vite + Vue/Livewire/Inertia has no seam for any of that. The three elements are thin presentation shells; adopting this package without its sibling packages yields markup that renders but does nothing.

Integration feasibility — technically possible, strategically inert. You can copy the files under public/legacy/ and serve them, but you would be importing a deprecated loading mechanism and an obsolete component model to obtain roughly the UX value of a navbar, a sidebar, and a tab widget. The mixin pattern (class MyComponent extends eZ.TabsMixin(Polymer.Element)) also forces any host component into Polymer 2 idioms, which will not interoperate cleanly with Vue 3, Livewire, or Alpine-based components in the same page.

Technical risk — high and unfixable by you. HTML Imports were removed from Chromium in v73 (2019) and never shipped broadly elsewhere; consuming this requires a polyfill that is itself unmaintained, or a rewrite of every import. The repository is archived, Travis CI config is dead, stars and dependents are both zero, and there is no security-response channel. Maturity signal is "README and docs only" — consistent with a score of 0.13. Every defect becomes yours on day one.

Key questions to resolve before any further evaluation:

  1. Is there a maintained fork or successor (eZ Platform's later admin UI, Ibexa back office) that supersedes this? Default assumption: yes, and it is the correct target.
  2. What actually consumes this today — an existing Hybrid install you must keep alive, or nothing at all? If nothing, close the evaluation.
  3. Where do <ez-navigation-hub> and <ez-toolbar> get their data? That contract lives outside this repo and is the real integration cost.
  4. What is the license, and is it compatible with your distribution model?
  5. Is the business need the components or the admin-shell layout pattern? These are separable, and only the second has durable value.

Integration Approach

Stack fit: direct mismatch.

Dimension This package Laravel-idiomatic target
Component model Polymer 2 custom elements + HTML Imports Blade components / Vue SFCs / Livewire
Asset pipeline Bower, <link rel="import"> Vite, ES modules
Styling Shadow DOM + mixin CSS Tailwind/global CSS by convention
Data binding Polymer properties Props / JSON endpoints
Runtime cost Polyfills + Polymer Framework already in the bundle

Migration path — do not migrate this package; migrate the intent. The durable requirement is an app shell with a navigation hub, a contextual toolbar, and accessible tabbed panels. In Laravel that is: a Blade layout with named slots for nav and toolbar, a Vue or Livewire <x-tabs> component, and a small JSON endpoint (or Inertia shared props) feeding nav items from your route/permission table. That is days of work, not weeks, and produces no archived dependency.

Compatibility notes if you are compelled to run it: customElements.define is fine on evergreen browsers, but the HTML Imports layer is not; you need webcomponentsjs with the HTML Imports loader, which conflicts with bundlers that rewrite href paths. ES2015 class-expression mixins will not transpile cleanly through Vite's default target without configuration. Shadow DOM boundaries will isolate these components from your global Tailwind resets — expect visual drift.

Sequencing, if a legacy Hybrid install genuinely requires it:

  1. Confirm the consuming application and pin the exact commit; vendor the files rather than resolving a floating version.
  2. Contain it: serve the legacy shell from a dedicated route or, better, an isolated iframe/micro-frontend boundary so its polyfills and shadow DOM cannot leak into the main app.
  3. Build an explicit adapter for the nav/toolbar data contract — treat it as an anti-corruption layer, not a shared store.
  4. Instrument it (error reporting, load-failure detection) so a silent polyfill regression is visible.
  5. Open the exit ticket in the same sprint you open the adoption ticket, with a dated replacement milestone.

Operational Impact

Maintenance: Archived upstream means zero patches, zero CVE response, zero browser-compatibility work. You inherit 100% of the maintenance burden for code you did not write and cannot upstream. Budget an ongoing tax, not a one-time integration cost.

Support: No vendor, no maintainer, no community — zero stars and zero dependents is a hard signal that no one else will hit your bug first. Internal knowledge will be concentrated in whoever performs the integration; that is a bus-factor of one and a knowledge-transfer obligation.

Scaling: The static-asset side scales trivially — CDN-cacheable, no server load. The real scaling constraint is human: Polymer 2, HTML Imports, and class-expression mixins are legacy skills that new hires will not have and will not want. Headcount growth does not reduce this cost; it increases onboarding time.

Failure modes to plan for:

  • Blank admin shell when the HTML Imports polyfill fails to load or is blocked — a silent, total failure with no server-side error.
  • Double registration of custom elements when the shell is mounted twice (SPA navigation, Turbo/Livewire partial reloads) — throws and halts the module.
  • Style bleed/lockout at the shadow DOM boundary against global frameworks.
  • Path rewriting by the build tool breaking <link rel="import" href>, producing 404s only in production bundles.
  • Unpinned version drift if pulled by tag rather than commit.

Ramp-up: Estimate one to two weeks for a mid-level front-end engineer to become productive in this codebase — and the majority of that is un-learning modern patterns and re-learning the 2017 toolchain, with low residual value to the engineer or the team.

Recommendation: Do not adopt. The 0.13 score is accurate, not harsh. If an existing Hybrid Platform install mandates it, treat it as frozen legacy: vendor it, isolate it behind a boundary, instrument it, and fund a dated replacement with Blade + Vue/Livewire rather than investing in compatibility shims for an archived dependency.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
hsluv/hsluv
seampact/codegen
seampact/hooks
seampact/ir
mehedimi/laravel-amp-mail
happones/laravel-vue-i18n-generator
jwerd/inertia-table
siberfx/flysystem-wasabi
hollyit/token-replace
ippanelcom/laravel-sdk
adachsoft/changelog-linter
adachsoft/collection
payerurl/telegrambot-crypto-payment-instant-payout
dskripchenko/laravel-hybrid-search
riorizkyrainey/lara-ced
mehedimi/static-vel
zharp/zharp
nonsapiens/bigquery-model-sync
lgu-bayambang-ict-office/lgu-laravel-development-standards
andydefer/laravel-support