Download the PHP package vortech/laravel-fuse without Composer

On this page you can find all versions of the php package vortech/laravel-fuse. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package laravel-fuse

Tests Latest version Downloads PHP version Laravel 13

Track and enforce temporary code and technical debt with expiring PHP attributes.
When the fuse runs out, your CI fails.


Why

Temporary code has a habit of becoming permanent. A // TODO remove later comment is invisible to your tooling, so nobody is ever reminded. Fuse makes the debt machine-readable:

// TODO remove later #[Fuse]
Says why the code exists maybe required (reason)
Has a deadline no required (expires)
Has an owner and a ticket no optional, can be made mandatory
Fails CI when it is overdue no yes (fuse:check)
Production overhead none none

Fuse reads your source statically. It never boots, loads or instantiates your classes, and nothing runs at request time.

Requirements

Installation

The service provider is registered automatically through package discovery. Then run the install command to publish the config file:

Use --force to overwrite an existing config file.

PHP only instantiates attributes when something reads them through reflection, so a --dev install is safe in production even though your classes carry #[Fuse] attributes.

Usage

1. Mark temporary code

The attribute works on classes, methods, properties (including promoted constructor properties) and functions, and it is repeatable:

2. Check it in CI

That is all. There is no database to set up and no dashboard to run.

Metadata

Argument Required Description
reason yes Why the code exists.
expires yes Expiration date, strictly YYYY-MM-DD. Relative dates such as tomorrow are rejected.
owner no Person, team or domain responsible.
issue no Ticket or issue reference, e.g. FIS-142, #142 or a URL.
severity no FuseSeverity::Low, Medium (default), High or Critical.
type no FuseType::TechnicalDebt (default), Workaround, Temporary, Deprecated, Migration or Fallback.
replacement no What is going to replace the code.
created no Creation date, YYYY-MM-DD.

Values must be literals (strings, null and enum cases), because Fuse reads your code statically instead of running it.

An item expires on its expires date: from that day on it counts as expired. Items inside the warning window (warn_within_days, 14 by default) count as expiring.

Commands

All commands accept --no-cache to ignore the scan cache.

fuse:check

The command to run in CI.

Exit code Meaning
0 Success
1 An item expired (or expires within --fail-within days) at or above the severity threshold
2 Invalid Fuse metadata or configuration: bad date, unknown enum case, missing required owner or issue
3 Scanner failure, e.g. a file that cannot be parsed

fuse:list

fuse:install

Publishes config/fuse.php. Pass --force to overwrite an existing file.

fuse:doctor

Checks the setup and the metadata: configuration, scan paths, parser failures, invalid dates, unsupported enum values, missing owners or issues, malformed issue references, duplicated attributes and items that have been expired for over a year.

fuse:stats

Totals plus breakdowns by status, severity, type and owner.

GitHub Actions

Expired items become errors, items about to expire become warnings.

Configuration

Publish the config with php artisan fuse:install (or php artisan vendor:publish --tag=fuse-config), then edit config/fuse.php:

Key Default Description
paths [app_path()] Directories or files to scan.
ignore storage, vendor, bootstrap/cache Paths to skip.
warn_within_days 14 Items expiring within this window are "expiring".
fail_within_days 0 fuse:check also fails for items expiring within this window.
fail_at_severity FuseSeverity::Low Minimum severity that can fail CI (enum case or string).
require_owner false Items without owner are invalid.
require_issue false Items without issue are invalid.
cache.enabled true Cache parsed metadata per file.
cache.store null Cache store to use. null is the default store.
cache.ttl 3600 Cache lifetime in seconds.

Programmatic API

The Vortech\Fuse\Facades\Fuse facade exposes the same methods. FuseCollection is immutable and offers expired(), expiring(), active(), expiringWithin($days), critical(), severityAtLeast($severity), ownedBy($owner) and ofType($type).

Good to know

Testing

The suite uses Pest and requires PHP 8.4+ to run.

Changelog

See CHANGELOG for what has changed recently.

Security

If you discover a security issue, please email [email protected] instead of using the issue tracker.

Credits

License

The MIT License (MIT). See the License File for more information.



All versions of laravel-fuse with dependencies

PHP Build Version
Package Version
Requires php Version ^8.3
illuminate/console Version ^12.0|^13.0
illuminate/contracts Version ^12.0|^13.0
illuminate/support Version ^12.0|^13.0
nikic/php-parser Version ^5.0
symfony/finder Version ^7.0|^8.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package vortech/laravel-fuse contains the following files

Loading the files please wait ...