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

Datetimepicker Bundle Laravel Package

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.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

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.

  • Does the organization actually run a legacy Symfony application, or is this being evaluated for a Laravel codebase?
  • Which underlying JS picker does the bundle wrap, and is that library itself still maintained?
  • Is the requirement the widget's UX, the form-type convenience, or an existing date/time format contract that must be preserved?
  • What pickers already exist in the codebase, and how many distinct implementations are we maintaining today?
  • If a Symfony app exists, is it on a supported Symfony version, or is this package already uninstallable there too?

Integration Approach

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.

  1. Inventory existing date/time pickers and their inconsistencies across the estate.
  2. Run a one-day proof of concept replacing one instance with a maintained picker, including timezone and format round-tripping through the persistence layer.
  3. Codify the format, timezone, and accessibility contract once, in a single shared component.
  4. Migrate remaining instances opportunistically as screens are touched.
  5. Only revisit the original bundle if a Symfony legacy application surfaces and the framework-level migration is separately funded.

Operational Impact

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.

  • Composer resolution failure blocking CI or onboarding.
  • jQuery global collisions and script-ordering bugs in modern asset pipelines (Vite, Livewire, Turbo).
  • Timezone and format drift between picker output and model casting, surfacing as off-by-one-day defects near midnight and DST boundaries.
  • CSP violations from inline initialization scripts.
  • Silent breakage after framework or PHP upgrades, with no upstream signal.
  • Unpatched JavaScript CVEs that no advisory feed attributes to this package.
  • Accessibility regressions from pre-ARIA widget markup, creating compliance exposure.

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.

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.
mrnewport/laravel-plaid
mrnewport/laravel-repo
mrnewport/laravel-docsign
mrnewport/laravel-stow
mrnewport/laravel-flow
mrnewport/laravel-priceable
mrnewport/laravel-nestedterms
fredmeng/laravel-apidoc-generator
itstructure/laravel-multilingual-tools
pdustdar/elasticsearch
markupai/php-sdk
rlacerda83/lumem-microservice-shipment
uni-method/symfony-lib
tacticmedia/scim-server-bundle
neika-ai/symfony-bundle
mattleads/agent-publishing-bundle
glavweb/framework-bundle
glavweb/extra-bundle
glavweb/api-bundle
glavweb/admin-bundle