jbboehr/yumemi-apocrypha

Curated PHPStan unit annotations for third-party PHP packages.

Maintainers

Package info

github.com/jbboehr/yumemi-apocrypha.php

Type:phpstan-extension

pkg:composer/jbboehr/yumemi-apocrypha

Transparency log

Statistics

Installs: 2

Dependents: 0

Suggesters: 1

Stars: 0

Open Issues: 0

v0.1.0 2026-08-15 05:11 UTC

This package is auto-updated.

Last update: 2026-08-16 04:38:40 UTC


README

Yumemi

Yumemi Apocrypha

Nix CI Conventional CI Built with Nix License: AGPL-3.0-only WITH romic-exception AI burn

Curated PHPStan unit annotations for third-party PHP packages, built on Yumemi.

The public API remains provisional throughout the 0.x release series.

composer require --dev jbboehr/yumemi-apocrypha:^0.2 phpstan/extension-installer

If Yumemi is used only during PHPStan analysis, the complete toolchain may remain in development dependencies. The example below calls Yumemi's runtime unit() function; applications that do the same must install Yumemi as a normal dependency:

composer require jbboehr/yumemi:^0.1

Select an integration in phpstan.neon:

parameters:
    yumemiApocrypha:
        integrations:
            - illuminate/cache
<?php

use Illuminate\Contracts\Cache\Store;

use function jbboehr\Yumemi\unit;

function cacheReportForOneMinute(Store $cache): void
{
    //! Store::put() expects unit_int<'second'>, 1&unit_int<'minute'> given
    $cache->put('report', 'ready', unit(1, 'minute'));
}

//! marks the expected PHPStan diagnostic used by documentation testing; it is not Yumemi syntax.

Verified package compatibility

Composer package Supported versions
nesbot/carbon 2.62.1+ in 2.x; 3.x
james-heinrich/getid3 1.9.22+ in 1.x; 2.0.0-beta6+ in 2.x
guzzlehttp/guzzle 7, 8
illuminate/auth 11, 12, 13
illuminate/bus 11, 12, 13
illuminate/cache 11, 12, 13
illuminate/concurrency (framework-provided integration key) 11, 12, 13
illuminate/console 11, 12, 13
illuminate/cookie 11, 12, 13
illuminate/database 11, 12, 13
illuminate/filesystem 11, 12, 13
illuminate/http 11, 12, 13
illuminate/mail 11, 12, 13
illuminate/process 11, 12, 13
illuminate/queue 11, 12, 13
illuminate/redis 11, 12, 13
illuminate/routing 11, 12, 13
illuminate/session 11, 12, 13
illuminate/support 11, 12, 13
illuminate/validation 11, 12, 13
intervention/image 3, 4
laravel/framework (provider only) 11, 12, 13
mjaschen/phpgeo 4, 5, 6
nmarfurt/measurements 1.4+ in 1.x
symfony/http-foundation 6.4+ in 6.x; 7.x; 8.x
symfony/stopwatch 6, 7, 8

laravel/framework supplies the listed Illuminate packages through Composer replacements. Select the precise illuminate/* integration name; no separate component installation is required. Concurrency is available only through the framework provider rather than as a separately published Packagist component.

Documentation

Start with Getting Started, then consult the integration reference for exact units, versions, and limitations. The documentation index also links maintainer guidance.

License

Yumemi Apocrypha is licensed under AGPL-3.0-only WITH romic-exception. See LICENSE.md and the Romic Exception. Contributions follow the terms in CONTRIBUTING.md. The bundled integration declarations describe third-party APIs; see the third-party notices.