modstore/laravel-enum-js

Package to generate javascript versions of your PHP enum files to be used in your js builds etc.

1.0.9 2023-01-11 20:54 UTC

This package is auto-updated.

Last update: 2024-05-11 23:51:37 UTC


README

Package to generate javascript versions of your PHP enum files to be used in your js builds etc. Works with Php8.1+ enums, constants in your PHP files, or you can use a package such as https://github.com/BenSampo/laravel-enum

Installation

You can install the package via composer:

composer require modstore/laravel-enum-js

Publish the config:

php artisan vendor:publish --provider="Modstore\LaravelEnumJs\LaravelEnumJsServiceProvider"

Usage

Create a storage location, the path the generated files will be saved to.

// config/filesystems.php
...
'disks' => [
    'enum-js' => [
        'driver' => 'local',
        'root' => resource_path() . '/js/enums',
    ],
],
...

Check the other configuration options in the config file.

You can generate the js files by running the following Artisan command:

php artisan enum-js:generate 

NOTE: When developing, if you create a new file, you will likely need to dump the autoload files before this command will pick it up, e.g.

composer dump-autoload
php artisan enum-js:generate 

You can then use the generated files in your javascript like so:

import * as Status from '../enums/Status'

if (this.status === Status.Active) {
    // Do something.
}

Testing

composer test

Changelog

Please see CHANGELOG for more information what has changed recently.

Contributing

Please see CONTRIBUTING for details.

Credits

License

The MIT License (MIT). Please see License File for more information.