webridge/datetimepicker-bundle
A PHP bundle that adds a configurable date and time picker to your forms, with customizable formats, localization, and simple integration for selecting dates, times, or both in a single input field with minimal setup.
What the artifact actually is. Despite being catalogued alongside Laravel/PHP packages, webridge/datetimepicker-bundle is a Symfony bundle (Webridge\DatetimepickerBundle). Its value surface is a Symfony form type plus a vendored JavaScript datetime picker and its CSS. There is no Laravel service provider, no facade, no Blade view, no config publishing, no Eloquent integration. The Laravel framing in the catalog entry is a taxonomy artifact, not a description of the package.
Architecture fit. Poor for a Laravel estate. Symfony bundle conventions — the *Bundle class, DependencyInjection/*Extension, Resources/config service wiring, and symfony/form AbstractType subclasses — have no first-class analogue in Laravel's container or validation pipeline. Porting the form-type ergonomics means rewriting them against Laravel's FormRequest/validation rules and a Blade or Livewire component. What survives a port is essentially the front-end asset and the configuration defaults: a picker library, its default options, and a date/time format convention.
Integration feasibility. The reusable core is small enough to reimplement rather than integrate. A competent Laravel developer can rebuild equivalent behavior as a Blade component wrapping a maintained picker in one to three days, with better test coverage and no legacy constraint tax. That is the realistic path; composer require is not.
Technical risk. High, and concentrated in three places. First, age: last release 2015-02-11 places it before PHP 7, before Symfony 3/4, and in the Laravel 5.x era. Composer constraints almost certainly pin symfony/form to a 2.x line and PHP to a pre-7 range, which will fail resolution on PHP 8.x without --ignore-platform-reqs or a fork. Second, transitive risk: the vendored JavaScript picker is a decade unpatched, likely jQuery-dependent, and carries its own CVEs and accessibility debt that will not be communicated by any advisory feed tied to this package. Third, zero de-risking signal: 0 stars, 0 dependents, and a composite score of 0 mean no one has validated this in production, no one is filing issues, and no one will notice when it breaks. The opportunity score of 6.59 should be read as a heuristic gap signal, not as evidence of latent quality — here the "opportunity" is the gap left by an abandoned package, which a maintained alternative fills better.
Key questions.
Stack fit. For a Laravel-first shop: not a dependency, a reference implementation. For a Symfony shop on 2.x/3.x: still a liability, since the surrounding framework is itself the larger migration problem.
Migration path. Do not install the package. Harvest it. Read the bundle once to extract (a) the identity and version of the vendored picker, (b) the default option set, and (c) the date/time format and timezone assumptions baked into the form type. Then rebuild that behavior on a maintained foundation — Flatpickr, Tempus Dominus, or the date input primitives in whatever component library is already in the design system — and wrap it exactly once as a shared, versioned UI component.
Compatibility. Assume composer require fails on a modern PHP runtime and treat any success as accidental. A fork is technically possible but transfers full ownership of both the PHP glue and the vendored JavaScript to the team, with no upstream to rebase against. That is a materially worse position than adopting a maintained library and writing a thin adapter.
Sequencing.
Maintenance. Zero upstream activity since 2015. There is no maintainer to file against, no release cadence, and no security response. If forked, the team owns patching for the PHP layer and for every transitive JavaScript dependency — a standing obligation disproportionate to the feature's value.
Support. No issue triage, no documentation beyond a decade-old README, no changelog to reason about upgrade risk. Internal support means reverse-engineering the bundle and then reverse-engineering the picker it wraps. Budget an SME who has read the source.
Scaling. The widget is client-side, so there is no server-side scaling concern. The real scaling risk is governance: without a shared component, picker implementations proliferate per team and per screen, and the date/time format contract drifts until reporting and persistence bugs appear. Consolidating on one maintained component is the scaling decision, not the framework choice.
Failure modes.
Ramp-up. Technically shallow — the package is small and readable, and a developer can understand it in hours. Organizationally steep: the cost is not learning the code, it is accepting custodianship of an abandoned dependency and the review, patching, and deprecation work that follows. Estimate two to five developer-days to fork-and-modernize, or roughly one day to reimplement against a maintained picker, plus ongoing maintenance only in the fork scenario.
Recommendation. Treat webridge/datetimepicker-bundle as documentation of a solved problem, not as a component to adopt. Harvest the configuration intent, rebuild the widget once against a maintained picker, and close the evaluation.
How can I help you explore Laravel packages today?