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

Laravel Chronos Laravel Package

healthengine/laravel-chronos

Chronos, from HealthEngine, gives Laravel apps control over the clock: freeze, travel to, or shift time in your application and test suite so date-dependent logic stays deterministic. Ideal for testing scheduled jobs, expiries, and time-sensitive features.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Build vs. buy vs. fork on the date/time layer. This package is best treated as a reference implementation, not a dependency. It informs whether our team should invest in standardizing date/time primitives (Chronos) across services or accept Carbon as the default. That's a build/maintain decision with an ongoing cost, not a one-time install.
  • Establishing an immutability default. Chronos is immutable by design; Carbon is mutable by default (with CarbonImmutable as an opt-in). If post-incident reviews or bug triage show a recurring class of "date object mutated unexpectedly" defects, this package is evidence that a swap is technically feasible in Laravel — and a starting point for scoping that work.
  • Multi-framework / polyglot PHP portfolio consolidation. The strongest legitimate use case: if we run CakePHP (where Chronos originates) alongside Laravel, a shared date library reduces duplicated conventions and shared-package friction. This package is the Laravel-side adapter for that strategy.
  • Evaluating framework coupling as a roadmap constraint. Reading this package tells us how deeply Laravel binds Carbon (Eloquent casts, now(), validation, serialization). That's an input to upgrade planning: any Laravel major-version bump has a blast radius defined by how much we deviate from framework defaults.
  • De-risking vendor/OSS dependency choices. With 3 stars, 0 dependents, and an archived repo, this is a case study in adoption risk. It supports a standing "dependency health" gate in our roadmap process.

When to Consider This Package

Consider it only as source material, not as an installed dependency:

  • You have already decided (for architectural reasons) to standardize on Chronos over Carbon, and you need a working example of how to wire it into a Laravel service provider, model casts, and helper overrides.
  • You are willing to fork and own it. The upstream is archived (last release 2024-06-28) — there is no maintenance, no security response path, and no compatibility guarantee for future Laravel versions. Adoption without a named internal owner is a liability.
  • You need to scope the cost of the swap before committing — clone it, read it, prototype against one service, and measure what breaks.

Look elsewhere when:

  • You only want immutability. CarbonImmutable is a first-party, supported one-line change with no framework surgery. Start there; it captures most of the benefit at a fraction of the risk.
  • You need production support. Zero dependents and an archived repo mean no community validation. Absent a fork, there is no one to page.
  • You are on a standard Laravel application. Framework internals (Illuminate\Support\Carbon, Eloquent date casts, validation rules, now(), diffForHumans) are Carbon-typed. A partial swap creates two date types in one codebase, which is a worse failure mode than either choice made cleanly.
  • You need date/time behavior to be boring. This is a deviation from the framework's happy path; it will tax every onboarding and every upgrade.

How to Pitch It (Stakeholders)

For executives: This is a small, archived open-source package that swaps Laravel's standard date handling library for an alternative. Our recommendation is not to adopt it. It has negligible community traction, no active maintenance, and no security patch path — using it in production would create an unsupported dependency in a foundational layer. It has value only as a blueprint: it tells us roughly what it would cost to move to an immutable date library across our Laravel services. If we pursue that goal, the realistic price is a fork with a named internal owner plus ongoing upgrade work, not a composer require. We should decide whether the benefits (fewer date-mutation bugs, consistency with any CakePHP systems) justify that recurring cost. Our default position is to stay on stock Laravel and treat immutability as a coding standard via CarbonImmutable.

For engineering: Read it, don't install it. The repo is archived with 3 stars and 0 dependents, so anything we adopt we own permanently. The useful content is the wiring: how it rebinds Carbon, handles Eloquent casts, and replaces helpers — that's our scoping estimate for a Chronos migration. Before we consider that, confirm the problem is real: check whether our defects actually stem from mutable dates, because if they do, CarbonImmutable plus a lint rule buys most of the win with near-zero risk. If we do proceed, the decision is explicit — we fork, we name an owner, we accept that every Laravel major upgrade now requires a compatibility pass on our date layer, and we finish the migration rather than leaving two date types in the codebase.

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.
pharaonic/laravel-notification-dependencies
beautinow/translug
dev-brainiac/bot-cloaked
octoberrain/html
octoberrain/extension
octoberrain/exception
octoberrain/contracts
frankyso/ipaymu
3mdikram/worldmoneywords
snowsoft/config
itmosoft/laravel-subscriptions
larva/laravel-ai-qwen
adachsoft/api-version-bundle
cgv/localized-resource
noith/settings
kda/laravel-package
kda/filament-dynamic-navigation
bypersoft/signbox
pairus/product-data
fayne/laravel-filament-cms-core