#!/usr/bin/env php
<?php
use CatPaw\Bootstrap;
$_ENV = [
    ...$_ENV,
    ...getenv(),
];
require 'vendor/autoload.php';

[
    "e" => $entry,
    "n" => $name,
    "l" => $libraries,
    "r" => $resources,
    "d" => $dieOnChange,
    "w" => $watch,
    "i" => $info,
] = [
    "e" => null,
    "n" => null,
    "l" => null,
    "r" => null,
    "d" => null,
    "w" => null,
    "i" => null,
    ...getopt('e:n::l::r::d::w::i::')
];

$entry       = $entry     ?? '';
$name        = $name      ?? 'App';
$libraries   = $libraries   ?? '';
$resources   = $resources ?? '';
$dieOnChange = false === $dieOnChange;
$watch       = false === $watch;
$info        = false === $info;

try {
    if ($watch) {
        Bootstrap::spawn(
            start: __FILE__,
            entry: $entry,
            name: $name,
            libraries: $libraries,
            info: $info,
            watch: true,
            resources: $resources,
        );
    } else {
        Bootstrap::start(
            entry: $entry,
            name: $name,
            libraries: $libraries,
            info: $info,
            dieOnChange: $dieOnChange,
            resources: $resources,
        );
    }
} catch (Throwable $e) {
    die(((string)$e).PHP_EOL);
}
