From ac6d046c63e381bd746b04a8b3d2714fc65c7f04 Mon Sep 17 00:00:00 2001
From: KHOUBZA Younes
Date: Mon, 16 May 2022 08:07:49 +0100
Subject: [PATCH] Prepare v1.0 release
rename template adapter to flasher, and add title to base notification class
Wip
---
.github/FUNDING.yml | 2 -
.github/workflows/laravel.yaml | 157 +------
.github/workflows/split_monorepo.yaml | 78 ++++
.github/workflows/symfony.yaml | 196 ++------
.gitignore | 4 +
.php-cs-fixer.dist.php | 66 +++
.shared/.github/workflows/auto_closer.yaml | 22 +
Makefile | 4 +
README.md | 22 +-
bin/copy | 53 +++
bin/release.sh | 83 ----
bin/split.sh | 84 ----
bin/splitsh-lite | Bin 3492056 -> 0 bytes
composer.json | 109 ++++-
make/composer.mk | 9 +
make/help.mk | 27 ++
make/lint.mk | 11 +
make/variables.mk | 12 +
monorepo-builder.php | 36 ++
.../laravel-pack}/.github/FUNDING.yml | 2 -
.../.github/workflows/auto_closer.yaml | 22 +
.../Livewire => packs/laravel-pack}/README.md | 22 +-
packs/laravel-pack/composer.json | 6 +-
packs/livewire-pack/LICENSE | 21 -
packs/livewire-pack/composer.json | 18 -
packs/php-pack/.github/FUNDING.yml | 4 +
.../.github/workflows/auto_closer.yaml | 22 +
packs/php-pack/README.md | 67 +++
packs/php-pack/composer.json | 6 +-
packs/symfony-pack/.github/FUNDING.yml | 4 +
.../.github/workflows/auto_closer.yaml | 22 +
packs/symfony-pack/README.md | 67 +++
packs/symfony-pack/composer.json | 6 +-
phpstan.neon | 9 +-
phpunit-laravel.xml | 39 +-
phpunit-symfony.xml | 38 +-
phpunit.xml | 18 -
src/Cli/Laravel/.editorconfig | 15 -
src/Cli/Laravel/.gitattributes | 13 -
src/Cli/Laravel/.github/CONTRIBUTING.md | 55 ---
src/Cli/Laravel/.github/FUNDING.yml | 2 -
src/Cli/Laravel/.github/SECURITY.md | 3 -
src/Cli/Laravel/.github/dependabot.yml | 7 -
.../.github/workflows/auto_closer.yaml | 22 +
.../.github/workflows/close-pull-request.yml | 13 -
src/Cli/Laravel/.gitignore | 5 -
src/Cli/Laravel/.phpstorm.meta.php | 3 -
src/Cli/Laravel/CHANGELOG.md | 0
src/Cli/Laravel/CODE_OF_CONDUCT.md | 76 ---
src/Cli/Laravel/FlasherCliServiceProvider.php | 91 +++-
src/Cli/Laravel/README.md | 22 +-
src/Cli/Laravel/Resources/config/config.php | 110 -----
src/Cli/Laravel/Resources/functions/cli.php | 21 -
.../ServiceProvider/Providers/Laravel.php | 151 ------
.../ServiceProvider/Providers/Laravel4.php | 30 --
.../Providers/ServiceProviderInterface.php | 17 -
.../ServiceProviderManager.php | 64 ---
src/Cli/Laravel/UPGRADING.md | 0
src/Cli/Laravel/composer.json | 30 +-
src/Cli/Laravel/notify.php | 27 ++
src/Cli/Prime/.editorconfig | 15 -
src/Cli/Prime/.gitattributes | 13 -
src/Cli/Prime/.github/CONTRIBUTING.md | 55 ---
src/Cli/Prime/.github/FUNDING.yml | 2 -
src/Cli/Prime/.github/SECURITY.md | 3 -
src/Cli/Prime/.github/dependabot.yml | 7 -
.../Prime/.github/workflows/auto_closer.yaml | 22 +
.../.github/workflows/close-pull-request.yml | 13 -
src/Cli/Prime/.gitignore | 5 -
src/Cli/Prime/.phpstorm.meta.php | 4 +-
src/Cli/Prime/CHANGELOG.md | 0
src/Cli/Prime/CODE_OF_CONDUCT.md | 76 ---
...NotificationBuilder.php => CliBuilder.php} | 15 +-
src/Cli/Prime/CliFactory.php | 18 +
src/Cli/Prime/CliFlasherInterface.php | 11 -
src/Cli/Prime/CliNotification.php | 56 ---
src/Cli/Prime/CliNotificationFactory.php | 38 --
.../Prime/EventListener/RenderListener.php | 35 +-
.../Prime/EventListener/StampsListener.php | 48 --
src/Cli/Prime/Notification.php | 228 +++++++++
src/Cli/Prime/Notifier/AbstractNotifier.php | 146 ------
.../Notifier/AppleScriptBaseNotifier.php | 57 +++
.../Prime/Notifier/AppleScriptNotifier.php | 51 --
src/Cli/Prime/Notifier/BaseNotifier.php | 111 +++++
.../Notifier/GrowlNotifyBaseNotifier.php | 48 ++
.../Prime/Notifier/GrowlNotifyNotifier.php | 38 --
.../Prime/Notifier/KDialogBaseNotifier.php | 48 ++
src/Cli/Prime/Notifier/KDialogNotifier.php | 38 --
src/Cli/Prime/Notifier/NotifierInterface.php | 28 --
src/Cli/Prime/Notifier/NotifuBaseNotifier.php | 54 +++
src/Cli/Prime/Notifier/NotifuNotifier.php | 42 --
.../Prime/Notifier/NotifySendBaseNotifier.php | 51 ++
src/Cli/Prime/Notifier/NotifySendNotifier.php | 48 --
src/Cli/Prime/Notifier/NullBaseNotifier.php | 34 ++
src/Cli/Prime/Notifier/NullNotifier.php | 17 -
.../Prime/Notifier/SnoreToastBaseNotifier.php | 61 +++
src/Cli/Prime/Notifier/SnoreToastNotifier.php | 46 --
.../Notifier/TerminalNotifierBaseNotifier.php | 57 +++
.../Notifier/TerminalNotifierNotifier.php | 46 --
.../Prime/Notifier/ToasterBaseNotifier.php | 62 +++
src/Cli/Prime/Notifier/ToasterNotifier.php | 47 --
src/Cli/Prime/Notifier/ZenityBaseNotifier.php | 48 ++
src/Cli/Prime/Notifier/ZenityNotifier.php | 40 --
src/Cli/Prime/Notify.php | 231 +++++++++
src/Cli/Prime/NotifyInterface.php | 74 +++
src/Cli/Prime/Presenter/CliPresenter.php | 75 +--
src/Cli/Prime/README.md | 24 +-
src/Cli/Prime/Resources/bin/notifu/notifu.exe | Bin 245248 -> 0 bytes
.../bin/snoreToast/snoretoast-x86.exe | Bin 2065912 -> 0 bytes
.../Microsoft.WindowsAPICodePack.Shell.dll | Bin 542720 -> 0 bytes
.../toaster/Microsoft.WindowsAPICodePack.dll | Bin 105984 -> 0 bytes
src/Cli/Prime/Resources/bin/toaster/toast.exe | Bin 14336 -> 0 bytes
src/Cli/Prime/Resources/sounds/error.wav | Bin 295610 -> 0 bytes
src/Cli/Prime/Resources/sounds/info.wav | Bin 108386 -> 0 bytes
src/Cli/Prime/Resources/sounds/success.wav | Bin 316894 -> 0 bytes
src/Cli/Prime/Resources/sounds/warning.wav | Bin 145558 -> 0 bytes
src/Cli/Prime/Stamp/DesktopStamp.php | 24 -
src/Cli/Prime/System/Command.php | 49 +-
src/Cli/Prime/System/OS.php | 38 +-
src/Cli/Prime/System/Path.php | 14 +-
src/Cli/Prime/System/Program.php | 52 ++-
src/Cli/Prime/UPGRADING.md | 0
src/Cli/Prime/composer.json | 25 +-
src/Cli/Symfony/.editorconfig | 15 -
src/Cli/Symfony/.gitattributes | 13 -
src/Cli/Symfony/.github/CONTRIBUTING.md | 55 ---
src/Cli/Symfony/.github/FUNDING.yml | 2 -
src/Cli/Symfony/.github/SECURITY.md | 3 -
src/Cli/Symfony/.github/dependabot.yml | 7 -
.../.github/workflows/auto_closer.yaml | 22 +
.../.github/workflows/close-pull-request.yml | 13 -
src/Cli/Symfony/.gitignore | 5 -
src/Cli/Symfony/.phpstorm.meta.php | 3 -
src/Cli/Symfony/CHANGELOG.md | 0
src/Cli/Symfony/CODE_OF_CONDUCT.md | 76 ---
.../Compiler/NotifierCompilerPass.php | 14 +-
.../DependencyInjection/Configuration.php | 441 +-----------------
.../FlasherCliExtension.php | 62 +--
src/Cli/Symfony/FlasherCliSymfonyBundle.php | 16 +-
src/Cli/Symfony/README.md | 22 +-
src/Cli/Symfony/Resources/config/services.php | 92 ++--
src/Cli/Symfony/UPGRADING.md | 0
src/Cli/Symfony/composer.json | 30 +-
src/Laravel/.editorconfig | 15 -
src/Laravel/.gitattributes | 13 -
src/Laravel/.github/CONTRIBUTING.md | 55 ---
src/Laravel/.github/FUNDING.yml | 2 -
src/Laravel/.github/SECURITY.md | 3 -
src/Laravel/.github/dependabot.yml | 7 -
.../.github/workflows/auto_closer.yaml | 22 +
.../.github/workflows/close-pull-request.yml | 13 -
src/Laravel/.gitignore | 5 -
src/Laravel/.phpstorm.meta.php | 27 +-
src/Laravel/CHANGELOG.md | 0
src/Laravel/CODE_OF_CONDUCT.md | 76 ---
src/Laravel/Config/Config.php | 41 --
src/Laravel/Facade/Flasher.php | 9 +-
src/Laravel/FlasherServiceProvider.php | 262 ++++++++---
src/Laravel/Middleware/SessionMiddleware.php | 72 +--
src/Laravel/Observer/FlasherModelObserver.php | 116 -----
src/Laravel/README.md | 22 +-
src/Laravel/Resources/config/config.php | 49 --
src/Laravel/Resources/lang/en/messages.php | 13 -
.../Resources/views/bootstrap.blade.php | 64 ---
.../Resources/views/tailwindcss.blade.php | 68 ---
.../Resources/views/tailwindcss_bg.blade.php | 69 ---
.../ServiceProvider/Providers/Laravel.php | 215 ---------
.../ServiceProvider/Providers/Laravel4.php | 51 --
.../ServiceProvider/Providers/Laravel50.php | 63 ---
.../ServiceProvider/Providers/Laravel51.php | 24 -
.../Providers/ServiceProviderInterface.php | 23 -
.../ServiceProvider/ResourceManagerHelper.php | 55 ---
.../ServiceProviderManager.php | 73 ---
src/Laravel/Storage/SessionBag.php | 45 ++
src/Laravel/Storage/Storage.php | 89 ----
src/Laravel/Support/Laravel.php | 32 ++
src/Laravel/Support/ServiceProvider.php | 121 +++++
...ladeEngine.php => BladeTemplateEngine.php} | 9 +-
src/Laravel/UPGRADING.md | 0
src/Laravel/composer.json | 29 +-
src/Laravel/flasher.php | 47 ++
src/Laravel/helpers.php | 40 --
src/Livewire/.editorconfig | 15 -
src/Livewire/.gitattributes | 13 -
src/Livewire/.github/CONTRIBUTING.md | 55 ---
src/Livewire/.github/SECURITY.md | 3 -
src/Livewire/.github/dependabot.yml | 7 -
.../.github/workflows/close-pull-request.yml | 13 -
src/Livewire/.gitignore | 5 -
src/Livewire/CHANGELOG.md | 0
src/Livewire/CODE_OF_CONDUCT.md | 76 ---
.../FlasherLivewireServiceProvider.php | 64 ---
src/Livewire/LICENSE | 21 -
src/Livewire/LivewireResponseManager.php | 76 ---
src/Livewire/LivewireStamp.php | 30 --
src/Livewire/UPGRADING.md | 0
src/Livewire/composer.json | 54 ---
src/Noty/Laravel/.editorconfig | 15 -
src/Noty/Laravel/.gitattributes | 13 -
src/Noty/Laravel/.github/CONTRIBUTING.md | 55 ---
src/Noty/Laravel/.github/FUNDING.yml | 2 -
src/Noty/Laravel/.github/SECURITY.md | 3 -
src/Noty/Laravel/.github/dependabot.yml | 7 -
.../.github/workflows/auto_closer.yaml | 22 +
.../.github/workflows/close-pull-request.yml | 13 -
src/Noty/Laravel/.gitignore | 5 -
src/Noty/Laravel/CHANGELOG.md | 0
src/Noty/Laravel/CODE_OF_CONDUCT.md | 76 ---
src/Noty/Laravel/Facade/Noty.php | 14 +-
.../Laravel/FlasherNotyServiceProvider.php | 53 +--
src/Noty/Laravel/README.md | 22 +-
src/Noty/Laravel/Resources/config/config.php | 11 -
src/Noty/Laravel/Resources/functions/noty.php | 21 -
.../ServiceProvider/Providers/Laravel.php | 74 ---
.../ServiceProvider/Providers/Laravel4.php | 38 --
.../Providers/ServiceProviderInterface.php | 17 -
.../ServiceProviderManager.php | 58 ---
src/Noty/Laravel/UPGRADING.md | 0
src/Noty/Laravel/composer.json | 32 +-
src/Noty/Laravel/noty.php | 31 ++
src/Noty/Prime/.editorconfig | 15 -
src/Noty/Prime/.gitattributes | 13 -
src/Noty/Prime/.github/CONTRIBUTING.md | 55 ---
src/Noty/Prime/.github/FUNDING.yml | 2 -
src/Noty/Prime/.github/SECURITY.md | 3 -
src/Noty/Prime/.github/dependabot.yml | 7 -
.../Prime/.github/workflows/auto_closer.yaml | 22 +
.../.github/workflows/close-pull-request.yml | 13 -
src/Noty/Prime/.gitignore | 5 -
src/Noty/Prime/CHANGELOG.md | 0
src/Noty/Prime/CODE_OF_CONDUCT.md | 76 ---
src/Noty/Prime/Noty.php | 9 -
src/Noty/Prime/NotyBuilder.php | 77 +--
src/Noty/Prime/NotyFactory.php | 8 +-
src/Noty/Prime/NotyPlugin.php | 23 +
src/Noty/Prime/README.md | 22 +-
src/Noty/Prime/UPGRADING.md | 0
src/Noty/Prime/composer.json | 23 +-
src/Noty/Symfony/.editorconfig | 15 -
src/Noty/Symfony/.gitattributes | 13 -
src/Noty/Symfony/.github/CONTRIBUTING.md | 55 ---
src/Noty/Symfony/.github/FUNDING.yml | 2 -
src/Noty/Symfony/.github/SECURITY.md | 3 -
src/Noty/Symfony/.github/dependabot.yml | 7 -
.../.github/workflows/auto_closer.yaml | 22 +
.../.github/workflows/close-pull-request.yml | 13 -
src/Noty/Symfony/.gitignore | 5 -
src/Noty/Symfony/.phpstorm.meta.php | 3 -
src/Noty/Symfony/CHANGELOG.md | 0
src/Noty/Symfony/CODE_OF_CONDUCT.md | 76 ---
.../DependencyInjection/Configuration.php | 45 --
.../FlasherNotyExtension.php | 23 -
src/Noty/Symfony/FlasherNotySymfonyBundle.php | 25 +-
src/Noty/Symfony/README.md | 22 +-
.../Symfony/Resources/config/services.php | 21 -
src/Noty/Symfony/UPGRADING.md | 0
src/Noty/Symfony/composer.json | 28 +-
src/Notyf/Laravel/.editorconfig | 15 -
src/Notyf/Laravel/.gitattributes | 13 -
src/Notyf/Laravel/.github/CONTRIBUTING.md | 55 ---
src/Notyf/Laravel/.github/FUNDING.yml | 2 -
src/Notyf/Laravel/.github/SECURITY.md | 3 -
src/Notyf/Laravel/.github/dependabot.yml | 7 -
.../.github/workflows/auto_closer.yaml | 22 +
.../.github/workflows/close-pull-request.yml | 13 -
src/Notyf/Laravel/.gitignore | 5 -
src/Notyf/Laravel/CHANGELOG.md | 0
src/Notyf/Laravel/CODE_OF_CONDUCT.md | 76 ---
src/Notyf/Laravel/Facade/Notyf.php | 10 +-
.../Laravel/FlasherNotyfServiceProvider.php | 55 +--
src/Notyf/Laravel/README.md | 22 +-
src/Notyf/Laravel/Resources/config/config.php | 11 -
.../Laravel/Resources/functions/notyf.php | 21 -
.../ServiceProvider/Providers/Laravel.php | 74 ---
.../ServiceProvider/Providers/Laravel4.php | 39 --
.../Providers/ServiceProviderInterface.php | 17 -
.../ServiceProviderManager.php | 65 ---
src/Notyf/Laravel/UPGRADING.md | 0
src/Notyf/Laravel/composer.json | 31 +-
src/Notyf/Laravel/notyf.php | 31 ++
src/Notyf/Prime/.editorconfig | 15 -
src/Notyf/Prime/.gitattributes | 13 -
src/Notyf/Prime/.github/CONTRIBUTING.md | 55 ---
src/Notyf/Prime/.github/FUNDING.yml | 2 -
src/Notyf/Prime/.github/SECURITY.md | 3 -
src/Notyf/Prime/.github/dependabot.yml | 7 -
.../Prime/.github/workflows/auto_closer.yaml | 22 +
.../.github/workflows/close-pull-request.yml | 13 -
src/Notyf/Prime/.gitignore | 5 -
src/Notyf/Prime/CHANGELOG.md | 0
src/Notyf/Prime/CODE_OF_CONDUCT.md | 76 ---
src/Notyf/Prime/Notyf.php | 9 -
src/Notyf/Prime/NotyfBuilder.php | 21 +-
src/Notyf/Prime/NotyfFactory.php | 8 +-
src/Notyf/Prime/NotyfPlugin.php | 23 +
src/Notyf/Prime/README.md | 22 +-
src/Notyf/Prime/UPGRADING.md | 0
src/Notyf/Prime/composer.json | 24 +-
src/Notyf/Symfony/.editorconfig | 15 -
src/Notyf/Symfony/.gitattributes | 13 -
src/Notyf/Symfony/.github/CONTRIBUTING.md | 55 ---
src/Notyf/Symfony/.github/FUNDING.yml | 2 -
src/Notyf/Symfony/.github/SECURITY.md | 3 -
src/Notyf/Symfony/.github/dependabot.yml | 7 -
.../.github/workflows/auto_closer.yaml | 22 +
.../.github/workflows/close-pull-request.yml | 13 -
src/Notyf/Symfony/.gitignore | 5 -
src/Notyf/Symfony/.phpstorm.meta.php | 3 -
src/Notyf/Symfony/CHANGELOG.md | 0
src/Notyf/Symfony/CODE_OF_CONDUCT.md | 76 ---
.../DependencyInjection/Configuration.php | 45 --
.../FlasherNotyfExtension.php | 23 -
.../Symfony/FlasherNotyfSymfonyBundle.php | 25 +-
src/Notyf/Symfony/README.md | 22 +-
.../Symfony/Resources/config/services.php | 22 -
src/Notyf/Symfony/UPGRADING.md | 0
src/Notyf/Symfony/composer.json | 30 +-
src/Pnotify/Laravel/.editorconfig | 15 -
src/Pnotify/Laravel/.gitattributes | 13 -
src/Pnotify/Laravel/.github/CONTRIBUTING.md | 55 ---
src/Pnotify/Laravel/.github/FUNDING.yml | 2 -
src/Pnotify/Laravel/.github/SECURITY.md | 3 -
src/Pnotify/Laravel/.github/dependabot.yml | 7 -
.../.github/workflows/auto_closer.yaml | 22 +
.../.github/workflows/close-pull-request.yml | 13 -
src/Pnotify/Laravel/.gitignore | 5 -
src/Pnotify/Laravel/CHANGELOG.md | 0
src/Pnotify/Laravel/CODE_OF_CONDUCT.md | 76 ---
src/Pnotify/Laravel/Facade/Pnotify.php | 10 +-
.../Laravel/FlasherPnotifyServiceProvider.php | 53 +--
src/Pnotify/Laravel/README.md | 22 +-
.../Laravel/Resources/config/config.php | 12 -
.../Laravel/Resources/functions/pnotify.php | 21 -
.../ServiceProvider/Providers/Laravel.php | 74 ---
.../ServiceProvider/Providers/Laravel4.php | 39 --
.../Providers/ServiceProviderInterface.php | 17 -
.../ServiceProviderManager.php | 64 ---
src/Pnotify/Laravel/UPGRADING.md | 0
src/Pnotify/Laravel/composer.json | 30 +-
src/Pnotify/Laravel/pnotify.php | 31 ++
src/Pnotify/Prime/.editorconfig | 15 -
src/Pnotify/Prime/.gitattributes | 13 -
src/Pnotify/Prime/.github/CONTRIBUTING.md | 55 ---
src/Pnotify/Prime/.github/FUNDING.yml | 2 -
src/Pnotify/Prime/.github/SECURITY.md | 3 -
src/Pnotify/Prime/.github/dependabot.yml | 7 -
.../Prime/.github/workflows/auto_closer.yaml | 22 +
.../.github/workflows/close-pull-request.yml | 13 -
src/Pnotify/Prime/.gitignore | 5 -
src/Pnotify/Prime/CHANGELOG.md | 0
src/Pnotify/Prime/CODE_OF_CONDUCT.md | 76 ---
src/Pnotify/Prime/Pnotify.php | 9 -
src/Pnotify/Prime/PnotifyBuilder.php | 109 ++---
src/Pnotify/Prime/PnotifyFactory.php | 8 +-
src/Pnotify/Prime/PnotifyPlugin.php | 24 +
src/Pnotify/Prime/README.md | 22 +-
src/Pnotify/Prime/UPGRADING.md | 0
src/Pnotify/Prime/composer.json | 24 +-
src/Pnotify/Symfony/.editorconfig | 15 -
src/Pnotify/Symfony/.gitattributes | 13 -
src/Pnotify/Symfony/.github/CONTRIBUTING.md | 55 ---
src/Pnotify/Symfony/.github/FUNDING.yml | 2 -
src/Pnotify/Symfony/.github/SECURITY.md | 3 -
src/Pnotify/Symfony/.github/dependabot.yml | 7 -
.../.github/workflows/auto_closer.yaml | 22 +
.../.github/workflows/close-pull-request.yml | 13 -
src/Pnotify/Symfony/.gitignore | 5 -
src/Pnotify/Symfony/.phpstorm.meta.php | 3 -
src/Pnotify/Symfony/CHANGELOG.md | 0
src/Pnotify/Symfony/CODE_OF_CONDUCT.md | 76 ---
.../DependencyInjection/Configuration.php | 46 --
.../FlasherPnotifyExtension.php | 23 -
.../Symfony/FlasherPnotifySymfonyBundle.php | 25 +-
src/Pnotify/Symfony/README.md | 22 +-
.../Symfony/Resources/config/services.php | 21 -
src/Pnotify/Symfony/UPGRADING.md | 0
src/Pnotify/Symfony/composer.json | 28 +-
src/Prime/.editorconfig | 15 -
src/Prime/.gitattributes | 13 -
src/Prime/.github/CONTRIBUTING.md | 55 ---
src/Prime/.github/FUNDING.yml | 2 -
src/Prime/.github/SECURITY.md | 3 -
src/Prime/.github/dependabot.yml | 7 -
src/Prime/.github/workflows/auto_closer.yaml | 22 +
.../.github/workflows/close-pull-request.yml | 13 -
src/Prime/.gitignore | 5 -
src/Prime/.phpstorm.meta.php | 16 +-
src/Prime/CHANGELOG.md | 0
src/Prime/CODE_OF_CONDUCT.md | 76 ---
src/Prime/Config/Config.php | 14 +-
src/Prime/Config/ConfigInterface.php | 7 +-
.../EventDispatcher/Event/FilterEvent.php | 56 +--
.../EventDispatcher/Event/PersistEvent.php | 7 +-
.../Event/PostPersistEvent.php | 7 +-
.../EventDispatcher/Event/PostRemoveEvent.php | 13 +-
.../EventDispatcher/Event/PostUpdateEvent.php | 7 +-
.../EventDispatcher/Event/RemoveEvent.php | 7 +-
.../EventDispatcher/Event/ResponseEvent.php | 44 +-
.../Event/StoppableEventInterface.php | 5 +
.../EventDispatcher/Event/UpdateEvent.php | 7 +-
src/Prime/EventDispatcher/EventDispatcher.php | 112 ++---
.../EventDispatcherInterface.php | 8 +-
.../EventSubscriberInterface.php | 7 +-
.../EventListener/FilterListener.php | 41 --
.../EventListener/RemoveListener.php | 8 +-
.../EventListener/ResponseListener.php | 41 --
.../EventListener/StampsListener.php | 11 +-
src/Prime/Factory/NotificationFactory.php | 36 +-
.../Factory/NotificationFactoryInterface.php | 5 +
src/Prime/Factory/TemplateFactory.php | 42 --
src/Prime/Filter/CriteriaBuilder.php | 173 ++++---
src/Prime/Filter/Filter.php | 177 ++++++-
src/Prime/Filter/FilterBuilder.php | 199 --------
src/Prime/Filter/FilterInterface.php | 16 -
.../Filter/Specification/AndSpecification.php | 12 +-
.../Specification/CallbackSpecification.php | 28 +-
.../Specification/DelaySpecification.php | 13 +-
.../Specification/HopsSpecification.php | 13 +-
.../Filter/Specification/NotSpecification.php | 23 -
.../Filter/Specification/OrSpecification.php | 34 --
.../Specification/PrioritySpecification.php | 13 +-
.../Specification/SpecificationInterface.php | 7 +-
.../Specification/StampsSpecification.php | 24 +-
.../Specification/TimeSpecification.php | 40 --
src/Prime/Flasher.php | 85 ++--
src/Prime/FlasherInterface.php | 22 +-
src/Prime/{ => Notification}/Envelope.php | 145 ++++--
src/Prime/Notification/Notification.php | 73 ++-
.../Notification/NotificationBuilder.php | 253 ++++++----
.../NotificationBuilderInterface.php | 89 ++--
.../Notification/NotificationInterface.php | 42 +-
src/Prime/Notification/Template.php | 39 --
src/Prime/Notification/TemplateBuilder.php | 24 -
src/Prime/Plugin/FlasherPlugin.php | 116 +++++
src/Prime/Plugin/Plugin.php | 86 ++++
src/Prime/Plugin/PluginInterface.php | 55 +++
src/Prime/README.md | 22 +-
.../Response/Presenter/ArrayPresenter.php | 8 +
.../Response/Presenter/HtmlPresenter.php | 98 ++--
.../Response/Presenter/PresenterInterface.php | 5 +
.../Response/Resource/ResourceManager.php | 153 +++---
.../Resource/ResourceManagerInterface.php | 21 +-
src/Prime/Response/Response.php | 54 ++-
src/Prime/Response/ResponseManager.php | 100 ++--
.../Response/ResponseManagerInterface.php | 17 +-
src/Prime/Stamp/ContextStamp.php | 40 ++
src/Prime/Stamp/CreatedAtStamp.php | 20 +-
src/Prime/Stamp/DelayStamp.php | 5 +
src/Prime/Stamp/HandlerStamp.php | 12 +-
src/Prime/Stamp/HopsStamp.php | 5 +
src/Prime/Stamp/OrderableStampInterface.php | 5 +
src/Prime/Stamp/PresentableStampInterface.php | 5 +
src/Prime/Stamp/PriorityStamp.php | 16 +-
src/Prime/Stamp/StampInterface.php | 5 +
src/Prime/Stamp/TemplateStamp.php | 34 --
src/Prime/Stamp/UuidStamp.php | 22 +-
src/Prime/Stamp/ViewStamp.php | 40 ++
src/Prime/Storage/ArrayStorage.php | 67 ---
src/Prime/Storage/Bag/ArrayBag.php | 34 ++
src/Prime/Storage/Bag/BagInterface.php | 25 +
src/Prime/Storage/Bag/StaticBag.php | 34 ++
src/Prime/Storage/StorageBag.php | 74 +++
src/Prime/Storage/StorageInterface.php | 25 +-
src/Prime/Storage/StorageManager.php | 49 +-
src/Prime/Storage/StorageManagerInterface.php | 16 +-
src/Prime/Template/Engine.php | 7 +-
src/Prime/Template/EngineInterface.php | 7 +-
src/Prime/Template/PHPTemplateEngine.php | 30 ++
.../Template/TemplateEngineInterface.php | 19 +
src/Prime/Template/views/bootstrap.php | 64 ---
src/Prime/Template/views/tailwindcss.php | 68 ---
src/Prime/Template/views/tailwindcss_bg.php | 69 ---
src/Prime/UPGRADING.md | 0
src/Prime/composer.json | 33 +-
src/Prime/helpers.php | 15 -
src/SweetAlert/Laravel/.editorconfig | 15 -
src/SweetAlert/Laravel/.gitattributes | 13 -
.../Laravel/.github/CONTRIBUTING.md | 55 ---
src/SweetAlert/Laravel/.github/FUNDING.yml | 2 -
src/SweetAlert/Laravel/.github/SECURITY.md | 3 -
src/SweetAlert/Laravel/.github/dependabot.yml | 7 -
.../.github/workflows/auto_closer.yaml | 22 +
.../.github/workflows/close-pull-request.yml | 13 -
src/SweetAlert/Laravel/.gitignore | 5 -
src/SweetAlert/Laravel/CHANGELOG.md | 0
src/SweetAlert/Laravel/CODE_OF_CONDUCT.md | 76 ---
src/SweetAlert/Laravel/Facade/SweetAlert.php | 12 +-
.../FlasherSweetAlertServiceProvider.php | 62 ++-
src/SweetAlert/Laravel/LivewireListener.php | 71 +++
src/SweetAlert/Laravel/README.md | 22 +-
.../Laravel/Resources/config/config.php | 13 -
.../Resources/functions/sweetAlert.php | 21 -
.../ServiceProvider/Providers/Laravel.php | 74 ---
.../ServiceProvider/Providers/Laravel4.php | 41 --
.../Providers/ServiceProviderInterface.php | 17 -
.../ServiceProviderManager.php | 58 ---
src/SweetAlert/Laravel/UPGRADING.md | 0
src/SweetAlert/Laravel/composer.json | 33 +-
src/SweetAlert/Laravel/sweetalert.php | 31 ++
src/SweetAlert/Prime/.editorconfig | 15 -
src/SweetAlert/Prime/.gitattributes | 13 -
src/SweetAlert/Prime/.github/CONTRIBUTING.md | 55 ---
src/SweetAlert/Prime/.github/FUNDING.yml | 2 -
src/SweetAlert/Prime/.github/SECURITY.md | 3 -
src/SweetAlert/Prime/.github/dependabot.yml | 7 -
.../Prime/.github/workflows/auto_closer.yaml | 22 +
.../.github/workflows/close-pull-request.yml | 13 -
src/SweetAlert/Prime/.gitignore | 5 -
src/SweetAlert/Prime/.phpstorm.meta.php | 4 +-
src/SweetAlert/Prime/CHANGELOG.md | 0
src/SweetAlert/Prime/CODE_OF_CONDUCT.md | 76 ---
src/SweetAlert/Prime/README.md | 22 +-
src/SweetAlert/Prime/SweetAlert.php | 9 -
src/SweetAlert/Prime/SweetAlertBuilder.php | 227 +++++----
src/SweetAlert/Prime/SweetAlertFactory.php | 8 +-
src/SweetAlert/Prime/SweetAlertPlugin.php | 29 ++
src/SweetAlert/Prime/UPGRADING.md | 0
src/SweetAlert/Prime/composer.json | 36 +-
src/SweetAlert/Symfony/.editorconfig | 15 -
src/SweetAlert/Symfony/.gitattributes | 13 -
.../Symfony/.github/CONTRIBUTING.md | 55 ---
src/SweetAlert/Symfony/.github/FUNDING.yml | 2 -
src/SweetAlert/Symfony/.github/SECURITY.md | 3 -
src/SweetAlert/Symfony/.github/dependabot.yml | 7 -
.../.github/workflows/auto_closer.yaml | 22 +
.../.github/workflows/close-pull-request.yml | 13 -
src/SweetAlert/Symfony/.gitignore | 5 -
src/SweetAlert/Symfony/.phpstorm.meta.php | 3 -
src/SweetAlert/Symfony/CHANGELOG.md | 0
src/SweetAlert/Symfony/CODE_OF_CONDUCT.md | 76 ---
.../DependencyInjection/Configuration.php | 47 --
.../FlasherSweetAlertExtension.php | 23 -
.../FlasherSweetAlertSymfonyBundle.php | 25 +-
src/SweetAlert/Symfony/README.md | 22 +-
.../Symfony/Resources/config/services.php | 21 -
src/SweetAlert/Symfony/UPGRADING.md | 0
src/SweetAlert/Symfony/composer.json | 31 +-
src/Symfony/.editorconfig | 15 -
src/Symfony/.gitattributes | 13 -
src/Symfony/.github/CONTRIBUTING.md | 55 ---
src/Symfony/.github/FUNDING.yml | 2 -
src/Symfony/.github/SECURITY.md | 3 -
src/Symfony/.github/dependabot.yml | 7 -
.../.github/workflows/auto_closer.yaml | 22 +
.../.github/workflows/close-pull-request.yml | 13 -
src/Symfony/.gitignore | 5 -
src/Symfony/.phpstorm.meta.php | 3 -
src/Symfony/Bridge/Bridge.php | 8 +
.../DependencyInjection/FlasherExtension.php | 27 ++
src/Symfony/Bridge/FlasherBundle.php | 35 +-
.../DependencyInjection/FlasherExtension.php | 26 ++
src/Symfony/Bridge/Legacy/FlasherBundle.php | 33 +-
.../Legacy/Twig/FlasherTwigExtension.php | 15 +-
.../Bridge/Twig/FlasherTwigExtension.php | 26 +-
.../DependencyInjection/FlasherExtension.php | 26 ++
src/Symfony/Bridge/Typed/FlasherBundle.php | 33 +-
.../Typed/Twig/FlasherTwigExtension.php | 14 +-
src/Symfony/CHANGELOG.md | 0
src/Symfony/CODE_OF_CONDUCT.md | 76 ---
.../Compiler/EventSubscriberCompilerPass.php | 17 +-
.../Compiler/FactoryCompilerPass.php | 14 +-
.../Compiler/PresenterCompilerPass.php | 14 +-
.../Compiler/ResourceCompilerPass.php | 75 ---
.../Compiler/SessionCompilerPass.php | 32 --
.../DependencyInjection/Configuration.php | 118 ++---
.../DependencyInjection/FlasherExtension.php | 80 ++--
.../FlasherExtensionInterface.php | 18 -
src/Symfony/EventListener/SessionListener.php | 102 ++--
src/Symfony/FlasherSymfonyBundle.php | 13 +-
src/Symfony/README.md | 22 +-
src/Symfony/Resources/config/services.php | 128 ++---
.../Resources/config/session_listener.php | 18 +
.../Resources/views/bootstrap.html.twig | 43 --
.../Resources/views/tailwindcss.html.twig | 52 ---
.../Resources/views/tailwindcss_bg.html.twig | 48 --
src/Symfony/Storage/SessionBag.php | 63 +++
src/Symfony/Storage/Storage.php | 96 ----
src/Symfony/Support/Bundle.php | 24 +
src/Symfony/Support/Configuration.php | 54 +++
src/Symfony/Support/Extension.php | 102 ++++
...{TwigEngine.php => TwigTemplateEngine.php} | 9 +-
src/Symfony/Twig/FlasherTwigExtension.php | 33 +-
src/Symfony/UPGRADING.md | 0
src/Symfony/composer.json | 26 +-
src/Toastr/Laravel/.editorconfig | 15 -
src/Toastr/Laravel/.gitattributes | 13 -
src/Toastr/Laravel/.github/CONTRIBUTING.md | 55 ---
src/Toastr/Laravel/.github/FUNDING.yml | 2 -
src/Toastr/Laravel/.github/SECURITY.md | 3 -
src/Toastr/Laravel/.github/dependabot.yml | 7 -
.../.github/workflows/auto_closer.yaml | 22 +
.../.github/workflows/close-pull-request.yml | 13 -
src/Toastr/Laravel/.gitignore | 5 -
src/Toastr/Laravel/CHANGELOG.md | 0
src/Toastr/Laravel/CODE_OF_CONDUCT.md | 76 ---
src/Toastr/Laravel/Facade/Toastr.php | 10 +-
.../Laravel/FlasherToastrServiceProvider.php | 53 +--
src/Toastr/Laravel/README.md | 22 +-
.../Laravel/Resources/config/config.php | 13 -
.../Laravel/Resources/functions/toastr.php | 24 -
.../ServiceProvider/Providers/Laravel.php | 74 ---
.../ServiceProvider/Providers/Laravel4.php | 38 --
.../Providers/ServiceProviderInterface.php | 17 -
.../ServiceProviderManager.php | 64 ---
src/Toastr/Laravel/UPGRADING.md | 0
src/Toastr/Laravel/composer.json | 30 +-
src/Toastr/Laravel/toastr.php | 32 ++
src/Toastr/Prime/.editorconfig | 15 -
src/Toastr/Prime/.gitattributes | 13 -
src/Toastr/Prime/.github/CONTRIBUTING.md | 55 ---
src/Toastr/Prime/.github/FUNDING.yml | 2 -
src/Toastr/Prime/.github/SECURITY.md | 3 -
src/Toastr/Prime/.github/dependabot.yml | 7 -
.../Prime/.github/workflows/auto_closer.yaml | 22 +
.../.github/workflows/close-pull-request.yml | 13 -
src/Toastr/Prime/.gitignore | 5 -
src/Toastr/Prime/CHANGELOG.md | 0
src/Toastr/Prime/CODE_OF_CONDUCT.md | 76 ---
src/Toastr/Prime/README.md | 22 +-
src/Toastr/Prime/Toastr.php | 36 --
src/Toastr/Prime/ToastrBuilder.php | 116 +++--
src/Toastr/Prime/ToastrFactory.php | 11 +-
src/Toastr/Prime/ToastrPlugin.php | 24 +
src/Toastr/Prime/UPGRADING.md | 0
src/Toastr/Prime/composer.json | 23 +-
src/Toastr/Symfony/.editorconfig | 15 -
src/Toastr/Symfony/.gitattributes | 13 -
src/Toastr/Symfony/.github/CONTRIBUTING.md | 55 ---
src/Toastr/Symfony/.github/FUNDING.yml | 2 -
src/Toastr/Symfony/.github/SECURITY.md | 3 -
src/Toastr/Symfony/.github/dependabot.yml | 7 -
.../.github/workflows/auto_closer.yaml | 22 +
.../.github/workflows/close-pull-request.yml | 13 -
src/Toastr/Symfony/.gitignore | 5 -
src/Toastr/Symfony/.phpstorm.meta.php | 3 -
src/Toastr/Symfony/CHANGELOG.md | 0
src/Toastr/Symfony/CODE_OF_CONDUCT.md | 76 ---
.../DependencyInjection/Configuration.php | 47 --
.../FlasherToastrExtension.php | 23 -
.../Symfony/FlasherToastrSymfonyBundle.php | 25 +-
src/Toastr/Symfony/README.md | 22 +-
.../Symfony/Resources/config/services.php | 21 -
src/Toastr/Symfony/UPGRADING.md | 0
src/Toastr/Symfony/composer.json | 28 +-
tests/Laravel/Config/ConfigTest.php | 23 -
tests/Laravel/FlasherServiceProviderTest.php | 45 --
tests/Laravel/ServiceProviderTest.php | 47 ++
tests/Laravel/{Storage => }/StorageTest.php | 48 +-
tests/Laravel/TestCase.php | 68 +++
.../FlasherNotyServiceProviderTest.php | 20 -
tests/Noty/Laravel/TestCase.php | 87 ----
.../DependencyInjection/ConfigurationTest.php | 41 --
.../FlasherNotyExtensionTest.php | 67 ---
.../FlasherNotyfServiceProviderTest.php | 20 -
tests/Notyf/Laravel/TestCase.php | 87 ----
.../DependencyInjection/ConfigurationTest.php | 41 --
.../FlasherNotyfExtensionTest.php | 67 ---
.../FlasherPnotifyServiceProviderTest.php | 20 -
tests/Pnotify/Laravel/TestCase.php | 87 ----
.../DependencyInjection/ConfigurationTest.php | 42 --
.../FlasherPnotifyExtensionTest.php | 67 ---
tests/Prime/Config/ConfigTest.php | 7 +-
tests/Prime/Envelope/EnvelopeTest.php | 21 +-
.../Envelope/Stamp/CreatedAtStampTest.php | 7 +-
.../Prime/Envelope/Stamp/HandlerStampTest.php | 7 +-
tests/Prime/Envelope/Stamp/HopsStampTest.php | 7 +-
.../Envelope/Stamp/PriorityStampTest.php | 7 +-
tests/Prime/Envelope/Stamp/UuidStampTest.php | 7 +-
.../EventDispatcher/EventDispatcherTest.php | 54 +--
tests/Prime/Filter/CriteriaBuilderTest.php | 31 --
tests/Prime/Filter/FilterBuilderTest.php | 92 ----
tests/Prime/Storage/ArrayStorageTest.php | 71 ---
tests/Prime/Storage/StorageManagerTest.php | 54 ---
tests/Prime/TestCase.php | 19 +-
.../FlasherSweetAlertServiceProviderTest.php | 20 -
tests/SweetAlert/Laravel/TestCase.php | 87 ----
.../DependencyInjection/ConfigurationTest.php | 43 --
.../FlasherSweetAlertExtensionTest.php | 67 ---
.../EventSubscriberCompilerPassTest.php | 63 ---
.../Compiler/FactoryCompilerPassTest.php | 55 ---
.../DependencyInjection/ConfigurationTest.php | 92 ----
.../FlasherExtensionTest.php | 45 --
tests/Symfony/FlasherExtensionTest.php | 91 ++++
tests/Symfony/{Storage => }/StorageTest.php | 40 +-
.../Symfony/Twig/FlasherTwigExtensionTest.php | 38 --
.../FlasherToastrServiceProviderTest.php | 20 -
tests/Toastr/Laravel/TestCase.php | 87 ----
.../DependencyInjection/ConfigurationTest.php | 43 --
.../FlasherToastrExtensionTest.php | 72 ---
689 files changed, 7328 insertions(+), 15180 deletions(-)
create mode 100644 .github/workflows/split_monorepo.yaml
create mode 100644 .php-cs-fixer.dist.php
create mode 100644 .shared/.github/workflows/auto_closer.yaml
create mode 100644 Makefile
create mode 100755 bin/copy
delete mode 100755 bin/release.sh
delete mode 100755 bin/split.sh
delete mode 100755 bin/splitsh-lite
mode change 100755 => 100644 composer.json
create mode 100644 make/composer.mk
create mode 100644 make/help.mk
create mode 100644 make/lint.mk
create mode 100644 make/variables.mk
create mode 100644 monorepo-builder.php
rename {src/Livewire => packs/laravel-pack}/.github/FUNDING.yml (70%)
create mode 100644 packs/laravel-pack/.github/workflows/auto_closer.yaml
rename {src/Livewire => packs/laravel-pack}/README.md (74%)
delete mode 100644 packs/livewire-pack/LICENSE
delete mode 100644 packs/livewire-pack/composer.json
create mode 100644 packs/php-pack/.github/FUNDING.yml
create mode 100644 packs/php-pack/.github/workflows/auto_closer.yaml
create mode 100644 packs/php-pack/README.md
create mode 100644 packs/symfony-pack/.github/FUNDING.yml
create mode 100644 packs/symfony-pack/.github/workflows/auto_closer.yaml
create mode 100644 packs/symfony-pack/README.md
delete mode 100644 phpunit.xml
delete mode 100644 src/Cli/Laravel/.editorconfig
delete mode 100644 src/Cli/Laravel/.gitattributes
delete mode 100644 src/Cli/Laravel/.github/CONTRIBUTING.md
delete mode 100644 src/Cli/Laravel/.github/SECURITY.md
delete mode 100644 src/Cli/Laravel/.github/dependabot.yml
create mode 100644 src/Cli/Laravel/.github/workflows/auto_closer.yaml
delete mode 100644 src/Cli/Laravel/.github/workflows/close-pull-request.yml
delete mode 100644 src/Cli/Laravel/.gitignore
delete mode 100644 src/Cli/Laravel/.phpstorm.meta.php
delete mode 100644 src/Cli/Laravel/CHANGELOG.md
delete mode 100644 src/Cli/Laravel/CODE_OF_CONDUCT.md
delete mode 100644 src/Cli/Laravel/Resources/config/config.php
delete mode 100644 src/Cli/Laravel/Resources/functions/cli.php
delete mode 100644 src/Cli/Laravel/ServiceProvider/Providers/Laravel.php
delete mode 100644 src/Cli/Laravel/ServiceProvider/Providers/Laravel4.php
delete mode 100644 src/Cli/Laravel/ServiceProvider/Providers/ServiceProviderInterface.php
delete mode 100644 src/Cli/Laravel/ServiceProvider/ServiceProviderManager.php
delete mode 100644 src/Cli/Laravel/UPGRADING.md
create mode 100644 src/Cli/Laravel/notify.php
delete mode 100644 src/Cli/Prime/.editorconfig
delete mode 100644 src/Cli/Prime/.gitattributes
delete mode 100644 src/Cli/Prime/.github/CONTRIBUTING.md
delete mode 100644 src/Cli/Prime/.github/SECURITY.md
delete mode 100644 src/Cli/Prime/.github/dependabot.yml
create mode 100644 src/Cli/Prime/.github/workflows/auto_closer.yaml
delete mode 100644 src/Cli/Prime/.github/workflows/close-pull-request.yml
delete mode 100644 src/Cli/Prime/.gitignore
delete mode 100644 src/Cli/Prime/CHANGELOG.md
delete mode 100644 src/Cli/Prime/CODE_OF_CONDUCT.md
rename src/Cli/Prime/{CliNotificationBuilder.php => CliBuilder.php} (59%)
create mode 100644 src/Cli/Prime/CliFactory.php
delete mode 100644 src/Cli/Prime/CliFlasherInterface.php
delete mode 100644 src/Cli/Prime/CliNotification.php
delete mode 100644 src/Cli/Prime/CliNotificationFactory.php
delete mode 100644 src/Cli/Prime/EventListener/StampsListener.php
create mode 100644 src/Cli/Prime/Notification.php
delete mode 100644 src/Cli/Prime/Notifier/AbstractNotifier.php
create mode 100644 src/Cli/Prime/Notifier/AppleScriptBaseNotifier.php
delete mode 100644 src/Cli/Prime/Notifier/AppleScriptNotifier.php
create mode 100644 src/Cli/Prime/Notifier/BaseNotifier.php
create mode 100644 src/Cli/Prime/Notifier/GrowlNotifyBaseNotifier.php
delete mode 100644 src/Cli/Prime/Notifier/GrowlNotifyNotifier.php
create mode 100644 src/Cli/Prime/Notifier/KDialogBaseNotifier.php
delete mode 100644 src/Cli/Prime/Notifier/KDialogNotifier.php
delete mode 100644 src/Cli/Prime/Notifier/NotifierInterface.php
create mode 100644 src/Cli/Prime/Notifier/NotifuBaseNotifier.php
delete mode 100644 src/Cli/Prime/Notifier/NotifuNotifier.php
create mode 100644 src/Cli/Prime/Notifier/NotifySendBaseNotifier.php
delete mode 100644 src/Cli/Prime/Notifier/NotifySendNotifier.php
create mode 100644 src/Cli/Prime/Notifier/NullBaseNotifier.php
delete mode 100644 src/Cli/Prime/Notifier/NullNotifier.php
create mode 100644 src/Cli/Prime/Notifier/SnoreToastBaseNotifier.php
delete mode 100644 src/Cli/Prime/Notifier/SnoreToastNotifier.php
create mode 100644 src/Cli/Prime/Notifier/TerminalNotifierBaseNotifier.php
delete mode 100644 src/Cli/Prime/Notifier/TerminalNotifierNotifier.php
create mode 100644 src/Cli/Prime/Notifier/ToasterBaseNotifier.php
delete mode 100644 src/Cli/Prime/Notifier/ToasterNotifier.php
create mode 100644 src/Cli/Prime/Notifier/ZenityBaseNotifier.php
delete mode 100644 src/Cli/Prime/Notifier/ZenityNotifier.php
create mode 100644 src/Cli/Prime/Notify.php
create mode 100644 src/Cli/Prime/NotifyInterface.php
delete mode 100644 src/Cli/Prime/Resources/sounds/error.wav
delete mode 100644 src/Cli/Prime/Resources/sounds/info.wav
delete mode 100644 src/Cli/Prime/Resources/sounds/success.wav
delete mode 100644 src/Cli/Prime/Resources/sounds/warning.wav
delete mode 100644 src/Cli/Prime/Stamp/DesktopStamp.php
delete mode 100644 src/Cli/Prime/UPGRADING.md
delete mode 100644 src/Cli/Symfony/.editorconfig
delete mode 100644 src/Cli/Symfony/.gitattributes
delete mode 100644 src/Cli/Symfony/.github/CONTRIBUTING.md
delete mode 100644 src/Cli/Symfony/.github/SECURITY.md
delete mode 100644 src/Cli/Symfony/.github/dependabot.yml
create mode 100644 src/Cli/Symfony/.github/workflows/auto_closer.yaml
delete mode 100644 src/Cli/Symfony/.github/workflows/close-pull-request.yml
delete mode 100644 src/Cli/Symfony/.gitignore
delete mode 100644 src/Cli/Symfony/.phpstorm.meta.php
delete mode 100644 src/Cli/Symfony/CHANGELOG.md
delete mode 100644 src/Cli/Symfony/CODE_OF_CONDUCT.md
delete mode 100644 src/Cli/Symfony/UPGRADING.md
delete mode 100644 src/Laravel/.editorconfig
delete mode 100644 src/Laravel/.gitattributes
delete mode 100644 src/Laravel/.github/CONTRIBUTING.md
delete mode 100644 src/Laravel/.github/SECURITY.md
delete mode 100644 src/Laravel/.github/dependabot.yml
create mode 100644 src/Laravel/.github/workflows/auto_closer.yaml
delete mode 100644 src/Laravel/.github/workflows/close-pull-request.yml
delete mode 100644 src/Laravel/.gitignore
delete mode 100644 src/Laravel/CHANGELOG.md
delete mode 100644 src/Laravel/CODE_OF_CONDUCT.md
delete mode 100644 src/Laravel/Config/Config.php
mode change 100755 => 100644 src/Laravel/Middleware/SessionMiddleware.php
delete mode 100644 src/Laravel/Observer/FlasherModelObserver.php
delete mode 100644 src/Laravel/Resources/config/config.php
delete mode 100644 src/Laravel/Resources/lang/en/messages.php
delete mode 100644 src/Laravel/Resources/views/bootstrap.blade.php
delete mode 100644 src/Laravel/Resources/views/tailwindcss.blade.php
delete mode 100644 src/Laravel/Resources/views/tailwindcss_bg.blade.php
delete mode 100755 src/Laravel/ServiceProvider/Providers/Laravel.php
delete mode 100644 src/Laravel/ServiceProvider/Providers/Laravel4.php
delete mode 100644 src/Laravel/ServiceProvider/Providers/Laravel50.php
delete mode 100644 src/Laravel/ServiceProvider/Providers/Laravel51.php
delete mode 100644 src/Laravel/ServiceProvider/Providers/ServiceProviderInterface.php
delete mode 100644 src/Laravel/ServiceProvider/ResourceManagerHelper.php
delete mode 100644 src/Laravel/ServiceProvider/ServiceProviderManager.php
create mode 100644 src/Laravel/Storage/SessionBag.php
delete mode 100644 src/Laravel/Storage/Storage.php
create mode 100644 src/Laravel/Support/Laravel.php
create mode 100644 src/Laravel/Support/ServiceProvider.php
rename src/Laravel/Template/{BladeEngine.php => BladeTemplateEngine.php} (65%)
delete mode 100644 src/Laravel/UPGRADING.md
create mode 100644 src/Laravel/flasher.php
delete mode 100644 src/Laravel/helpers.php
delete mode 100644 src/Livewire/.editorconfig
delete mode 100644 src/Livewire/.gitattributes
delete mode 100644 src/Livewire/.github/CONTRIBUTING.md
delete mode 100644 src/Livewire/.github/SECURITY.md
delete mode 100644 src/Livewire/.github/dependabot.yml
delete mode 100644 src/Livewire/.github/workflows/close-pull-request.yml
delete mode 100644 src/Livewire/.gitignore
delete mode 100644 src/Livewire/CHANGELOG.md
delete mode 100644 src/Livewire/CODE_OF_CONDUCT.md
delete mode 100644 src/Livewire/FlasherLivewireServiceProvider.php
delete mode 100644 src/Livewire/LICENSE
delete mode 100644 src/Livewire/LivewireResponseManager.php
delete mode 100644 src/Livewire/LivewireStamp.php
delete mode 100644 src/Livewire/UPGRADING.md
delete mode 100644 src/Livewire/composer.json
delete mode 100644 src/Noty/Laravel/.editorconfig
delete mode 100644 src/Noty/Laravel/.gitattributes
delete mode 100644 src/Noty/Laravel/.github/CONTRIBUTING.md
delete mode 100644 src/Noty/Laravel/.github/SECURITY.md
delete mode 100644 src/Noty/Laravel/.github/dependabot.yml
create mode 100644 src/Noty/Laravel/.github/workflows/auto_closer.yaml
delete mode 100644 src/Noty/Laravel/.github/workflows/close-pull-request.yml
delete mode 100644 src/Noty/Laravel/.gitignore
delete mode 100644 src/Noty/Laravel/CHANGELOG.md
delete mode 100644 src/Noty/Laravel/CODE_OF_CONDUCT.md
delete mode 100644 src/Noty/Laravel/Resources/config/config.php
delete mode 100644 src/Noty/Laravel/Resources/functions/noty.php
delete mode 100644 src/Noty/Laravel/ServiceProvider/Providers/Laravel.php
delete mode 100644 src/Noty/Laravel/ServiceProvider/Providers/Laravel4.php
delete mode 100644 src/Noty/Laravel/ServiceProvider/Providers/ServiceProviderInterface.php
delete mode 100644 src/Noty/Laravel/ServiceProvider/ServiceProviderManager.php
delete mode 100644 src/Noty/Laravel/UPGRADING.md
create mode 100644 src/Noty/Laravel/noty.php
delete mode 100755 src/Noty/Prime/.editorconfig
delete mode 100644 src/Noty/Prime/.gitattributes
delete mode 100644 src/Noty/Prime/.github/CONTRIBUTING.md
delete mode 100644 src/Noty/Prime/.github/SECURITY.md
delete mode 100644 src/Noty/Prime/.github/dependabot.yml
create mode 100644 src/Noty/Prime/.github/workflows/auto_closer.yaml
delete mode 100644 src/Noty/Prime/.github/workflows/close-pull-request.yml
delete mode 100644 src/Noty/Prime/.gitignore
delete mode 100644 src/Noty/Prime/CHANGELOG.md
delete mode 100644 src/Noty/Prime/CODE_OF_CONDUCT.md
delete mode 100644 src/Noty/Prime/Noty.php
create mode 100644 src/Noty/Prime/NotyPlugin.php
delete mode 100644 src/Noty/Prime/UPGRADING.md
delete mode 100644 src/Noty/Symfony/.editorconfig
delete mode 100644 src/Noty/Symfony/.gitattributes
delete mode 100644 src/Noty/Symfony/.github/CONTRIBUTING.md
delete mode 100644 src/Noty/Symfony/.github/SECURITY.md
delete mode 100644 src/Noty/Symfony/.github/dependabot.yml
create mode 100644 src/Noty/Symfony/.github/workflows/auto_closer.yaml
delete mode 100644 src/Noty/Symfony/.github/workflows/close-pull-request.yml
delete mode 100644 src/Noty/Symfony/.gitignore
delete mode 100644 src/Noty/Symfony/.phpstorm.meta.php
delete mode 100644 src/Noty/Symfony/CHANGELOG.md
delete mode 100644 src/Noty/Symfony/CODE_OF_CONDUCT.md
delete mode 100755 src/Noty/Symfony/DependencyInjection/Configuration.php
delete mode 100644 src/Noty/Symfony/DependencyInjection/FlasherNotyExtension.php
delete mode 100644 src/Noty/Symfony/Resources/config/services.php
delete mode 100644 src/Noty/Symfony/UPGRADING.md
delete mode 100644 src/Notyf/Laravel/.editorconfig
delete mode 100644 src/Notyf/Laravel/.gitattributes
delete mode 100644 src/Notyf/Laravel/.github/CONTRIBUTING.md
delete mode 100644 src/Notyf/Laravel/.github/SECURITY.md
delete mode 100644 src/Notyf/Laravel/.github/dependabot.yml
create mode 100644 src/Notyf/Laravel/.github/workflows/auto_closer.yaml
delete mode 100644 src/Notyf/Laravel/.github/workflows/close-pull-request.yml
delete mode 100644 src/Notyf/Laravel/.gitignore
delete mode 100644 src/Notyf/Laravel/CHANGELOG.md
delete mode 100644 src/Notyf/Laravel/CODE_OF_CONDUCT.md
delete mode 100644 src/Notyf/Laravel/Resources/config/config.php
delete mode 100644 src/Notyf/Laravel/Resources/functions/notyf.php
delete mode 100644 src/Notyf/Laravel/ServiceProvider/Providers/Laravel.php
delete mode 100644 src/Notyf/Laravel/ServiceProvider/Providers/Laravel4.php
delete mode 100644 src/Notyf/Laravel/ServiceProvider/Providers/ServiceProviderInterface.php
delete mode 100644 src/Notyf/Laravel/ServiceProvider/ServiceProviderManager.php
delete mode 100644 src/Notyf/Laravel/UPGRADING.md
create mode 100644 src/Notyf/Laravel/notyf.php
delete mode 100644 src/Notyf/Prime/.editorconfig
delete mode 100644 src/Notyf/Prime/.gitattributes
delete mode 100644 src/Notyf/Prime/.github/CONTRIBUTING.md
delete mode 100644 src/Notyf/Prime/.github/SECURITY.md
delete mode 100644 src/Notyf/Prime/.github/dependabot.yml
create mode 100644 src/Notyf/Prime/.github/workflows/auto_closer.yaml
delete mode 100644 src/Notyf/Prime/.github/workflows/close-pull-request.yml
delete mode 100644 src/Notyf/Prime/.gitignore
delete mode 100644 src/Notyf/Prime/CHANGELOG.md
delete mode 100644 src/Notyf/Prime/CODE_OF_CONDUCT.md
delete mode 100644 src/Notyf/Prime/Notyf.php
create mode 100644 src/Notyf/Prime/NotyfPlugin.php
delete mode 100644 src/Notyf/Prime/UPGRADING.md
delete mode 100644 src/Notyf/Symfony/.editorconfig
delete mode 100644 src/Notyf/Symfony/.gitattributes
delete mode 100644 src/Notyf/Symfony/.github/CONTRIBUTING.md
delete mode 100644 src/Notyf/Symfony/.github/SECURITY.md
delete mode 100644 src/Notyf/Symfony/.github/dependabot.yml
create mode 100644 src/Notyf/Symfony/.github/workflows/auto_closer.yaml
delete mode 100644 src/Notyf/Symfony/.github/workflows/close-pull-request.yml
delete mode 100644 src/Notyf/Symfony/.gitignore
delete mode 100644 src/Notyf/Symfony/.phpstorm.meta.php
delete mode 100644 src/Notyf/Symfony/CHANGELOG.md
delete mode 100644 src/Notyf/Symfony/CODE_OF_CONDUCT.md
delete mode 100644 src/Notyf/Symfony/DependencyInjection/Configuration.php
delete mode 100644 src/Notyf/Symfony/DependencyInjection/FlasherNotyfExtension.php
delete mode 100644 src/Notyf/Symfony/Resources/config/services.php
delete mode 100644 src/Notyf/Symfony/UPGRADING.md
delete mode 100644 src/Pnotify/Laravel/.editorconfig
delete mode 100644 src/Pnotify/Laravel/.gitattributes
delete mode 100644 src/Pnotify/Laravel/.github/CONTRIBUTING.md
delete mode 100644 src/Pnotify/Laravel/.github/SECURITY.md
delete mode 100644 src/Pnotify/Laravel/.github/dependabot.yml
create mode 100644 src/Pnotify/Laravel/.github/workflows/auto_closer.yaml
delete mode 100644 src/Pnotify/Laravel/.github/workflows/close-pull-request.yml
delete mode 100644 src/Pnotify/Laravel/.gitignore
delete mode 100644 src/Pnotify/Laravel/CHANGELOG.md
delete mode 100644 src/Pnotify/Laravel/CODE_OF_CONDUCT.md
delete mode 100644 src/Pnotify/Laravel/Resources/config/config.php
delete mode 100644 src/Pnotify/Laravel/Resources/functions/pnotify.php
delete mode 100644 src/Pnotify/Laravel/ServiceProvider/Providers/Laravel.php
delete mode 100644 src/Pnotify/Laravel/ServiceProvider/Providers/Laravel4.php
delete mode 100644 src/Pnotify/Laravel/ServiceProvider/Providers/ServiceProviderInterface.php
delete mode 100644 src/Pnotify/Laravel/ServiceProvider/ServiceProviderManager.php
delete mode 100644 src/Pnotify/Laravel/UPGRADING.md
create mode 100644 src/Pnotify/Laravel/pnotify.php
delete mode 100644 src/Pnotify/Prime/.editorconfig
delete mode 100644 src/Pnotify/Prime/.gitattributes
delete mode 100644 src/Pnotify/Prime/.github/CONTRIBUTING.md
delete mode 100644 src/Pnotify/Prime/.github/SECURITY.md
delete mode 100644 src/Pnotify/Prime/.github/dependabot.yml
create mode 100644 src/Pnotify/Prime/.github/workflows/auto_closer.yaml
delete mode 100644 src/Pnotify/Prime/.github/workflows/close-pull-request.yml
delete mode 100644 src/Pnotify/Prime/.gitignore
delete mode 100644 src/Pnotify/Prime/CHANGELOG.md
delete mode 100644 src/Pnotify/Prime/CODE_OF_CONDUCT.md
delete mode 100644 src/Pnotify/Prime/Pnotify.php
create mode 100644 src/Pnotify/Prime/PnotifyPlugin.php
delete mode 100644 src/Pnotify/Prime/UPGRADING.md
delete mode 100644 src/Pnotify/Symfony/.editorconfig
delete mode 100644 src/Pnotify/Symfony/.gitattributes
delete mode 100644 src/Pnotify/Symfony/.github/CONTRIBUTING.md
delete mode 100644 src/Pnotify/Symfony/.github/SECURITY.md
delete mode 100644 src/Pnotify/Symfony/.github/dependabot.yml
create mode 100644 src/Pnotify/Symfony/.github/workflows/auto_closer.yaml
delete mode 100644 src/Pnotify/Symfony/.github/workflows/close-pull-request.yml
delete mode 100644 src/Pnotify/Symfony/.gitignore
delete mode 100644 src/Pnotify/Symfony/.phpstorm.meta.php
delete mode 100644 src/Pnotify/Symfony/CHANGELOG.md
delete mode 100644 src/Pnotify/Symfony/CODE_OF_CONDUCT.md
delete mode 100644 src/Pnotify/Symfony/DependencyInjection/Configuration.php
delete mode 100644 src/Pnotify/Symfony/DependencyInjection/FlasherPnotifyExtension.php
delete mode 100644 src/Pnotify/Symfony/Resources/config/services.php
delete mode 100644 src/Pnotify/Symfony/UPGRADING.md
delete mode 100755 src/Prime/.editorconfig
delete mode 100644 src/Prime/.gitattributes
delete mode 100644 src/Prime/.github/CONTRIBUTING.md
delete mode 100644 src/Prime/.github/SECURITY.md
delete mode 100644 src/Prime/.github/dependabot.yml
create mode 100644 src/Prime/.github/workflows/auto_closer.yaml
delete mode 100644 src/Prime/.github/workflows/close-pull-request.yml
delete mode 100644 src/Prime/.gitignore
delete mode 100644 src/Prime/CHANGELOG.md
delete mode 100644 src/Prime/CODE_OF_CONDUCT.md
delete mode 100644 src/Prime/EventDispatcher/EventListener/FilterListener.php
delete mode 100644 src/Prime/EventDispatcher/EventListener/ResponseListener.php
delete mode 100644 src/Prime/Factory/TemplateFactory.php
delete mode 100644 src/Prime/Filter/FilterBuilder.php
delete mode 100644 src/Prime/Filter/FilterInterface.php
delete mode 100644 src/Prime/Filter/Specification/NotSpecification.php
delete mode 100644 src/Prime/Filter/Specification/OrSpecification.php
delete mode 100644 src/Prime/Filter/Specification/TimeSpecification.php
rename src/Prime/{ => Notification}/Envelope.php (55%)
delete mode 100644 src/Prime/Notification/Template.php
delete mode 100644 src/Prime/Notification/TemplateBuilder.php
create mode 100644 src/Prime/Plugin/FlasherPlugin.php
create mode 100644 src/Prime/Plugin/Plugin.php
create mode 100644 src/Prime/Plugin/PluginInterface.php
mode change 100755 => 100644 src/Prime/Response/Presenter/ArrayPresenter.php
mode change 100755 => 100644 src/Prime/Response/Presenter/HtmlPresenter.php
mode change 100755 => 100644 src/Prime/Response/Presenter/PresenterInterface.php
mode change 100755 => 100644 src/Prime/Response/Response.php
mode change 100755 => 100644 src/Prime/Response/ResponseManager.php
mode change 100755 => 100644 src/Prime/Response/ResponseManagerInterface.php
create mode 100644 src/Prime/Stamp/ContextStamp.php
delete mode 100644 src/Prime/Stamp/TemplateStamp.php
create mode 100644 src/Prime/Stamp/ViewStamp.php
delete mode 100644 src/Prime/Storage/ArrayStorage.php
create mode 100644 src/Prime/Storage/Bag/ArrayBag.php
create mode 100644 src/Prime/Storage/Bag/BagInterface.php
create mode 100644 src/Prime/Storage/Bag/StaticBag.php
create mode 100644 src/Prime/Storage/StorageBag.php
create mode 100644 src/Prime/Template/PHPTemplateEngine.php
create mode 100644 src/Prime/Template/TemplateEngineInterface.php
delete mode 100644 src/Prime/Template/views/bootstrap.php
delete mode 100644 src/Prime/Template/views/tailwindcss.php
delete mode 100644 src/Prime/Template/views/tailwindcss_bg.php
delete mode 100644 src/Prime/UPGRADING.md
delete mode 100644 src/Prime/helpers.php
delete mode 100644 src/SweetAlert/Laravel/.editorconfig
delete mode 100644 src/SweetAlert/Laravel/.gitattributes
delete mode 100644 src/SweetAlert/Laravel/.github/CONTRIBUTING.md
delete mode 100644 src/SweetAlert/Laravel/.github/SECURITY.md
delete mode 100644 src/SweetAlert/Laravel/.github/dependabot.yml
create mode 100644 src/SweetAlert/Laravel/.github/workflows/auto_closer.yaml
delete mode 100644 src/SweetAlert/Laravel/.github/workflows/close-pull-request.yml
delete mode 100644 src/SweetAlert/Laravel/.gitignore
delete mode 100644 src/SweetAlert/Laravel/CHANGELOG.md
delete mode 100644 src/SweetAlert/Laravel/CODE_OF_CONDUCT.md
create mode 100644 src/SweetAlert/Laravel/LivewireListener.php
delete mode 100644 src/SweetAlert/Laravel/Resources/config/config.php
delete mode 100644 src/SweetAlert/Laravel/Resources/functions/sweetAlert.php
delete mode 100644 src/SweetAlert/Laravel/ServiceProvider/Providers/Laravel.php
delete mode 100644 src/SweetAlert/Laravel/ServiceProvider/Providers/Laravel4.php
delete mode 100644 src/SweetAlert/Laravel/ServiceProvider/Providers/ServiceProviderInterface.php
delete mode 100644 src/SweetAlert/Laravel/ServiceProvider/ServiceProviderManager.php
delete mode 100644 src/SweetAlert/Laravel/UPGRADING.md
create mode 100644 src/SweetAlert/Laravel/sweetalert.php
delete mode 100644 src/SweetAlert/Prime/.editorconfig
delete mode 100644 src/SweetAlert/Prime/.gitattributes
delete mode 100644 src/SweetAlert/Prime/.github/CONTRIBUTING.md
delete mode 100644 src/SweetAlert/Prime/.github/SECURITY.md
delete mode 100644 src/SweetAlert/Prime/.github/dependabot.yml
create mode 100644 src/SweetAlert/Prime/.github/workflows/auto_closer.yaml
delete mode 100644 src/SweetAlert/Prime/.github/workflows/close-pull-request.yml
delete mode 100644 src/SweetAlert/Prime/.gitignore
delete mode 100644 src/SweetAlert/Prime/CHANGELOG.md
delete mode 100644 src/SweetAlert/Prime/CODE_OF_CONDUCT.md
delete mode 100644 src/SweetAlert/Prime/SweetAlert.php
create mode 100644 src/SweetAlert/Prime/SweetAlertPlugin.php
delete mode 100644 src/SweetAlert/Prime/UPGRADING.md
delete mode 100644 src/SweetAlert/Symfony/.editorconfig
delete mode 100644 src/SweetAlert/Symfony/.gitattributes
delete mode 100644 src/SweetAlert/Symfony/.github/CONTRIBUTING.md
delete mode 100644 src/SweetAlert/Symfony/.github/SECURITY.md
delete mode 100644 src/SweetAlert/Symfony/.github/dependabot.yml
create mode 100644 src/SweetAlert/Symfony/.github/workflows/auto_closer.yaml
delete mode 100644 src/SweetAlert/Symfony/.github/workflows/close-pull-request.yml
delete mode 100644 src/SweetAlert/Symfony/.gitignore
delete mode 100644 src/SweetAlert/Symfony/.phpstorm.meta.php
delete mode 100644 src/SweetAlert/Symfony/CHANGELOG.md
delete mode 100644 src/SweetAlert/Symfony/CODE_OF_CONDUCT.md
delete mode 100644 src/SweetAlert/Symfony/DependencyInjection/Configuration.php
delete mode 100644 src/SweetAlert/Symfony/DependencyInjection/FlasherSweetAlertExtension.php
delete mode 100644 src/SweetAlert/Symfony/Resources/config/services.php
delete mode 100644 src/SweetAlert/Symfony/UPGRADING.md
delete mode 100644 src/Symfony/.editorconfig
delete mode 100644 src/Symfony/.gitattributes
delete mode 100644 src/Symfony/.github/CONTRIBUTING.md
delete mode 100644 src/Symfony/.github/SECURITY.md
delete mode 100644 src/Symfony/.github/dependabot.yml
create mode 100644 src/Symfony/.github/workflows/auto_closer.yaml
delete mode 100644 src/Symfony/.github/workflows/close-pull-request.yml
delete mode 100644 src/Symfony/.gitignore
delete mode 100644 src/Symfony/.phpstorm.meta.php
create mode 100644 src/Symfony/Bridge/DependencyInjection/FlasherExtension.php
create mode 100644 src/Symfony/Bridge/Legacy/DependencyInjection/FlasherExtension.php
create mode 100644 src/Symfony/Bridge/Typed/DependencyInjection/FlasherExtension.php
delete mode 100644 src/Symfony/CHANGELOG.md
delete mode 100644 src/Symfony/CODE_OF_CONDUCT.md
mode change 100755 => 100644 src/Symfony/DependencyInjection/Compiler/PresenterCompilerPass.php
delete mode 100644 src/Symfony/DependencyInjection/Compiler/ResourceCompilerPass.php
delete mode 100644 src/Symfony/DependencyInjection/Compiler/SessionCompilerPass.php
mode change 100755 => 100644 src/Symfony/DependencyInjection/Configuration.php
delete mode 100644 src/Symfony/DependencyInjection/FlasherExtensionInterface.php
mode change 100755 => 100644 src/Symfony/EventListener/SessionListener.php
create mode 100644 src/Symfony/Resources/config/session_listener.php
delete mode 100644 src/Symfony/Resources/views/bootstrap.html.twig
delete mode 100644 src/Symfony/Resources/views/tailwindcss.html.twig
delete mode 100644 src/Symfony/Resources/views/tailwindcss_bg.html.twig
create mode 100644 src/Symfony/Storage/SessionBag.php
delete mode 100644 src/Symfony/Storage/Storage.php
create mode 100644 src/Symfony/Support/Bundle.php
create mode 100644 src/Symfony/Support/Configuration.php
create mode 100644 src/Symfony/Support/Extension.php
rename src/Symfony/Template/{TwigEngine.php => TwigTemplateEngine.php} (61%)
mode change 100755 => 100644 src/Symfony/Twig/FlasherTwigExtension.php
delete mode 100644 src/Symfony/UPGRADING.md
delete mode 100644 src/Toastr/Laravel/.editorconfig
delete mode 100644 src/Toastr/Laravel/.gitattributes
delete mode 100644 src/Toastr/Laravel/.github/CONTRIBUTING.md
delete mode 100644 src/Toastr/Laravel/.github/SECURITY.md
delete mode 100644 src/Toastr/Laravel/.github/dependabot.yml
create mode 100644 src/Toastr/Laravel/.github/workflows/auto_closer.yaml
delete mode 100644 src/Toastr/Laravel/.github/workflows/close-pull-request.yml
delete mode 100644 src/Toastr/Laravel/.gitignore
delete mode 100644 src/Toastr/Laravel/CHANGELOG.md
delete mode 100644 src/Toastr/Laravel/CODE_OF_CONDUCT.md
delete mode 100644 src/Toastr/Laravel/Resources/config/config.php
delete mode 100644 src/Toastr/Laravel/Resources/functions/toastr.php
delete mode 100644 src/Toastr/Laravel/ServiceProvider/Providers/Laravel.php
delete mode 100644 src/Toastr/Laravel/ServiceProvider/Providers/Laravel4.php
delete mode 100644 src/Toastr/Laravel/ServiceProvider/Providers/ServiceProviderInterface.php
delete mode 100644 src/Toastr/Laravel/ServiceProvider/ServiceProviderManager.php
delete mode 100644 src/Toastr/Laravel/UPGRADING.md
create mode 100644 src/Toastr/Laravel/toastr.php
delete mode 100755 src/Toastr/Prime/.editorconfig
delete mode 100644 src/Toastr/Prime/.gitattributes
delete mode 100644 src/Toastr/Prime/.github/CONTRIBUTING.md
delete mode 100644 src/Toastr/Prime/.github/SECURITY.md
delete mode 100644 src/Toastr/Prime/.github/dependabot.yml
create mode 100644 src/Toastr/Prime/.github/workflows/auto_closer.yaml
delete mode 100644 src/Toastr/Prime/.github/workflows/close-pull-request.yml
delete mode 100644 src/Toastr/Prime/.gitignore
delete mode 100644 src/Toastr/Prime/CHANGELOG.md
delete mode 100644 src/Toastr/Prime/CODE_OF_CONDUCT.md
delete mode 100644 src/Toastr/Prime/Toastr.php
create mode 100644 src/Toastr/Prime/ToastrPlugin.php
delete mode 100644 src/Toastr/Prime/UPGRADING.md
delete mode 100644 src/Toastr/Symfony/.editorconfig
delete mode 100644 src/Toastr/Symfony/.gitattributes
delete mode 100644 src/Toastr/Symfony/.github/CONTRIBUTING.md
delete mode 100644 src/Toastr/Symfony/.github/SECURITY.md
delete mode 100644 src/Toastr/Symfony/.github/dependabot.yml
create mode 100644 src/Toastr/Symfony/.github/workflows/auto_closer.yaml
delete mode 100644 src/Toastr/Symfony/.github/workflows/close-pull-request.yml
delete mode 100644 src/Toastr/Symfony/.gitignore
delete mode 100644 src/Toastr/Symfony/.phpstorm.meta.php
delete mode 100644 src/Toastr/Symfony/CHANGELOG.md
delete mode 100644 src/Toastr/Symfony/CODE_OF_CONDUCT.md
delete mode 100755 src/Toastr/Symfony/DependencyInjection/Configuration.php
delete mode 100644 src/Toastr/Symfony/DependencyInjection/FlasherToastrExtension.php
delete mode 100644 src/Toastr/Symfony/Resources/config/services.php
delete mode 100644 src/Toastr/Symfony/UPGRADING.md
delete mode 100644 tests/Laravel/Config/ConfigTest.php
delete mode 100644 tests/Laravel/FlasherServiceProviderTest.php
create mode 100644 tests/Laravel/ServiceProviderTest.php
rename tests/Laravel/{Storage => }/StorageTest.php (65%)
delete mode 100644 tests/Noty/Laravel/FlasherNotyServiceProviderTest.php
delete mode 100644 tests/Noty/Laravel/TestCase.php
delete mode 100644 tests/Noty/Symfony/DependencyInjection/ConfigurationTest.php
delete mode 100644 tests/Noty/Symfony/DependencyInjection/FlasherNotyExtensionTest.php
delete mode 100644 tests/Notyf/Laravel/FlasherNotyfServiceProviderTest.php
delete mode 100644 tests/Notyf/Laravel/TestCase.php
delete mode 100644 tests/Notyf/Symfony/DependencyInjection/ConfigurationTest.php
delete mode 100644 tests/Notyf/Symfony/DependencyInjection/FlasherNotyfExtensionTest.php
delete mode 100644 tests/Pnotify/Laravel/FlasherPnotifyServiceProviderTest.php
delete mode 100644 tests/Pnotify/Laravel/TestCase.php
delete mode 100644 tests/Pnotify/Symfony/DependencyInjection/ConfigurationTest.php
delete mode 100644 tests/Pnotify/Symfony/DependencyInjection/FlasherPnotifyExtensionTest.php
delete mode 100644 tests/Prime/Filter/CriteriaBuilderTest.php
delete mode 100644 tests/Prime/Filter/FilterBuilderTest.php
delete mode 100644 tests/Prime/Storage/ArrayStorageTest.php
delete mode 100644 tests/Prime/Storage/StorageManagerTest.php
delete mode 100644 tests/SweetAlert/Laravel/FlasherSweetAlertServiceProviderTest.php
delete mode 100644 tests/SweetAlert/Laravel/TestCase.php
delete mode 100644 tests/SweetAlert/Symfony/DependencyInjection/ConfigurationTest.php
delete mode 100644 tests/SweetAlert/Symfony/DependencyInjection/FlasherSweetAlertExtensionTest.php
delete mode 100644 tests/Symfony/DependencyInjection/Compiler/EventSubscriberCompilerPassTest.php
delete mode 100644 tests/Symfony/DependencyInjection/Compiler/FactoryCompilerPassTest.php
delete mode 100644 tests/Symfony/DependencyInjection/ConfigurationTest.php
delete mode 100644 tests/Symfony/DependencyInjection/FlasherExtensionTest.php
create mode 100644 tests/Symfony/FlasherExtensionTest.php
rename tests/Symfony/{Storage => }/StorageTest.php (74%)
delete mode 100644 tests/Symfony/Twig/FlasherTwigExtensionTest.php
delete mode 100644 tests/Toastr/Laravel/FlasherToastrServiceProviderTest.php
delete mode 100644 tests/Toastr/Laravel/TestCase.php
delete mode 100644 tests/Toastr/Symfony/DependencyInjection/ConfigurationTest.php
delete mode 100644 tests/Toastr/Symfony/DependencyInjection/FlasherToastrExtensionTest.php
diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml
index 5e454f27..7de85ae3 100644
--- a/.github/FUNDING.yml
+++ b/.github/FUNDING.yml
@@ -1,5 +1,3 @@
-# These are supported funding model platforms
-
patreon: yoeunes
ko_fi: yoeunes
open_collective: php-flasher
diff --git a/.github/workflows/laravel.yaml b/.github/workflows/laravel.yaml
index 39facb99..e1a915fb 100644
--- a/.github/workflows/laravel.yaml
+++ b/.github/workflows/laravel.yaml
@@ -1,160 +1,49 @@
-name: Running tests
+name: tests
on:
push:
- pull_request:
- schedule:
- - cron: '* * * * *'
jobs:
test:
- runs-on: ${{ matrix.os }}
+ runs-on: ubuntu-latest
strategy:
fail-fast: true
matrix:
- laravel:
- - 8.*
- - 7.*
- - 6.*
- - 5.8.*
- - 5.7.*
- - 5.6.*
- - 5.5.*
- - 5.4.*
- - 5.3.*
- - 5.2.*
- - 5.1.*
- - 5.0.*
- - 4.2.*
- - 4.1.*
- - 4.0.*
- os:
- - ubuntu-latest
- # - macos-latest
- # - windows-latest
+ laravel: [ 9.*, 8.*, 7.*, 6.*, 5.8.*, 5.7.*, 5.6.*, 5.5.*, 5.4.*, 5.3.*, 5.2.*, 5.1.*, 5.0.*, 4.2.*, 4.1.*, 4.0.* ]
include:
- - laravel: 8.*
- testbench: 6.*
- php: 7.3
- phpunit: 9.3.*
+ - { laravel: 9.*, testbench: 7.*, php: 8.0, phpunit: 9.5.* }
+ - { laravel: 8.*, testbench: 6.*, php: 7.3, phpunit: 9.3.* }
+ - { laravel: 7.*, testbench: 5.*, php: 7.3, phpunit: 8.4.* }
+ - { laravel: 6.*, testbench: 4.*, php: 7.2, phpunit: 8.3.* }
+ - { laravel: 5.8.*, testbench: 3.8.*, php: 7.1, phpunit: 7.5.* }
+ - { laravel: 5.7.*, testbench: 3.7.*, php: 7.1, phpunit: 7.0.* }
+ - { laravel: 5.6.*, testbench: 3.6.*, php: 7.1, phpunit: 7.0.* }
+ - { laravel: 5.5.*, testbench: 3.5.*, php: 7.0, phpunit: 6.0.* }
+ - { laravel: 5.4.*, testbench: 3.4.*, php: 5.6, phpunit: 5.7.* }
+ - { laravel: 5.3.*, testbench: 3.3.*, php: 5.6, phpunit: 4.8.* }
+ - { laravel: 5.2.*, testbench: 3.2.*, php: 5.5, phpunit: 4.8.* }
+ - { laravel: 5.1.*, testbench: 3.1.*, php: 5.5, phpunit: 4.8.* }
+ - { laravel: 5.0.*, testbench: 3.0.*, php: 5.4, phpunit: 4.8.* }
+ - { laravel: 4.2.*, testbench: 2.2.*, php: 5.4, phpunit: 4.8.* }
+ - { laravel: 4.1.*, testbench: 2.1.*, php: 5.4, phpunit: 4.8.* }
+ - { laravel: 4.0.*, testbench: 2.0.*, php: 5.4, phpunit: 4.8.* }
- - laravel: 7.*
- testbench: 5.*
- php: 7.3
- phpunit: 8.4.*
-
- - laravel: 6.*
- testbench: 4.*
- php: 7.2
- phpunit: 8.3.*
-
- - laravel: 5.8.*
- testbench: 3.8.*
- php: 7.1
- phpunit: 7.5.*
-
- - laravel: 5.7.*
- testbench: 3.7.*
- php: 7.1
- phpunit: 7.0.*
-
- - laravel: 5.6.*
- testbench: 3.6.*
- php: 7.1
- phpunit: 7.0.*
-
- - laravel: 5.5.*
- testbench: 3.5.*
- php: 7.0
- phpunit: 6.0.*
-
- - laravel: 5.4.*
- testbench: 3.4.*
- php: 5.6
- phpunit: 5.7.*
-
- - laravel: 5.3.*
- testbench: 3.3.*
- php: 5.6
- phpunit: 4.8.*
-
- - laravel: 5.2.*
- testbench: 3.2.*
- php: 5.5
- phpunit: 4.8.*
-
- - laravel: 5.1.*
- testbench: 3.1.*
- php: 5.5
- phpunit: 4.8.*
-
- - laravel: 5.0.*
- testbench: 3.0.*
- php: 5.4
- phpunit: 4.8.*
-
- - laravel: 4.2.*
- testbench: 2.2.*
- php: 5.4
- phpunit: 4.8.*
-
- - laravel: 4.1.*
- testbench: 2.1.*
- php: 5.4
- phpunit: 4.8.*
-
- - laravel: 4.0.*
- testbench: 2.0.*
- php: 5.4
- phpunit: 4.8.*
-
- name: ${{ matrix.os }} - L${{ matrix.laravel }} - P${{ matrix.php }}
+ name: laravel[${{ matrix.laravel }}] php[${{ matrix.php }}]
steps:
- name: Checkout code
- uses: actions/checkout@v1
-
- - name: Cache dependencies
- uses: actions/cache@v1
- with:
- path: ~/.composer/cache/files
- key: dependencies-laravel-${{ matrix.laravel }}-php-${{ matrix.php }}-composer-${{ hashFiles('composer.json') }}
+ uses: actions/checkout@v2
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php }}
- extensions: dom, curl, libxml, mbstring, zip, pcntl, pdo, sqlite, pdo_sqlite, bcmath, soap, intl, gd, exif, iconv, imagick
- ini-values: memory_limit=-1
coverage: none
- name: Install dependencies
run: |
- composer require "laravel/framework:${{ matrix.laravel }}" "phpunit/phpunit:${{ matrix.phpunit }}" "orchestra/testbench:${{ matrix.testbench }}" --no-interaction --no-update
- composer update --prefer-dist --no-interaction --no-suggest
+ composer remove friendsofphp/php-cs-fixer laravel/laravel livewire/livewire phpstan/phpstan symfony/symfony orchestra/testbench phpunit/phpunit --dev
+ composer require "laravel/framework:${{ matrix.laravel }}" "phpunit/phpunit:${{ matrix.phpunit }}" "orchestra/testbench:${{ matrix.testbench }}" --no-interaction
- name: Execute tests
run: vendor/bin/phpunit --configuration=phpunit-laravel.xml
-
- - name: Install Flasher Depencies
- run: |
- composer require "php-flasher/flasher:^0.9"
- composer require "php-flasher/flasher-laravel:^0.9"
-
- composer require "php-flasher/flasher-cli:^0.9"
- composer require "php-flasher/flasher-cli-laravel:^0.9"
-
- composer require "php-flasher/flasher-toastr:^0.9"
- composer require "php-flasher/flasher-toastr-laravel:^0.9"
-
- composer require "php-flasher/flasher-noty:^0.9"
- composer require "php-flasher/flasher-noty-laravel:^0.9"
-
- composer require "php-flasher/flasher-notyf:^0.9"
- composer require "php-flasher/flasher-notyf-laravel:^0.9"
-
- composer require "php-flasher/flasher-sweet-alert:^0.9"
- composer require "php-flasher/flasher-sweet-alert-laravel:^0.9"
-
- composer require "php-flasher/flasher-pnotify:^0.9"
- composer require "php-flasher/flasher-pnotify-laravel:^0.9"
diff --git a/.github/workflows/split_monorepo.yaml b/.github/workflows/split_monorepo.yaml
new file mode 100644
index 00000000..06bbd3dd
--- /dev/null
+++ b/.github/workflows/split_monorepo.yaml
@@ -0,0 +1,78 @@
+name: Split Monorepo
+
+on:
+ push:
+ branches:
+ - main
+ tags:
+ - '*'
+
+jobs:
+ split_monorepo:
+ runs-on: ubuntu-latest
+ strategy:
+ fail-fast: false
+ matrix:
+ package:
+ - { path: 'src/Prime', repo: 'flasher' }
+ - { path: 'src/Laravel', repo: 'flasher-laravel' }
+ - { path: 'src/Symfony', repo: 'flasher-symfony' }
+
+ - { path: 'src/Cli/Prime', repo: 'flasher-cli' }
+ - { path: 'src/Cli/Laravel', repo: 'flasher-cli-laravel' }
+ - { path: 'src/Cli/Symfony', repo: 'flasher-cli-symfony' }
+
+ - { path: 'src/Noty/Prime', repo: 'flasher-noty' }
+ - { path: 'src/Noty/Laravel', repo: 'flasher-noty-laravel' }
+ - { path: 'src/Noty/Symfony', repo: 'flasher-noty-symfony' }
+
+ - { path: 'src/Notyf/Prime', repo: 'flasher-notyf' }
+ - { path: 'src/Notyf/Laravel', repo: 'flasher-notyf-laravel' }
+ - { path: 'src/Notyf/Symfony', repo: 'flasher-notyf-symfony' }
+
+ - { path: 'src/Pnotify/Prime', repo: 'flasher-pnotify' }
+ - { path: 'src/Pnotify/Laravel', repo: 'flasher-pnotify-laravel' }
+ - { path: 'src/Pnotify/Symfony', repo: 'flasher-pnotify-symfony' }
+
+ - { path: 'src/SweetAlert/Prime', repo: 'flasher-sweetalert' }
+ - { path: 'src/SweetAlert/Laravel', repo: 'flasher-sweetalert-laravel' }
+ - { path: 'src/SweetAlert/Symfony', repo: 'flasher-sweetalert-symfony' }
+
+ - { path: 'src/Toastr/Prime', repo: 'flasher-toastr' }
+ - { path: 'src/Toastr/Laravel', repo: 'flasher-toastr-laravel' }
+ - { path: 'src/Toastr/Symfony', repo: 'flasher-toastr-symfony' }
+
+ - { path: 'packs/php-pack', repo: 'php-pack' }
+ - { path: 'packs/laravel-pack', repo: 'laravel-pack' }
+ - { path: 'packs/symfony-pack', repo: 'symfony-pack' }
+
+ steps:
+ - uses: actions/checkout@v2
+
+ - if: "!startsWith(github.ref, 'refs/tags/')"
+ name: Monorepo Split of ${{ matrix.package }}
+ uses: symplify/github-action-monorepo-split@2.0
+ env:
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+ with:
+ package-directory: '${{ matrix.package.path }}'
+ split-repository-organization: 'php-flasher'
+ split-repository-name: '${{ matrix.package.repo }}'
+ user-name: "Younes KHOUBZA"
+ user-email: "younes.khoubza@gmail.com"
+ branch: main
+
+ - if: "startsWith(github.ref, 'refs/tags/')"
+ name: Monorepo Tagged Split of ${{ matrix.package }}
+ uses: symplify/github-action-monorepo-split@2.0
+ env:
+ GITHUB_TOKEN: ${{ secrets.ACCESS_TOKEN }}
+ with:
+ tag: ${GITHUB_REF#refs/tags/}
+
+ package-directory: 'src/${{ matrix.package.path }}'
+ split-repository-organization: 'php-flasher'
+ split-repository-name: '${{ matrix.package.repo }}'
+ user-name: "Younes KHOUBZA"
+ user-email: "younes.khoubza@gmail.com"
+ branch: main
diff --git a/.github/workflows/symfony.yaml b/.github/workflows/symfony.yaml
index 5c833c92..4747c0d7 100644
--- a/.github/workflows/symfony.yaml
+++ b/.github/workflows/symfony.yaml
@@ -1,191 +1,59 @@
-name: Running tests
+name: tests
on:
push:
- pull_request:
- schedule:
- - cron: '* * * * *'
jobs:
test:
- runs-on: ${{ matrix.os }}
+ runs-on: ubuntu-latest
strategy:
fail-fast: true
matrix:
- symfony:
- - 5.4.*
- - 5.3.*
- - 5.2.*
- - 5.1.*
- - 5.0.*
- - 4.4.*
- - 4.3.*
- - 4.2.*
- - 4.1.*
- - 4.0.*
- - 3.4.*
- - 3.3.*
- - 3.2.*
- - 3.1.*
- - 3.0.*
- - 2.8.*
- - 2.7.*
- - 2.6.*
- - 2.5.*
- - 2.4.*
- - 2.3.*
- - 2.2.*
- - 2.1.*
- - 2.0.*
- os:
- - ubuntu-latest
- # - macos-latest
- # - windows-latest
+ symfony: [ 6.0.*, 5.4.*, 5.3.*, 5.2.*, 5.1.*, 5.0.*, 4.4.*, 4.3.*, 4.2.*, 4.1.*, 4.0.*, 3.4.*, 3.3.*, 3.2.*, 3.1.*, 3.0.*, 2.8.*, 2.7.*, 2.6.*, 2.5.*, 2.4.*, 2.3.*, 2.2.*, 2.1.*, 2.0.* ]
include:
- - symfony: 5.4.*
- php: 7.2
- phpunit: 8.3.*
+ - { symfony: 6.0.*, php: 8.0, phpunit: 9.5.* }
+ - { symfony: 5.4.*, php: 7.2, phpunit: 8.3.* }
+ - { symfony: 5.3.*, php: 7.2, phpunit: 8.3.* }
+ - { symfony: 5.2.*, php: 7.2, phpunit: 8.3.* }
+ - { symfony: 5.1.*, php: 7.2, phpunit: 8.3.* }
+ - { symfony: 5.0.*, php: 7.2, phpunit: 8.3.* }
+ - { symfony: 4.4.*, php: 7.1, phpunit: 7.0.* }
+ - { symfony: 4.3.*, php: 7.1, phpunit: 7.0.* }
+ - { symfony: 4.2.*, php: 7.1, phpunit: 7.0.* }
+ - { symfony: 4.1.*, php: 7.1, phpunit: 7.0.* }
+ - { symfony: 4.0.*, php: 7.1, phpunit: 7.0.* }
+ - { symfony: 3.4.*, php: 5.5, phpunit: 4.8.36 }
+ - { symfony: 3.3.*, php: 5.5, phpunit: 4.8.36 }
+ - { symfony: 3.2.*, php: 5.5, phpunit: 4.8.36 }
+ - { symfony: 3.1.*, php: 5.5, phpunit: 4.8.36 }
+ - { symfony: 3.0.*, php: 5.5, phpunit: 4.8.36 }
+ - { symfony: 2.8.*, php: 5.3, phpunit: 4.8.36 }
+ - { symfony: 2.7.*, php: 5.3, phpunit: 4.8.36 }
+ - { symfony: 2.6.*, php: 5.3, phpunit: 4.8.36 }
+ - { symfony: 2.5.*, php: 5.3, phpunit: 4.8.36 }
+ - { symfony: 2.4.*, php: 5.3, phpunit: 4.8.36 }
+ - { symfony: 2.3.*, php: 5.3, phpunit: 4.8.36 }
+ - { symfony: 2.2.*, php: 5.3, phpunit: 4.8.36 }
+ - { symfony: 2.1.*, php: 5.3, phpunit: 4.8.36 }
+ - { symfony: 2.0.*, php: 5.3, phpunit: 4.8.36 }
- - symfony: 5.3.*
- php: 7.2
- phpunit: 8.3.*
-
- - symfony: 5.2.*
- php: 7.2
- phpunit: 8.3.*
-
- - symfony: 5.1.*
- php: 7.2
- phpunit: 8.3.*
-
- - symfony: 5.0.*
- php: 7.2
- phpunit: 8.3.*
-
- - symfony: 4.4.*
- php: 7.1
- phpunit: 7.0.*
-
- - symfony: 4.3.*
- php: 7.1
- phpunit: 7.0.*
-
- - symfony: 4.2.*
- php: 7.1
- phpunit: 7.0.*
-
- - symfony: 4.1.*
- php: 7.1
- phpunit: 7.0.*
-
- - symfony: 4.0.*
- php: 7.1
- phpunit: 7.0.*
-
- - symfony: 3.4.*
- php: 5.5
- phpunit: 4.8.36
-
- - symfony: 3.3.*
- php: 5.5
- phpunit: 4.8.36
-
- - symfony: 3.2.*
- php: 5.5
- phpunit: 4.8.36
-
- - symfony: 3.1.*
- php: 5.5
- phpunit: 4.8.36
-
- - symfony: 3.0.*
- php: 5.5
- phpunit: 4.8.36
-
- - symfony: 2.8.*
- php: 5.3
- phpunit: 4.8.36
-
- - symfony: 2.7.*
- php: 5.3
- phpunit: 4.8.36
-
- - symfony: 2.6.*
- php: 5.3
- phpunit: 4.8.36
-
- - symfony: 2.5.*
- php: 5.3
- phpunit: 4.8.36
-
- - symfony: 2.4.*
- php: 5.3
- phpunit: 4.8.36
-
- - symfony: 2.3.*
- php: 5.3
- phpunit: 4.8.36
-
- - symfony: 2.2.*
- php: 5.3
- phpunit: 4.8.36
-
- - symfony: 2.1.*
- php: 5.3
- phpunit: 4.8.36
-
- - symfony: 2.0.*
- php: 5.3
- phpunit: 4.8.36
-
- name: ${{ matrix.os }} - S${{ matrix.symfony }} - P${{ matrix.php }}
+ name: symfony[${{ matrix.symfony }}] php[${{ matrix.php }}]
steps:
- name: Checkout code
- uses: actions/checkout@v1
-
- - name: Cache dependencies
- uses: actions/cache@v1
- with:
- path: ~/.composer/cache/files
- key: dependencies-symfony-${{ matrix.symfony }}-php-${{ matrix.php }}-composer-${{ hashFiles('composer.json') }}
+ uses: actions/checkout@v2
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php }}
- extensions: dom, curl, libxml, mbstring, zip, pcntl, pdo, sqlite, pdo_sqlite, bcmath, soap, intl, gd, exif, iconv, imagick
coverage: none
- name: Install dependencies
run: |
- composer require "symfony/symfony:${{ matrix.symfony }}" "phpunit/phpunit:${{ matrix.phpunit }}" twig/twig --no-interaction --no-update
+ composer remove friendsofphp/php-cs-fixer laravel/laravel livewire/livewire phpstan/phpstan symfony/symfony orchestra/testbench phpunit/phpunit --dev
composer config extra.symfony.require "${{ matrix.symfony }}"
- composer update --prefer-dist --no-interaction --no-suggest
+ composer require "symfony/symfony:${{ matrix.symfony }}" "phpunit/phpunit:${{ matrix.phpunit }}" --no-interaction
- name: Execute tests
run: vendor/bin/phpunit --configuration=phpunit-symfony.xml
-
- - name: Install Flasher Depencies
- run: |
- composer require "php-flasher/flasher:^0.9"
- composer require "php-flasher/flasher-laravel:^0.9"
- composer require "php-flasher/flasher-symfony:^0.9"
-
- composer require "php-flasher/flasher-cli:^0.9"
- composer require "php-flasher/flasher-cli-symfony:^0.9"
-
- composer require "php-flasher/flasher-toastr:^0.9"
- composer require "php-flasher/flasher-toastr-symfony:^0.9"
-
- composer require "php-flasher/flasher-noty:^0.9"
- composer require "php-flasher/flasher-noty-symfony:^0.9"
-
- composer require "php-flasher/flasher-notyf:^0.9"
- composer require "php-flasher/flasher-notyf-symfony:^0.9"
-
- composer require "php-flasher/flasher-sweet-alert:^0.9"
- composer require "php-flasher/flasher-sweet-alert-symfony:^0.9"
-
- composer require "php-flasher/flasher-pnotify:^0.9"
- composer require "php-flasher/flasher-pnotify-symfony:^0.9"
diff --git a/.gitignore b/.gitignore
index 89d72688..e609f21d 100644
--- a/.gitignore
+++ b/.gitignore
@@ -3,3 +3,7 @@ vendor
composer.lock
.phpunit.result.cache
.phpcs-cache
+.php-cs-fixer.cache
+
+packs/**/composer.lock
+packs/**/vendor/
diff --git a/.php-cs-fixer.dist.php b/.php-cs-fixer.dist.php
new file mode 100644
index 00000000..cb2a8152
--- /dev/null
+++ b/.php-cs-fixer.dist.php
@@ -0,0 +1,66 @@
+
+ */
+
+if (!file_exists(__DIR__.'/src')) {
+ exit(0);
+}
+
+$header = <<<'EOF'
+This file is part of the PHPFlasher package.
+(c) Younes KHOUBZA
+EOF;
+
+$rules = array(
+ '@PSR12' => true,
+ '@PSR12:risky' => true,
+ '@Symfony' => true,
+ '@Symfony:risky' => true,
+ '@PhpCsFixer' => true,
+ '@PhpCsFixer:risky' => true,
+ 'header_comment' => array('header' => $header),
+ 'array_syntax' => array('syntax' => 'long'),
+ 'ordered_imports' => array(
+ 'sort_algorithm' => 'alpha',
+ 'imports_order' => array('const', 'class', 'function'),
+ ),
+ 'no_extra_blank_lines' => array(
+ 'tokens' => array('case', 'continue', 'curly_brace_block', 'default', 'extra', 'parenthesis_brace_block', 'square_brace_block', 'switch', 'throw'),
+ ),
+ 'function_to_constant' => false,
+ 'visibility_required' => array('elements' => array('property', 'method')),
+ 'self_accessor' => false,
+ 'single_trait_insert_per_statement' => true,
+ 'linebreak_after_opening_tag' => true,
+ 'no_php4_constructor' => true,
+ 'no_unreachable_default_argument_value' => true,
+ 'no_useless_else' => true,
+ 'no_useless_return' => true,
+ 'phpdoc_order' => true,
+ 'strict_comparison' => true,
+ 'strict_param' => true,
+ 'phpdoc_line_span' => true,
+ 'php_unit_internal_class' => false,
+ 'php_unit_test_class_requires_covers' => false,
+ 'multiline_whitespace_before_semicolons' => false,
+ 'method_chaining_indentation' => false,
+ 'phpdoc_no_empty_return' => false,
+ 'phpdoc_types_order' => array('null_adjustment' => 'always_last'),
+ 'php_unit_test_case_static_method_calls' => array('call_type' => 'this'),
+ 'php_unit_strict' => false,
+ 'native_constant_invocation' => array('scope' => 'namespaced'),
+ 'phpdoc_return_self_reference' => true,
+);
+
+$finder = new PhpCsFixer\Finder();
+$finder->in(__DIR__)->exclude(__DIR__.'/vendor');
+
+$config = new PhpCsFixer\Config();
+
+return $config->setFinder($finder)
+ ->setUsingCache(false)
+ ->setRiskyAllowed(true)
+ ->setRules($rules);
diff --git a/.shared/.github/workflows/auto_closer.yaml b/.shared/.github/workflows/auto_closer.yaml
new file mode 100644
index 00000000..f807ac59
--- /dev/null
+++ b/.shared/.github/workflows/auto_closer.yaml
@@ -0,0 +1,22 @@
+name: Auto Closer PR
+
+on:
+ pull_request_target:
+ types: [opened]
+
+jobs:
+ run:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: superbrothers/close-pull-request@v3
+ with:
+ comment: |
+ Hi, thank you for your contribution.
+
+ Unfortunately, this repository is read-only. It's a split from our main monorepo repository.
+
+ We'd like to kindly ask you to move the contribution there - https://github.com/php-flasher/php-flasher.
+
+ We'll check it, review it and give you feed back right way.
+
+ Thank you.
diff --git a/Makefile b/Makefile
new file mode 100644
index 00000000..567e05ca
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,4 @@
+include make/variables.mk
+include make/help.mk
+include make/composer.mk
+include make/lint.mk
diff --git a/README.md b/README.md
index 5714d7d7..70048b42 100644
--- a/README.md
+++ b/README.md
@@ -24,12 +24,6 @@
-
-
-
-
-
-
# Why use PHP Flasher ?
@@ -53,21 +47,7 @@ This library is designed, so you can take full control when creating you notific
## Official Documentation
-Documentation for PHP Flasher can be found on the [PHP Flasher website](https://php-flasher.github.io/).
-
-## Backers && Sponsors
-
-Support this project by becoming a sponsor. Your name will show up in the Contribute page of all PHP Flasher installations as well as here with a link to your website!
-
-Thank you to all our backers and sponsors! 🙏
-
-
-
-
-
-
-
-
+Documentation for PHP Flasher can be found on the [PHP Flasher website](https://php-flasher.io).
### Contact
diff --git a/bin/copy b/bin/copy
new file mode 100755
index 00000000..b3b9d3a4
--- /dev/null
+++ b/bin/copy
@@ -0,0 +1,53 @@
+#!/usr/bin/env php
+getPathname())
+ : $dest .'/'. $file->getFilename();
+
+ if ($file->isDir()) {
+ system('rm -rf -- ' . escapeshellarg($dest));
+ @mkdir(dirname($target), 0777, true);
+ continue;
+ }
+
+ @mkdir(dirname($target), 0777, true);
+ @copy($file->getPathname(), $target);
+ }
+ }
+}
diff --git a/bin/release.sh b/bin/release.sh
deleted file mode 100755
index 5efca36f..00000000
--- a/bin/release.sh
+++ /dev/null
@@ -1,83 +0,0 @@
-#!/usr/bin/env bash
-
-set -e
-
-# Make sure the release tag is provided.
-if (( "$#" != 1 ))
-then
- echo "Tag has to be provided."
-
- exit 1
-fi
-
-RELEASE_BRANCH="main"
-CURRENT_BRANCH=$(git rev-parse --abbrev-ref HEAD)
-VERSION=$1
-
-# Make sure current branch and release branch match.
-if [[ "$RELEASE_BRANCH" != "$CURRENT_BRANCH" ]]
-then
- echo "Release branch ($RELEASE_BRANCH) does not match the current active branch ($CURRENT_BRANCH)."
-
- exit 1
-fi
-
-# Make sure the working directory is clear.
-if [[ ! -z "$(git status --porcelain)" ]]
-then
- echo "Your working directory is dirty. Did you forget to commit your changes?"
-
- exit 1
-fi
-
-# Make sure latest changes are fetched first.
-git fetch origin
-
-# Make sure that release branch is in sync with origin.
-if [[ $(git rev-parse HEAD) != $(git rev-parse origin/$RELEASE_BRANCH) ]]
-then
- echo "Your branch is out of date with its upstream. Did you forget to pull or push any changes before releasing?"
-
- exit 1
-fi
-
-# Always prepend with "v"
-if [[ $VERSION != v* ]]
-then
- VERSION="v$VERSION"
-fi
-
-# Tag PHP Flasher
-git tag "$VERSION"
-git push origin --tags --force
-
-# Tag Repositories
-for REMOTE in flasher flasher-laravel flasher-symfony flasher-livewire \
- flasher-toastr flasher-toastr-laravel flasher-toastr-symfony \
- flasher-notyf flasher-notyf-laravel flasher-notyf-symfony \
- flasher-sweet-alert flasher-sweet-alert-laravel flasher-sweet-alert-symfony \
- flasher-pnotify flasher-pnotify-laravel flasher-pnotify-symfony \
- flasher-noty flasher-noty-laravel flasher-noty-symfony \
- flasher-cli flasher-cli-laravel flasher-cli-symfony \
- laravel-pack livewire-pack php-pack symfony-pack
-do
- echo ""
- echo ""
- echo "Releasing $REMOTE";
-
- TMP_DIR="/tmp/php-flasher"
- REMOTE_URL="git@github.com:php-flasher/$REMOTE.git"
-
- rm -rf $TMP_DIR;
- mkdir $TMP_DIR;
-
- (
- cd $TMP_DIR;
-
- git clone $REMOTE_URL .
- git checkout "$RELEASE_BRANCH";
-
- git tag "$VERSION"
- git push origin --tags
- )
-done
diff --git a/bin/split.sh b/bin/split.sh
deleted file mode 100755
index cd1d2c0c..00000000
--- a/bin/split.sh
+++ /dev/null
@@ -1,84 +0,0 @@
-#!/usr/bin/env bash
-
-set -e
-set -x
-
-CURRENT_BRANCH="main"
-
-function split()
-{
-# git merge --strategy recursive --strategy-option subtree="$1" "$2/$CURRENT_BRANCH" --allow-unrelated-histories -m "Merge remote-tracking branch '$2/$CURRENT_BRANCH'"
- SHA1=$(./bin/splitsh-lite --prefix="$1")
- git push $2 "$SHA1:refs/heads/$CURRENT_BRANCH" -f
-}
-
-function remote()
-{
- git remote add "$1" "$2" || true
-}
-
-git pull origin $CURRENT_BRANCH
-
-remote flasher git@github.com:php-flasher/flasher.git
-remote laravel git@github.com:php-flasher/flasher-laravel.git
-remote symfony git@github.com:php-flasher/flasher-symfony.git
-remote livewire git@github.com:php-flasher/flasher-livewire.git
-
-remote toastr git@github.com:php-flasher/flasher-toastr.git
-remote toastr-laravel git@github.com:php-flasher/flasher-toastr-laravel.git
-remote toastr-symfony git@github.com:php-flasher/flasher-toastr-symfony.git
-
-remote notyf git@github.com:php-flasher/flasher-notyf.git
-remote notyf-laravel git@github.com:php-flasher/flasher-notyf-laravel.git
-remote notyf-symfony git@github.com:php-flasher/flasher-notyf-symfony.git
-
-remote sweet-alert git@github.com:php-flasher/flasher-sweet-alert.git
-remote sweet-alert-laravel git@github.com:php-flasher/flasher-sweet-alert-laravel.git
-remote sweet-alert-symfony git@github.com:php-flasher/flasher-sweet-alert-symfony.git
-
-remote pnotify git@github.com:php-flasher/flasher-pnotify.git
-remote pnotify-laravel git@github.com:php-flasher/flasher-pnotify-laravel.git
-remote pnotify-symfony git@github.com:php-flasher/flasher-pnotify-symfony.git
-
-remote noty git@github.com:php-flasher/flasher-noty.git
-remote noty-laravel git@github.com:php-flasher/flasher-noty-laravel.git
-remote noty-symfony git@github.com:php-flasher/flasher-noty-symfony.git
-
-remote cli git@github.com:php-flasher/flasher-cli.git
-remote cli-laravel git@github.com:php-flasher/flasher-cli-laravel.git
-remote cli-symfony git@github.com:php-flasher/flasher-cli-symfony.git
-
-remote laravel-pack git@github.com:php-flasher/laravel-pack.git
-remote livewire-pack git@github.com:php-flasher/livewire-pack.git
-remote php-pack git@github.com:php-flasher/php-pack.git
-remote symfony-pack git@github.com:php-flasher/symfony-pack.git
-
-split 'src/Prime' flasher
-split 'src/Laravel' laravel
-split 'src/Symfony' symfony
-split 'src/Livewire' livewire
-
-split 'src/Toastr/Prime' toastr
-split 'src/Toastr/Laravel' toastr-laravel
-split 'src/Toastr/Symfony' toastr-symfony
-
-split 'src/Notyf/Prime' notyf
-split 'src/Notyf/Laravel' notyf-laravel
-split 'src/Notyf/Symfony' notyf-symfony
-
-split 'src/SweetAlert/Prime' sweet-alert
-split 'src/SweetAlert/Laravel' sweet-alert-laravel
-split 'src/SweetAlert/Symfony' sweet-alert-symfony
-
-split 'src/Pnotify/Prime' pnotify
-split 'src/Pnotify/Laravel' pnotify-laravel
-split 'src/Pnotify/Symfony' pnotify-symfony
-
-split 'src/Noty/Prime' noty
-split 'src/Noty/Laravel' noty-laravel
-split 'src/Noty/Symfony' noty-symfony
-
-split 'packs/laravel-pack' laravel-pack
-split 'packs/livewire-pack' livewire-pack
-split 'packs/php-pack' php-pack
-split 'packs/symfony-pack' symfony-pack
diff --git a/bin/splitsh-lite b/bin/splitsh-lite
deleted file mode 100755
index ddefe95ad2df8f3b53a29b6cf09dc4cb4eebebde..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 3492056
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