Compare commits

..

1910 Commits

Author SHA1 Message Date
Younes ENNAJI e0766c1198 Add v2.5.0 release preparation tests and update CHANGELOG 2026-03-07 18:31:05 +00:00
Younes ENNAJI e4337b0b63 Fix SweetAlertBuilder::question() bug and improve code quality 2026-03-07 17:50:43 +00:00
Younes ENNAJI bd8169619e Refactor code and update tests for improved DX 2026-03-02 05:19:34 +00:00
Younes ENNAJI 0d25c72743 Add IDE autocompletion support and Type helper methods 2026-03-02 05:13:28 +00:00
Younes ENNAJI d4abef58eb Standardize exception message format and add exception tests 2026-03-02 04:06:51 +00:00
Younes ENNAJI e126813835 Fix FlasherPlugin::normalizeAlias() return type and add tests 2026-03-02 04:02:08 +00:00
Younes ENNAJI 5612d4d705 Fix ResponseManager filter criteria handling and update tests 2026-03-02 03:49:35 +00:00
Younes ENNAJI 9454b2d155 Fix return type and parameter name inconsistencies in Notification classes 2026-03-02 03:46:43 +00:00
Younes ENNAJI d39159cf90 Fix FilterEvent type consistency and remove redundant callable check 2026-03-02 03:42:27 +00:00
Younes ENNAJI 76d63c03ce Reset CSP handler in worker listeners and add related tests 2026-03-02 03:33:16 +00:00
Younes ENNAJI 286fe5143e Update ContentSecurityPolicy handling and ResponseExtension 2026-03-02 03:27:04 +00:00
Younes ENNAJI f399bc912d Update NotificationFactoryLocator and CHANGELOG 2026-03-02 03:23:45 +00:00
Younes ENNAJI 98336b98bf Update filter criteria and CHANGELOG 2026-03-02 03:20:33 +00:00
Younes ENNAJI 50ffa722a5 Add tests for OctaneListener and WorkerListener 2026-03-02 03:04:35 +00:00
Younes ENNAJI 93fc3c00e8 Add worker listeners for Octane and Symfony, update FallbackSession 2026-03-02 02:55:50 +00:00
Younes ENNAJI e783943933 Fix notification cleanup for Turbo and Livewire navigation 2026-03-02 02:42:38 +00:00
Younes ENNAJI f3d72c88c9 Fix array_merge error and update exception handling 2026-03-02 02:35:27 +00:00
Younes ENNAJI 63b9083782 Update README and documentation pages 2026-03-02 02:34:48 +00:00
Younes ENNAJI 1f7d884c4d Update README and JavaScript documentation 2026-03-02 02:01:00 +00:00
Younes ENNAJI 88f7546b50 Update documentation for installation and libraries 2026-03-02 01:29:04 +00:00
Younes ENNAJI cbd753371b Upgrade Symfony demo to v8.0, update dependencies 2026-03-02 00:40:18 +00:00
Younes ENNAJI 04d1e42fa3 Refine code block rendering and features 2026-03-01 23:27:02 +00:00
Younes ENNAJI 67b24f24bb Refactor demo notification display and asset loading 2026-03-01 23:21:50 +00:00
Younes ENNAJI b136cfcf6e Revamp Flasher demo application 2026-03-01 22:47:28 +00:00
Younes ENNAJI fd65254d63 docs: move Try All Themes section to top of themes page 2026-03-01 22:17:40 +00:00
Younes ENNAJI 33ac9013d5 build assets 2026-03-01 22:16:54 +00:00
Younes ENNAJI 1cc6a7c537 docs: remove hero sections from playground and themes pages 2026-03-01 22:15:18 +00:00
Younes ENNAJI dfe9a12fe1 docs: remove old themes.md (replaced by themes/index.html) 2026-03-01 22:11:08 +00:00
Younes ENNAJI 8074bb1f90 docs: add themes gallery page at /themes/
Features:
- Hero section with animated gradient background
- Themes organized by category (Brand-Inspired, Gemstone, Minimal)
- Visual cards with gradient previews for each theme
- Interactive "Try All Themes" section with demo buttons
- Usage code examples for setting default or per-notification themes
- CTA linking to playground
- Added "All Themes" link to navigation menu
2026-03-01 22:11:00 +00:00
Younes ENNAJI 03942aa634 build assets 2026-03-01 22:04:32 +00:00
Younes ENNAJI 6abae0bdde docs: add interactive playground page
Features:
- Hero section with animated background elements
- Embedded flasher-studio interactive component
- Quick theme preview buttons (12 popular themes)
- Pro tips section for better user experience
- CTA section linking to Laravel/Symfony guides
- Added playground to navigation menu
2026-03-01 22:02:13 +00:00
Younes ENNAJI 05c15399ac docs: restore Palestine support banner 2026-03-01 21:57:14 +00:00
Younes ENNAJI 1bd85021d9 docs: redesign root README for better first impression
Key improvements:
- Strong tagline: "One line of PHP. Beautiful notifications. Zero JavaScript"
- Quick Start at the top (installation in 1 command)
- "Why PHPFlasher?" comparison table showing advantages
- Livewire integration section (previously missing)
- Collapsible themes list for better scannability
- Cleaner visual hierarchy with horizontal rules
- Prominent links to docs, playground, and bug reports
- Simplified contributors section using contrib.rocks
- Clear calls to action for starring and sharing
2026-03-01 21:54:51 +00:00
Younes ENNAJI 359e6de361 docs: expand adapter READMEs with comprehensive examples
Each adapter README now includes:
- Features section highlighting key capabilities
- Installation instructions for Laravel and Symfony
- Multiple Quick Start code examples
- Configuration options table
- Livewire integration with events
- Global configuration examples
2026-03-01 21:50:11 +00:00
Younes ENNAJI e417105f7a refactor(themes): create shared utilities and design tokens
This refactoring improves code quality and reduces duplication:

## New Files
- `themes/shared/icons.ts` - Centralized SVG icons (getIcon, getCloseIcon)
- `themes/shared/accessibility.ts` - A11y helpers (getA11yString, getCloseButtonA11y)
- `themes/shared/constants.ts` - Standard class names and default titles

## Design Tokens Added (index.scss)
- Spacing scale: --fl-spacing-xs through --fl-spacing-2xl
- Typography scale: --fl-font-size-xs through --fl-font-size-xl
- Close button sizes: --fl-close-sm, --fl-close-md, --fl-close-lg
- Border radius: --fl-radius-sm through --fl-radius-full
- Shadow tokens: --fl-shadow-sm through --fl-shadow-lg
- Animation: --fl-duration-*, --fl-easing-*, --fl-slide-*

## Mixins Updated
- Added `close-button-sized($size)` with sm/md/lg support
- Added `close-button-circular($size)` variant
- Added `close-button-text` for text-style buttons
- Updated existing mixins to use design tokens

## All 17 Themes Refactored
Each theme now uses shared utilities instead of duplicating code:
- Icon code: 20+ lines → 1 function call
- Accessibility: 3 lines → 1 function call
- Class names: via CLASS_NAMES constants

Backwards compatible - no breaking changes.
2026-03-01 21:34:50 +00:00
Younes ENNAJI abd70c1d4b Update main JavaScript bundle 2026-03-01 21:13:14 +00:00
Younes ENNAJI 9acddbda52 docs: update CHANGELOG and Livewire docs with event system
Add documentation for the event dispatching system:
- Update CHANGELOG.md with unreleased features
- Add Toastr events section (click, close, show, hidden)
- Add Noty events section (click, close, show, hover)
- Add Notyf events section (click, dismiss)
- Add Theme events section (generic and theme-specific click)
- Include code examples for Livewire event listeners
2026-03-01 21:11:13 +00:00
Younes ENNAJI 7d6e9b46b8 add event dispatching system for Livewire integration
Implement consistent event dispatching across Noty, Notyf, Toastr adapters and
themes, following the existing SweetAlert pattern. This enables Livewire
integration for all notification types.

JavaScript Events:
- Noty: flasher:noty:show, flasher:noty:click, flasher:noty:close, flasher:noty:hover
- Notyf: flasher:notyf:click, flasher:notyf:dismiss
- Toastr: flasher:toastr:show, flasher:toastr:click, flasher:toastr:close, flasher:toastr:hidden
- Themes: flasher:theme:click (generic), flasher:theme:{name}:click (specific)

PHP Livewire Listeners:
- LivewireListener for each adapter (Noty, Notyf, Toastr)
- ThemeLivewireListener for theme click events
- Registered in service providers when Livewire is bound

This allows Livewire users to listen for notification events and react
accordingly (e.g., noty:click, theme:flasher:click).
2026-03-01 21:05:10 +00:00
Younes ENNAJI f1051e1d7f fix: resolve PHPStan errors and add Vitest to lint script
- Remove unnecessary null coalescing in HtmlPresenter (mainScript is never null)
- Add comprehensive ignore rules for test-related PHPStan warnings
- Add Vitest test runner to bin/lint script

All quality checks now pass:
- Rector
- PHP-CS-Fixer
- PHPStan (level max)
- Composer validation
- PHPLint
- PHPUnit (1281 tests)
- Vitest (219 tests)
2026-03-01 20:24:33 +00:00
Younes ENNAJI 87da42fdea Refine code style and tests 2026-03-01 20:16:44 +00:00
Younes ENNAJI 4d9cda22cf build assets 2026-03-01 20:16:00 +00:00
Younes ENNAJI c58f3c7b40 upgrade dependencies 2026-03-01 20:15:46 +00:00
Younes ENNAJI 47eb66e874 fix: update tests for new validation requirements
Update tests that were using invalid values for HopsStamp (0 is now
invalid, must be >= 1) and update expected output format for
mainScript (now uses json_encode which produces double quotes).
2026-03-01 20:13:57 +00:00
Younes ENNAJI 30de24f054 fix: add null checks and error handling to docs JS controllers
clipboard_controller.js:
- Check if clipboard API is available before using
- Handle clipboard write promise rejection
- Show error icon on failure

prev-next_controller.js:
- Guard against missing navigation element
- Guard against missing span element in links

anchor_controller.js:
- Guard against missing ul element
2026-03-01 20:11:07 +00:00
Younes ENNAJI 162ea87330 fix: prevent memory leaks and handle errors in FlasherPlugin
- Remove DOMContentLoaded listener after it fires to prevent memory leak
- Clean up timer interval and event listeners when notification is removed
- Add null check in stringToHTML to throw clear error for invalid templates
- Store cleanup function on notification element for proper disposal

Added tests for memory leak prevention and error handling.
2026-03-01 20:10:06 +00:00
Younes ENNAJI 8cda9d1eb1 fix: rename shadowed variable in Request::getType()
The parameter \$type was being reassigned to the session value, which
shadows the original parameter and causes confusion for static analysis
tools and maintainers.

Renamed the session value variable to \$value for clarity.
2026-03-01 20:08:28 +00:00
Younes ENNAJI 6d314dbc07 fix: add validation to HopsStamp and DelayStamp
HopsStamp:
- Validate hops amount must be >= 1 (positive integer)
- Negative or zero hops don't make logical sense

DelayStamp:
- Validate delay must be >= 0 (non-negative integer)
- Negative delays don't make logical sense

Both now throw InvalidArgumentException for invalid values, making
configuration errors fail fast with clear messages.
2026-03-01 20:07:54 +00:00
Younes ENNAJI ad5c0f56dd fix: validate limit criteria must be positive integer
Previously, negative limits caused array_slice() to return unexpected
results (all except last N elements) and zero returned an empty array
without clear intent.

Now throws InvalidArgumentException for values < 1, making invalid
configurations fail fast with a clear error message.
2026-03-01 20:06:53 +00:00
Younes ENNAJI fd36c2ec0c fix: validate alias attribute in PresenterCompilerPass
Add validation to ensure services tagged with 'flasher.presenter' have
the required 'alias' attribute. Previously, accessing $attributes['alias']
without checking would throw an "Undefined array key" error.

Now throws a clear InvalidArgumentException with a helpful message.
2026-03-01 20:01:12 +00:00
Younes ENNAJI 5202c86107 fix: handle invalid JSON gracefully in FlasherComponent
The json_decode() with JSON_THROW_ON_ERROR throws an exception before
the ?: operator can provide a fallback value. This caused page crashes
when invalid JSON was passed to the Blade component attributes.

Now using a helper method with try-catch to safely decode JSON and
return an empty array on failure, preventing page crashes.
2026-03-01 20:00:16 +00:00
Younes ENNAJI 9e7bb17faa fix: make OctaneListener invokable for Laravel event dispatcher
Laravel's event dispatcher expects listener classes to be invokable
(have __invoke method) when registered as a class name string.

The OctaneListener was using a handle() method which caused the
listener to never be invoked, resulting in notification state leaking
between Octane requests.

Renamed handle() to __invoke() to fix the issue.
2026-03-01 19:59:25 +00:00
Younes ENNAJI 83dc9e49dc fix: handle null public directory gracefully in InstallCommand
The getPublicDir() method can return null, but the code was directly
concatenating it with a string, which could cause unexpected behavior.

Now the command properly checks for null and returns a failure with
a clear error message instead of proceeding with an invalid path.
2026-03-01 19:57:50 +00:00
Younes ENNAJI 1d81de581b fix: escape nonce and mainScript to prevent XSS vulnerabilities
The HtmlPresenter was interpolating user-controlled values directly into
HTML attributes and JavaScript code without proper escaping, creating
XSS vulnerabilities.

Changes:
- Escape nonce with htmlspecialchars() for HTML attribute context
- Escape nonce with json_encode() for JavaScript string context
- Escape mainScript with json_encode() for JavaScript string context

Added tests to verify XSS payloads are properly escaped.
2026-03-01 19:55:49 +00:00
Younes ENNAJI 2ebdbecda6 fix: correct inverted Livewire registration condition
The condition in registerLivewire() was inverted, causing the Livewire
listener to never be registered when Livewire was actually available.

Before: returned early when Livewire class exists AND is NOT bound
After: returns early when Livewire class does NOT exist OR is NOT bound

This fixes Livewire notifications not being displayed in Livewire components.
2026-03-01 19:53:39 +00:00
Younes ENNAJI 851e0a00ed improve Translator test coverage to 100% 2026-02-26 06:13:13 +00:00
Younes ENNAJI d9b0b6998e add tests for FlasherDataCollector 2026-02-26 06:04:11 +00:00
Younes ENNAJI ed992d78f6 add tests for FlasherAssert and Constraint classes 2026-02-25 20:45:32 +00:00
Younes ENNAJI 0612a3bb61 exclude .phpstorm.meta.php from coverage 2026-02-25 20:35:27 +00:00
Younes ENNAJI c9a61ba69c add tests for helper functions 2026-02-25 20:29:51 +00:00
Younes ENNAJI f9746f607b add Laravel Facade tests 2026-02-25 20:22:38 +00:00
Younes ENNAJI 18c2233baa add tests for remaining Criteria classes 2026-02-25 20:01:29 +00:00
Younes ENNAJI 08c242b45a fix test to properly suppress expected console error 2026-02-25 19:50:01 +00:00
Younes ENNAJI cd53ceb139 improve test coverage for edge cases 2026-02-25 19:31:21 +00:00
Younes ENNAJI 549c36eeee improve test coverage for PHPUnit and Vitest 2026-02-25 19:16:53 +00:00
Younes ENNAJI ea0dccc961 add test coverage for PHPUnit and Vitest 2026-02-25 15:58:13 +00:00
Younes ENNAJI d33de77835 add vitest for JS/TS testing with comprehensive test coverage 2026-02-25 15:52:21 +00:00
Younes ENNAJI 62848e0fd1 update composer.lock 2026-02-25 11:37:47 +00:00
Younes ENNAJI c5059adac7 fix PHPStan errors in ThemeTemplatesTest 2026-02-25 11:34:09 +00:00
Younes ENNAJI 4145b870dd fix PHPStan errors in SessionBag 2026-02-25 11:34:01 +00:00
Younes ENNAJI 18a31f578b use PHP 8.2 for lint task 2026-02-25 11:33:40 +00:00
Younes ENNAJI f20bdebda0 add bootstrap and tailwindcss theme templates for Laravel 2026-02-25 11:20:29 +00:00
Younes ENNAJI f9807e91e2 add FallbackSession for stateless requests in Laravel 2026-02-25 11:15:34 +00:00
Younes ENNAJI e35339dca9 fix typo in FilterCriteria error message 2026-02-25 11:00:32 +00:00
Younes ENNAJI f9bef40ae6 fix misleading error messages in HopsCriteria and DelayCriteria 2026-02-25 10:43:52 +00:00
Younes ENNAJI 670e40dc97 fix StampsCriteria comparing values instead of keys 2026-02-25 10:43:44 +00:00
Younes ENNAJI 2b0e736d28 fix multi-field sorting in OrderByCriteria 2026-02-25 10:43:36 +00:00
Younes ENNAJI b79902779e add support for Laravel v13 2026-02-25 10:26:04 +00:00
Younes ENNAJI 8779de6c62 upgrade dependencies 2026-02-25 10:18:29 +00:00
Younes ENNAJI c074feea05 Apply clean design to Inertia docs and remove Additional Features section
- Removed emerald-colored icons from table of contents navigation
- Removed gradient backgrounds from section headers
- Simplified version requirement cards
- Updated all callout boxes to use slate-50 background
- Updated tabs to use indigo colors instead of emerald
- Removed Additional Features section from Advanced section
2026-01-25 06:32:49 +01:00
Younes ENNAJI 033d650497 Redesign Laravel, Symfony, and Livewire documentation pages
- Simplify table of contents navigation (remove colored icons)
- Remove gradient backgrounds from section headers
- Simplify version requirement cards (remove gradients and accent lines)
- Update callout boxes to use consistent slate-50 background
- Simplify notification type cards (remove gradient backgrounds)
- Use uniform slate/indigo color scheme throughout
2026-01-25 06:23:15 +01:00
Younes ENNAJI 913f7b9d17 Updates assets due to code changes 2026-01-25 06:20:13 +01:00
Younes ENNAJI 9eb6dcf8fa Redesign Symfony page with clean, professional styling
- Simplify table of contents navigation (remove colored icons)
- Remove gradient backgrounds from section headers
- Simplify version requirement cards (remove gradients and accent lines)
- Update callout boxes to use consistent slate-50 background
- Simplify notification type cards (remove gradient backgrounds)
- Use uniform slate/indigo color scheme throughout
- Fix malformed HTML in code blocks
- Update notification example to match callout style
2026-01-25 06:14:41 +01:00
Younes ENNAJI 06f75b21eb Fix jQuery dependency for Toastr library
Import jQuery and make it globally available before Toastr is loaded.
This prevents console errors about jQuery not being found.
2026-01-25 06:03:39 +01:00
Younes ENNAJI 0fe2e3e38e Change Themes badge from 'soon' to 'NEW' 2026-01-25 05:57:42 +01:00
Younes ENNAJI 3ee5ba2909 Change footer 'Created By' to 'Author' 2026-01-25 05:56:06 +01:00
Younes ENNAJI ca1a38d282 Simplify footer design with clean slate color scheme
- Remove gradient background and decorative SVG wave
- Use consistent slate-900/400/500 color palette
- Remove animated elements and decorative bars
- Simplify social links and documentation navigation
- Reduce author image size for cleaner layout
2026-01-25 05:54:42 +01:00
Younes ENNAJI 917b2c8f06 Simplify color scheme in Features and Libraries sections
- Replace vibrant gradient cards with clean white cards
- Use consistent indigo/slate color palette throughout
- Remove multicolor gradients for a more professional look
- All icons now use indigo-600 on indigo-50 backgrounds
- Stats section now uses uniform indigo color
- CTA button simplified to single indigo color
2026-01-25 05:51:18 +01:00
Younes ENNAJI 80cf92af09 Redesign "Choose Your Preferred Library" section with modern compact cards
- Simplify card design with centered layout
- Remove long descriptions in favor of concise taglines
- Use gradient icon badges with rounded squares
- Improve CTA button with gradient styling
- Reduce vertical space while maintaining visual appeal
2026-01-25 05:47:35 +01:00
Younes ENNAJI 82d0bc5a26 Redesign "Why Choose PHPFlasher?" section with modern gradient cards
- Replace white cards with vibrant gradient backgrounds
- Simplify content with concise descriptions
- Add decorative circles and backdrop blur effects
- Add stats section with key metrics (6+ frameworks, 5+ libraries, 10+ themes, 100% TypeScript)
- Improve visual hierarchy and spacing
2026-01-25 05:45:29 +01:00
Younes ENNAJI 32055b1e87 Update build artifacts 2026-01-25 05:43:02 +01:00
Younes ENNAJI 9c07b5a72e Increase PHPFlasher Studio height and remove v3.0 label 2026-01-25 05:41:16 +01:00
Younes ENNAJI fdfd8e0b50 Remove Notification Studio title and Copy button to save space 2026-01-25 05:39:27 +01:00
Younes ENNAJI 18712ba51e Remove Custom Icon, Reset All, and Animation Toggle from Notification Studio
- Remove Custom Icon section (not yet implemented in PHPFlasher)
- Remove Reset All button
- Remove Animation Toggle button
- Clean up related JavaScript code
- Reduce vertical scroll by simplifying UI
2026-01-25 05:37:01 +01:00
Younes ENNAJI abc8cf2569 Enhance Notification Studio with major improvements
- Add Copy Code button with visual feedback
- Add Reset All button to clear options
- Add Quick Presets for common use cases (User Created, Payment Failed, Login Success, etc.)
- Add Animation Toggle to enable/disable typing animations
- Add Icon Selection with 12 common icons
- Add 3 new adapter tabs: Noty, Toastr, and SweetAlert
- Add Code Comparison modal showing Before vs After PHPFlasher
- Improve mobile responsiveness with better layout for small screens
- Add custom scrollbar styling for code panels
- Update version to 3.0
2026-01-25 05:31:31 +01:00
Younes ENNAJI e1e3f01dce Updates generated CSS and manifest files 2026-01-25 05:28:57 +01:00
Younes ENNAJI 5aa8500683 Add jekyll-paginate gem to Gemfile and config 2026-01-25 05:25:49 +01:00
Younes ENNAJI cea67fe813 Add jekyll-paginate plugin to fix deprecation warning 2026-01-25 05:24:42 +01:00
Younes ENNAJI 3a47e100a0 Fix Liquid syntax errors in blog post by escaping Blade template syntax 2026-01-25 05:23:41 +01:00
Younes ENNAJI 93c5e987fc Remove Browser Support and Need assistance sections from theme layout 2026-01-25 05:22:02 +01:00
Younes ENNAJI 151c4f7778 Remove Footer CTA sections from Livewire and Inertia pages 2026-01-25 05:21:02 +01:00
Younes ENNAJI a5849a615b Remove Footer CTA section from Laravel page 2026-01-25 05:19:45 +01:00
Younes ENNAJI 1801e187ac Remove Footer CTA section from Symfony page 2026-01-25 05:18:40 +01:00
Younes ENNAJI 6eede92db6 Update LinkedIn username from younes--ennaji to yoeunes 2026-01-25 05:16:22 +01:00
Younes ENNAJI 0e04125627 Remove Testimonials and Browser Support sections from homepage 2026-01-25 05:11:25 +01:00
Younes ENNAJI aeca5b5ee7 Remove Community and CTA sections from homepage 2026-01-25 05:10:23 +01:00
Younes ENNAJI 1b2f45f964 Fix code indentation in homepage examples 2026-01-25 05:09:04 +01:00
Younes ENNAJI e70d40ef04 Simplify GitHub CTA message in documentation 2026-01-25 05:06:36 +01:00
Younes ENNAJI 0b9cfe80d5 Remove Blog links and v1.x documentation from navigation
- Hide Blog section from sidebar menu and header navigation
- Remove v1.x version link, keeping only current v2.x docs
2026-01-25 05:04:47 +01:00
Younes ENNAJI 767939a38c Update docs build artifacts after code simplification
Regenerate documentation build files with updated asset hashes following the recent code cleanup and simplification work.
2026-01-25 05:00:25 +01:00
Younes ENNAJI d7234c64a2 Simplify verbose PHPDoc class descriptions across 76 files
Remove descriptive class/interface-level documentation that duplicates
what the class/interface names already convey, while keeping all
type annotations (@param, @return, @var, @throws, @phpstan-, @mixin,
@template, @internal).

Files modified:
- Symfony integration (18 files): Attribute, Translation, Template,
  Component, Storage, Support, Http, Profiler, Command, Twig,
  EventListener, FlasherSymfonyBundle
- Laravel integration (13 files): ServiceProvider, Storage, Middleware,
  Http, Facade, Template, Translation, Command, Component, EventListener
- Prime/EventDispatcher (17 files): Events and EventListeners
- Prime/Storage (11 files): Filter/Criteria and Bag interfaces
- Prime/Stamp (4 files): Interface and stamp classes
- Prime/Factory (5 files): Factory interfaces and implementations
- Prime/Notification (2 files): Envelope and Notification
- Prime/Support/Traits (1 file): ForwardsCalls
2026-01-16 01:46:44 +01:00
Younes ENNAJI 194eab473e Simplify verbose documentation in translation language files
Remove verbose class-level and method-level documentation from:
- 8 translation language files (Arabic, Chinese, English, French, German, Portuguese, Russian, Spanish)
- FilterFactory class

Kept only essential type annotations (@return, @param, @throws, @var).

Also regenerated CSS build artifacts after previous SCSS changes.
2026-01-16 01:31:15 +01:00
Younes ENNAJI 521746f813 Simplify remaining comments in global.d.ts and SCSS theme files
- Remove file headers and verbose documentation from 2 global.d.ts files
- Simplify 12 SCSS theme files by removing multi-line documentation blocks
- Remove verbose inline comments that just repeat what the code does
- Keep helpful inline comments for non-obvious code

Files modified:
- src/Prime/Resources/assets/global.d.ts
- src/Toastr/Prime/Resources/assets/global.d.ts
- src/Prime/Resources/assets/themes/aurora/aurora.scss
- src/Prime/Resources/assets/themes/facebook/facebook.scss
- src/Prime/Resources/assets/themes/google/google.scss
- src/Prime/Resources/assets/themes/ios/ios.scss
- src/Prime/Resources/assets/themes/jade/jade.scss
- src/Prime/Resources/assets/themes/material/material.scss
- src/Prime/Resources/assets/themes/minimal/minimal.scss
- src/Prime/Resources/assets/themes/neon/neon.scss
- src/Prime/Resources/assets/themes/onyx/onyx.scss
- src/Prime/Resources/assets/themes/ruby/ruby.scss
- src/Prime/Resources/assets/themes/sapphire/sapphire.scss
- src/Prime/Resources/assets/themes/slack/slack.scss
2026-01-16 01:28:29 +01:00
Younes ENNAJI 34d780b0b7 Fix SCSS syntax errors and TypeScript build error
- Fix 15 theme SCSS files with orphaned comment closing markers
- Add type assertion to notyf.ts for private property access
- Regenerate build artifacts after fixes

The SCSS files had broken syntax from previous comment removal where
orphaned '*/' markers were left behind, causing SCSS parsing errors.
2026-01-16 00:52:20 +01:00
Younes ENNAJI 61f991f379 Simplify JSDoc and SCSS comments in theme files and entry points
Remove verbose JSDoc and SCSS comments from:
- Theme TypeScript files (17 amazon, amber, aurora, crystal, emerald, facebook, flasher, google, ios, jade, material, minimal, neon, onyx, ruby, sapphire, slack)
- Theme SCSS files (21 theme stylesheets including icons, progress, wrapper, and all theme variants)
- Theme index.ts registration files (17 files)
- Entry point and export files (index.ts, exports.ts)
- Adapter index.ts files (Noty, Notyf, SweetAlert, Toastr)
- Remaining plugin files (toastr.ts, notyf.ts)

Kept type annotations and removed only descriptive comments, examples,
and file headers following Symfony's concise documentation style.
2026-01-16 00:40:14 +01:00
Younes ENNAJI cc9fa57c4a Simplify JSDoc comments in plugin TypeScript files
Removes verbose documentation from:
- plugin.ts (AbstractPlugin base class)
- noty.ts (Noty plugin implementation)
- sweetalert.ts (SweetAlert plugin implementation)

Keeps essential type annotations.
2026-01-16 00:28:35 +01:00
Younes ENNAJI 613c73d7b6 Simplify JSDoc and comments in TypeScript and SCSS files
Removes verbose documentation and examples from:
- flasher.ts (main orchestration class)
- flasher-plugin.ts (default plugin implementation)
- types.ts (type definitions)
- flasher.scss (default theme styles)
- mixins.scss (reusable SASS mixins)

Keeps essential type annotations and parameter documentation.
2026-01-16 00:27:42 +01:00
Younes ENNAJI 9239063159 Simplify PHPDoc comments in Stamp classes and PhpStorm meta files
Removes verbose documentation and comments from:
- Stamp classes (PriorityStamp, HopsStamp, DelayStamp, etc.)
- .phpstorm.meta.php files (Prime, Noty, Notyf, SweetAlert, Toastr)
- Factory and EventDispatcher classes
2026-01-16 00:23:16 +01:00
Younes ENNAJI 2e61a0539f Simplify PHPDoc comments in core Prime classes
Removes verbose documentation while preserving type annotations
for array parameters and PHPStan type definitions.
2026-01-16 00:20:39 +01:00
Younes ENNAJI 548044bd7f Simplify PHPDoc comments in Notification builder classes
Removes verbose documentation while preserving type annotations
for array parameters.
2026-01-16 00:17:52 +01:00
Younes ENNAJI 3f920f2c01 Simplify PHPDoc comments in Plugin, HTTP, Stamp, and Test constraint classes
Removes verbose documentation while preserving type annotations.
2026-01-16 00:07:42 +01:00
Younes ENNAJI 65e9125539 Simplify PHPDoc comments in helper functions and translation files
This commit simplifies PHPDoc comments in helper functions and Laravel
translation files by removing verbose documentation and keeping only
essential type annotations.

Changes include:
- Removed "Design pattern" mentions and example usage blocks
- Kept all @param and @phpstan-return type annotations
- Added missing @return annotations for PHPStan

Files modified:
- src/Prime/functions.php - Namespaced helper function
- src/Prime/helpers.php - Global helper function
- src/Laravel/Translation/lang/*/messages.php - 8 translation files (ar, de, en, es, fr, pt, ru, zh)
- src/Prime/Http/RequestInterface.php - Added @return annotation
- src/Prime/Http/ResponseInterface.php - Added @param annotation
- src/Prime/Notification/NotificationBuilderInterface.php - Added @param annotation

All changes pass PHPStan analysis and tests.
2026-01-15 23:48:33 +01:00
Younes ENNAJI a0873c0082 Simplify PHPDoc comments in Prime interfaces and traits
This commit simplifies PHPDoc comments across 26 files in the src/Prime/
directory by removing verbose documentation and keeping only essential type
annotations.

Changes include:
- Removed "Design pattern" mentions and redundant explanations
- Kept all @param and @return type annotations for PHPStan
- Maintained @phpstan-* annotations for type safety

Files modified:
- Exception classes (4 files)
- Http interfaces (5 files)
- Notification builders and interfaces (3 files)
- Plugin, Response, Storage, Template, Translation, and Test interfaces (14 files)

All changes pass PHPStan analysis and tests.
2026-01-15 23:40:19 +01:00
Younes ENNAJI 1c5b533126 Refactors Toastr implementation as a plugin 2026-01-15 23:26:32 +01:00
Younes ENNAJI f78824b8d9 Downgrades dependencies for broader compatibility 2026-01-15 23:15:58 +01:00
Younes ENNAJI e212c0157e Simplify PHPDoc comments in SweetAlert integration
Remove verbose documentation pattern references and redundant
explanations, keeping only essential type annotations.
2026-01-15 23:12:29 +01:00
Younes ENNAJI fcf5c63f58 Improves documentation with parameter types 2026-01-15 22:56:11 +01:00
Younes ENNAJI ea164fde17 Simplify PHPDoc comments in Notyf integration
Remove verbose documentation pattern references and redundant
explanations, keeping only essential type annotations.
2026-01-15 22:51:25 +01:00
Younes ENNAJI 611fda9c61 Simplify PHPDoc comments in Noty integration
Remove verbose documentation pattern references and redundant
explanations, keeping only essential type annotations.
2026-01-15 22:35:01 +01:00
Younes ENNAJI 21348f384d Simplify PHPDoc comments in Laravel and Symfony integrations
Remove verbose documentation pattern references and redundant
explanations, keeping only essential type annotations.
2026-01-15 22:22:20 +01:00
Younes ENNAJI 8f594698c7 Simplify PHPDoc comments in Prime classes
Remove verbose documentation pattern references and redundant
explanations, keeping only essential type annotations.
2026-01-15 21:21:11 +01:00
Younes ENNAJI d65300a0e9 Fix PHPStan errors and test failures, improve PHPDoc documentation ordering 2026-01-10 04:36:16 +01:00
Younes ENNAJI a002590d56 Fix incorrect examples in src/Prime/README.md
- Replace non-existent static Flasher:: calls with flash() helper function
2026-01-10 04:21:03 +01:00
Younes ENNAJI 5a4d46b46b Fix incorrect code examples in Prime adapter READMEs
- Replace non-existent static method calls with correct helper functions
- Update examples to use sweetalert(), notyf(), noty(), toastr() helpers
- Pass options as arrays instead of invalid fluent chaining
2026-01-10 04:19:17 +01:00
Younes ENNAJI 0232edc9bd Adds documentation files and improves package READMEs 2026-01-10 03:54:56 +01:00
Younes ENNAJI 1c5fbbba9a Refactors and improves documentation clarity 2026-01-10 02:16:28 +01:00
Younes ENNAJI 15da40c582 Updates flasher dependencies to version 2.4.0 2025-12-31 11:43:34 +01:00
Younes ENNAJI 8c77e96eb6 Upgrade yoeunes/regex-parser to v1.0 2025-12-31 11:38:59 +01:00
Younes ENNAJI 91ab4fa0f4 Updates Flasher dependencies to version 2.3.0
Updates all flasher dependencies in composer.json files and the main Flasher version constant to the new version 2.3.0.

This ensures that all packages are using the latest compatible version of Flasher.
2025-12-09 11:23:28 +01:00
Younes ENNAJI b08117853a Merge pull request #295 from php-flasher/regex-parser
Adds regex-parser library
2025-12-09 11:22:15 +01:00
Younes ENNAJI 2417333107 Adds regex-parser library
Adds the `yoeunes/regex-parser` library as a dependency.

This library will be used for advanced regular expression
validation and analysis within the application.

Also updates the .gitignore to ignore vendor directories
within the `src` directory, and adds `composer.lock` to it.
2025-12-09 11:20:01 +01:00
Younes ENNAJI 358ad11c4d Updates flasher dependencies to v2.2.2
Bumps all flasher dependencies to the latest version 2.2.2.

This ensures all packages are aligned with the latest features and bug fixes.
2025-12-08 12:53:33 +01:00
Younes ENNAJI a7823205ce chore: Bump @flasher package versions to 2.2.1 2025-11-10 17:00:32 +01:00
Younes ENNAJI 50d6acfa94 Merge pull request #294 from php-flasher/dev
add support for Symfony v8.0
2025-11-10 15:47:02 +01:00
Younes ENNAJI dd3c9f74f0 add support for Symfony v8.0
Bumps the php-flasher dependencies in composer.json and package.json files
to version 2.2.1 across all relevant packages.

This ensures the project utilizes the latest features,
bug fixes, and improvements available in the php-flasher library.
2025-11-10 15:43:32 +01:00
Younes ENNAJI fac5ca638a Merge pull request #293 from php-flasher/dev
dev
2025-11-10 15:42:44 +01:00
Younes ENNAJI 09199d8b56 Makes notification library default optional
Makes the 'default' option for the notification library optional.

This allows the system to function without a default library being explicitly set, providing more flexibility in configurations.
2025-11-10 15:41:13 +01:00
Younes ENNAJI d9c65d274b Enhances test workflow for dev Symfony versions
Updates the test workflow to correctly handle "-dev" Symfony versions.

Sets the composer minimum-stability to "dev" and prefers stable dependencies
when testing against development versions of Symfony. This ensures that the
latest dependencies are used during testing of development versions and also
runs update with --prefer-lowest only when not on a dev branch.
2025-11-10 15:38:04 +01:00
Younes ENNAJI bde270a483 Adds new test configurations
Introduces new test configurations for Symfony 8.0 with PHP 8.4 and Symfony 7.4 with PHP 8.2, ensuring broader compatibility and comprehensive testing coverage.
2025-11-10 15:35:22 +01:00
Younes ENNAJI c454fbc768 Updates flasher library dependencies.
Updates composer.lock and package-lock.json files to include latest versions of dependencies.
This change ensures compatibility with the latest features and security patches.
It also synchronizes front-end and back-end dependencies.
2025-11-10 15:32:54 +01:00
Younes ENNAJI 17a0e756d9 Updates devDependencies
Increases the versions of various development dependencies.

This change ensures the project benefits from the latest
features, bug fixes, and performance improvements offered by
these tools.
2025-11-10 15:32:45 +01:00
Younes ENNAJI 5ee7d58d7c Updates test matrix for PHP and Symfony
Updates the test matrix in the workflow configuration.

Adds PHP 8.5 support and adjusts Symfony versions to 7.3.
Also includes Laravel 12 support with corresponding PHP versions.
2025-11-10 15:32:31 +01:00
Younes ENNAJI e0b93784bd Allows Symfony 8 compatibility
Updates Symfony dependencies to allow compatibility
with version 8.

This ensures the application can be upgraded to
the latest Symfony version without breaking changes.
2025-11-10 15:32:24 +01:00
Younes ENNAJI 18663b3214 Updates Flasher to v2.2.0
Updates the flasher dependencies in composer.json files and package.json files to version 2.2.0.

Updates the Flasher version constant in the Prime Flasher class.
2025-11-10 15:20:21 +01:00
Younes ENNAJI 7cf3de856e Merge pull request #286 from php-flasher/dev
add phpflasher configuration article
2025-03-30 07:41:23 +00:00
Younes ENNAJI e0cbc53c76 add phpflasher configuration article 2025-03-30 07:39:24 +00:00
Younes ENNAJI b5bf2325be Merge pull request #285 from php-flasher/dev
add common phpflasher implementation mistakes blog post
2025-03-30 07:18:22 +00:00
Younes ENNAJI e3158290f3 add common phpflasher implementation mistakes blog post 2025-03-30 07:15:03 +00:00
Younes ENNAJI 4070978256 Merge pull request #284 from php-flasher/dev
add blog section
2025-03-30 06:42:07 +00:00
Younes ENNAJI d96a953488 update blog icon 2025-03-30 06:39:58 +00:00
Younes ENNAJI ea8391eb6b update laravel first blog article 2025-03-30 06:03:55 +00:00
Younes ENNAJI 3fc0d83dd6 improve laravel first blog article 2025-03-30 05:22:04 +00:00
Younes ENNAJI 1cb12c819b add blog articles 2025-03-30 04:10:13 +00:00
Younes ENNAJI f9d79f4589 Merge pull request #283 from php-flasher/dev
update themes documentataion
2025-03-30 03:11:35 +00:00
Younes ENNAJI a3ce6a5262 update themes documentataion 2025-03-30 02:56:43 +00:00
Younes ENNAJI ff2cc1dc65 Merge pull request #282 from php-flasher/dev
update docs home page
2025-03-30 02:33:13 +00:00
Younes ENNAJI 2cef5b98b2 fix phpstan errors 2025-03-30 02:27:41 +00:00
Younes ENNAJI d7ecfb69a9 revert laravel install command 2025-03-30 02:24:57 +00:00
Younes ENNAJI 4909da7ba8 update docs home page 2025-03-30 02:22:45 +00:00
Younes ENNAJI f854ed4315 Wip 2025-03-28 13:05:26 +00:00
Younes ENNAJI 424617103f Wip 2025-03-28 03:37:07 +00:00
Younes ENNAJI 8dd56001db Wip 2025-03-28 03:30:26 +00:00
Younes ENNAJI e1ae7e215c update laravel intaller command 2025-03-28 03:11:45 +00:00
Younes ENNAJI 730c13c447 update laravel theme configuration 2025-03-28 02:16:33 +00:00
Younes ENNAJI 12b0842cdd update symfony and laravel demos 2025-03-28 02:06:37 +00:00
Younes ENNAJI 93ca18a67b add themes to symfony configuration 2025-03-27 21:23:53 +00:00
Younes ENNAJI 1022991877 upgrade dependencies 2025-03-27 20:06:59 +00:00
Younes ENNAJI 4345f2aa91 Merge pull request #280 from php-flasher/dev
update themes border radius
2025-03-27 02:13:45 +00:00
Younes ENNAJI 56dd1cea4c update themes border radius 2025-03-27 02:12:06 +00:00
Younes ENNAJI 315a54eb43 Merge pull request #279 from php-flasher/dev
update themes icon
2025-03-26 23:37:35 +00:00
Younes ENNAJI 82f2c69d65 update themes icon 2025-03-26 23:34:57 +00:00
Younes ENNAJI 91993e438b Merge pull request #278 from php-flasher/dev
fix flash notifications width
2025-03-26 23:08:16 +00:00
Younes ENNAJI 977c645c45 upgrade dependencies 2025-03-26 23:06:45 +00:00
Younes ENNAJI 7a083efea0 fix flash notifications width 2025-03-26 23:04:01 +00:00
Younes ENNAJI 5448e54f77 Merge pull request #277 from php-flasher/dev
update livewire and inertiajs documentation
2025-03-26 21:34:02 +00:00
Younes ENNAJI c92105377d update livewire and inertiajs documentation 2025-03-26 21:32:32 +00:00
Younes ENNAJI 5cf68f2e34 Merge pull request #276 from php-flasher/dev
update laravel documentation page
2025-03-26 04:18:09 +00:00
Younes ENNAJI 68d7bfadce upgrade dependencies 2025-03-26 04:16:45 +00:00
Younes ENNAJI ca6e75ba9d update laravel documentation page 2025-03-26 04:06:45 +00:00
Younes ENNAJI 3407e309da Merge pull request #275 from php-flasher/dev
upgrade dependencies
2025-03-26 02:24:27 +00:00
Younes ENNAJI dce23cc288 upgrade dependencies 2025-03-26 02:22:33 +00:00
Younes ENNAJI c1cc26379d Merge pull request #274 from php-flasher/dev
update symfony documentation page
2025-03-26 02:17:02 +00:00
Younes ENNAJI cc0658b3fe update symfony documentation page 2025-03-26 02:15:21 +00:00
Younes ENNAJI a2abd9455a upgrade dependencies 2025-03-23 20:39:06 +00:00
Younes ENNAJI 8d160a6659 Merge pull request #273 from php-flasher/dev
fix flasher rtl support
2025-03-23 14:57:02 +00:00
Younes ENNAJI 8e6f0e8c88 fix flasher rtl support 2025-03-23 14:54:56 +00:00
Younes ENNAJI 4471ae6135 Merge pull request #272 from php-flasher/dev
Wip
2025-03-23 14:17:48 +00:00
Younes ENNAJI 6d162c7f95 Wip 2025-03-23 14:16:10 +00:00
Younes ENNAJI 4f8e179fb8 Merge pull request #271 from php-flasher/dev
dev
2025-03-23 13:35:11 +00:00
Younes ENNAJI 53d7795292 fix flasher options 2025-03-23 13:31:29 +00:00
Younes ENNAJI eec4b88872 Wip 2025-03-22 20:06:30 +00:00
Younes ENNAJI 37ac39e2ec Merge pull request #270 from php-flasher/dev
upgrade dependencies
2025-03-19 00:33:38 +00:00
Younes ENNAJI ef05362467 upgrade dependencies 2025-03-19 00:26:48 +00:00
Younes ENNAJI 05229b0b42 Merge pull request #269 from php-flasher/dev
update inertiajs documentation page
2025-03-19 00:09:17 +00:00
Younes ENNAJI 28ca9d1370 update inertiajs documentation page 2025-03-19 00:07:22 +00:00
Younes ENNAJI 03c358ce44 Merge pull request #268 from php-flasher/dev
update livewire documentation page
2025-03-18 23:37:02 +00:00
Younes ENNAJI 0edf9cc711 update livewire documentation page 2025-03-18 23:35:22 +00:00
Younes ENNAJI 04685fad82 Merge pull request #267 from php-flasher/dev
update laravel documentation page
2025-03-18 22:57:11 +00:00
Younes ENNAJI 2bfc7ec5d4 update laravel documentation page 2025-03-18 22:55:25 +00:00
Younes ENNAJI 4ef7a12484 Merge pull request #266 from php-flasher/dev
update symfony doc page
2025-03-18 22:41:16 +00:00
Younes ENNAJI 4f09f06e07 update symfony implementation 2025-03-18 22:38:47 +00:00
Younes ENNAJI 00c8273272 Wip 2025-03-18 22:22:32 +00:00
Younes ENNAJI 2a7657b09c Wip 2025-03-18 22:20:10 +00:00
Younes ENNAJI 24d3c90752 Wip 2025-03-18 22:08:01 +00:00
Younes ENNAJI 5f4a8beaa3 Wip 2025-03-18 22:02:54 +00:00
Younes ENNAJI 70e08fc913 Wip 2025-03-18 21:56:52 +00:00
Younes ENNAJI f0a11e6600 Wip 2025-03-18 21:39:09 +00:00
Younes ENNAJI 66704f6368 Wip 2025-03-18 20:37:11 +00:00
Younes ENNAJI c18fbd1124 Wip 2025-03-17 05:56:34 +00:00
Younes ENNAJI 1899de104f Merge pull request #264 from php-flasher/2.x-dev
update docs
2025-03-17 04:54:51 +00:00
Younes ENNAJI cd3ef599e1 Wip 2025-03-17 04:53:19 +00:00
Younes ENNAJI eb537353c2 Wip 2025-03-17 04:48:54 +00:00
Younes ENNAJI 4b1b747abe Merge pull request #263 from php-flasher/2.x-dev
update the docs
2025-03-17 03:59:52 +00:00
Younes ENNAJI 56109d9ed0 Wip 2025-03-17 03:57:41 +00:00
Younes ENNAJI a80c04bb19 Merge pull request #262 from php-flasher/2.x-dev
update the docs
2025-03-17 03:38:39 +00:00
Younes ENNAJI cd2c28ff11 Wip 2025-03-17 03:37:53 +00:00
Younes ENNAJI 3c79064e8d Wip 2025-03-17 03:29:19 +00:00
Younes ENNAJI 1e87cf5380 Wip 2025-03-17 03:26:27 +00:00
Younes ENNAJI 6dbef1d819 Merge pull request #261 from php-flasher/2.x-dev
update the docs
2025-03-17 03:04:54 +00:00
Younes ENNAJI c03c28533b update the docs 2025-03-17 03:03:07 +00:00
Younes ENNAJI 59a2e502c8 Merge pull request #260 from php-flasher/2.x-dev
make sidebar scrollable
2025-03-16 01:44:50 +00:00
Younes ENNAJI 3cb6ea7ed7 make sidebar scrollable 2025-03-16 01:43:23 +00:00
Younes ENNAJI bb83f55711 Merge pull request #259 from php-flasher/2.x-dev
fix flasher studio select theme
2025-03-16 01:17:20 +00:00
Younes ENNAJI ffbb8e5053 Wip 2025-03-16 01:15:32 +00:00
Younes ENNAJI aa82f13e08 Wip 2025-03-16 01:01:56 +00:00
Younes ENNAJI e8cd7a4595 Merge pull request #258 from php-flasher/2.x-dev
update docs demo
2025-03-13 08:15:13 +00:00
Younes ENNAJI 568e3583b9 Wip 2025-03-13 08:13:26 +00:00
Younes ENNAJI 113e609b55 Wip 2025-03-13 07:41:10 +00:00
Younes ENNAJI edd684cd7c Wip 2025-03-13 07:09:14 +00:00
Younes ENNAJI 302de1f212 Wip 2025-03-13 06:26:03 +00:00
Younes ENNAJI d0bf147008 Wip 2025-03-13 06:20:41 +00:00
Younes ENNAJI 5d7145ff65 Wip 2025-03-13 06:05:44 +00:00
Younes ENNAJI 2faa760217 Wip 2025-03-13 05:39:10 +00:00
Younes ENNAJI eb0d0fbb6d Wip 2025-03-12 21:27:05 +00:00
Younes ENNAJI ccaab5b7e5 Wip 2025-03-12 00:17:23 +00:00
Younes ENNAJI 2ecfdef874 Wip 2025-03-12 00:17:01 +00:00
Younes ENNAJI 49e287f987 Wip 2025-03-11 23:56:12 +00:00
Younes ENNAJI 60c19498e3 Wip 2025-03-11 23:52:20 +00:00
Younes ENNAJI 9e59dc83fe Wip 2025-03-11 23:34:41 +00:00
Younes ENNAJI f39aaa7de5 Wip 2025-03-11 23:12:37 +00:00
Younes ENNAJI 68ae6dc9cb Wip 2025-03-11 22:47:45 +00:00
Younes ENNAJI 356672c634 Wip 2025-03-11 22:44:01 +00:00
Younes ENNAJI eff520316e Wip 2025-03-11 22:33:12 +00:00
Younes ENNAJI fa3012a711 Wip 2025-03-11 22:02:22 +00:00
Younes ENNAJI 27024721ea Merge pull request #257 from php-flasher/2.x-dev
2.x dev
2025-03-11 07:45:13 +00:00
Younes ENNAJI 50a8b334be Wip 2025-03-11 07:43:34 +00:00
Younes ENNAJI 402b443f17 Wip 2025-03-11 07:37:11 +00:00
Younes ENNAJI 220284a892 Wip 2025-03-11 07:27:52 +00:00
Younes ENNAJI 5d81a1f0f1 Wip 2025-03-11 07:23:15 +00:00
Younes ENNAJI 5b8e6c64ff Wip 2025-03-11 07:00:44 +00:00
Younes ENNAJI 4b2edce0e4 Wip 2025-03-11 06:55:49 +00:00
Younes ENNAJI ff32c639ed Wip 2025-03-11 06:48:42 +00:00
Younes ENNAJI bad7544cf8 Wip 2025-03-11 06:36:08 +00:00
Younes ENNAJI a05d72d945 Wip 2025-03-11 06:27:42 +00:00
Younes ENNAJI 4672332012 Wip 2025-03-11 06:19:57 +00:00
Younes ENNAJI b4682b462a Wip 2025-03-11 06:14:16 +00:00
Younes ENNAJI 6ea30eb6d4 Wip 2025-03-11 06:09:49 +00:00
Younes ENNAJI b451da2141 Wip 2025-03-11 06:04:59 +00:00
Younes ENNAJI b5517bedcf Wip 2025-03-11 06:02:25 +00:00
Younes ENNAJI f411c6e3cb Wip 2025-03-11 05:53:39 +00:00
Younes ENNAJI 5a769cffc8 Wip 2025-03-11 05:43:53 +00:00
Younes ENNAJI dae72342b4 Merge pull request #256 from php-flasher/2.x-dev
update the themes in the docs
2025-03-11 05:10:17 +00:00
Younes ENNAJI ea47e9043b update the themes in the docs 2025-03-11 05:07:01 +00:00
Younes ENNAJI 3b42b1a862 Merge pull request #255 from php-flasher/2.x-dev
improve themes docs
2025-03-10 04:29:14 +00:00
Younes ENNAJI e1d7ae94ee Wip 2025-03-10 04:23:31 +00:00
Younes ENNAJI 1945e03640 Wip 2025-03-10 04:16:03 +00:00
Younes ENNAJI 00eadbe207 Wip 2025-03-10 04:07:11 +00:00
Younes ENNAJI ee51cb775d Wip 2025-03-10 03:45:48 +00:00
Younes ENNAJI 0cf5e8f70d Wip 2025-03-10 03:43:57 +00:00
Younes ENNAJI 09d60d496b Wip 2025-03-10 03:31:51 +00:00
Younes ENNAJI b48d52d3bc Wip 2025-03-10 03:26:41 +00:00
Younes ENNAJI 9849c63d99 Wip 2025-03-10 03:23:41 +00:00
Younes ENNAJI e332c78512 Wip 2025-03-10 03:23:08 +00:00
Younes ENNAJI 0a148c10c2 Wip 2025-03-10 03:20:04 +00:00
Younes ENNAJI cf03403459 Wip 2025-03-10 03:10:30 +00:00
Younes ENNAJI a7491972e2 Wip 2025-03-10 02:58:26 +00:00
Younes ENNAJI 21c5cbd624 Wip 2025-03-10 02:18:48 +00:00
Younes ENNAJI 664c841e8d Wip 2025-03-10 02:07:34 +00:00
Younes ENNAJI 5f6837ea31 Merge pull request #254 from php-flasher/2.x-dev
add themes to the docs
2025-03-10 00:55:05 +00:00
Younes ENNAJI 88ae4cfc4c add themes to the docs 2025-03-10 00:54:37 +00:00
Younes ENNAJI 042b314784 Merge pull request #253 from php-flasher/2.x-dev
update docs
2025-03-09 22:43:17 +00:00
Younes ENNAJI a43cbd21ce compile assets 2025-03-09 22:41:44 +00:00
Younes ENNAJI 39ca7b3e83 update docs 2025-03-09 22:15:50 +00:00
Younes ENNAJI 9d0bf7dca7 update docs 2025-03-09 20:23:16 +00:00
Younes ENNAJI 8913b6e0e2 Merge pull request #252 from php-flasher/2.x-dev
docs: enhance code documentation with comprehensive PHPDoc comments
2025-03-09 07:58:24 +00:00
Younes ENNAJI 0631e5953e docs: enhance code documentation with comprehensive PHPDoc comments 2025-03-09 07:34:22 +00:00
Younes ENNAJI bdc7e85380 Update README.md 2025-03-08 22:44:33 +00:00
Younes ENNAJI be071be46b Merge pull request #251 from php-flasher/2.x-dev
improve rollup configuration
2025-03-08 18:13:32 +00:00
Younes ENNAJI b047c9016a improve rollup configuration 2025-03-08 18:05:43 +00:00
Younes ENNAJI 8fa6054ada improve package.json 2025-03-08 12:31:44 +00:00
Younes ENNAJI c062ae7cf5 Merge pull request #250 from php-flasher/themes
add themes doc pages
2025-03-08 12:04:37 +00:00
Younes ENNAJI 1c8b0bf081 add themes doc pages 2025-03-08 12:03:23 +00:00
Younes ENNAJI 5eddda90c5 Merge pull request #249 from php-flasher/themes
update symfony demo
2025-03-08 12:03:07 +00:00
Younes ENNAJI 46ed2f8468 update symfony demo 2025-03-08 12:02:07 +00:00
Younes ENNAJI ecabbee799 Merge pull request #248 from php-flasher/themes
compile assets
2025-03-08 12:01:41 +00:00
Younes ENNAJI 568421c66b compile assets 2025-03-08 12:01:13 +00:00
Younes ENNAJI ed4f6165c6 Merge pull request #247 from php-flasher/themes
refactor toastr plugin and improve code documentation
2025-03-08 12:00:19 +00:00
Younes ENNAJI 02f5fc0460 refactor toastr plugin and improve code documentation 2025-03-08 11:59:56 +00:00
Younes ENNAJI a9aedc1236 Merge pull request #246 from php-flasher/themes
refactor sweealert plugin and improve code documentation
2025-03-08 11:59:32 +00:00
Younes ENNAJI b4c9df4549 refactor sweealert plugin and improve code documentation 2025-03-08 11:59:01 +00:00
Younes ENNAJI 4d0b258ed7 Merge pull request #245 from php-flasher/themes
refactor notyf plugin and improve code documentation
2025-03-08 11:58:39 +00:00
Younes ENNAJI 71b21855c1 refactor notyf plugin and improve code documentation 2025-03-08 11:58:00 +00:00
Younes ENNAJI f43878571b Merge pull request #244 from php-flasher/themes
refactor noty plugin and improve code documentation
2025-03-08 11:57:27 +00:00
Younes ENNAJI fbe6238009 refactor noty plugin and improve code documentation 2025-03-08 11:56:48 +00:00
Younes ENNAJI 2ed68db245 Merge pull request #243 from php-flasher/themes
refactor assets and improve code documentation
2025-03-08 11:55:05 +00:00
Younes ENNAJI c81a99c755 refactor assets and improve code documentation 2025-03-08 11:54:29 +00:00
Younes ENNAJI 3563e195bc Merge pull request #242 from php-flasher/themes
add slack theme
2025-03-08 11:53:26 +00:00
Younes ENNAJI 47c7cd9ad8 add slack theme 2025-03-08 11:52:59 +00:00
Younes ENNAJI 6b9cf6b90c Merge pull request #241 from php-flasher/themes
add sapphire theme
2025-03-08 11:49:15 +00:00
Younes ENNAJI 8d5cadcf66 add sapphire theme 2025-03-08 11:48:51 +00:00
Younes ENNAJI 3c2b4c5546 Merge pull request #240 from php-flasher/themes
add ruby theme
2025-03-08 11:48:34 +00:00
Younes ENNAJI 12c1ca36c7 add ruby theme 2025-03-08 11:48:08 +00:00
Younes ENNAJI 9355c6a590 Merge pull request #239 from php-flasher/themes
add onyx theme
2025-03-08 11:47:56 +00:00
Younes ENNAJI 88e0de8417 add onyx theme 2025-03-08 11:47:26 +00:00
Younes ENNAJI 8aa67d017c Merge pull request #238 from php-flasher/themes
add neon theme
2025-03-08 11:47:05 +00:00
Younes ENNAJI 6b6204d264 add neon theme 2025-03-08 11:46:44 +00:00
Younes ENNAJI 50142d062e Merge pull request #237 from php-flasher/themes
add minimal theme
2025-03-08 11:46:21 +00:00
Younes ENNAJI b18069893b add minimal theme 2025-03-08 11:45:22 +00:00
Younes ENNAJI fa414e7ae5 Merge pull request #236 from php-flasher/themes
add material theme
2025-03-08 11:45:07 +00:00
Younes ENNAJI 1d48abf3b7 add material theme 2025-03-08 11:44:39 +00:00
Younes ENNAJI 43626a656b Merge pull request #235 from php-flasher/themes
add jade theme
2025-03-08 11:44:22 +00:00
Younes ENNAJI c5a6e20552 add jade theme 2025-03-08 11:44:00 +00:00
Younes ENNAJI b02a55e6a6 Merge pull request #234 from php-flasher/themes
add ios theme
2025-03-08 11:43:44 +00:00
Younes ENNAJI 176b616773 add ios theme 2025-03-08 11:43:03 +00:00
Younes ENNAJI 783822826c Merge pull request #233 from php-flasher/themes
add google theme
2025-03-08 11:42:40 +00:00
Younes ENNAJI 25ce040d00 add google theme 2025-03-08 11:42:14 +00:00
Younes ENNAJI 6ae8779f8f Merge pull request #232 from php-flasher/themes
refactor flasher theme
2025-03-08 11:42:00 +00:00
Younes ENNAJI 7fafa513a2 refactor flasher theme 2025-03-08 11:41:35 +00:00
Younes ENNAJI d20a7de308 Merge pull request #231 from php-flasher/themes
add facebook theme
2025-03-08 11:41:16 +00:00
Younes ENNAJI e1a6a85c76 add facebook theme 2025-03-08 11:40:49 +00:00
Younes ENNAJI 565438eb9f Merge pull request #230 from php-flasher/themes
add emerald theme
2025-03-08 11:40:37 +00:00
Younes ENNAJI efea45f892 add emerald theme 2025-03-08 11:40:12 +00:00
Younes ENNAJI f0bf6c61ab Merge pull request #229 from php-flasher/themes
add crystal theme
2025-03-08 11:39:55 +00:00
Younes ENNAJI f3b6183449 Merge pull request #228 from php-flasher/themes
add aurora theme
2025-03-08 11:39:20 +00:00
Younes ENNAJI d10e93b56f add crystal theme 2025-03-08 11:39:11 +00:00
Younes ENNAJI b88afe29b9 Merge pull request #227 from php-flasher/themes
add amber theme
2025-03-08 11:38:35 +00:00
Younes ENNAJI 13c72935ba add aurora theme 2025-03-08 11:38:29 +00:00
Younes ENNAJI 7fee53a92a Merge pull request #226 from php-flasher/themes
add amazon theme
2025-03-08 11:37:50 +00:00
Younes ENNAJI 8ee2442b9c add amber theme 2025-03-08 11:37:24 +00:00
Younes ENNAJI 99484054f9 Merge pull request #225 from php-flasher/themes
chore: prepare flasher to add themes + improve code documentation
2025-03-08 11:36:28 +00:00
Younes ENNAJI 3be978fc53 add amazon theme 2025-03-08 11:36:10 +00:00
Younes ENNAJI fe773941e4 chore: prepare flasher to add themes + improve code documentation 2025-03-08 11:34:23 +00:00
Younes ENNAJI 63fc0d9640 Merge pull request #224 from php-flasher/themes
chore: improve build scripts
2025-03-08 11:31:06 +00:00
Younes ENNAJI 4a83adb4f3 upgrade dependencies 2025-03-08 11:30:53 +00:00
Younes ENNAJI 3d66271ac8 update build scripts 2025-03-08 11:29:23 +00:00
Younes ENNAJI 29cea6f9d3 Merge pull request #223 from php-flasher/laravel-12
add tests for laravel 12
2025-02-26 09:14:46 +00:00
Younes ENNAJI 47ad265fb4 test laravel v12 with phpunit v11.5 2025-02-26 09:12:41 +00:00
Younes ENNAJI 99371ede9e add tests for laravel 12 2025-02-26 09:10:27 +00:00
Younes ENNAJI 6e8884d1d1 Merge pull request #222 from php-flasher/docs
Update github action file
2025-02-23 14:08:18 +00:00
Younes ENNAJI 2c95b4e6ba Wip 2025-02-23 14:05:54 +00:00
Younes ENNAJI 4b3fb8f584 Wip 2025-02-23 14:04:49 +00:00
Younes ENNAJI 40e9e83e3a Wip 2025-02-23 14:03:53 +00:00
Younes ENNAJI 59ead448e9 Wip 2025-02-23 14:02:59 +00:00
Younes ENNAJI 1397e0bb59 Merge pull request #221 from php-flasher/docs
test laravel 11 on php v8.4
2025-02-23 13:54:51 +00:00
Younes ENNAJI 56e610d6b0 test laravel 11 on php v8.4 2025-02-23 13:53:44 +00:00
Younes ENNAJI ba3dd5fe7f Merge pull request #220 from php-flasher/docs
docs
2025-02-23 13:51:02 +00:00
Younes ENNAJI d9699b7fe2 Wip 2025-02-23 13:49:16 +00:00
Younes ENNAJI ed742de9db update documentation head.html 2025-02-23 12:09:13 +00:00
Younes ENNAJI 8fdc809118 remove progress bar 2025-02-21 22:10:00 +01:00
Younes ENNAJI dfdd28b869 Wip 2025-02-21 22:01:54 +01:00
Younes ENNAJI a539235d1a update bin/release file 2025-02-21 21:58:05 +01:00
Younes ENNAJI df08f255d3 Merge pull request #219 from php-flasher/split-script
split script
2025-02-21 21:49:50 +01:00
Younes ENNAJI 31d5cb6e8e Wip 2025-02-21 21:47:42 +01:00
Younes ENNAJI d2750dee8a Wip 2025-02-21 21:46:14 +01:00
Younes ENNAJI 43553ad8ad Wip 2025-02-21 21:43:50 +01:00
Younes ENNAJI 48b2c0fae0 Wip 2025-02-21 21:27:56 +01:00
Younes ENNAJI 0988fdca9d improve the bin/split script 2025-02-21 21:20:40 +01:00
Younes ENNAJI a24159c3f0 Merge pull request #218 from php-flasher/scripts
bump flasher to v2.1.6
2025-02-21 21:07:26 +01:00
Younes ENNAJI f9c9ecf18e bump flasher to v2.1.6 2025-02-21 21:05:00 +01:00
Younes ENNAJI f93a908d25 update task file and bump script 2025-02-21 21:02:15 +01:00
Younes ENNAJI 1237b5f552 Wip 2025-02-21 20:44:12 +01:00
Younes ENNAJI bce970de5f Merge pull request #217 from php-flasher/scripts
update bin scripts
2025-02-21 20:30:33 +01:00
Younes ENNAJI 8809cd9ddf update taskfile 2025-02-21 20:28:11 +01:00
Younes ENNAJI fdbc5fd270 Wip 2025-02-21 20:12:25 +01:00
Younes ENNAJI 3d5d8d3c9a Wip 2025-02-21 19:43:37 +01:00
Younes ENNAJI 9d1bbc5d9a Wip 2025-02-21 19:35:48 +01:00
Younes ENNAJI aee6d2764a Merge pull request #216 from php-flasher/v2.1.5
prepare for v2.1.5
2025-02-21 18:55:10 +01:00
Younes ENNAJI a26cac3a07 prepare for v2.1.5 2025-02-21 18:52:39 +01:00
Younes ENNAJI 811fc1a5eb Merge pull request #215 from php-flasher/v2.1.4
chore: bump flasher dependency to v2.1.4
2025-02-18 14:02:26 +01:00
Younes ENNAJI 1b3b0bd08f add support for laravel v12 2025-02-18 14:01:24 +01:00
Younes ENNAJI 7972fd2d46 chore: bump flasher dependency to v2.1.4 2025-02-18 13:58:18 +01:00
Younes ENNAJI 31e2725566 Merge pull request #214 from php-flasher/issues/213
Fix PHPStan issue by removing includes section from composer.json
2025-02-18 13:54:49 +01:00
Younes ENNAJI b31695ff58 Remove phpstan includes section from composer.json 2025-02-18 13:51:41 +01:00
Younes ENNAJI a314692534 update assets version in package.json to v2.1.3 2025-01-25 14:59:20 +01:00
Younes ENNAJI 9de126bb55 update CHANGELOG 2025-01-25 14:38:48 +01:00
Younes ENNAJI f66382e324 Merge pull request #211 from ToshY/feature/208
Add GitHub workflow for automatic publishing of assets to NPM
2025-01-25 14:31:49 +01:00
ToshY e2ef4f08a4 add workflow for automatic publishing of assets to NPM 2025-01-23 00:24:45 +01:00
Younes ENNAJI 1e1b70e59b docs: upgrade dependencies and build assets 2025-01-19 18:50:40 +01:00
Younes ENNAJI 0ca4b5c197 Merge pull request #210 from php-flasher/upgrade-dependencies
upgrade dependencies
2025-01-18 11:34:10 +01:00
Younes ENNAJI df8eb83abe chore: update CHANGELOG 2025-01-18 11:30:44 +01:00
Younes ENNAJI 3f1b22a126 chore: bump flasher dependency to v2.1.2 2025-01-18 11:26:31 +01:00
Younes ENNAJI b11524c2f9 update demo files 2025-01-18 11:23:18 +01:00
Younes ENNAJI a2333762ea build documentation 2025-01-18 11:23:18 +01:00
Younes ENNAJI 3e2e853022 upgrade dependencies 2025-01-18 11:23:17 +01:00
Younes ENNAJI 27904be912 Merge pull request #209 from php-flasher/issues/208
feat: make mainScript nullable
2025-01-18 11:22:59 +01:00
Younes ENNAJI c9d3b56346 feat: make mainScript nullable 2025-01-17 10:28:13 +01:00
Younes ENNAJI db485d1ff2 Merge pull request #207 from BrookeDot/patch-2
Update Flasher Class Parameter Order
2024-11-09 00:38:24 +01:00
Brooke. 707c7a42e1 Update Flasher Class Parameter Order
The order of `$title` and `$options` has changed, if one tries to pass a string to parameter three ($options) an error is thrown. This updates the docs accordingly.

Looks like the order was changed here:
https://github.com/php-flasher/php-flasher/blob/2.x/src/Prime/helpers.php#L21-L36
2024-11-08 13:33:52 -08:00
Younes ENNAJI 456016a585 docs: update contributors list 2024-11-06 22:52:07 +01:00
Younes ENNAJI a38ddbb53a Merge pull request #206 from BrookeDot/patch-1
Fix 404s and add links to new Guides to Getting Started
2024-11-06 22:43:03 +01:00
Brooke. 5a73173dcf Fix 404s and add links to new Guides to Getting Started
Fixes the 404s for Laravel and Symfony links (due to case sensitivity) and adds the Livewire and Inertia guides to the Getting Started section
2024-11-06 13:23:50 -08:00
Younes ENNAJI 7abdccf284 Add PR template and auto-close PR on subtree split repositories 2024-10-27 16:04:49 +01:00
Younes ENNAJI a34a943397 docs: update laravel README.md add preset example 2024-10-27 15:31:54 +01:00
Younes ENNAJI fe4601bb8b docs: update symfony README.md file 2024-10-27 15:29:49 +01:00
Younes ENNAJI 86a56f4cff docs: update laravel markdown file 2024-10-27 15:02:54 +01:00
Younes ENNAJI c3493a7335 docs: update header links inside of README.md file 2024-10-27 14:16:24 +01:00
Younes ENNAJI b2a102023b docs: update README.md file 2024-10-27 14:12:39 +01:00
Younes ENNAJI 2a85dc37c3 chore: upgrade dependencies 2024-10-27 12:16:39 +01:00
Younes ENNAJI 46f2397cdc chore: bump flasher dependency to v2.1.1 2024-10-20 15:11:19 +01:00
Younes ENNAJI 57d4665b62 Merge pull request #203 from php-flasher/laravel-excluded-paths
chore: add Laravel excluded paths option
2024-10-20 15:08:15 +01:00
Younes ENNAJI cf3943bc08 fix: phpstan return type 2024-10-20 15:05:07 +01:00
Younes ENNAJI 1da1392670 chore: update CHANGELOG 2024-10-20 15:03:15 +01:00
Younes ENNAJI 095b0d967d chore: add Laravel excluded paths option 2024-10-20 15:01:07 +01:00
Younes ENNAJI 16c1764e73 Merge pull request #202 from php-flasher/symfony-ux
compile assets
2024-10-19 22:13:43 +01:00
Younes ENNAJI 453a0b9c77 chore: compile doc assets 2024-10-19 22:11:20 +01:00
Younes ENNAJI fd051dbf74 chore: compile assets 2024-10-19 22:01:40 +01:00
Younes ENNAJI 2eb8500799 chore: update CHANGELOG 2024-10-19 16:57:02 +01:00
Younes ENNAJI e1b075520b chore: update CHANGELOG 2024-10-19 16:52:53 +01:00
Younes ENNAJI 0477a319b4 chore: update CHANGELOG 2024-10-19 16:52:26 +01:00
Younes ENNAJI 7eaa7a1f46 chore: update CHANGELOG 2024-10-19 16:51:41 +01:00
Younes ENNAJI cdfe882322 chore: run php-cs-fixer 2024-10-19 02:08:58 +01:00
Younes ENNAJI 2ff02a15bf chore: upgrade dependencies 2024-10-19 02:03:11 +01:00
Younes ENNAJI 09f53b1b63 chore: validate and autocomplete flasher configuration 2024-10-19 02:02:53 +01:00
Younes ENNAJI d0022aa0cb docs: comment options array as that's the default value 2024-10-19 00:42:02 +01:00
Younes ENNAJI 632c0662e4 docs: add note about optional configuration values 2024-10-19 00:39:28 +01:00
Younes ENNAJI e8ee494e13 chore: remove whitespaces from docs 2024-10-13 23:54:46 +01:00
Younes ENNAJI fdaa8f8961 Merge pull request #201 from php-flasher/configuration
chore: update laravel and symfony configuration documentation
2024-10-13 23:52:41 +01:00
Younes ENNAJI aa645778e3 chore: update laravel and symfony configuration documentation 2024-10-13 23:51:34 +01:00
Younes ENNAJI aca71922e8 Merge pull request #200 from php-flasher/phpstan
Improve Type Safety and IDE Support with Enhanced PHPDoc Annotations and Stricter PHPStan Validations
2024-10-13 21:42:41 +01:00
Younes ENNAJI 08b96bdd39 chore: enhance type safety with detailed PHPDoc annotations and stricter PHPStan validations 2024-10-13 21:39:22 +01:00
Younes ENNAJI 89d8c2cb7a chore: upgrade dependencies 2024-10-06 16:24:45 +01:00
Younes ENNAJI 004334f642 chore: clean up build files 2024-10-06 15:54:53 +01:00
Younes ENNAJI 60d0f2ed30 remove .npmignore file 2024-10-06 15:23:10 +01:00
Younes ENNAJI d82a12d8c8 update docs description tag 2024-10-06 15:05:14 +01:00
Younes ENNAJI 7b190bf882 update Linkedin profile 2024-10-06 14:44:28 +01:00
Younes ENNAJI 18763f1df0 fix email address in README 2024-10-06 14:43:18 +01:00
Younes ENNAJI 486329be24 Merge pull request #199 from php-flasher/feat/config
[Symfony] Improve configuration descriptions and add examples
2024-10-06 14:33:05 +01:00
Younes ENNAJI c0c8d7d5da chore: improve configuration descriptions and add examples 2024-10-06 14:32:10 +01:00
Younes ENNAJI 8cbf37b29b Merge pull request #198 from php-flasher/feat/profiler
feat(Symfony): Add Symfony Profiler integration for PHPFlasher
2024-10-06 13:37:40 +01:00
Younes ENNAJI 43affdc543 chore: add Symfony Profiler integration for PHPFlasher 2024-10-05 15:34:57 +01:00
Younes ENNAJI b6afde2990 chore: update CHANGELOG 2024-09-22 15:32:58 +01:00
Younes ENNAJI e28123fb3c Merge pull request #197 from php-flasher/issues/190
refactor: FlasherServiceProvider Update HttpKernel import and reorder methods
2024-09-22 15:28:35 +01:00
Younes ENNAJI 79717cae5c refactor: FlasherServiceProvider Update HttpKernel import and reorder methods
- Changed HttpKernel import from Illuminate\Foundation\Http\Kernel to Illuminate\Contracts\Http\Kernel to use the contract interface instead of the concrete implementation.
- Moved registerCspHandler() and registerAssetManager() methods after registerSessionMiddleware() to improve code organization and ensure correct initialization order.
2024-09-22 15:26:49 +01:00
Younes ENNAJI 6fe3407fae chore: upgrade dependencies 2024-09-22 15:21:45 +01:00
Younes ENNAJI 8d0dff2224 Add a friendly call-to-action encouraging users to star the repo and contribute to the docs 2024-09-21 23:42:57 +01:00
Younes ENNAJI 8047c6f6fe chore: update CHANGELOG 2024-09-21 23:30:49 +01:00
Younes ENNAJI c6bdaca89c chore: compile assets 2024-09-21 23:26:23 +01:00
Younes ENNAJI 8e10065c25 style: remove unused border from flasher.scss 2024-09-21 23:25:57 +01:00
Younes ENNAJI cd592be772 docs: update inertial doc page 2024-09-21 23:15:00 +01:00
Younes ENNAJI 1a90c1347e docs: update livewire doc page 2024-09-21 23:12:03 +01:00
Younes ENNAJI 0e3d300390 docs: update laravel doc page 2024-09-21 23:07:48 +01:00
Younes ENNAJI e5507140c8 docs: update symfony doc page 2024-09-21 21:17:27 +01:00
Younes ENNAJI cd43f73b88 docs: update the homepage 2024-09-21 20:46:50 +01:00
Younes ENNAJI 8e026bea78 upgrade dependencies 2024-09-21 20:23:42 +01:00
Younes ENNAJI a5308b85da add palestine banner support to nested repositories 2024-09-21 19:14:36 +01:00
Younes ENNAJI ed522d51a5 chore: update palestine support banner 2024-09-21 19:10:56 +01:00
Younes ENNAJI d9c31820e0 chore: update palestine support banner 2024-09-21 19:03:22 +01:00
Younes ENNAJI eb60a63200 chore: add support palestine banner 2024-09-21 19:00:37 +01:00
Younes ENNAJI 58ca234a37 chore: upgrade dependencies 2024-09-21 18:33:59 +01:00
Younes ENNAJI ff2cd6e384 chore: update CHANGELOG 2024-09-19 07:44:09 +01:00
Younes ENNAJI 2012b6f5af Merge pull request #196 from php-flasher/issue-193
Introduce escapeHtml Option for Secure HTML Escaping in PHPFlasher
2024-09-19 07:41:45 +01:00
Younes ENNAJI 889fc4701e chore: add escapeHtml option for secure HTML escaping in notifications 2024-09-19 07:40:10 +01:00
Younes ENNAJI 74a71b36dc style: compile assets 2024-09-19 07:39:03 +01:00
Younes ENNAJI ae0b5e8f9a style: replace deprecated function darken with scss color module color.adjust 2024-09-19 07:38:53 +01:00
Younes ENNAJI e44c1d675e ci: fix phpstan errors 2024-09-19 07:32:04 +01:00
Younes ENNAJI 61bd5f7a96 chore: add rollup progress plugin 2024-09-19 07:00:51 +01:00
Younes ENNAJI faf827f248 docs: update inertia js documentation 2024-09-19 06:42:29 +01:00
Younes ENNAJI d59e37812d chore: run php-cs-fixer 2024-09-19 06:42:10 +01:00
Younes ENNAJI 51dd7dc6fb chore: upgrade dependencies 2024-09-19 06:39:52 +01:00
Younes ENNAJI 2c2326a4a9 chore: upgrade dependencies 2024-06-16 00:02:33 +01:00
Younes ENNAJI fb34c1525d chore: upgrade dependencies 2024-06-16 00:01:48 +01:00
Younes ENNAJI d496046d50 chore: upgrade dependencies 2024-06-15 21:34:46 +01:00
Younes ENNAJI 1c5b47ab52 chore: update dependencies 2024-05-31 16:02:55 +01:00
Younes ENNAJI 87f015341e chore: add parallel run php-cs-fixer config 2024-05-31 10:04:29 +01:00
Younes ENNAJI 6087a940c6 chore: upgrade npm dependencies 2024-05-31 10:01:33 +01:00
Younes ENNAJI be82ad0b69 chore: upgrade composer dependencies 2024-05-31 10:01:18 +01:00
Younes ENNAJI 88271276fc chore: add support for symfony v7.1 2024-05-31 09:59:01 +01:00
Younes ENNAJI 456e434474 chore: remove pr auto_closer github action 2024-05-27 00:40:47 +01:00
Younes ENNAJI b28525d718 chore: add and run phpstan phpunit 2024-05-27 00:34:47 +01:00
Younes ENNAJI a820277f25 chore: update CHANGELOG 2024-05-26 13:26:08 +01:00
Younes ENNAJI 10883353f2 Merge pull request #184 from php-flasher/issue-176
chore: Refactor middleware to use Symfony's base response class
2024-05-26 13:22:01 +01:00
Younes ENNAJI 6de67f7fb3 chore: Refactor middleware to use Symfony's base response class
This commit updates the FlasherMiddleware and SessionMiddleware to utilize Symfony's base response class instead of Laravel's. This change ensures broader compatibility and addresses the issue with flash message rendering after page refreshes as identified by the community. Preparing for release in v2.0.2.
2024-05-26 13:20:48 +01:00
Younes ENNAJI b08161f9ec docs: add Ahmed Gamal to the list of contributors 2024-05-26 01:51:51 +01:00
Younes ENNAJI c35e973524 Merge pull request #183 from AhmedGamal/2.x
Default configuration options
2024-05-26 01:21:49 +01:00
Ahmed Gamal f985ea2999 chore: Symfony config options update 2024-05-25 21:24:39 +03:00
Ahmed Gamal e42e91a1e0 chore: laravel config options update 2024-05-25 21:24:30 +03:00
Ahmed Gamal 08eb6089e1 docs: adding config options 2024-05-25 21:24:19 +03:00
Younes ENNAJI dd93f6e66d docs: allow users to switch between versions 2024-05-25 15:00:18 +01:00
Younes ENNAJI b6989336e7 chore: upgrade dependencies 2024-05-24 16:15:23 +01:00
Younes ENNAJI 79c6fc3bcb chore: restore .github/workflows/tests.yaml accidentally deleted in commit d2f019f 2024-05-24 13:39:01 +01:00
Younes ENNAJI f61a7d83ce test: add tests for FlasherMiddleware and SessionMiddleware registration 2024-05-24 13:33:25 +01:00
Younes ENNAJI b07c52e643 chore: bump flasher dependency to v2.0.1 2024-05-23 10:51:41 +01:00
Younes ENNAJI 9d2ccc21c9 chore: update CHANGELOG 2024-05-23 10:50:03 +01:00
Younes ENNAJI c98a15dc0e chore: update CHANGELOG 2024-05-23 10:49:21 +01:00
Younes ENNAJI 8f4552bf4c chore: update CHANGELOG 2024-05-23 10:48:58 +01:00
Younes ENNAJI 87463be485 chore: update CHANGELOG 2024-05-23 10:48:09 +01:00
Younes ENNAJI 42eacbe570 demo: update laravel demo 2024-05-23 10:36:00 +01:00
Younes ENNAJI 6d9515d26c chore: update CHANGELOG 2024-05-23 10:32:57 +01:00
Younes ENNAJI 3d893a68eb demo: update laravel demo 2024-05-23 10:32:30 +01:00
Younes ENNAJI f34bd1385a chore: format code 2024-05-23 10:32:30 +01:00
Younes ENNAJI 1b2a778ba2 Merge pull request #182 from php-flasher/fix/issue-176
fix: Ensure flash_bag config overrides default values instead of appending
2024-05-23 10:31:23 +01:00
Younes ENNAJI 953fb78489 fix: Ensure flash_bag config overrides default values instead of appending 2024-05-23 10:29:54 +01:00
Younes ENNAJI 6d05508f97 chore: update CHANGELOG 2024-05-23 10:20:29 +01:00
Younes ENNAJI 5264899310 Merge pull request #181 from php-flasher/fix/issue-176
fix: Allow disabling of default flash replacement by setting flash_bag to false
2024-05-23 10:19:11 +01:00
Younes ENNAJI c500acbc94 fix: Allow disabling of default flash replacement by setting flash_bag to false 2024-05-23 10:17:29 +01:00
Younes ENNAJI 9123f481d8 chore: update CHANGELOG 2024-05-22 23:18:11 +01:00
Younes ENNAJI 9b356ac711 demo: update laravel flasher config timeout option 2024-05-22 23:17:15 +01:00
Younes ENNAJI 0bf6c57569 Merge pull request #180 from php-flasher/fix/issue-176
fix: Ensure global timeout setting applies to all requests
2024-05-22 23:16:26 +01:00
Younes ENNAJI 69e0f71d30 fix: Ensure global timeout setting applies to all requests 2024-05-22 23:14:36 +01:00
Younes ENNAJI 2805115fd7 Merge pull request #179 from php-flasher/fix/issue-176
chore: update CHANGELOG
2024-05-22 22:59:39 +01:00
Younes ENNAJI 47f6b54e06 chore: update CHANGELOG 2024-05-22 22:59:27 +01:00
Younes ENNAJI 6ac46e400e Merge pull request #178 from php-flasher/fix/issue-176
chore: upgrade CHANGELOG
2024-05-22 22:56:27 +01:00
Younes ENNAJI 5476d33112 chore: upgrade CHANGELOG 2024-05-22 22:55:36 +01:00
Younes ENNAJI 95beddfafc Merge pull request #177 from php-flasher/fix/issue-176
fix: Correctly disable FlasherMiddleware when inject_assets is set to false
2024-05-22 22:51:00 +01:00
Younes ENNAJI bbccf0bc4e fix: Correctly disable FlasherMiddleware when inject_assets is set to false 2024-05-22 22:48:17 +01:00
Younes ENNAJI c0709b0747 chore: upgrade dependencies 2024-05-22 22:46:12 +01:00
Younes ENNAJI 39f1f3885e chore: fix phpstan bleeding edge errors 2024-05-13 10:24:42 +01:00
Younes ENNAJI 816529029b Update README.md 2024-05-05 23:35:32 +01:00
Younes ENNAJI 3b381ecd15 chore: update the release branch in bin/release file 2024-05-05 19:59:01 +01:00
Younes ENNAJI 766b9c0a16 chore: update composer.json keywords section 2024-05-05 19:56:13 +01:00
Younes ENNAJI 04512a31b9 docs: update the image source path 2024-05-05 19:51:13 +01:00
Younes ENNAJI d2f019fb62 chore: update the doc and improve phpstan annotations 2024-05-05 19:44:39 +01:00
Younes ENNAJI eafa471fde chore: compile the assets 2024-04-12 07:10:52 +00:00
Younes ENNAJI 2c404a1a6b chore: add accessibility and screen readers support 2024-04-12 07:10:39 +00:00
Younes ENNAJI 6526d6dae7 docs: add Palestine support banner 2024-04-12 07:09:55 +00:00
Younes ENNAJI d680520097 chore: add phpstan docs 2024-04-12 04:27:20 +00:00
Younes ENNAJI f1db85e522 docs: fix menu icons width 2024-04-12 04:13:03 +00:00
Younes ENNAJI ee629bce2e chore: add namespaced helpers to phpstan extension 2024-04-12 04:12:35 +00:00
Younes ENNAJI f7fd0e0069 demo: add phpstan in symfony demo with level 9 2024-04-12 04:11:58 +00:00
Younes ENNAJI 14646df9e5 composer: update packages description and keywords 2024-04-11 17:25:32 +00:00
Younes ENNAJI c7367e7c12 docs: add post installation command 2024-04-11 16:19:15 +00:00
Younes ENNAJI 6125ac1776 docs: add the flasher:install command need after composer require step 2024-04-11 16:07:32 +00:00
Younes ENNAJI 3452651eac demo: reduce notification timeout 2024-04-11 15:47:09 +00:00
Younes ENNAJI 4edca9efd9 chore: compile the assets 2024-04-11 15:46:53 +00:00
Younes ENNAJI 42a06a2953 style: make the notification container more visible on white background 2024-04-11 15:46:20 +00:00
Younes ENNAJI 6841680c64 chore: add symfony demo 2024-04-11 15:31:49 +00:00
Younes ENNAJI 2c4db56b2e chore: delete symfony submodule 2024-04-11 15:27:49 +00:00
Younes ENNAJI ce3d766df2 style: remove box-shadow from notification container 2024-04-11 15:01:19 +00:00
Younes ENNAJI 7f19ab0570 chore: follow symfony best practices for bundle names 2024-04-09 14:20:55 +00:00
Younes ENNAJI 90cade13df chore: allow symfony bundles to be detected by symfony flex 2024-04-09 13:49:25 +00:00
Younes ENNAJI 3e0b18ea1f chore: bump flasher dependency to v2.0 2024-04-09 13:39:24 +00:00
Younes ENNAJI 54ed15b5c9 chore: bump flasher dependency to v2.x-dev 2024-04-09 13:33:37 +00:00
Younes ENNAJI 1f4ea40a39 chore: v2 full rewrite 2024-04-09 07:57:01 +00:00
Younes ENNAJI c06624768d chore: bump flasher dependency to v1.15.14 2024-03-16 15:25:14 +00:00
Younes ENNAJI 8106db5ed6 fix: laravel flasher install command namespace typo 2024-03-16 15:24:33 +00:00
Younes ENNAJI 7fbcc2b0a6 chore: bump flasher dependency to v1.15.13 2024-03-16 15:16:31 +00:00
Younes ENNAJI 176d88511e fix: laravel 11 installation 2024-03-16 15:15:18 +00:00
Younes ENNAJI 8b29c02151 chore: bump flasher dependency to v1.15.12 2024-03-14 00:15:01 +00:00
Younes ENNAJI ceab28a79c chore: format GitHub test workflow 2024-03-07 09:22:37 +01:00
Younes ENNAJI d2bf8dcfb4 Merge pull request #172 from php-flasher/laravel-11
chore: add Laravel 11 support
2024-03-07 02:17:27 +01:00
Younes ENNAJI f946a907be chore: add Laravel 11 support 2024-03-07 02:15:58 +01:00
Younes ENNAJI 72cf218a2e Merge pull request #171 from robiinho/main
Update config.yaml  # after a line blocked the flasher.yaml to be parsed by symfony7
2024-02-29 13:42:47 +01:00
robiinho 26f0e7c487 Update config.yaml , # after a line blocked the flasher.yaml to be parsed by symfony7
Cause trouble in symfony7 where flasher.yaml wasn't interpreted due to the # comment after limit: 5
2024-02-29 11:31:13 +00:00
Younes ENNAJI f5233d34bc chore: bump flasher interdepency to v1.15.9 2024-01-21 18:30:21 +01:00
Younes ENNAJI 89b072a442 Merge pull request #169 from php-flasher/issue-toastr-42
fix: Preserve original response content when injecting Flasher assets
2024-01-21 18:28:07 +01:00
Younes ENNAJI d3f81d51cf fix: Preserve original response content when injecting Flasher assets 2024-01-21 18:26:32 +01:00
Younes ENNAJI b0239e679c chore: bump flasher interdepency to v1.15.8 2023-12-16 18:16:08 +01:00
Younes ENNAJI 7a891ade1a Merge pull request #168 from php-flasher/issue-161
feat(livewire): Remove .fl-no-cache elements before caching snapshot
2023-12-16 18:13:28 +01:00
Younes ENNAJI 117b4815c7 chore: use php v5.3 syntax 2023-12-16 18:11:36 +01:00
Younes ENNAJI c2a013d1e9 chore: fix unit tests 2023-12-16 18:07:27 +01:00
Younes ENNAJI 39201b888f chore: bump flasher assets to v1.3.2 2023-12-16 17:58:59 +01:00
Younes ENNAJI a9e4c6aead feat(livewire): Remove .fl-no-cache elements before caching snapshot 2023-12-16 17:54:05 +01:00
Younes ENNAJI 153cb40ad0 Merge pull request #166 from php-flasher/issue-161
fix: append dispatches and not override them
2023-12-12 00:17:17 +01:00
Younes ENNAJI 411ada6d3b fix: append dispatches and not override them 2023-12-12 00:15:40 +01:00
Younes ENNAJI 8dc1c39727 Merge pull request #165 from php-flasher/issue-157
fix(symfony): allow symfony to use session even if it's not started yet
2023-12-10 01:20:06 +01:00
Younes ENNAJI 25ebe37eeb fix(symfony): check if the request if stateless 2023-12-10 01:17:56 +01:00
Younes ENNAJI b69dc4e834 fix(symfony): allow symfony to use session even if it's not started yet 2023-12-10 00:57:57 +01:00
Younes ENNAJI f8e0445b0d chore: bump flasher interdepency to v1.15.5 2023-12-09 21:04:59 +01:00
Younes ENNAJI 342e920b8e Merge pull request #164 from php-flasher/feat/livewire-3
feat(laravel): add livewire v3 support
2023-12-09 21:03:37 +01:00
Younes ENNAJI 643eb47afd feat(laravel): add livewire v3 support 2023-12-09 21:01:54 +01:00
Younes ENNAJI 2e24ecddd4 chore: upgrade split script 2023-12-09 19:19:21 +01:00
Younes ENNAJI 2112110f77 Merge pull request #163 from php-flasher/feat/symfony-70
chore(symfony): add symfony v7.0 support
2023-12-09 18:33:25 +01:00
Younes ENNAJI 91bfffac85 chore(ci): upgrade to actions/checkout@v4 and actions/cache@v3 2023-12-09 18:31:39 +01:00
Younes ENNAJI 353f8f3875 chore(ci): upgrade to actions/checkout@v4 and actions/cache@v3 2023-12-09 18:29:54 +01:00
Younes ENNAJI 908a98ee08 chore(ci): update github actions to test on specific symfony v7.0 install method 2023-12-09 18:25:30 +01:00
Younes ENNAJI 08157f6b00 chore(ci): change bridge condition 2023-12-06 19:40:08 +01:00
Younes ENNAJI 402642377d chore(symfony): add symfony v7.0 types 2023-12-06 19:35:27 +01:00
Younes ENNAJI 5dc49598e0 chore(ci): test symfony v7.0 with phpunit 10.5 2023-12-06 19:08:32 +01:00
Younes ENNAJI 2c6027650f chore(ci): require symfony/twig-bundle 2023-12-06 19:04:34 +01:00
Younes ENNAJI 8a8dcb5ff2 chore(ci): require symfony/framework bundle 2023-12-06 19:01:49 +01:00
Younes ENNAJI 24494c7b76 chore(ci): require symfony standalone packages instead symfony/symfony 2023-12-06 18:56:30 +01:00
Younes ENNAJI 434def4433 chore: bump flasher interdepency to v1.15.4 2023-12-06 18:51:47 +01:00
Younes ENNAJI fe7af7ffcb chore(symfony): add symfony v7.0 support 2023-12-06 18:47:23 +01:00
Younes KHOUBZA cc7ea4c93d Merge pull request #153 from php-flasher/chore/v1.15.3
chore: bump flasher interdepency to v1.15.3
2023-06-19 09:31:09 +02:00
Khoubza Younes 72fadf4e9b chore: bump flasher interdepency to v1.15.3 2023-06-19 08:29:13 +01:00
Younes KHOUBZA fa7ee6c575 Merge pull request #152 from php-flasher/fix/config-cache
chore: bump flasher interdepency to v1.15.2
2023-06-19 09:28:13 +02:00
Khoubza Younes 97cc8b9639 chore: bump flasher interdepency to v1.15.2 2023-06-19 08:26:33 +01:00
Khoubza Younes 99e204fcbb fix: laravel config:cache Undefined array key cdn 2023-06-19 08:24:07 +01:00
Khoubza Younes fd147fd7de add ImJustToNy to code contributors 2023-06-06 23:39:10 +01:00
Younes KHOUBZA be14bb96b4 Merge pull request #148 from ImJustToNy/patch-1
Fix: </head> tag being removed
2023-06-07 00:32:21 +02:00
Antoni Siek 32460e451a fix: </head> tag being removed 2023-06-06 23:25:47 +01:00
Antoni Siek b37fe49e4c Update ResponseExtension.php 2023-06-06 19:08:41 +02:00
Younes KHOUBZA d4b4af89b7 Merge pull request #147 from php-flasher/fix/flasher-styles
fix: loading flasher styles correctly
2023-06-06 12:28:07 +02:00
Khoubza Younes eb0244ae37 fix: loading flasher styles correctly 2023-06-06 11:26:33 +01:00
Younes KHOUBZA f2b426c669 Merge pull request #146 from php-flasher/feat/assets-top
feat: set flasher scripts and styles on top level config
2023-06-06 02:40:45 +02:00
Khoubza Younes 4d62fa3548 feat: set flasher scripts and styles on top level config 2023-06-06 01:36:57 +01:00
Younes KHOUBZA 185e0ffd54 Merge pull request #145 from php-flasher/stateless-routes
fix: fallback to array storage if session is not started
2023-06-04 22:19:17 +02:00
Khoubza Younes 269e0ab73e fix: fallback to array storage if session is not started 2023-06-04 21:16:15 +01:00
Younes KHOUBZA c0fbf53777 Merge pull request #144 from php-flasher/configure-session-services
fix: use array bag when session is disabled
2023-06-04 03:41:41 +02:00
Khoubza Younes e90e2c9445 fix: use array bag when session is disabled 2023-06-04 02:11:12 +01:00
Younes KHOUBZA 9524e40ae6 Merge pull request #137 from php-flasher/test/filter-criteria
test: add criteria builder tests
2023-02-05 19:48:01 +01:00
Khoubza Younes 8ca1c6fd8e test: add criteria builder tests 2023-02-05 18:52:19 +01:00
Younes KHOUBZA 6ac210d129 Merge pull request #136 from php-flasher/test/response
test: add more responses tests
2023-02-05 18:13:45 +01:00
Khoubza Younes 3d82aff3dc test: fix tests 2023-02-05 18:11:04 +01:00
Khoubza Younes 590d39b37f test: fix response envelopes order 2023-02-05 17:41:22 +01:00
Khoubza Younes 5f27d239ad test: fix array_merge parameters order 2023-02-05 17:24:51 +01:00
Khoubza Younes 781e045155 test: add resource manager tests 2023-02-05 17:22:42 +01:00
Khoubza Younes 2faedb15c9 test: add response manager tests 2023-02-05 17:22:24 +01:00
Khoubza Younes e084ac1102 test: add response class tests 2023-02-05 17:22:00 +01:00
Khoubza Younes fab8a9ecb6 test: test html renderer it retruen only envelopes as json object 2023-02-05 12:41:59 +01:00
Younes KHOUBZA 48607bc58d Merge pull request #135 from php-flasher/test/response-presenters
test response presenters
2023-02-01 23:53:36 +01:00
Khoubza Younes ffb839e8e1 test: add html presenter tests 2023-02-01 23:51:31 +01:00
Khoubza Younes 10d647199b test: add array presenter tests 2023-02-01 23:51:31 +01:00
Younes KHOUBZA 409ac70e2a Merge pull request #134 from php-flasher/test/storage-manager
Test/storage manager
2023-02-01 23:07:07 +01:00
Khoubza Younes 0579964afc style: update notification factory base phpunit class 2023-02-01 23:03:47 +01:00
Khoubza Younes 9f426f0b8c test: add storage manager tests 2023-02-01 23:03:12 +01:00
Khoubza Younes ccbeb568c4 test: add Language helper tests 2023-02-01 23:03:00 +01:00
Khoubza Younes afd5fc33e4 test: add echo translator tests 2023-02-01 23:02:43 +01:00
Younes KHOUBZA b2a6571f8c Merge pull request #133 from php-flasher/test/storagebag
Test/storagebag
2023-02-01 00:25:31 +01:00
Khoubza Younes a7420e15aa test: add storage bag tests 2023-02-01 00:20:22 +01:00
Khoubza Younes 9b8e3ffa01 test: add StaticBag tests 2023-02-01 00:20:22 +01:00
Khoubza Younes 6c2baa8d01 test: add ArrayBag tests 2023-02-01 00:20:22 +01:00
Younes KHOUBZA 0db8811db8 Merge pull request #132 from php-flasher/test/envelope
test: add more envelope tests
2023-02-01 00:20:14 +01:00
Khoubza Younes 17112a0bd0 test: add more envelope tests 2023-01-31 23:07:21 +01:00
Younes KHOUBZA 35f6353d9d Merge pull request #131 from php-flasher/test/event_listener
test: add event listener tests
2023-01-31 22:48:00 +01:00
Khoubza Younes 238eb063a4 test: add testDynamicCallToNotificationBuilder test 2023-01-31 22:46:21 +01:00
Khoubza Younes 7097a59cad test: add TranslationListener tests 2023-01-31 22:41:39 +01:00
Khoubza Younes 426bc17001 test: add StampsListener tests 2023-01-31 22:21:20 +01:00
Khoubza Younes 1007c8536c test: add RemoveListener tests 2023-01-31 22:16:47 +01:00
Khoubza Younes 5f51aef458 test: add PresetListener tests 2023-01-31 22:16:33 +01:00
Khoubza Younes 4fcf78fbda test: add AddToStorageListener tests 2023-01-31 22:16:14 +01:00
Younes KHOUBZA d0b75996dc Merge pull request #130 from php-flasher/style/psalm
style: add psalm
2023-01-31 02:06:15 +01:00
Khoubza Younes 55919df70d style: add psalm 2023-01-31 02:04:29 +01:00
Younes KHOUBZA 1fd079e49d Merge pull request #129 from php-flasher/test/events
test: add events tests
2023-01-31 01:52:20 +01:00
Khoubza Younes 5bb9ac2fc7 test: add events tests 2023-01-31 01:48:30 +01:00
Younes KHOUBZA fc8ff924d8 Merge pull request #128 from php-flasher/test/stamps
test: add stamps tests
2023-01-31 01:06:01 +01:00
Khoubza Younes 02733b0d92 test: add stamps tests 2023-01-31 01:02:50 +01:00
Younes KHOUBZA 42c267aa53 Merge pull request #127 from php-flasher/test/notification
test: add notification tests
2023-01-31 01:02:42 +01:00
Khoubza Younes 6b2066854f test: add notification tests 2023-01-31 00:24:10 +01:00
Younes KHOUBZA 6310c521ea Merge pull request #126 from php-flasher/test/envelope
test: add more envelope tests
2023-01-30 23:54:26 +01:00
Khoubza Younes d13e299022 test: add more envelope tests 2023-01-30 23:52:40 +01:00
Younes KHOUBZA 67883323fb Merge pull request #125 from php-flasher/test/add-notification-builder-tests
test: add notification builder tests
2023-01-30 01:32:14 +01:00
Khoubza Younes a83aec01fe test: add notification builder tests 2023-01-30 01:29:35 +01:00
Younes KHOUBZA 1f3a1e136f Merge pull request #124 from php-flasher/chore/tests
add more unit tests
2023-01-23 01:18:35 +01:00
Khoubza Younes 48177d6a9c test: rename getMock() to mock() 2023-01-23 00:20:15 +01:00
Khoubza Younes 366787eb80 test: add FlasherContainer tests 2023-01-22 21:49:31 +01:00
Khoubza Younes df7c886abd style: update grumphp config 2023-01-22 21:49:13 +01:00
Khoubza Younes d9ddb381ed test: add FlasherPlugin tests 2023-01-22 21:48:20 +01:00
Khoubza Younes af79946599 test: update config tests 2023-01-22 21:43:42 +01:00
Khoubza Younes a5292eae45 chore: add setProperty, getProperty, invokeMethod and getMock helper methods 2023-01-22 21:42:29 +01:00
Khoubza Younes 3dfe475282 chore: update test coverage settings 2023-01-22 21:40:49 +01:00
Younes KHOUBZA 1d0afe0e78 Merge pull request #123 from php-flasher/feat/validate-commit-messages
style: use commitizen for conventional commit messages
2023-01-22 02:44:44 +01:00
Khoubza Younes c916496ebc style: use commitizen for conventional commit messages 2023-01-22 02:42:12 +01:00
Younes KHOUBZA 53265d69a4 Merge pull request #122 from php-flasher/feat/validate-commit-messages
style: update contributors file commit convention from atom to angular
2023-01-22 00:42:21 +01:00
Khoubza Younes dcef8c3543 style: update contributors file commit convention from atom to angular 2023-01-21 23:09:09 +01:00
Younes KHOUBZA 0c58e0dd9e Merge pull request #121 from php-flasher/feat/validate-commit-messages
style: validate commit messages
2023-01-21 23:06:02 +01:00
Khoubza Younes fd8fe09577 style: validate commit messages 2023-01-21 23:03:19 +01:00
Younes KHOUBZA 01bcdda4d3 Merge pull request #120 from php-flasher/feat/composer-scripts
feat: replace maker with composer script
2023-01-21 21:27:23 +01:00
Khoubza Younes 3baa546c8a feat: replace maker with composer script
feat: replace maker with composer script
2023-01-21 21:21:41 +01:00
Younes KHOUBZA 0969a6cf95 Merge pull request #119 from php-flasher/feat/grumpphp
add GrumPHP
2023-01-21 20:52:05 +01:00
Khoubza Younes 66f85dc944 add GrumPHP 2023-01-21 20:48:51 +01:00
Younes KHOUBZA 096a5ec2b3 Merge pull request #118 from php-flasher/feat/all-contributors
Feat/all contributors
2023-01-21 16:19:30 +01:00
Khoubza Younes a22df9eb10 feat: update all README.md files 2023-01-21 16:16:28 +01:00
Khoubza Younes 6523f639fb feat: maintain contributors using all contributors specification 2023-01-21 16:15:46 +01:00
Younes KHOUBZA 59e60c1ed8 Merge pull request #117 from php-flasher/fix/symfony-dependencies
move twig and translator to composer suggest section
2023-01-21 14:27:07 +01:00
Khoubza Younes 2838e42832 move twig and translator to composer suggest section 2023-01-21 14:25:13 +01:00
Younes KHOUBZA d8b02440b6 Merge pull request #116 from php-flasher/feat/add-symfony-tests
feat: symplify symfony tests
2023-01-17 03:52:03 +01:00
Khoubza Younes 469e826007 feat: symplify symfony tests
wip

wip
2023-01-17 03:48:41 +01:00
Khoubza Younes ca9a653cfa bump phpflasher dependencies to v1.13 2023-01-15 23:30:32 +01:00
Younes KHOUBZA 5814b53085 Merge pull request #115 from php-flasher/feat/publish-resources
feat: add command to publish PHPFlasher resources
2023-01-15 23:26:47 +01:00
Khoubza Younes fb75a4f2bd fix: symfony configuration 2023-01-15 23:24:30 +01:00
Khoubza Younes 8c23cf9108 feat: add command to publish PHPFlasher resources 2023-01-15 22:21:36 +01:00
Khoubza Younes 2d5e683237 add auto_closer.yaml file 2023-01-15 16:34:34 +01:00
Younes KHOUBZA 774402cc3e Merge pull request #114 from php-flasher/feat/composer
update composer files
2023-01-15 16:17:56 +01:00
Khoubza Younes 8aee5cec8f update composer files 2023-01-15 16:15:56 +01:00
Younes KHOUBZA 19a5de983d Merge pull request #113 from php-flasher/feat/simplyfi-flasher-config-options
move flasher options to config top level
2023-01-15 14:00:42 +01:00
Khoubza Younes 2cc2fa469d move flasher options to config top level 2023-01-15 13:57:01 +01:00
Khoubza Younes 7ccaa28451 update composer files description 2023-01-14 20:30:56 +01:00
Younes KHOUBZA 916b7dde4d Merge pull request #112 from php-flasher/format
update phpstorm autocomplete files
2023-01-14 20:22:13 +01:00
Khoubza Younes 391bd816c9 update toastr phpstorm autocomplete files 2023-01-14 20:18:35 +01:00
Khoubza Younes 5a01973d28 remove packs auto_closer github workflows 2023-01-14 20:16:06 +01:00
Khoubza Younes 545a475b53 normalize packs composer files 2023-01-14 20:15:50 +01:00
Khoubza Younes 056b4cc27a update phpstorm autocomplete files 2023-01-14 20:15:27 +01:00
Khoubza Younes 4b165869d5 format Ash Allen book and blog section 2023-01-13 16:40:46 +01:00
Khoubza Younes 97d1f512ca add Ash Allen blog 2023-01-13 16:39:19 +01:00
Khoubza Younes 7eae96549b add Lucas Maciel to the list of contributors 2023-01-13 14:50:51 +01:00
Khoubza Younes 9ad5d33af0 add Mr. Nashwan youtube channel and Ash Allen Battle Ready Laravel book 2023-01-13 14:31:32 +01:00
Younes KHOUBZA 79a1c63965 Merge pull request #111 from php-flasher/feat/github-health-files
update GitHub Community Health Files
2023-01-13 06:10:36 +01:00
Khoubza Younes 2a4918f4c1 update GitHub Community Health Files 2023-01-13 06:06:50 +01:00
Younes KHOUBZA a33e564da1 Merge pull request #110 from php-flasher/feat/deprecations
Add notification builder methods deprecations
2023-01-11 22:13:43 +01:00
Khoubza Younes 71d0d29796 update github workflows 2023-01-11 19:16:11 +01:00
Khoubza Younes e8b1428f19 update github workflows 2023-01-11 18:02:54 +01:00
Khoubza Younes 53821a3560 add preset(), operation(), created(), updated(), saved() and deleted() methods deprecations 2023-01-11 15:35:03 +01:00
Khoubza Younes b370c898b9 add push() method and depracate flash() method 2023-01-11 15:21:30 +01:00
Khoubza Younes ec3305e75c add success(), error(), info() and warning() methods deprecations 2023-01-11 15:15:19 +01:00
Khoubza Younes 5d40ac008d use a simple README.md on all repositories 2023-01-11 04:53:34 +01:00
Khoubza Younes b8c5e6f13f update composer.json keywords 2023-01-11 04:44:50 +01:00
Khoubza Younes 3f4b51889c bump phpflasher dependencies to v1.12 2023-01-10 12:33:34 +01:00
Younes KHOUBZA ffc685ff1d Merge pull request #109 from php-flasher/feat/add-laravel-10-support
add Laravel 10 support
2023-01-10 10:22:56 +01:00
Khoubza Younes d9f578416c add Laravel 10 support 2023-01-10 10:13:52 +01:00
Younes KHOUBZA 4b833522f1 Merge pull request #108 from php-flasher/feat/add-builder-methods
Toastr and Sweetalert builder methods
2023-01-09 00:41:56 +01:00
KHOUBZA Younes b880f62284 feat: bump phpflasher dependencies to v1.11 2023-01-09 00:34:01 +01:00
KHOUBZA Younes 4c31e36fe9 sweetalert: add animation and persistent builder methods 2023-01-09 00:31:04 +01:00
KHOUBZA Younes 0949ec15dd toastr: show close button when calling closeClass method 2023-01-09 00:30:23 +01:00
Younes KHOUBZA b03d3f2364 Merge pull request #105 from php-flasher/feat/symplify-monorepo-builder
feat: use symplify/monorepo-builder
2023-01-07 04:33:54 +01:00
Khoubza Younes 17a81d3012 feat: use symplify/monorepo-builder 2023-01-07 04:26:37 +01:00
Younes KHOUBZA a565446aa4 Merge pull request #107 from php-flasher/fix/pest-tests
fix laravel container class
2023-01-05 17:08:37 +01:00
Khoubza Younes ddb1100eb5 fix laravel container class 2023-01-05 16:54:46 +01:00
Younes KHOUBZA fb214b1372 Merge pull request #104 from php-flasher/chore/split-script
chore: refactor bin/split script
2022-12-30 20:01:30 +01:00
KHOUBZA Younes 9c7077d6ab chore: refactor bin/split script 2022-12-30 18:37:07 +01:00
Younes KHOUBZA 6f16aaa7fb Merge pull request #103 from php-flasher/fix/update-laravel-config
add more description to laravel config file
2022-12-30 13:04:41 +01:00
Khoubza Younes 22e664f416 add more description to laravel config file 2022-12-30 12:58:54 +01:00
Khoubza Younes d88536be0b fix: show PHPFlasher ascii in blue color 2022-12-27 05:58:09 +01:00
Khoubza Younes 9df86f43f7 fix: git remote already exists 2022-12-27 02:05:24 +01:00
Khoubza Younes 9ffca7fcc1 fix: git remote already exists 2022-12-27 02:01:46 +01:00
Khoubza Younes c2c6d5464e fix: composer typo in bin/build file 2022-12-27 01:53:52 +01:00
Younes KHOUBZA 113895cca7 Merge pull request #102 from php-flasher/feat/ascii-art
Add PHPFlasher ascii art to laravel and symfony install commands
2022-12-27 01:51:55 +01:00
Khoubza Younes caa1c24487 fix: test selectAssets() method return 2022-12-27 01:42:21 +01:00
Khoubza Younes 4464af6a23 fix: make flasher.notify service public 2022-12-27 01:41:34 +01:00
Khoubza Younes 2350bd8e92 add PHPFlasher asci art to laravel and symfony install commands 2022-12-27 01:41:11 +01:00
Younes Khoubza 3ef933384b Merge pull request #101 from php-flasher/feat/github-actions-os
feat: test github actions on multiple windows and ubuntu
2022-12-26 13:06:20 +01:00
Khoubza Younes dcec9cef39 fix: add fileinfo extension to github action 2022-12-26 13:00:58 +01:00
Khoubza Younes 72dcf69f46 feat: test github actions on multiple windows and ubuntu 2022-12-26 12:54:00 +01:00
Younes Khoubza 7bb256bfd3 Merge pull request #100 from php-flasher/fix/helpers
fix: rename all helper files to helpers.php
2022-12-26 12:24:46 +01:00
Khoubza Younes 398de5d74e fix: rename all helper files to helpers.php 2022-12-26 12:22:42 +01:00
Khoubza Younes e18507241d feat: bump phpflasher dependencies to v1.10 2022-12-25 23:21:10 +01:00
Younes Khoubza 5e5c62e9f9 Merge pull request #98 from php-flasher/feat/global-helpers
feat: use global helpers for Laravel and Symfony
2022-12-25 23:15:16 +01:00
Khoubza Younes 46d14b8bc8 feat: auto inject flasher with flasher aware interface 2022-12-25 23:10:39 +01:00
Khoubza Younes 5892518868 feat: use global helpers for Laravel and Symfony 2022-12-25 22:39:57 +01:00
Khoubza Younes 6f30808c4f fix: add more entries to FUNDING.yml 2022-12-25 20:25:25 +01:00
Khoubza Younes 2b50c47235 feat: Bump @flasher js assets from v1.2.3 to v1.2.4 2022-12-25 16:47:11 +01:00
Younes Khoubza 5d61ed90b9 Merge pull request #97 from php-flasher/feat/vendor-assets
Publish Laravel and Symfony assets to public directory
2022-12-24 16:46:22 +01:00
Khoubza Younes 1b302cfc0b composer config --no-plugins allow-plugins.kylekatarnls/update-helper true 2022-12-24 16:44:36 +01:00
Khoubza Younes 3688f157cd fix: remove ergebnis/composer-normalize from composer.json before running github actions 2022-12-24 16:42:24 +01:00
Khoubza Younes 17ea7a008a fix: rename bin/normalize to bin/build 2022-12-24 16:40:11 +01:00
Khoubza Younes 207795e0e9 fix: normalize composer.json files 2022-12-24 16:36:11 +01:00
Khoubza Younes ca30ca32ce fix: remove public/flasher.js file from flasher symfony 2022-12-24 16:18:14 +01:00
Khoubza Younes 460d92f0a6 feat: bump phpflasher dependencies to v1.9 2022-12-24 16:16:50 +01:00
Khoubza Younes f637a7fa49 feat: publish assets and use them locally 2022-12-24 16:09:14 +01:00
Khoubza Younes adf39cd915 feat: normalize composer.json files 2022-12-09 06:21:57 +01:00
Younes Khoubza 428e16e900 Merge pull request #96 from php-flasher/fix/php-cs-fixer
fix: update php-cs-fixer rules
2022-12-07 23:12:24 +01:00
Khoubza Younes 89d656a5dc fix: update php-cs-fixer rules 2022-12-07 23:10:03 +01:00
Younes Khoubza 19c09ee857 Merge pull request #95 from php-flasher/fix/livewire-sweetalert
fix: sweetalert custom event
2022-12-07 23:00:25 +01:00
Khoubza Younes 2aa9f7ca73 fix: sweetalert custom event 2022-12-07 22:57:14 +01:00
Younes Khoubza 4a7e84676f Merge pull request #87 from php-flasher/feat/php-8.2-support
add PHP 8.2 supports
2022-11-30 21:34:03 +01:00
Younes Khoubza ac4b24c052 Merge branch 'main' into feat/php-8.2-support 2022-11-30 21:24:50 +01:00
Younes Khoubza 7a549fe830 Merge pull request #94 from php-flasher/feat/symfony-6-support
feat: upgrade dependencies and test symfony 6.2 support
2022-11-30 21:24:06 +01:00
KHOUBZA Younes 8eb49c5d23 feat: upgrade dependencies and test symfony 6.2 support 2022-11-30 21:18:15 +01:00
KHOUBZA Younes 3c68fd5b01 fix: bump phpflasher dependencies to v1.8 2022-11-21 21:31:08 +01:00
KHOUBZA Younes 8029e611d2 feat: add PHP 8.2 supports 2022-11-20 19:55:47 +01:00
Younes Khoubza e5ab8085da Merge pull request #93 from php-flasher/feat/hotwired-turbo-support
Add hotwired turbo support
2022-11-20 19:36:03 +01:00
KHOUBZA Younes 172488662d feat: Bump @flasher js assets from v1.1.1 to v1.2.3 2022-11-20 19:31:59 +01:00
KHOUBZA Younes fa142897fd feat: add hotwire/turbo support 2022-11-20 18:39:04 +01:00
KHOUBZA Younes d71f24861e update README 2022-11-06 12:33:41 +01:00
Younes Khoubza 3b4ee6dce0 Merge pull request #90 from php-flasher/feat/update-logo
update README
2022-10-31 11:00:45 +01:00
KHOUBZA Younes 0343fede47 update Prime README 2022-10-31 11:00:06 +01:00
KHOUBZA Younes 4393673c04 update Laravel README 2022-10-30 17:53:01 +01:00
KHOUBZA Younes 4005654efa update README 2022-10-30 13:00:06 +01:00
KHOUBZA Younes e8b384f911 use PHPFlasher instead of PHP Flasher 2022-10-29 18:51:51 +01:00
KHOUBZA Younes 316d8e3f0d update README 2022-10-27 14:28:05 +01:00
KHOUBZA Younes e24f64a808 update README 2022-10-27 14:25:09 +01:00
KHOUBZA Younes 62debc22ba update main README 2022-10-25 13:29:54 +01:00
KHOUBZA Younes 7d47fef0c0 update laravel and php packs readme 2022-09-25 17:40:54 +01:00
KHOUBZA Younes e57143582b update symfony pack readme 2022-09-25 17:40:20 +01:00
KHOUBZA Younes ea2df71fd1 update github sponsor button 2022-07-31 16:13:01 +01:00
Younes Khoubza 193f2c73b7 Merge pull request #83 from php-flasher/fix/composer-plugins-ci
allow composer plugins in CI
2022-07-06 09:20:47 +01:00
KHOUBZA Younes 208660c3a9 allow composer plugins in CI 2022-07-06 09:18:11 +01:00
Younes Khoubza 1edaabbc1d Merge pull request #82 from php-flasher/feat/bump-js-assets
Bump @flasher js assets from v1.1.0 to v1.1.1
2022-07-05 20:57:34 +01:00
KHOUBZA Younes 6b9c2e861b update github action workflow files 2022-07-05 20:55:55 +01:00
KHOUBZA Younes 86bb91368a Bump php-flasher from v1.6 to v1.7 2022-07-05 20:36:36 +01:00
KHOUBZA Younes 62f5ea8e57 Bump @flasher js assets from v1.1.0 to v1.1.1 2022-07-05 20:33:26 +01:00
Younes Khoubza b4e2f1b023 Merge pull request #81 from php-flasher/feat/laravel-symfony-readme
update Laravel and Symfony github readme
2022-07-05 20:29:46 +01:00
KHOUBZA Younes a23024013b update Laravel and Symfony github readme 2022-07-05 20:29:20 +01:00
Younes Khoubza d73b36cddf Merge pull request #80 from php-flasher/add-deprecations
Deprecate Blade directive and component and twig extension
2022-07-03 12:30:52 +01:00
KHOUBZA Younes 8e5ced4d76 fix Directive names must only contain alphanumeric characters and underscores. 2022-07-03 12:25:21 +01:00
KHOUBZA Younes babb9120f7 Run php-cs-fixer 2022-07-03 12:20:44 +01:00
KHOUBZA Younes f7b91f4985 add Symfony search_criteria configuration key 2022-07-03 12:18:18 +01:00
KHOUBZA Younes c5d8679993 Fix phpstan errors 2022-07-03 12:11:06 +01:00
KHOUBZA Younes 29c32a6e7f update unit tests 2022-07-03 12:10:11 +01:00
KHOUBZA Younes 496727e2bf add global configuration search criteria 2022-07-03 12:09:02 +01:00
KHOUBZA Younes ed17eff0b3 update symfony service configuration 2022-07-03 12:08:40 +01:00
KHOUBZA Younes 74d1e53e28 deprecate laravel flasher component 2022-07-03 12:07:56 +01:00
KHOUBZA Younes c7e2f857c4 update laravel service provider 2022-07-03 12:07:42 +01:00
KHOUBZA Younes 27ea53174f add ConfigType phpstan type to configInterface instead of config class 2022-07-03 12:07:14 +01:00
KHOUBZA Younes a67836b40d refactor response extension 2022-07-03 12:06:36 +01:00
KHOUBZA Younes 16b630d3c8 RequestExtension role is to only store message and not display them 2022-07-03 12:06:12 +01:00
KHOUBZA Younes 669e609ffe deprecate Flasher Twig extension 2022-07-03 12:04:48 +01:00
KHOUBZA Younes 8912555ae4 move CODE_OF_CONDUTCT.md to .github folder 2022-07-03 12:03:10 +01:00
KHOUBZA Younes fd855cae70 remove dependabot.yaml file 2022-07-03 12:02:38 +01:00
Younes Khoubza 7745af8703 Merge pull request #72 from php-flasher/feat/valid-html-response
Only inject flasher scripts on valid html response
2022-06-17 02:50:55 +01:00
KHOUBZA Younes 59a508bb24 remove new lines from flasher scripts 2022-06-17 02:48:40 +01:00
KHOUBZA Younes 5a61f95e76 prefer injecting flasher scripts in head tag 2022-06-17 02:43:23 +01:00
KHOUBZA Younes 567186f769 update inject flash scripts conditions 2022-06-17 02:42:48 +01:00
KHOUBZA Younes 1dd22a4adb add isHtml and isAttachment methods to response interface 2022-06-17 02:41:51 +01:00
KHOUBZA Younes 183a1739da add isHtmlRequestFormat method to request interface 2022-06-17 02:41:20 +01:00
KHOUBZA Younes cd664abc63 Bump @flasher js assets from v1.0.18 to v1.1.0 2022-06-12 15:00:21 +01:00
Younes Khoubza c8978a9a38 Merge pull request #71 from php-flasher/fix/handler-null
fix: handler null after variable collision
2022-06-12 12:35:01 +01:00
KHOUBZA Younes c803cb54b1 fix: handler theme options 2022-06-12 12:33:18 +01:00
KHOUBZA Younes 5498964348 fix: handler null after variable collision 2022-06-12 12:32:54 +01:00
KHOUBZA Younes 7a0c5ea93f Bump php-flasher packages from v1.5 to v1.6 2022-06-11 14:46:17 +01:00
Younes Khoubza 0af0108cb0 Merge pull request #70 from php-flasher/feat/http-extensions
Add Flasher http extensions
2022-06-11 14:42:30 +01:00
KHOUBZA Younes 98975b1504 register http extensions in symfony service container 2022-06-11 14:39:28 +01:00
KHOUBZA Younes 6eff3ad8a9 use response extension in symfony flasher listener 2022-06-11 14:39:10 +01:00
KHOUBZA Younes 90583b65e6 use request extension in symfony session listener 2022-06-11 14:38:48 +01:00
KHOUBZA Younes bca04569ea register http extension in laravel service provider 2022-06-11 14:38:28 +01:00
KHOUBZA Younes abd4b8058c use response extension in laravel flasher middleware 2022-06-11 14:38:00 +01:00
KHOUBZA Younes 0467ebb4e7 use request extension in laravel session middleware 2022-06-11 14:37:42 +01:00
KHOUBZA Younes f35af36a86 add auto_render to symfony configuration 2022-06-11 14:37:16 +01:00
KHOUBZA Younes 7cfd1bd737 add auto_render to laravel configuration 2022-06-11 14:37:00 +01:00
KHOUBZA Younes 33bedfb325 add request extension class 2022-06-11 14:36:22 +01:00
KHOUBZA Younes a209cf68b2 add response extension class 2022-06-11 14:36:10 +01:00
KHOUBZA Younes ee489b1cec add symfony http response 2022-06-11 14:35:20 +01:00
KHOUBZA Younes 13247d93c4 add laravel http response 2022-06-11 14:35:08 +01:00
KHOUBZA Younes 398ef1ac12 add http response interface 2022-06-11 14:34:56 +01:00
KHOUBZA Younes 326186f3dc add symfony http request 2022-06-11 14:34:36 +01:00
KHOUBZA Younes ef8d355077 add laravel http request 2022-06-11 14:34:22 +01:00
KHOUBZA Younes 67c44149a9 add http request interface 2022-06-11 14:33:58 +01:00
Younes Khoubza 2356e8c9ce Merge pull request #69 from php-flasher/fix-middleware-redirect
Fix middleware redirect
2022-06-09 01:52:03 +01:00
KHOUBZA Younes de4a06d0e4 symfony : if the response is redirection dont append flasher data to it 2022-06-09 01:49:38 +01:00
KHOUBZA Younes cedcb2e171 laravel : if the response is redirection dont append flasher data to it 2022-06-09 01:49:28 +01:00
Younes Khoubza 173c5eeb5e Merge pull request #67 from php-flasher/flasher-js-v1.0.18
Bump @flasher js assets from v1.0.17 to v1.0.18
2022-06-08 00:01:24 +01:00
KHOUBZA Younes 0b342cb035 Bump @flasher js assets from v1.0.17 to v1.0.18 2022-06-07 23:58:35 +01:00
KHOUBZA Younes 3f5a250aef Bump php-flasher packages from v1.4 to v1.5 2022-06-06 10:50:13 +01:00
Younes Khoubza 56929778ff Merge pull request #66 from php-flasher/preset-crud
Add crud presets and their translations
2022-06-06 10:48:16 +01:00
KHOUBZA Younes d07c5238a8 translate flasher resources 2022-06-06 10:43:05 +01:00
KHOUBZA Younes 3947c2c33a fix deleted typo 2022-06-06 10:16:52 +01:00
KHOUBZA Younes 755952b1f9 add presets shortcut methods with flash action 2022-06-06 10:15:17 +01:00
KHOUBZA Younes 0c872ff03a fix symfony prefixed params 2022-06-06 10:04:47 +01:00
KHOUBZA Younes a22fa69858 move preset default config to normalizeConfig method 2022-06-06 10:03:09 +01:00
KHOUBZA Younes bf66c4857e fix default preset message 2022-06-06 09:29:49 +01:00
KHOUBZA Younes 4ae46d030c update default preset messages 2022-06-06 09:29:31 +01:00
KHOUBZA Younes 74a7f95f11 update arabic translations 2022-06-06 09:23:11 +01:00
KHOUBZA Younes 291343b6f5 add deleted shortcut method to notification builder 2022-06-06 09:17:36 +01:00
KHOUBZA Younes 41c0805810 add saved shortcut method to notification builder 2022-06-06 09:17:36 +01:00
KHOUBZA Younes f0dea6deb1 add updated shortcut method to notification builder 2022-06-06 09:17:36 +01:00
KHOUBZA Younes 962f59bbee add created shortcut method to notification builder 2022-06-06 09:17:36 +01:00
KHOUBZA Younes 2567ab4bc1 add operation method to notification builder 2022-06-06 09:17:36 +01:00
KHOUBZA Younes 66bed76ba9 translate preset parameters 2022-06-06 09:13:25 +01:00
KHOUBZA Younes 4513e63e4c add parameters property to preset stamp 2022-06-06 09:12:53 +01:00
KHOUBZA Younes 722f05a641 update preset builder method: pass params array instead of boolean flash 2022-06-06 09:12:01 +01:00
KHOUBZA Younes 5a73198e66 update french translations 2022-06-06 09:10:39 +01:00
KHOUBZA Younes bde86e1a5f add crud preset ar translation 2022-06-06 09:02:57 +01:00
KHOUBZA Younes c1eab3dc8b add crud preset fr translation 2022-06-06 09:02:45 +01:00
KHOUBZA Younes 4a43827ffa add crud presets en translation (lol) 2022-06-06 09:02:21 +01:00
KHOUBZA Younes f51e52404c add crud presets with default messages 2022-06-06 09:01:39 +01:00
KHOUBZA Younes efaf702d8b use static properties for message translations instead of constant 2022-06-06 09:01:01 +01:00
Younes Khoubza e2f40c520c Merge pull request #65 from php-flasher/laravel-translator-remove-parameters
Remove parameters from has method on laravel translator
2022-06-06 08:38:14 +01:00
KHOUBZA Younes 5e8f8ac613 remove parameters from has method on laravel translator 2022-06-06 08:34:45 +01:00
Younes Khoubza fb2f4057e9 Merge pull request #64 from php-flasher/translation-catalogue
Translate message only if it exists in message catalogue
2022-06-06 07:20:35 +01:00
KHOUBZA Younes 36b9264f07 translate message only if it exists in message catalogue 2022-06-06 07:18:17 +01:00
KHOUBZA Younes 1ff21687bd Bump php-flasher packages from v1.3 to v1.4 2022-06-06 05:18:12 +01:00
Younes Khoubza 2ba529ac88 Merge pull request #63 from php-flasher/when-unless-closure
Allow when and unless builder methods to accept \Closure as a parameter
2022-06-06 05:05:25 +01:00
KHOUBZA Younes adca8d9f2b format code by running php-cs-fixer 2022-06-06 05:03:31 +01:00
KHOUBZA Younes 43a417bda2 allow unless builder method to accept \Closure as a parameter 2022-06-06 05:02:59 +01:00
KHOUBZA Younes 61a2c95960 allow when builder method to accept \Closure as a parameter 2022-06-06 05:02:17 +01:00
Younes Khoubza dbddd1333d Merge pull request #62 from php-flasher/translation-parameters
Allow translation parameters to be passed from translate builder method
2022-06-06 04:29:12 +01:00
KHOUBZA Younes d05ab770ad fix Laravel translation domain 2022-06-06 04:26:31 +01:00
KHOUBZA Younes e9bf49284e pass translation parameters from translation listener to translators 2022-06-06 04:26:09 +01:00
KHOUBZA Younes 9b1f6341de add translation parameters to Echo translator 2022-06-06 04:25:47 +01:00
KHOUBZA Younes 7593218908 add translation parameters to Laravel translator 2022-06-06 04:25:33 +01:00
KHOUBZA Younes cb88fc5d12 add translation parameters to Symfony translator 2022-06-06 04:25:11 +01:00
KHOUBZA Younes 91a77b42cf add translation parameters to TranslatorInterface 2022-06-06 04:24:53 +01:00
KHOUBZA Younes 4183cb2333 allow translation parameters to be passed from translate builder method 2022-06-06 04:23:55 +01:00
KHOUBZA Younes b36d1523ad add translation parameters to translation stamp class 2022-06-06 04:23:09 +01:00
Younes Khoubza 11228d1c4e Merge pull request #61 from php-flasher/when-unless-multiple
Add the possibility to call when and unless methods multiple times
2022-06-06 03:33:00 +01:00
KHOUBZA Younes 32ad600fc6 call unless method multiple times 2022-06-06 03:30:35 +01:00
KHOUBZA Younes 3a84cdbcd1 call when method multiple times 2022-06-06 03:30:35 +01:00
Younes Khoubza 9ee6729749 Merge pull request #60 from php-flasher/handler-change
Handler cannot be changed once it has been set
2022-06-06 03:23:06 +01:00
KHOUBZA Younes f89e689251 Handler cannot be changed once it has been set 2022-06-06 03:20:23 +01:00
Younes Khoubza e436a6fffb Merge pull request #59 from php-flasher/when-unless
Add support for when and unless methods to notification builder
2022-06-06 03:16:12 +01:00
KHOUBZA Younes 6e181b5a21 add AddToStorageListener and apply when and unless logic 2022-06-06 03:14:03 +01:00
KHOUBZA Younes 9d5591d8cd add unless method to notification builder 2022-06-06 03:13:36 +01:00
KHOUBZA Younes 2f060e39cb add when method to notification builder 2022-06-06 03:13:36 +01:00
Younes Khoubza 96c049e480 Merge pull request #58 from php-flasher/flash-bag
fix flasher bag for Laravel and Symfony
2022-06-05 01:40:33 +01:00
KHOUBZA Younes 07da136c6e test if flash bag contains type before remove it from flash bag 2022-06-05 01:38:34 +01:00
KHOUBZA Younes 803ef763e3 laravel remove flash message from the session after process 2022-06-05 01:37:48 +01:00
KHOUBZA Younes d8a9642276 update laravel flasher middleware priority 2022-06-05 01:37:26 +01:00
KHOUBZA Younes d85e009842 Bump php-flasher from v1.2 to v1.3 2022-06-04 22:37:52 +01:00
Younes Khoubza 8181cedb7a Merge pull request #57 from php-flasher/auto-flasher-render
Auto flasher render
2022-06-04 22:36:16 +01:00
KHOUBZA Younes e6756f2c91 register symfony flasher listener in the container 2022-06-04 22:34:08 +01:00
KHOUBZA Younes 0520418789 remove duplicate content from session listener 2022-06-04 22:33:48 +01:00
KHOUBZA Younes 5c591b083f add symfony flasher listener 2022-06-04 22:33:32 +01:00
KHOUBZA Younes d07eee93a1 register laravel flasher middleware in the container 2022-06-04 22:33:14 +01:00
KHOUBZA Younes 9655f31bf5 remove duplicate content from laravel session middleware 2022-06-04 22:32:32 +01:00
KHOUBZA Younes 556cdfd387 fix flasher middleware for laravel 4 2022-06-04 22:31:55 +01:00
KHOUBZA Younes eb1d24a9a2 render flash message automatically 2022-06-04 22:31:38 +01:00
KHOUBZA Younes 6b42aed31c Merge branch 'flasher-component'
* flasher-component:
  Bump php-flasher from v1.1 to v1.2
2022-06-04 21:16:12 +01:00
KHOUBZA Younes 674803fe8d Bump php-flasher from v1.1 to v1.2 2022-06-04 21:15:30 +01:00
Younes Khoubza 40227fb5df Merge pull request #56 from php-flasher/flasher-component
Flasher blade component
2022-06-04 21:13:33 +01:00
KHOUBZA Younes 452fa8667e register flasher component only for laravel version >= 7.0 2022-06-04 21:11:39 +01:00
KHOUBZA Younes df92df5f22 run php-cs-fixer 2022-06-04 20:57:53 +01:00
KHOUBZA Younes 033ab86bb9 fix session middleware for laravel 4 2022-06-04 20:57:20 +01:00
KHOUBZA Younes 108d63b284 append SessionMiddleware to web group middleware 2022-06-04 20:56:48 +01:00
KHOUBZA Younes 84cfae0adc rename registerBladeDirectives to registerBladeDirective 2022-06-04 20:55:56 +01:00
KHOUBZA Younes 3be43d6849 register laravel flasher component 2022-06-04 20:55:28 +01:00
KHOUBZA Younes cc6fee4b6c add laravel flasher component 2022-06-04 20:54:14 +01:00
KHOUBZA Younes 269848e07c force pushing tags 2022-06-04 15:03:05 +01:00
Younes Khoubza 83e3b73d5e Merge pull request #55 from php-flasher/themeoptions
Override theme options
2022-06-04 14:57:31 +01:00
KHOUBZA Younes bf6336bd35 fix override theme options 2022-06-04 14:55:23 +01:00
KHOUBZA Younes cef916dfd9 bump @flasher js assets from v1.0.16 to v1.0.17 2022-06-04 14:54:55 +01:00
KHOUBZA Younes 6ace3ec50f bump php-flasher package to v1.1.0 2022-05-28 17:33:08 +01:00
Younes Khoubza 8971e20077 Merge pull request #54 from php-flasher/auto-translate-by-default
activate auto translation by default for laravel
2022-05-28 17:23:03 +01:00
KHOUBZA Younes 994102d09b activate auto translation by default for laravel 2022-05-28 17:21:19 +01:00
Younes Khoubza 6b4cbb67bb Merge pull request #53 from php-flasher/fix-translation-listner
fix translation listener
2022-05-28 17:11:20 +01:00
KHOUBZA Younes a18f6dcd03 run php-cs-fixer 2022-05-28 17:06:16 +01:00
KHOUBZA Younes 86d4cd5973 extract ConfigType phpstan-type 2022-05-28 17:06:02 +01:00
KHOUBZA Younes 84372b3816 split symfony configuration into multiple sections 2022-05-28 17:05:30 +01:00
KHOUBZA Younes c95ad104ed rename translate_by_default config key to auto_translate 2022-05-28 17:05:00 +01:00
KHOUBZA Younes f7ef84a072 normalize symfony configuration 2022-05-28 17:03:30 +01:00
KHOUBZA Younes f89cadc6a3 throw exception if present does not exists 2022-05-28 17:02:04 +01:00
KHOUBZA Younes 6839affa41 register preset listener in symfony container 2022-05-28 17:01:38 +01:00
KHOUBZA Younes efc887c1c5 fix error when symfony translator not exists or disabled 2022-05-28 16:22:52 +01:00
KHOUBZA Younes 7c65dffe0c fix translation listener 2022-05-28 11:56:47 +01:00
Younes Khoubza 92a1b86e49 Merge pull request #52 from php-flasher/add-preset-support
Add preset support
2022-05-28 11:56:03 +01:00
KHOUBZA Younes 78325538b5 add preset subsriber to laravel service provider 2022-05-28 11:54:25 +01:00
KHOUBZA Younes 0be681699c add preset support to enable shortcut messages 2022-05-28 11:52:10 +01:00
Younes Khoubza 6992432f88 Merge pull request #51 from php-flasher/title-shortcut
add title shortcut for messages
2022-05-28 11:51:49 +01:00
KHOUBZA Younes 2b172850aa add title shortcut for messages 2022-05-28 11:48:54 +01:00
Younes Khoubza 249893a0e0 Merge pull request #50 from php-flasher/github-actions
update github action workflow files
2022-05-27 16:31:10 +01:00
KHOUBZA Younes e34eb68da5 update github action workflow files 2022-05-27 16:29:23 +01:00
KHOUBZA Younes 198464692f rename laravel and symfony jobs 2022-05-27 16:26:03 +01:00
Younes Khoubza abc74177ca Merge pull request #49 from php-flasher/fix-translation-service
add translation tests
2022-05-27 15:51:47 +01:00
KHOUBZA Younes ac0a0953fd add transtion tests 2022-05-27 15:49:32 +01:00
Younes Khoubza 051485c79c Merge pull request #48 from php-flasher/fix-translation-service
only register flasher translation service if symfony translation serv…
2022-05-27 10:14:18 +01:00
KHOUBZA Younes 50050c6865 only register flasher translation service if symfony translation service exists 2022-05-27 10:12:39 +01:00
Younes Khoubza 8edc36a144 Merge pull request #47 from php-flasher/symfony-6.1
test support for symfony 6.1
2022-05-27 10:09:53 +01:00
KHOUBZA Younes bc1f683187 test support for symfony 6.1 2022-05-27 09:10:10 +01:00
Younes Khoubza 3b3969b860 Merge pull request #46 from php-flasher/bump-flasher-js
bump @flasher js dependencies to v1.0.16
2022-05-26 08:19:18 +01:00
KHOUBZA Younes 0f8333ee56 bump @flasher js dependencies to v1.0.16 2022-05-26 08:17:06 +01:00
Younes Khoubza 3eb86efc55 Merge pull request #45 from php-flasher/translation
Add Translation and RTL support
2022-05-26 08:15:24 +01:00
KHOUBZA Younes c3d47a825c fix php-cs errors 2022-05-26 08:09:12 +01:00
KHOUBZA Younes 50b629f0ce remove unused Echo translator class 2022-05-26 08:03:50 +01:00
KHOUBZA Younes 0353d08e32 fix symfony translation domain 2022-05-26 08:03:25 +01:00
KHOUBZA Younes 1febcab2f2 update symfony flasher config 2022-05-26 08:02:56 +01:00
KHOUBZA Younes 181223a59d register symfony flasher translator and translation linstener 2022-05-26 08:02:40 +01:00
KHOUBZA Younes 045a300315 add symfony translation messages 2022-05-26 08:01:34 +01:00
KHOUBZA Younes 78dbb6c54a update translation messages to use message constants 2022-05-26 08:01:34 +01:00
KHOUBZA Younes 1ced0ce141 symfony response manager service definition 2022-05-26 08:01:34 +01:00
KHOUBZA Younes 7358a3c8b6 add translation constants 2022-05-26 08:01:34 +01:00
KHOUBZA Younes 6321bee506 support laravel 4 translation loading 2022-05-25 02:49:17 +01:00
KHOUBZA Younes f3c06eabae add translation by defaut config 2022-05-25 02:27:07 +01:00
KHOUBZA Younes 8de202843f fix envelope title setter 2022-05-25 02:26:49 +01:00
KHOUBZA Younes 4751e95f67 add default title based on notification type 2022-05-25 02:26:23 +01:00
KHOUBZA Younes 2ed5160545 add support for arabic, english and french translations 2022-05-25 02:25:39 +01:00
KHOUBZA Younes 72fcea455f register translation listener inside event dispatcher 2022-05-25 02:24:53 +01:00
KHOUBZA Younes bc01337af6 add translation listener 2022-05-25 02:23:55 +01:00
KHOUBZA Younes 0f9f43049a add Language helper to check locale direction 2022-05-25 02:23:35 +01:00
KHOUBZA Younes 1b430b6b38 add translate method in notification builder 2022-05-25 02:21:57 +01:00
KHOUBZA Younes e8aec48bc5 add translation stamp 2022-05-25 02:21:33 +01:00
KHOUBZA Younes a0d10e1cfc add symfony translation adapter 2022-05-25 02:20:01 +01:00
KHOUBZA Younes e70178723d add laravel translation adapter 2022-05-25 02:19:41 +01:00
KHOUBZA Younes cc01750283 add basic translation interface and default translator 2022-05-25 02:18:57 +01:00
KHOUBZA Younes b41327dfa2 dispatch presentation event before creating a response 2022-05-25 02:17:33 +01:00
KHOUBZA Younes 65fb7bc928 upgrade flasher js scripts to v1.0.10 2022-05-22 13:07:55 +01:00
KHOUBZA Younes aaa3d7fb8d upgrade flasher js scripts to v1.0.9 2022-05-22 12:50:45 +01:00
Younes Khoubza e2c30f06fd Merge pull request #44 from php-flasher/load-root-script
Load root script
2022-05-20 14:35:07 +01:00
Younes Khoubza 41eb52113d Merge pull request #42 from php-flasher/upgrade-js
upgrade flasher js scripts to v1.0.8
2022-05-20 14:33:50 +01:00
KHOUBZA Younes 820c9f62a0 check if window.flasher exists before loading root_script 2022-05-20 14:33:14 +01:00
KHOUBZA Younes d13b19ab67 upgrade flasher js scripts to v1.0.8 2022-05-20 14:30:41 +01:00
Younes Khoubza eaa1be1a7a Merge pull request #41 from php-flasher/livewire-redirect
Show notification after a livewire url rediction
2022-05-19 08:22:21 +01:00
KHOUBZA Younes 7978edf929 Show notification after a livewire url rediction 2022-05-19 08:19:15 +01:00
KHOUBZA Younes 5cf246ed36 add deprecation messages for v1.0 2022-05-18 05:23:34 +01:00
KHOUBZA Younes ef0375a1a7 update sweetalert github repository 2022-05-17 06:49:14 +01:00
KHOUBZA Younes 7420c7146c add cli folder for split 2022-05-16 13:48:18 +01:00
KHOUBZA Younes d3a95a5b2d handle mono-repo with splitsh-lite 2022-05-16 08:34:23 +01:00
Younes Khoubza a9a0c1c36b Merge pull request #37 from php-flasher/1.0
1.0
2022-05-16 08:21:10 +01:00
KHOUBZA Younes ac6d046c63 Prepare v1.0 release
rename template adapter to flasher, and add title to base notification class

Wip
2022-05-16 08:18:15 +01:00
Younes Khoubza cceaa9d814 Merge pull request #35 from php-flasher/feat/packs
groups packages into packs
2022-03-09 09:26:23 +01:00
Khoubza Younes 4f728976f7 groups packages into packs 2022-03-09 09:21:16 +01:00
Younes Khoubza d20363595a Merge pull request #34 from php-flasher/fix/execute-js-callback-from-string
Upgrade flasher js to v0.7.1 to fix executing js callback function fr…
2022-03-09 08:49:16 +01:00
Khoubza Younes c30a9824af Upgrade flasher js to v0.7.1 to fix executing js callback function from string 2022-03-09 08:43:55 +01:00
Younes Khoubza ffe80cadd4 Merge pull request #33 from php-flasher/fix/single-quotes-escape
Fix single quotes are escaped by the `addslashes` function
2022-03-08 16:24:05 +01:00
Khoubza Younes 1db8a5d432 Fix single quotes are escaped by the addslashes function 2022-03-08 16:15:29 +01:00
Younes Khoubza 2ba79b0653 Merge pull request #27 from php-flasher/fix/session-storage
fix symfony session storage
2021-12-05 15:46:02 +01:00
KHOUBZA Younes f77e452f70 fix symfony session storage
Trigger CI

Wip
2021-12-05 16:44:44 +01:00
Younes Khoubza 57d4c78ab1 Merge pull request #22 from php-flasher/feat/desktop-macro
add desktop macros to NotificationBuilder
2021-10-30 14:00:45 +02:00
Khoubza Younes bc385f3396 add desktop macros to NotificationBuilder 2021-10-30 12:59:40 +01:00
Khoubza Younes e37cb9bb1f add persistent template notifications -> bump flasher-js to v0.6.1 2021-10-27 20:21:05 +01:00
Younes Khoubza 5642506be0 Merge pull request #20 from php-flasher/feat/phpstorm-autocomplete
add phpstorm autocomplete
2021-10-25 00:19:29 +02:00
Khoubza Younes 07ee497c29 add phpstorm autocomplete 2021-10-24 23:18:23 +01:00
Younes Khoubza dc74735ebc Merge pull request #19 from php-flasher/fix/bundle-discovery
fix symfony auto bundle discovery
2021-10-24 19:47:28 +02:00
Khoubza Younes d985dff582 fix symfony auto bundle discovery 2021-10-24 18:45:37 +01:00
Younes Khoubza 65d890cf70 Merge pull request #18 from php-flasher/feat/phpstan-prime
feat/phpstan prime
2021-10-24 16:46:45 +02:00
Khoubza Younes d77632d11e fix phpstan magic methods errors 2021-10-24 14:57:23 +01:00
Khoubza Younes 83534afe93 fix all phpstan warning for src/Laravel folder 2021-10-24 13:10:24 +01:00
Younes Khoubza b66ea81564 Merge pull request #17 from php-flasher/feat/phpstan-prime
fix all phpstan warning for src/Prime folder
2021-10-24 03:20:09 +02:00
Khoubza Younes 2063dc1095 fix all phpstan warning for src/Prime folder 2021-10-24 02:05:02 +01:00
Khoubza Younes 417828ebdb Trigger CI 2021-10-23 17:30:17 +01:00
Khoubza Younes f6b0c5ffff bump v0.9 2021-10-23 17:20:51 +01:00
Younes Khoubza bfa0d8de4d Merge pull request #16 from php-flasher/feat/options-override
allow users to override template factory options and styles
2021-10-23 18:17:06 +02:00
Khoubza Younes e07dee31bb allow users to override template factory options and styles 2021-10-23 17:08:27 +01:00
Khoubza Younes cc7bc74255 Auto close pull requests on Read Only sub split packages 2021-10-23 11:49:56 +01:00
Khoubza Younes f3d0e27970 bump v0.8 2021-10-23 11:29:49 +01:00
Younes Khoubza ebeba62de8 Merge pull request #15 from php-flasher/feat/template-with-using
add using alias to create factories + shortcut for template factories
2021-10-23 12:27:51 +02:00
Khoubza Younes c8d65284d1 bump flasher js to v0.4.0 2021-10-23 10:52:51 +01:00
Khoubza Younes a064626fc0 add templates factories aliases 2021-10-23 10:28:30 +01:00
Khoubza Younes 93ede1b03a add using method as alias for create factory method 2021-10-23 10:10:49 +01:00
Khoubza Younes 55c08b02d9 make flash a shortcut for flasher 2021-10-22 23:26:33 +01:00
Khoubza Younes f9330057a3 add flash helper method for template factory 2021-10-22 23:19:33 +01:00
Khoubza Younes e7ca499d12 bump v0.7 2021-10-22 22:45:44 +01:00
Younes Khoubza 106e9ffb7b Merge pull request #14 from php-flasher/feat/upgrade-flasher-js-version
Upgrade flasher js to v0.3.0
2021-10-22 23:43:18 +02:00
Khoubza Younes e80126fa4f upgrade flasher js to v0.3.0 2021-10-22 22:22:47 +01:00
Younes Khoubza df2a1ff699 Merge pull request #13 from php-flasher/feat/template-adapter-title
add title to template adapter
2021-10-22 23:21:45 +02:00
Khoubza Younes 0c55cf0e2b add default titles to template adapter 2021-10-22 22:05:08 +01:00
Khoubza Younes 5ecc96a8bf fix phpstorm meta file 2021-10-22 21:54:43 +01:00
Khoubza Younes 2f11f988df remove abstract comment from NotificationFactory class
make the NotificationFactory class abstract in v1.0.0
2021-10-22 21:49:57 +01:00
Khoubza Younes 6a00897ce6 add title to template adapter
fix tests

Trigger CI
2021-10-22 21:26:13 +01:00
Khoubza Younes 759bb0b1ff rename symfony config.php to services.php 2021-10-20 07:27:33 +01:00
Khoubza Younes 61b7e3f2ed Wip 2021-10-17 00:28:23 +01:00
Khoubza Younes 56e0408884 Wip 2021-10-16 23:36:57 +01:00
Khoubza Younes 9052068de3 Wip 2021-10-16 12:52:52 +01:00
Khoubza Younes f90a0ca5d4 test on multiple OS 2021-10-16 12:48:15 +01:00
Khoubza Younes ba1f4cc8e4 Wip 2021-10-12 22:59:58 +01:00
Khoubza Younes 624b6c5050 Wip 2021-10-12 22:57:20 +01:00
Khoubza Younes 7e2524fe6b Wip 2021-10-12 22:56:25 +01:00
Khoubza Younes c683a01c7d Wip 2021-10-12 22:51:46 +01:00
Khoubza Younes d2c55384b2 Wip 2021-10-12 22:45:29 +01:00
Khoubza Younes d7ae9a8164 Wip 2021-10-12 22:38:43 +01:00
Khoubza Younes ad775e2569 Wip 2021-10-12 22:37:02 +01:00
Khoubza Younes 9b02b804cb Wip 2021-10-12 22:33:11 +01:00
Khoubza Younes b68a5a9a13 Wip 2021-10-12 22:29:21 +01:00
Khoubza Younes 385988b902 update github workflows 2021-10-12 22:26:41 +01:00
Khoubza Younes 4cb4bc7768 add apple script notifier with osascript binary 2021-10-12 22:20:27 +01:00
Khoubza Younes 23c4e5677b Fix windows path 2021-10-12 20:23:44 +01:00
Khoubza Younes 92069fe278 only render if response contains envelopes 2021-10-04 02:35:49 +01:00
Khoubza Younes 3a0bd065ec fix symfony version compare 2021-10-04 02:17:51 +01:00
Khoubza Younes 10a62a7ba2 update composer dependencies 2021-10-04 01:55:54 +01:00
Khoubza Younes 51c2001bca Merge branch 'feat/tests'
* feat/tests:
  add github cli to split.sh and release.sh
2021-10-04 01:44:32 +01:00
Khoubza Younes a8ccace0c1 remove unused file 2021-10-04 01:42:20 +01:00
Khoubza Younes 4c3afe7892 add github cli to split.sh and release.sh 2021-10-04 01:26:27 +01:00
Younes Khoubza 73370d9b82 Merge pull request #6 from php-flasher/feat/console
Add Flasher CLI supports
2021-10-04 01:40:36 +02:00
Younes Khoubza 009ca50638 Merge pull request #9 from php-flasher/feat/tests
feat/tests
2021-10-04 01:27:42 +02:00
Khoubza Younes 3cb737fc0d Wip 2021-10-03 23:39:12 +01:00
Khoubza Younes 702322006f Wip 2021-10-03 23:25:01 +01:00
Khoubza Younes 1cf71d8cb4 Wip 2021-10-03 23:19:22 +01:00
Khoubza Younes bf30312523 Wip 2021-10-03 23:15:24 +01:00
Khoubza Younes d3c7b6689c Wip 2021-10-03 23:12:52 +01:00
Khoubza Younes 3d31936102 Wip 2021-10-03 23:12:02 +01:00
Khoubza Younes 07d0700740 fix tests 2021-10-03 22:57:51 +01:00
Khoubza Younes d5b57a5342 Wip 2021-10-03 22:50:12 +01:00
Khoubza Younes b990766392 Wip 2021-10-03 22:28:12 +01:00
Khoubza Younes 115be33042 remove static from anonymous function 2021-10-03 22:22:14 +01:00
Khoubza Younes 7a20e00587 remove static from anonymous function 2021-10-03 22:16:45 +01:00
Khoubza Younes 5c946b7d28 Wip 2021-10-03 22:12:19 +01:00
Khoubza Younes 0f151f7b37 call_user_func 2021-10-03 22:08:13 +01:00
Khoubza Younes f99e63f9bc wip 2021-10-03 22:03:22 +01:00
Khoubza Younes 103b0fdfea move tests to tests files 2021-10-03 21:39:04 +01:00
Khoubza Younes 4ab09ede26 add cliFlasher laravel helper method 2021-10-02 01:08:08 +01:00
Khoubza Younes 742e457800 add render and stamps listeners in boot method of the service provider 2021-10-02 01:01:03 +01:00
Khoubza Younes 894f74fa7f add zenity notifier 2021-10-01 13:06:19 +01:00
Khoubza Younes ecd57943bc fix options 2021-10-01 00:13:13 +01:00
Khoubza Younes 7fb7056ff8 update laravel config 2021-09-30 12:14:18 +01:00
Khoubza Younes 61466a30df filter notifications from CLI 2021-09-29 19:26:48 +01:00
Khoubza Younes 5a4a909359 allow users to set icon for every notification 2021-09-29 18:44:29 +01:00
Khoubza Younes 257b37de81 add CliFlasherInterface for CliNotificationFactory 2021-09-29 17:23:41 +01:00
Khoubza Younes 6d52a98206 fix symfony configuration and sort by priority 2021-09-29 16:10:39 +01:00
Khoubza Younes 3f845a4137 add Desktop stamp and callback specification and events 2021-09-28 16:39:38 +01:00
Khoubza Younes f879237ab5 add cli presenter 2021-09-24 08:40:44 +01:00
Khoubza Younes 2e8302b7f5 use cli namespace instead of console 2021-09-24 08:40:06 +01:00
Khoubza Younes 07b06e4c3f update command options 2021-09-23 00:39:31 +01:00
Khoubza Younes 73bcf79b3d add more notifiers 2021-09-22 21:37:48 +01:00
Khoubza Younes d7772fa297 update flasher console config 2021-09-20 06:10:04 +01:00
Khoubza Younes c665401248 add flasher console component 2021-09-20 05:30:06 +01:00
Younes Khoubza 8f12aebbbb Merge pull request #8 from php-flasher/feat/php-config
use php configuration instead of yaml
2021-09-20 06:29:17 +02:00
Khoubza Younes 5e7aa16b2c use php configuration for all bundles 2021-09-20 05:28:16 +01:00
Khoubza Younes 0ccfbf56bf use php configuration instead of yaml 2021-09-19 22:50:04 +01:00
Younes Khoubza d165f1056c Merge pull request #7 from php-flasher/fix/notyf-js-version
upgrade notyf js version
2021-09-19 17:42:59 +02:00
Khoubza Younes e8b21a6bca upgrade notyf js version 2021-09-19 16:42:20 +01:00
Younes Khoubza 4d2a5c9434 Merge pull request #5 from php-flasher/feat/symfony-6-support
fix legacy symfony supports
2021-09-19 17:24:56 +02:00
Khoubza Younes 402953f2ff fix legacy symfony supports 2021-09-19 16:24:19 +01:00
Younes Khoubza b619fe413d Merge pull request #4 from php-flasher/feat/livewire-autocomplete
add livewire autocomplete for phpstorm
2021-09-19 17:19:10 +02:00
Khoubza Younes 3a3bcf559d add livewire autocomplete for phpstorm 2021-09-19 16:18:20 +01:00
Younes Khoubza 1514e72a2b Merge pull request #3 from php-flasher/feat/symfony-6-support
add Symfony 6 support
2021-09-19 17:16:29 +02:00
Khoubza Younes a2e03c575e add Symfony 6 support 2021-09-19 16:12:41 +01:00
Khoubza Younes 2c0a31690c update bootstrap template to v5 2021-09-08 09:07:04 +01:00
Khoubza Younes fe83e1fd19 upgrade flasher dependencies 2021-09-08 08:28:21 +01:00
Khoubza Younes 28bb4e22b8 add context to livewire Stamp 2021-09-08 08:28:01 +01:00
Khoubza Younes f6b2b386b3 upgrade tailwind and boostrap version 2021-09-08 08:26:01 +01:00
Khoubza Younes 42ad0ec2ba upgrade flasher and sweet alert js libraries 2021-09-08 08:26:01 +01:00
Khoubza Younes 0384f9ff35 add phpstorm autocomplete for livewire macro 2021-09-08 08:24:29 +01:00
Khoubza Younes bafe70abab emit livewire events on sweet alert promise 2021-09-08 08:23:43 +01:00
Khoubza Younes 255722f579 add context to livewire macro 2021-09-08 08:22:45 +01:00
Khoubza Younes 23316deb42 fix template notification not showing with z-index 2021-08-31 03:00:41 +01:00
Khoubza Younes 77e43642b9 update livewire php version 2021-08-29 19:55:45 +01:00
Khoubza Younes 1e94cb64a5 add livewire 2 support 2021-08-29 19:21:14 +01:00
Khoubza Younes b4566ce527 add type library to all composer packages except symfony 2021-08-29 19:14:45 +01:00
Khoubza Younes 6588b7e5c5 update laravel configuration to use root_script instead of root_scripts 2021-08-29 19:13:50 +01:00
Khoubza Younes 971b3ab89d add stamp criteria to filter envelopes using stamps 2021-08-29 19:13:18 +01:00
Khoubza Younes c6fd6455d4 allow notification builder to add custom method using macros 2021-08-29 19:12:22 +01:00
Khoubza Younes 4af296e2a8 update html presenter to use root_script 2021-08-29 19:11:41 +01:00
Khoubza Younes e0eae610f8 symfony use root_script instead of root_scripts 2021-08-29 19:10:47 +01:00
Khoubza Younes 5e09af46eb fix symfony session middleware, because html presenter does not use content anymore 2021-08-29 19:10:12 +01:00
Khoubza Younes fe92e2cd8c fix laravel session middleware, because html presenter does not use content anymore 2021-08-29 19:09:52 +01:00
Khoubza Younes bd91f4f4f8 fix laravel facade alias in composer.json 2021-08-29 19:09:00 +01:00
Khoubza Younes 2f97032dc0 update from github.com-yoeunes to github.com 2021-08-28 14:17:11 +01:00
KHOUBZA Younes 1a5bf7dc2b get the session from request stack instead of injecting the session service 2021-08-27 23:01:10 +01:00
KHOUBZA Younes a361ecc7dc add metadata files like .editorconfig, SECURITY.md CODE_OF_CONDUCT.md LICENSE ...etc 2021-08-26 16:22:50 +01:00
KHOUBZA Younes e05808f9f3 update dependencies 2021-08-22 23:17:53 +01:00
KHOUBZA Younes e0ea51ecff update release file 2021-08-22 01:41:35 +01:00
KHOUBZA Younes 951b73f949 update github.com-yoeunes 2021-08-22 01:33:07 +01:00
KHOUBZA Younes 179b7bf620 fix options and show multiple sweet alert at the same time 2021-08-22 01:27:46 +01:00
KHOUBZA Younes f3e4dae78f fix symfony configuration 2021-06-17 08:23:01 +01:00
Younes Khoubza 47d6ef7997 Create php.yml 2021-05-18 00:14:17 +02:00
KHOUBZA Younes df20969c34 fix tests for laravel >=5.1 2021-05-17 23:08:48 +01:00
KHOUBZA Younes fb142015fd fix composer.json versions 2021-05-17 22:59:34 +01:00
KHOUBZA Younes 26b193c84a fix tests for laravel 5.0 2021-05-17 22:53:31 +01:00
KHOUBZA Younes ebdc893e96 fix tests 2021-05-17 22:39:29 +01:00
KHOUBZA Younes ef1066522c replace assetSame by assetEquals 2021-05-09 17:18:48 +00:00
KHOUBZA Younes 74b586c4bd add Laravel Facade autocomplete 2021-05-09 17:01:02 +00:00
KHOUBZA Younes 33ef3781d7 update flasher dependencies 2021-05-09 14:33:43 +00:00
KHOUBZA Younes 0ad24a7655 update PHP Coding Standards Fixer
update PHP Coding Standards Fixer
2021-05-09 13:56:16 +00:00
KHOUBZA Younes 64bac380d0 add Laravel facade 2021-05-09 12:22:06 +00:00
KHOUBZA Younes dc0784a9a6 add a native php template engine and basic templates 2021-05-08 06:57:47 +00:00
KHOUBZA Younes d8e7cf72a9 fix tests 2021-05-06 12:19:59 +00:00
KHOUBZA Younes 74d896bb1b update workflows test yml 2021-05-06 12:14:54 +00:00
KHOUBZA Younes f818fe6f60 add dependabot.yml 2021-05-06 12:11:58 +00:00
KHOUBZA Younes dcaec65036 update laravel configuration 2021-05-06 11:51:32 +00:00
KHOUBZA Younes ff284ffa65 move info and warning to javascript v0.1.6 2021-05-06 11:42:08 +00:00
KHOUBZA Younes 8ebdd1bd64 update split repositories 2021-05-02 14:46:17 +00:00
KHOUBZA Younes 66f84f2fed Merge remote-tracking branch 'noty-symfony/main' 2021-05-02 14:43:50 +00:00
KHOUBZA Younes d7a065251d Merge remote-tracking branch 'noty-laravel/main' 2021-05-02 14:43:48 +00:00
KHOUBZA Younes 18e01ef5cc Merge remote-tracking branch 'noty/main' 2021-05-02 14:43:46 +00:00
KHOUBZA Younes f0cbff7341 Merge remote-tracking branch 'pnotify-symfony/main' 2021-05-02 14:43:44 +00:00
KHOUBZA Younes d55603373e Merge remote-tracking branch 'pnotify-laravel/main' 2021-05-02 14:43:43 +00:00
KHOUBZA Younes 5e3c937150 Merge remote-tracking branch 'pnotify/main' 2021-05-02 14:43:41 +00:00
KHOUBZA Younes 3605459609 Merge remote-tracking branch 'sweet-alert-symfony/main' 2021-05-02 14:43:39 +00:00
KHOUBZA Younes 1b659b5d25 Merge remote-tracking branch 'sweet-alert-laravel/main' 2021-05-02 14:43:37 +00:00
KHOUBZA Younes d1fda85ab1 Merge remote-tracking branch 'sweet-alert/main' 2021-05-02 14:43:35 +00:00
KHOUBZA Younes cf5dd82487 Merge remote-tracking branch 'notyf-symfony/main' 2021-05-02 14:43:33 +00:00
KHOUBZA Younes b61aabc11d Merge remote-tracking branch 'notyf-laravel/main' 2021-05-02 14:43:31 +00:00
KHOUBZA Younes 43012e86fd Merge remote-tracking branch 'notyf/main' 2021-05-02 14:43:29 +00:00
KHOUBZA Younes 46e1def184 Merge remote-tracking branch 'toastr-symfony/main' 2021-05-02 14:43:27 +00:00
KHOUBZA Younes 86cc652c33 Merge remote-tracking branch 'toastr-laravel/main' 2021-05-02 14:43:26 +00:00
KHOUBZA Younes 27a67c5238 Merge remote-tracking branch 'toastr/main' 2021-05-02 14:43:24 +00:00
KHOUBZA Younes 92833d614a Merge remote-tracking branch 'symfony/main' 2021-05-02 14:43:22 +00:00
KHOUBZA Younes 18fa011a14 Merge remote-tracking branch 'laravel/main' 2021-05-02 14:43:20 +00:00
KHOUBZA Younes b97d54091b Merge remote-tracking branch 'noty-symfony/main' 2021-05-02 14:41:24 +00:00
KHOUBZA Younes 505431e555 Merge remote-tracking branch 'noty-laravel/main' 2021-05-02 14:41:24 +00:00
KHOUBZA Younes 7b70ace803 Merge remote-tracking branch 'noty/main' 2021-05-02 14:41:24 +00:00
KHOUBZA Younes 243ecb20c3 Merge remote-tracking branch 'pnotify-symfony/main' 2021-05-02 14:41:24 +00:00
KHOUBZA Younes 63e2cf1054 Merge remote-tracking branch 'pnotify-laravel/main' 2021-05-02 14:41:24 +00:00
KHOUBZA Younes 60d8a33c2c Merge remote-tracking branch 'pnotify/main' 2021-05-02 14:41:24 +00:00
KHOUBZA Younes a0aa76bc3c Merge remote-tracking branch 'sweet-alert-symfony/main' 2021-05-02 14:41:24 +00:00
KHOUBZA Younes 23129b542a Merge remote-tracking branch 'sweet-alert-laravel/main' 2021-05-02 14:41:24 +00:00
KHOUBZA Younes 8f9159f3b8 Merge remote-tracking branch 'sweet-alert/main' 2021-05-02 14:41:24 +00:00
KHOUBZA Younes 599a388ee5 Merge remote-tracking branch 'notyf-symfony/main' 2021-05-02 14:41:24 +00:00
KHOUBZA Younes d7667d2964 Merge remote-tracking branch 'notyf-laravel/main' 2021-05-02 14:41:24 +00:00
KHOUBZA Younes 5ffa94b586 Merge remote-tracking branch 'notyf/main' 2021-05-02 14:41:24 +00:00
KHOUBZA Younes 49f7fffb63 Merge remote-tracking branch 'toastr-symfony/main' 2021-05-02 14:41:24 +00:00
KHOUBZA Younes f9bbbf70cb Merge remote-tracking branch 'noty-symfony/main' 2021-05-02 14:41:24 +00:00
KHOUBZA Younes de1aa2ce0f Merge remote-tracking branch 'noty-laravel/main' 2021-05-02 14:41:24 +00:00
KHOUBZA Younes 1bb1f4e900 Merge remote-tracking branch 'noty/main' 2021-05-02 14:41:24 +00:00
KHOUBZA Younes 760f1b7e25 Merge remote-tracking branch 'pnotify-symfony/main' 2021-05-02 14:41:24 +00:00
KHOUBZA Younes b69f65baaa Merge remote-tracking branch 'pnotify-laravel/main' 2021-05-02 14:41:24 +00:00
KHOUBZA Younes 649586561a Merge remote-tracking branch 'pnotify/main' 2021-05-02 14:41:24 +00:00
KHOUBZA Younes abbb6d1ae5 Merge remote-tracking branch 'sweet-alert-symfony/main' 2021-05-02 14:41:24 +00:00
KHOUBZA Younes 0a1729315c Merge remote-tracking branch 'sweet-alert-laravel/main' 2021-05-02 14:41:24 +00:00
KHOUBZA Younes ad863ac88d Merge remote-tracking branch 'sweet-alert/main' 2021-05-02 14:41:24 +00:00
KHOUBZA Younes ff5ac7e45c Merge remote-tracking branch 'notyf-symfony/main' 2021-05-02 14:41:24 +00:00
KHOUBZA Younes 66ff62263c Merge remote-tracking branch 'notyf-laravel/main' 2021-05-02 14:41:24 +00:00
KHOUBZA Younes d45abaa4b6 Merge remote-tracking branch 'notyf/main' 2021-05-02 14:41:24 +00:00
KHOUBZA Younes ab3c4933b9 Merge remote-tracking branch 'toastr-symfony/main' 2021-05-02 14:41:24 +00:00
KHOUBZA Younes 6bfd6262e6 Merge remote-tracking branch 'toastr-laravel/main' 2021-05-02 14:41:23 +00:00
KHOUBZA Younes 96f7f0577f Merge remote-tracking branch 'toastr/main' 2021-05-02 14:41:23 +00:00
KHOUBZA Younes f13d536b88 Merge remote-tracking branch 'symfony/main' 2021-05-02 14:41:23 +00:00
KHOUBZA Younes e7a0dc2d6e Merge remote-tracking branch 'laravel/main' 2021-05-02 14:41:23 +00:00
KHOUBZA Younes b90dd73dfe Merge remote-tracking branch 'toastr-laravel/main' 2021-05-02 14:41:23 +00:00
KHOUBZA Younes 14fa46bab4 Merge remote-tracking branch 'toastr/main' 2021-05-02 14:41:23 +00:00
KHOUBZA Younes e07c538cfa Merge remote-tracking branch 'symfony/main' 2021-05-02 14:41:23 +00:00
KHOUBZA Younes eeb11dd398 Merge remote-tracking branch 'laravel/main' 2021-05-02 14:41:23 +00:00
KHOUBZA Younes 04322161e5 Merge remote-tracking branch 'flasher/main' 2021-05-02 14:41:23 +00:00
KHOUBZA Younes 562e8ff38c pull modification from split replositories before push 2021-05-02 14:40:58 +00:00
KHOUBZA Younes 4cd1323a65 Merge remote-tracking branch 'noty-symfony/main' 2021-05-02 14:34:29 +00:00
KHOUBZA Younes 475348a8a6 Merge remote-tracking branch 'noty-laravel/main' 2021-05-02 14:34:29 +00:00
KHOUBZA Younes 95807328ff Merge remote-tracking branch 'noty/main' 2021-05-02 14:34:28 +00:00
KHOUBZA Younes e87a9e562d Merge remote-tracking branch 'pnotify-symfony/main' 2021-05-02 14:34:28 +00:00
KHOUBZA Younes 6ebe9f8a2c Merge remote-tracking branch 'pnotify-laravel/main' 2021-05-02 14:34:28 +00:00
KHOUBZA Younes 7283ec7bd4 Merge remote-tracking branch 'pnotify/main' 2021-05-02 14:34:28 +00:00
KHOUBZA Younes ae5720ea33 Merge remote-tracking branch 'sweet-alert-symfony/main' 2021-05-02 14:34:28 +00:00
KHOUBZA Younes 9b44355058 Merge remote-tracking branch 'sweet-alert-laravel/main' 2021-05-02 14:34:28 +00:00
KHOUBZA Younes 9cd721d469 Merge remote-tracking branch 'sweet-alert/main' 2021-05-02 14:34:28 +00:00
KHOUBZA Younes 1a9783aafd Merge remote-tracking branch 'notyf-symfony/main' 2021-05-02 14:34:28 +00:00
KHOUBZA Younes d4bd17f97e Merge remote-tracking branch 'notyf-laravel/main' 2021-05-02 14:34:28 +00:00
KHOUBZA Younes ef53821d10 Merge remote-tracking branch 'notyf/main' 2021-05-02 14:34:28 +00:00
KHOUBZA Younes 02759f713a Merge remote-tracking branch 'toastr-symfony/main' 2021-05-02 14:34:28 +00:00
KHOUBZA Younes cf94025cf4 Merge remote-tracking branch 'toastr-laravel/main' 2021-05-02 14:34:03 +00:00
KHOUBZA Younes 33d8154636 Merge remote-tracking branch 'toastr/main' 2021-05-02 14:28:47 +00:00
KHOUBZA Younes cfab92385a Merge remote-tracking branch 'symfony/main' 2021-05-02 14:28:09 +00:00
KHOUBZA Younes 3ba6d7e535 Merge remote-tracking branch 'laravel/main' 2021-05-02 14:23:30 +00:00
Younes Khoubza 8c617b8084 Merge pull request #2 from php-flasher/dependabot/add-v2-config-file
Upgrade to GitHub-native Dependabot
2021-04-30 01:36:02 +02:00
dependabot-preview[bot] bff4dfd443 Upgrade to GitHub-native Dependabot 2021-04-29 22:30:46 +00:00
KHOUBZA Younes ac5649848f add laravel .phpstorm.meta.php for auto complete 2021-04-25 10:47:44 +00:00
KHOUBZA Younes 4476b26ccf add laravel .phpstorm.meta.php for auto complete 2021-04-25 10:47:44 +00:00
KHOUBZA Younes e5f0c06400 add laravel .phpstorm.meta.php for auto complete 2021-04-25 10:47:44 +00:00
KHOUBZA Younes 5ca9334ba8 add laravel .phpstorm.meta.php for auto complete 2021-04-25 10:47:44 +00:00
KHOUBZA Younes 7151a6efa2 add laravel .phpstorm.meta.php for auto complete 2021-04-25 10:47:44 +00:00
KHOUBZA Younes 9f08bf3498 add laravel .phpstorm.meta.php for auto complete 2021-04-25 10:47:44 +00:00
KHOUBZA Younes 00e91e0d93 fix sweet alert progress timer 50s -> 5s 2021-04-25 10:19:45 +00:00
KHOUBZA Younes 1ec15792b3 fix sweet alert progress timer 50s -> 5s 2021-04-25 10:19:45 +00:00
KHOUBZA Younes d5ec851e19 fix sweet alert progress timer 50s -> 5s 2021-04-25 10:19:45 +00:00
KHOUBZA Younes 5513ada874 add laravel helpers and fix blade compiler for laravel 4 2021-04-25 10:09:31 +00:00
KHOUBZA Younes ce30d44794 add laravel helpers and fix blade compiler for laravel 4 2021-04-25 10:09:31 +00:00
KHOUBZA Younes a259b7f99c add laravel helpers and fix blade compiler for laravel 4 2021-04-25 10:09:31 +00:00
KHOUBZA Younes ede7629f95 add laravel helpers and fix blade compiler for laravel 4 2021-04-25 10:09:31 +00:00
KHOUBZA Younes 0ccfc98476 add laravel helpers and fix blade compiler for laravel 4 2021-04-25 10:09:31 +00:00
KHOUBZA Younes 49eb0875bf add laravel helpers and fix blade compiler for laravel 4 2021-04-25 10:09:31 +00:00
KHOUBZA Younes 7e45a50bf7 add laravel helpers and fix blade compiler for laravel 4 2021-04-25 10:09:31 +00:00
KHOUBZA Younes ca05aba741 fix tests 2021-04-17 22:03:18 +02:00
KHOUBZA Younes d48041a10a fix tests 2021-04-17 22:03:18 +02:00
KHOUBZA Younes 849505b9af fix tests 2021-04-17 22:03:18 +02:00
KHOUBZA Younes 560a64d016 update laravel tests 2021-04-17 21:32:30 +02:00
KHOUBZA Younes cfcb83b9db update laravel tests 2021-04-17 21:32:30 +02:00
KHOUBZA Younes cf3e9f7c5e update laravel tests 2021-04-17 21:32:30 +02:00
KHOUBZA Younes 798caa05af update laravel tests 2021-04-17 21:32:30 +02:00
KHOUBZA Younes 7613102039 update laravel tests 2021-04-17 21:32:30 +02:00
KHOUBZA Younes 41cfcbc90f update laravel tests 2021-04-17 21:32:30 +02:00
KHOUBZA Younes 3f6a13ec1a update laravel tests 2021-04-17 21:32:30 +02:00
KHOUBZA Younes 36e0838005 rename extensions 2021-04-17 18:40:02 +02:00
KHOUBZA Younes a64c16a332 rename extensions 2021-04-17 18:40:02 +02:00
KHOUBZA Younes a39ab10044 rename extensions 2021-04-17 18:40:02 +02:00
KHOUBZA Younes 7e9ff1bf47 rename extensions 2021-04-17 18:40:02 +02:00
KHOUBZA Younes f46cb22ba2 rename extensions 2021-04-17 18:40:02 +02:00
KHOUBZA Younes 4f36292b41 rename extensions 2021-04-17 18:40:02 +02:00
KHOUBZA Younes 0dcc01ab34 rename extensions 2021-04-17 18:40:02 +02:00
KHOUBZA Younes fbb983395e update twig template namespace 2021-04-17 18:22:16 +02:00
KHOUBZA Younes 0d077e4ed6 update twig template namespace 2021-04-17 18:22:16 +02:00
KHOUBZA Younes d2edcf2c40 rename symfony extensions 2021-04-17 18:13:10 +02:00
KHOUBZA Younes df9652506b rename symfony extensions 2021-04-17 18:13:10 +02:00
KHOUBZA Younes 6a9c1015e1 rename symfony extensions 2021-04-17 18:13:10 +02:00
KHOUBZA Younes de61fee3b1 rename symfony extensions 2021-04-17 18:13:10 +02:00
KHOUBZA Younes a4aa5f5942 rename symfony extensions 2021-04-17 18:13:10 +02:00
KHOUBZA Younes fa40c86a33 rename symfony extensions 2021-04-17 18:13:10 +02:00
KHOUBZA Younes d716ef7d63 rename symfony extensions 2021-04-17 18:13:10 +02:00
KHOUBZA Younes 1c62ad0c33 rename symfony bundles names to fix symfony flex bundle auto register 2021-04-17 17:57:12 +02:00
KHOUBZA Younes e8f8382892 rename symfony bundles names to fix symfony flex bundle auto register 2021-04-17 17:57:12 +02:00
KHOUBZA Younes 84d877acb6 rename symfony bundles names to fix symfony flex bundle auto register 2021-04-17 17:57:12 +02:00
KHOUBZA Younes 7545e25751 rename symfony bundles names to fix symfony flex bundle auto register 2021-04-17 17:57:12 +02:00
KHOUBZA Younes 04d67a8f9a rename symfony bundles names to fix symfony flex bundle auto register 2021-04-17 17:57:12 +02:00
KHOUBZA Younes d1c143c73a rename symfony bundles names to fix symfony flex bundle auto register 2021-04-17 17:57:12 +02:00
KHOUBZA Younes 081be7dc7d rename symfony bundles names to fix symfony flex bundle auto register 2021-04-17 17:57:12 +02:00
KHOUBZA Younes 92751471ac update composer.json 2021-04-16 20:26:48 +02:00
KHOUBZA Younes 76d1dab96d update composer.json 2021-04-16 20:26:48 +02:00
KHOUBZA Younes a8a0762ccd update composer.json 2021-04-16 20:26:48 +02:00
KHOUBZA Younes 0f464b8664 update composer.json 2021-04-16 20:26:48 +02:00
KHOUBZA Younes 6416b5b96e update composer.json 2021-04-16 20:26:48 +02:00
KHOUBZA Younes 7584cc0079 update composer.json 2021-04-16 20:26:48 +02:00
KHOUBZA Younes 8119a20042 update composer.json 2021-04-16 20:26:48 +02:00
KHOUBZA Younes 30f5b2feb4 update composer.json 2021-04-16 20:26:48 +02:00
KHOUBZA Younes 5371b25275 update composer.json 2021-04-16 20:26:48 +02:00
KHOUBZA Younes fb9cd26fbf update composer.json 2021-04-16 20:26:48 +02:00
KHOUBZA Younes 58b513de72 update composer.json 2021-04-16 20:26:48 +02:00
KHOUBZA Younes 5b51ecf213 update composer.json 2021-04-16 20:26:48 +02:00
KHOUBZA Younes 4e57ca3a3c update composer.json 2021-04-16 20:26:48 +02:00
KHOUBZA Younes 9163e9d515 update composer.json 2021-04-16 20:26:48 +02:00
KHOUBZA Younes b4c615fbd3 update composer.json 2021-04-16 20:26:48 +02:00
KHOUBZA Younes 61c0cc5d8a update composer.json 2021-04-16 20:26:48 +02:00
KHOUBZA Younes 1ae552e3ae update composer.json 2021-04-16 20:26:48 +02:00
KHOUBZA Younes bd9f54d0f0 update composer.json 2021-04-16 20:26:48 +02:00
KHOUBZA Younes 0a4834e52f clean up code 2021-04-16 20:08:36 +02:00
KHOUBZA Younes fdb080f9cd clean up code 2021-04-16 20:08:36 +02:00
KHOUBZA Younes 140a619c8b clean up code 2021-04-16 20:08:36 +02:00
KHOUBZA Younes 088d43c4a7 clean up code 2021-04-16 20:08:36 +02:00
KHOUBZA Younes 412a314dbf clean up code 2021-04-16 20:08:36 +02:00
KHOUBZA Younes 906729c413 clean up code 2021-04-16 20:08:36 +02:00
KHOUBZA Younes e9b4b90711 clean up code 2021-04-16 20:08:36 +02:00
KHOUBZA Younes 0b87deac73 clean up code 2021-04-16 20:08:36 +02:00
KHOUBZA Younes 6007b9cdb5 clean up code 2021-04-16 20:08:36 +02:00
KHOUBZA Younes 592598babc clean up code 2021-04-16 20:08:36 +02:00
KHOUBZA Younes 979a614ffe clean up code 2021-04-16 20:08:36 +02:00
KHOUBZA Younes 5d3f797011 clean up code 2021-04-16 20:08:36 +02:00
KHOUBZA Younes ac3b15d015 clean up code 2021-04-16 20:08:36 +02:00
KHOUBZA Younes c38bad4bca clean up code 2021-04-16 20:08:36 +02:00
KHOUBZA Younes 97ae160e61 clean up code 2021-04-16 20:08:36 +02:00
KHOUBZA Younes 82369e2f8d clean up code 2021-04-16 20:08:36 +02:00
KHOUBZA Younes 70e99aaac3 clean up code 2021-04-16 20:08:36 +02:00
KHOUBZA Younes 710864985a clean up code 2021-04-16 20:08:36 +02:00
KHOUBZA Younes deaf86ab2d clean up code 2021-04-16 20:08:36 +02:00
KHOUBZA Younes a394e471a8 refactor symfony bundle configuration and response manager 2021-02-09 05:15:19 +01:00
KHOUBZA Younes b582acc4ca refactor symfony bundle configuration and response manager 2021-02-09 05:15:19 +01:00
KHOUBZA Younes 144273dc5a refactor symfony bundle configuration and response manager 2021-02-09 05:15:19 +01:00
KHOUBZA Younes 7addd86a3e refactor symfony bundle configuration and response manager 2021-02-09 05:15:19 +01:00
KHOUBZA Younes 831025c6c6 refactor symfony bundle configuration and response manager 2021-02-09 05:15:19 +01:00
KHOUBZA Younes aba035793a refactor symfony bundle configuration and response manager 2021-02-09 05:15:19 +01:00
KHOUBZA Younes 5377dc3b0e refactor symfony bundle configuration and response manager 2021-02-09 05:15:19 +01:00
KHOUBZA Younes d7e8534d15 refactor symfony bundle configuration and response manager 2021-02-09 05:15:19 +01:00
KHOUBZA Younes fd013a201e refactor symfony bundle configuration and response manager 2021-02-09 05:15:19 +01:00
KHOUBZA Younes a35a09d305 refactor symfony bundle configuration and response manager 2021-02-09 05:15:19 +01:00
KHOUBZA Younes 8c1c6ad59e refactor symfony bundle configuration and response manager 2021-02-09 05:15:19 +01:00
KHOUBZA Younes a061b9d0d1 addoptions to flasher libraries builders 2021-01-09 08:19:35 +01:00
KHOUBZA Younes 7b959f53fe addoptions to flasher libraries builders 2021-01-09 08:19:35 +01:00
KHOUBZA Younes 7bbcd47c2d addoptions to flasher libraries builders 2021-01-09 08:19:35 +01:00
KHOUBZA Younes 8196e7c3cc addoptions to flasher libraries builders 2021-01-09 08:19:35 +01:00
KHOUBZA Younes d71c626652 addoptions to flasher libraries builders 2021-01-09 08:19:35 +01:00
KHOUBZA Younes 6c241f9360 addoptions to flasher libraries builders 2021-01-09 08:19:35 +01:00
KHOUBZA Younes 0956aba75c addoptions to flasher libraries builders 2021-01-09 08:19:35 +01:00
KHOUBZA Younes 79735cb593 addoptions to flasher libraries builders 2021-01-09 08:19:35 +01:00
KHOUBZA Younes b31bb84498 addoptions to flasher libraries builders 2021-01-09 08:19:35 +01:00
KHOUBZA Younes 4de883bced addoptions to flasher libraries builders 2021-01-09 08:19:35 +01:00
KHOUBZA Younes f0a77abaec addoptions to flasher libraries builders 2021-01-09 08:19:35 +01:00
Younes Khoubza 845aa308c7 Update issue templates 2020-12-23 05:02:10 +01:00
Younes Khoubza 16f58b62e9 Create LICENSE 2020-12-23 04:59:57 +01:00
Younes Khoubza 19aa3fe5d2 Create CONTRIBUTING.md 2020-12-23 04:59:36 +01:00
Younes Khoubza 8564a40474 Create CODE_OF_CONDUCT.md 2020-12-23 04:57:30 +01:00
Khoubza Younes e7e165eed5 update symfony composer.json 2020-12-18 10:32:07 +01:00
Khoubza Younes cdb39d8e6b update symfony composer.json 2020-12-18 10:32:07 +01:00
Khoubza Younes 6d68aba671 update home page 2020-12-17 11:26:35 +01:00
Khoubza Younes e6c39d5db7 update home page 2020-12-17 11:26:35 +01:00
Khoubza Younes ea2533aacd update home page 2020-12-17 11:26:35 +01:00
Khoubza Younes 10f6760516 update home page 2020-12-17 11:26:35 +01:00
Khoubza Younes e8d23a98f4 update home page 2020-12-17 11:26:35 +01:00
Khoubza Younes 93a7638b79 update home page 2020-12-17 11:26:35 +01:00
Khoubza Younes 73494e9fdd update home page 2020-12-17 11:26:35 +01:00
Khoubza Younes 786135ec3f update home page 2020-12-17 11:26:35 +01:00
Khoubza Younes b34832d32e update home page 2020-12-17 11:26:35 +01:00
Khoubza Younes 066b880be9 update home page 2020-12-17 11:26:35 +01:00
Khoubza Younes ac445cdb89 update home page 2020-12-17 11:26:35 +01:00
Khoubza Younes 78570538f3 update home page 2020-12-17 11:26:35 +01:00
Khoubza Younes 65e882bd76 update home page 2020-12-17 11:26:35 +01:00
Khoubza Younes 5eb6866103 update home page 2020-12-17 11:26:35 +01:00
Khoubza Younes 4420afdb50 update home page 2020-12-17 11:26:35 +01:00
Khoubza Younes e1fb55f4af update home page 2020-12-17 11:26:35 +01:00
Khoubza Younes b214a550d3 update home page 2020-12-17 11:26:35 +01:00
Khoubza Younes f12709194f update home page 2020-12-17 11:26:35 +01:00
Khoubza Younes fdbabb6762 update home page 2020-12-17 11:26:35 +01:00
Khoubza Younes bfcf433215 update README.md for all packages 2020-12-17 11:22:04 +01:00
Khoubza Younes fbe8f2179a update README.md for all packages 2020-12-17 11:22:04 +01:00
Khoubza Younes 2db52f0de4 update README.md for all packages 2020-12-17 11:22:04 +01:00
Khoubza Younes 7a651bfdd5 update README.md for all packages 2020-12-17 11:22:04 +01:00
Khoubza Younes 12044eaf7b update README.md for all packages 2020-12-17 11:22:04 +01:00
Khoubza Younes 035635eebb update README.md for all packages 2020-12-17 11:22:04 +01:00
Khoubza Younes cdda291df5 update README.md for all packages 2020-12-17 11:22:04 +01:00
Khoubza Younes 802d062abc update README.md for all packages 2020-12-17 11:22:04 +01:00
Khoubza Younes ab7f483632 update README.md for all packages 2020-12-17 11:22:04 +01:00
Khoubza Younes 6fb2112998 update README.md for all packages 2020-12-17 11:22:04 +01:00
Khoubza Younes 66721e1f2b update README.md for all packages 2020-12-17 11:22:04 +01:00
Khoubza Younes 102691a71d update README.md for all packages 2020-12-17 11:22:04 +01:00
Khoubza Younes 06ae5d965d update README.md for all packages 2020-12-17 11:22:04 +01:00
Khoubza Younes 3867854864 update README.md for all packages 2020-12-17 11:22:04 +01:00
Khoubza Younes 2f47286364 update README.md for all packages 2020-12-17 11:22:04 +01:00
Khoubza Younes 9872a0caa6 update README.md for all packages 2020-12-17 11:22:04 +01:00
Khoubza Younes ff375d824e update README.md for all packages 2020-12-17 11:22:04 +01:00
Khoubza Younes 885eea1f1c update README.md for all packages 2020-12-17 11:22:04 +01:00
Khoubza Younes 6c4353caa2 update README.md for all packages 2020-12-17 11:22:04 +01:00
Khoubza Younes 99a5373160 add open_collective to FUNDING.yml 2020-12-17 11:02:48 +01:00
Khoubza Younes f5e59ad8f4 add open_collective to FUNDING.yml 2020-12-17 11:02:48 +01:00
Khoubza Younes 79f7bfb6d4 add open_collective to FUNDING.yml 2020-12-17 11:02:48 +01:00
Khoubza Younes 68f458e85d add open_collective to FUNDING.yml 2020-12-17 11:02:48 +01:00
Khoubza Younes cc5c31cbc6 add open_collective to FUNDING.yml 2020-12-17 11:02:48 +01:00
Khoubza Younes 345d37ae9e add open_collective to FUNDING.yml 2020-12-17 11:02:48 +01:00
Khoubza Younes 728d059ea2 add open_collective to FUNDING.yml 2020-12-17 11:02:48 +01:00
Khoubza Younes 09d9d70ed9 add open_collective to FUNDING.yml 2020-12-17 11:02:48 +01:00
Khoubza Younes 330bdaeacb add open_collective to FUNDING.yml 2020-12-17 11:02:48 +01:00
Khoubza Younes 442b0578c4 add open_collective to FUNDING.yml 2020-12-17 11:02:48 +01:00
Khoubza Younes a1b84fc182 add open_collective to FUNDING.yml 2020-12-17 11:02:48 +01:00
Khoubza Younes c35ebcc133 add open_collective to FUNDING.yml 2020-12-17 11:02:48 +01:00
Khoubza Younes 54d847510d add open_collective to FUNDING.yml 2020-12-17 11:02:48 +01:00
Khoubza Younes e445aa3081 add open_collective to FUNDING.yml 2020-12-17 11:02:48 +01:00
Khoubza Younes 5850cc7bc9 add open_collective to FUNDING.yml 2020-12-17 11:02:48 +01:00
Khoubza Younes 3c13360bdb add open_collective to FUNDING.yml 2020-12-17 11:02:48 +01:00
Khoubza Younes ab386ed32b add open_collective to FUNDING.yml 2020-12-17 11:02:48 +01:00
Khoubza Younes 13aa293599 add open_collective to FUNDING.yml 2020-12-17 11:02:48 +01:00
Khoubza Younes 12a30bdf45 add open_collective to FUNDING.yml 2020-12-17 11:02:48 +01:00
Khoubza Younes 633dba8dde update README.md for all packages 2020-12-17 11:00:17 +01:00
Khoubza Younes 19959fc3d1 update README.md for all packages 2020-12-17 11:00:17 +01:00
Khoubza Younes 66fd27bbd7 update README.md for all packages 2020-12-17 11:00:17 +01:00
Khoubza Younes ec562f6ccc update README.md for all packages 2020-12-17 11:00:17 +01:00
Khoubza Younes a4efc1808d update README.md for all packages 2020-12-17 11:00:17 +01:00
Khoubza Younes 3f497be864 update README.md for all packages 2020-12-17 11:00:17 +01:00
Khoubza Younes 32a00cb6fd update README.md for all packages 2020-12-17 11:00:17 +01:00
Khoubza Younes 87d392eed8 update README.md for all packages 2020-12-17 11:00:17 +01:00
Khoubza Younes 94fafbfc00 update README.md for all packages 2020-12-17 11:00:17 +01:00
Khoubza Younes 987a4cbc87 update README.md for all packages 2020-12-17 11:00:17 +01:00
Khoubza Younes 7be071ffa6 update README.md for all packages 2020-12-17 11:00:17 +01:00
Khoubza Younes d879464955 update README.md for all packages 2020-12-17 11:00:17 +01:00
Khoubza Younes f820c19d91 update README.md for all packages 2020-12-17 11:00:17 +01:00
Khoubza Younes cf0c0d84d7 update README.md for all packages 2020-12-17 11:00:17 +01:00
Khoubza Younes 284cbe402d update README.md for all packages 2020-12-17 11:00:17 +01:00
Khoubza Younes 987a760375 update README.md for all packages 2020-12-17 11:00:17 +01:00
Khoubza Younes 7cfa5ace80 update README.md for all packages 2020-12-17 11:00:17 +01:00
Khoubza Younes 2d3efbc5fd update README.md for all packages 2020-12-17 11:00:17 +01:00
Khoubza Younes 3bf3e6520d update README.md for all packages 2020-12-17 11:00:17 +01:00
Khoubza Younes 06fe240fa7 fix tests 2020-12-17 09:52:54 +01:00
Khoubza Younes cb504b5424 fix tests 2020-12-17 09:52:54 +01:00
Khoubza Younes 3e0e0a9922 fix tests 2020-12-17 09:52:54 +01:00
Khoubza Younes 3dd56f2e71 fix tests 2020-12-17 09:52:54 +01:00
Khoubza Younes 8af1dad179 fix tests 2020-12-17 09:52:54 +01:00
Khoubza Younes a600a2f7be fix tests 2020-12-17 09:52:54 +01:00
Khoubza Younes d8a5ece5bd update laravel config 2020-12-17 07:05:07 +01:00
Khoubza Younes e0676a6083 update laravel config 2020-12-17 07:05:07 +01:00
Khoubza Younes d60d5f40f0 update laravel config 2020-12-17 07:05:07 +01:00
Khoubza Younes 4af3afd293 update laravel config 2020-12-17 07:05:07 +01:00
Khoubza Younes 115315d2cc update laravel config 2020-12-17 07:05:07 +01:00
Khoubza Younes 78f56f8002 update laravel config 2020-12-17 07:05:07 +01:00
Khoubza Younes cfe61d9b5f update laravel config 2020-12-17 07:05:07 +01:00
Khoubza Younes dd56420087 register blade directive for laravel 5.1 2020-12-17 01:01:04 +01:00
Khoubza Younes 0bdb2f4b46 register blade directive for laravel 5.1 2020-12-17 01:01:04 +01:00
Khoubza Younes 11a6d0d992 fix blade directive tests 2020-12-17 00:53:45 +01:00
Khoubza Younes db9bc41920 fix blade directive tests 2020-12-17 00:53:45 +01:00
KHOUBZA Younes eef2c32956 remove lumen support and clean up service provider 2020-12-17 00:27:12 +01:00
KHOUBZA Younes 36e7ce3a92 remove lumen support and clean up service provider 2020-12-17 00:27:12 +01:00
KHOUBZA Younes 10cd4b63a4 remove lumen support and clean up service provider 2020-12-17 00:27:12 +01:00
KHOUBZA Younes 9224603895 remove lumen support and clean up service provider 2020-12-17 00:27:12 +01:00
KHOUBZA Younes 67c01845a6 remove lumen support and clean up service provider 2020-12-17 00:27:12 +01:00
KHOUBZA Younes 12f0277802 remove lumen support and clean up service provider 2020-12-17 00:27:12 +01:00
KHOUBZA Younes e46210f6f3 remove lumen support and clean up service provider 2020-12-17 00:27:12 +01:00
KHOUBZA Younes 887664e582 remove lumen support and clean up service provider 2020-12-17 00:27:12 +01:00
Khoubza Younes bafae9b520 run tests on stable versions 2020-12-16 08:58:28 +01:00
Khoubza Younes eeeac6ae74 run tests on stable versions 2020-12-16 08:58:28 +01:00
Khoubza Younes 1834d3aa70 run tests on stable versions 2020-12-16 08:58:28 +01:00
Khoubza Younes b388e5caec run tests on stable versions 2020-12-16 08:58:28 +01:00
Khoubza Younes 08d15e6803 run tests on stable versions 2020-12-16 08:58:28 +01:00
Khoubza Younes 9822a86912 run tests on stable versions 2020-12-16 08:58:28 +01:00
Khoubza Younes 64dc1d697c run tests on stable versions 2020-12-16 08:58:28 +01:00
Khoubza Younes c2b3e0bf43 run tests on stable versions 2020-12-16 08:58:28 +01:00
Khoubza Younes 6b4b5788a8 run tests on stable versions 2020-12-16 08:58:28 +01:00
Khoubza Younes 942c365505 run tests on stable versions 2020-12-16 08:58:28 +01:00
Khoubza Younes 769669c5f1 run tests on stable versions 2020-12-16 08:58:28 +01:00
Khoubza Younes c0c02f49f6 run tests on stable versions 2020-12-16 08:58:28 +01:00
Khoubza Younes 77e401bffb run tests on stable versions 2020-12-16 08:58:28 +01:00
Khoubza Younes 6caa731e57 run tests on stable versions 2020-12-16 08:58:28 +01:00
Khoubza Younes ac8d393c05 run tests on stable versions 2020-12-16 08:58:28 +01:00
Khoubza Younes 88bf603a97 run tests on stable versions 2020-12-16 08:58:28 +01:00
Khoubza Younes 1fa4aed732 run tests on stable versions 2020-12-16 08:58:28 +01:00
Khoubza Younes 721ab08e64 run tests on stable versions 2020-12-16 08:58:28 +01:00
Khoubza Younes bfd3ff05be run tests on stable versions 2020-12-16 08:58:28 +01:00
Khoubza Younes 3db639f6c0 run tests on stable versions 2020-12-16 08:48:36 +01:00
Khoubza Younes 5e857b5143 run tests on stable versions 2020-12-16 08:48:36 +01:00
Khoubza Younes 324d3b9b87 run tests on stable versions 2020-12-16 08:48:36 +01:00
Khoubza Younes 6d389be40d run tests on stable versions 2020-12-16 08:48:36 +01:00
Khoubza Younes f6f535a7d1 run tests on stable versions 2020-12-16 08:48:36 +01:00
Khoubza Younes 4b77649187 run tests on stable versions 2020-12-16 08:48:36 +01:00
Khoubza Younes 3a965ce089 run tests on stable versions 2020-12-16 08:48:36 +01:00
Khoubza Younes cb17a3904b run tests on stable versions 2020-12-16 08:48:36 +01:00
Khoubza Younes 2bad811061 run tests on stable versions 2020-12-16 08:48:36 +01:00
Khoubza Younes 811d54dba8 run tests on stable versions 2020-12-16 08:48:36 +01:00
Khoubza Younes e256498a03 run tests on stable versions 2020-12-16 08:48:36 +01:00
Khoubza Younes 2f8391f46c run tests on stable versions 2020-12-16 08:48:36 +01:00
Khoubza Younes cf85877d2a run tests on stable versions 2020-12-16 08:48:36 +01:00
Khoubza Younes 3ecbb70ee6 run tests on stable versions 2020-12-16 08:48:36 +01:00
Khoubza Younes f94b88b6b1 run tests on stable versions 2020-12-16 08:48:36 +01:00
Khoubza Younes cfc8c0e05f run tests on stable versions 2020-12-16 08:48:36 +01:00
Khoubza Younes a2fa642d41 run tests on stable versions 2020-12-16 08:48:36 +01:00
Khoubza Younes 55359af698 run tests on stable versions 2020-12-16 08:48:36 +01:00
Khoubza Younes 57922aedd4 run tests on stable versions 2020-12-16 08:48:36 +01:00
Khoubza Younes 8de84d8e19 Wip 2020-12-16 08:38:12 +01:00
Khoubza Younes 5f3b75db2c add bootstrap and tailwindcss_bg templates 2020-12-16 03:36:18 +01:00
Khoubza Younes dc6e72f3b4 add bootstrap and tailwindcss_bg templates 2020-12-16 03:36:18 +01:00
Khoubza Younes cd7593b19f add bootstrap and tailwindcss_bg templates 2020-12-16 03:36:18 +01:00
KHOUBZA Younes 5ac7c33d16 update tests 2020-12-15 15:17:00 +01:00
KHOUBZA Younes 3c6e08c1e5 update tests 2020-12-15 15:17:00 +01:00
KHOUBZA Younes 9b86a8edaf update tests 2020-12-15 15:17:00 +01:00
KHOUBZA Younes 453329db2b update tests 2020-12-15 15:17:00 +01:00
KHOUBZA Younes 3cbc385ec6 update tests 2020-12-15 15:17:00 +01:00
KHOUBZA Younes 7c03f8d3f9 update tests 2020-12-15 15:17:00 +01:00
KHOUBZA Younes 3c55d3f0fb update tests 2020-12-15 15:17:00 +01:00
KHOUBZA Younes 59da4a3466 update tests 2020-12-15 15:17:00 +01:00
KHOUBZA Younes 3f9cfddb29 update factories and add tailwindcss template 2020-12-15 15:00:08 +01:00
KHOUBZA Younes 4a4c273ed5 update factories and add tailwindcss template 2020-12-15 15:00:08 +01:00
KHOUBZA Younes d5a9d616d4 update factories and add tailwindcss template 2020-12-15 15:00:08 +01:00
KHOUBZA Younes 28b35784d6 update factories and add tailwindcss template 2020-12-15 15:00:08 +01:00
KHOUBZA Younes 9fe9e323f2 update factories and add tailwindcss template 2020-12-15 15:00:08 +01:00
KHOUBZA Younes 69d1d9486a update factories and add tailwindcss template 2020-12-15 15:00:08 +01:00
KHOUBZA Younes 3b95e28baf update factories and add tailwindcss template 2020-12-15 15:00:08 +01:00
KHOUBZA Younes e46a7c0540 update factories and add tailwindcss template 2020-12-15 15:00:08 +01:00
KHOUBZA Younes 4ce4afd971 update factories and add tailwindcss template 2020-12-15 15:00:08 +01:00
KHOUBZA Younes 1ee48576d3 update factories and add tailwindcss template 2020-12-15 15:00:08 +01:00
KHOUBZA Younes 2a3202993d update factories and add tailwindcss template 2020-12-15 15:00:08 +01:00
KHOUBZA Younes 58dd256906 update factories and add tailwindcss template 2020-12-15 15:00:08 +01:00
KHOUBZA Younes 709011741e update factories and add tailwindcss template 2020-12-15 15:00:08 +01:00
KHOUBZA Younes 09a3162a41 update factories and add tailwindcss template 2020-12-15 15:00:08 +01:00
KHOUBZA Younes fe6b450eae update factories and add tailwindcss template 2020-12-15 15:00:08 +01:00
KHOUBZA Younes 6879b99084 update factories and add tailwindcss template 2020-12-15 15:00:08 +01:00
KHOUBZA Younes 01981a83bd update factories and add tailwindcss template 2020-12-15 15:00:08 +01:00
KHOUBZA Younes 73a8d8fea3 update factories and add tailwindcss template 2020-12-15 15:00:08 +01:00
KHOUBZA Younes fe0a69b8c5 update factories and add tailwindcss template 2020-12-15 15:00:08 +01:00
Khoubza Younes 05ecb6a7b2 fix release.sh 2020-12-14 09:25:11 +01:00
Khoubza Younes f058de16df tag 0.1.0 version 2020-12-14 09:20:45 +01:00
Khoubza Younes 709a1e1fd1 tag 0.1.0 version 2020-12-14 09:20:45 +01:00
Khoubza Younes 4df91eed10 tag 0.1.0 version 2020-12-14 09:20:45 +01:00
Khoubza Younes 114ba39c10 tag 0.1.0 version 2020-12-14 09:20:45 +01:00
Khoubza Younes 6ff4757898 tag 0.1.0 version 2020-12-14 09:20:45 +01:00
Khoubza Younes 6e3ee1de9e tag 0.1.0 version 2020-12-14 09:20:45 +01:00
Khoubza Younes a9c175f347 tag 0.1.0 version 2020-12-14 09:20:45 +01:00
Khoubza Younes 2bf520146b tag 0.1.0 version 2020-12-14 09:20:45 +01:00
Khoubza Younes 0156fa8376 tag 0.1.0 version 2020-12-14 09:20:45 +01:00
Khoubza Younes f81ac3a054 tag 0.1.0 version 2020-12-14 09:20:45 +01:00
Khoubza Younes a8260a3843 tag 0.1.0 version 2020-12-14 09:20:45 +01:00
Khoubza Younes 05f65d242d tag 0.1.0 version 2020-12-14 09:20:45 +01:00
Khoubza Younes 65d80a9a35 tag 0.1.0 version 2020-12-14 09:20:45 +01:00
Khoubza Younes f735683fbc tag 0.1.0 version 2020-12-14 09:20:45 +01:00
Khoubza Younes 70027c1a65 tag 0.1.0 version 2020-12-14 09:20:45 +01:00
Khoubza Younes 5d91e0291e tag 0.1.0 version 2020-12-14 09:20:45 +01:00
Khoubza Younes b478e4498c tag 0.1.0 version 2020-12-14 09:20:45 +01:00
Khoubza Younes a6bab45432 tag 0.1.0 version 2020-12-14 09:20:45 +01:00
KHOUBZA Younes 07fb39cd76 update symfony pnotify configuration 2020-12-14 09:17:25 +01:00
KHOUBZA Younes 41b37e773c update symfony pnotify configuration 2020-12-14 09:17:25 +01:00
Khoubza Younes a9f3e94d2b fix filters 2020-12-13 13:49:01 +01:00
Khoubza Younes 90ee4601fd fix filters 2020-12-13 13:49:01 +01:00
Khoubza Younes 11279d9c47 fix tests 2020-12-13 13:37:21 +01:00
Khoubza Younes d7fc22280d fix tests 2020-12-13 13:37:21 +01:00
Khoubza Younes 86b8d145cb update workflow.yml 2020-12-13 13:31:21 +01:00
Khoubza Younes 64dc4d6581 update workflow.yml 2020-12-13 13:31:21 +01:00
Khoubza Younes 15dcc9d085 update workflow.yml 2020-12-13 13:23:56 +01:00
Khoubza Younes a6d4056d18 update workflow.yml 2020-12-13 13:23:56 +01:00
Khoubza Younes 18f6cb637c update workflow.yml 2020-12-13 13:13:08 +01:00
Khoubza Younes 8a40a8a37f update workflow.yml 2020-12-13 13:13:08 +01:00
Khoubza Younes b57b253e33 update workflow.yml 2020-12-13 13:09:18 +01:00
Khoubza Younes c462acb545 update workflow.yml 2020-12-13 13:09:18 +01:00
Khoubza Younes fedb3727a2 update workflow.yml 2020-12-13 13:04:12 +01:00
Khoubza Younes 39975aba46 update workflow.yml 2020-12-13 13:04:12 +01:00
Khoubza Younes fddebf94e5 fix tests for laravel 5.1 2020-12-13 12:58:35 +01:00
Khoubza Younes 7bc1924269 fix tests for laravel 5.1 2020-12-13 12:58:35 +01:00
Khoubza Younes f388386c04 run adapters test on laravel 2020-12-13 12:01:32 +01:00
Khoubza Younes c4e27a3e17 run adapters test on laravel 2020-12-13 12:01:32 +01:00
Khoubza Younes 17710998ad run adapters test on laravel 2020-12-13 12:01:32 +01:00
Khoubza Younes 9a22965f5d run adapters test on laravel 2020-12-13 12:01:32 +01:00
Khoubza Younes 8d608aa2c4 run adapters test on laravel 2020-12-13 12:01:32 +01:00
Khoubza Younes 2214556bbc run adapters test on laravel 2020-12-13 12:01:32 +01:00
Khoubza Younes 4e5905e505 run adapters test on laravel 2020-12-13 12:01:32 +01:00
Khoubza Younes f07c999c9a run adapters test on laravel 2020-12-13 12:01:32 +01:00
Khoubza Younes 7c9c7fc6ca update symfony composer.json 2020-12-13 08:14:30 +01:00
Khoubza Younes 3eb1944711 update symfony composer.json 2020-12-13 08:14:30 +01:00
Khoubza Younes bce8eee039 fix laravel adapters tests 2020-12-13 08:07:49 +01:00
Khoubza Younes 4b3416aa73 fix laravel adapters tests 2020-12-13 08:07:49 +01:00
Khoubza Younes b5c8407338 fix laravel adapters tests 2020-12-13 08:07:49 +01:00
Khoubza Younes d7d8f3ccaa fix laravel adapters tests 2020-12-13 08:07:49 +01:00
Khoubza Younes cabdbec91d fix laravel adapters tests 2020-12-13 08:07:49 +01:00
Khoubza Younes 9d64950afd fix laravel adapters tests 2020-12-13 08:07:49 +01:00
Khoubza Younes f7c6fd1968 resolve circular dependecy between event_dispatcher and storage_manager 2020-12-13 07:33:03 +01:00
Khoubza Younes 99302f8668 resolve circular dependecy between event_dispatcher and storage_manager 2020-12-13 07:33:03 +01:00
Khoubza Younes 70ef751c6f resolve circular dependecy between event_dispatcher and storage_manager 2020-12-13 07:33:03 +01:00
Khoubza Younes c32ca59fa3 resolve circular dependecy between event_dispatcher and storage_manager 2020-12-13 07:33:03 +01:00
Khoubza Younes 2385fb2df9 resolve circular dependecy between event_dispatcher and storage_manager 2020-12-13 07:33:03 +01:00
Khoubza Younes 801a32480f remove setup 2020-12-12 10:00:39 +01:00
Khoubza Younes 9ae798e210 remove setup 2020-12-12 10:00:39 +01:00
Khoubza Younes 88db5e05ce remove setup 2020-12-12 10:00:39 +01:00
Khoubza Younes 6a1e5b8829 add sweet alert symfony tests 2020-12-12 09:23:06 +01:00
Khoubza Younes 9c2b9e7f40 add sweet alert symfony tests 2020-12-12 09:23:06 +01:00
Khoubza Younes 5a7fbf7402 add noty symfony tests 2020-12-12 09:17:24 +01:00
Khoubza Younes 106943ce3c add noty symfony tests 2020-12-12 09:17:24 +01:00
Khoubza Younes 15ed83c60f add notyf symfony tests 2020-12-12 09:15:57 +01:00
Khoubza Younes a5dae13ee6 add notyf symfony tests 2020-12-12 09:15:57 +01:00
Khoubza Younes 8b496f32cc add pnotify symfony tests 2020-12-12 09:14:14 +01:00
Khoubza Younes 842c621b3d add pnotify symfony tests 2020-12-12 09:14:14 +01:00
Khoubza Younes aae2c11f77 add toastr symfony tests 2020-12-12 09:11:32 +01:00
Khoubza Younes 938748fb22 add toastr symfony tests 2020-12-12 09:11:32 +01:00
Khoubza Younes ade1d451e2 add toastr symfony tests 2020-12-12 09:11:32 +01:00
Khoubza Younes 2483a0060f add symfony bundle tests 2020-12-12 08:37:30 +01:00
Khoubza Younes e11bdf2f15 add symfony bundle tests 2020-12-12 08:37:30 +01:00
Khoubza Younes 0ff4c8c936 add more tests 2020-12-12 06:14:50 +01:00
Khoubza Younes de14f39752 add more tests 2020-12-12 06:14:50 +01:00
Khoubza Younes b267378ce3 add more tests 2020-12-11 09:41:31 +01:00
Khoubza Younes 13b607be63 add more tests 2020-12-11 09:41:31 +01:00
Khoubza Younes c23b9055f4 update tests for flasher prime repository 2020-12-11 08:56:17 +01:00
Khoubza Younes 0ff7f2dfdd update tests for flasher prime repository 2020-12-11 08:56:17 +01:00
Khoubza Younes f1e20ec925 update tests for flasher prime repository 2020-12-11 08:56:17 +01:00
Khoubza Younes 8ef3560afb update tests for flasher prime repository 2020-12-11 08:56:17 +01:00
Khoubza Younes e8e7a95a31 update tests for flasher prime repository 2020-12-11 08:56:17 +01:00
Khoubza Younes ae800e996b update tests for flasher prime repository 2020-12-11 08:56:17 +01:00
Khoubza Younes 66b8fd702d update tests for flasher prime repository 2020-12-11 08:56:17 +01:00
Khoubza Younes 74bc4ec309 update tests for flasher prime repository 2020-12-11 08:56:17 +01:00
Khoubza Younes 3432ff9629 update tests for flasher prime repository 2020-12-11 08:56:17 +01:00
Khoubza Younes 37a6ef5b0a update tests for flasher prime repository 2020-12-11 08:56:17 +01:00
Khoubza Younes 27879586f3 update tests for flasher prime repository 2020-12-11 08:56:17 +01:00
Khoubza Younes 796b89e89f update tests for flasher prime repository 2020-12-11 08:56:17 +01:00
Khoubza Younes c713274e01 update tests for flasher prime repository 2020-12-11 08:56:17 +01:00
Khoubza Younes d1c40ff139 update tests for flasher prime repository 2020-12-11 08:56:17 +01:00
Khoubza Younes 3b703e40d9 update tests for flasher prime repository 2020-12-11 08:56:17 +01:00
Khoubza Younes e72f41c86f update tests for flasher prime repository 2020-12-11 08:56:17 +01:00
Khoubza Younes 1d7ca6f355 update tests for flasher prime repository 2020-12-11 08:56:17 +01:00
Khoubza Younes 8008bfecf1 update tests for flasher prime repository 2020-12-11 08:56:17 +01:00
Khoubza Younes 258adceacb update tests for flasher prime repository 2020-12-11 08:56:17 +01:00
Khoubza Younes 55c333ba41 update laravel and js files 2020-12-10 13:55:46 +01:00
Khoubza Younes 9839275b8f update laravel and js files 2020-12-10 13:55:46 +01:00
Khoubza Younes 51d778fe3e update laravel and js files 2020-12-10 13:55:46 +01:00
Khoubza Younes ab5d4ab2d6 update laravel and js files 2020-12-10 13:55:46 +01:00
Khoubza Younes 398086d836 update laravel and js files 2020-12-10 13:55:46 +01:00
Khoubza Younes 077ffdc8ef update laravel and js files 2020-12-10 13:55:46 +01:00
Khoubza Younes f057607ab4 update laravel and js files 2020-12-10 13:55:46 +01:00
Khoubza Younes 62a31a023a update laravel and js files 2020-12-10 13:55:46 +01:00
Khoubza Younes 5567083b91 update laravel and js files 2020-12-10 13:55:46 +01:00
Khoubza Younes 2fa224afda update laravel and js files 2020-12-10 13:55:46 +01:00
Khoubza Younes ab4b8196be update laravel and js files 2020-12-10 13:55:46 +01:00
Khoubza Younes ebfba740f3 update laravel and js files 2020-12-10 13:55:46 +01:00
Khoubza Younes 82f8e31b9a update laravel and js files 2020-12-10 13:55:46 +01:00
Khoubza Younes 4c719cd120 update laravel and js files 2020-12-10 13:55:46 +01:00
Khoubza Younes 8379928808 update laravel and js files 2020-12-10 13:55:46 +01:00
Khoubza Younes 46c4b76f25 update laravel and js files 2020-12-10 13:55:46 +01:00
Khoubza Younes e1cbf84bfb update laravel and js files 2020-12-10 13:55:46 +01:00
Khoubza Younes 70e1047991 add responses handlers : html and array 2020-12-10 10:47:31 +01:00
Khoubza Younes 977c2debbe add responses handlers : html and array 2020-12-10 10:47:31 +01:00
Khoubza Younes 551ee255fd add responses handlers : html and array 2020-12-10 10:47:31 +01:00
Khoubza Younes 8c5642c57b add responses handlers : html and array 2020-12-10 10:47:31 +01:00
KHOUBZA Younes df3ba13b07 update listeners and add criteria filters 2020-12-10 09:26:42 +01:00
KHOUBZA Younes fc60e44dd0 update listeners and add criteria filters 2020-12-10 09:26:42 +01:00
KHOUBZA Younes 4442a9acdc update listeners and add criteria filters 2020-12-10 09:26:42 +01:00
KHOUBZA Younes 677fa4a990 update listeners and add criteria filters 2020-12-10 09:26:42 +01:00
Khoubza Younes cc71bb80f0 update session listener inject javascript before html tag instead of body 2020-12-10 05:13:54 +01:00
Khoubza Younes e783029e52 update session listener inject javascript before html tag instead of body 2020-12-10 05:13:54 +01:00
Khoubza Younes 75617dd2fd update session listener inject javascript before html tag instead of body 2020-12-10 05:13:54 +01:00
Khoubza Younes f270e79176 update session listener inject javascript before html tag instead of body 2020-12-10 05:13:54 +01:00
Khoubza Younes 6e01e50810 update flasherjs and flasher symfony bundle 2020-12-10 04:55:20 +01:00
Khoubza Younes 762cd70af9 update flasherjs and flasher symfony bundle 2020-12-10 04:55:20 +01:00
Khoubza Younes f2494da23e update flasherjs and flasher symfony bundle 2020-12-10 04:55:20 +01:00
Khoubza Younes 5becf4f40c update flasherjs and flasher symfony bundle 2020-12-10 04:55:20 +01:00
Khoubza Younes 869e4e25cf update flasherjs and flasher symfony bundle 2020-12-10 04:55:20 +01:00
Khoubza Younes 8401196193 update flasherjs and flasher symfony bundle 2020-12-10 04:55:20 +01:00
Khoubza Younes 044a916306 update flasherjs and flasher symfony bundle 2020-12-10 04:55:20 +01:00
Khoubza Younes a2721e419c update flasherjs and flasher symfony bundle 2020-12-10 04:55:20 +01:00
Khoubza Younes 93380a6c5b update flasherjs and flasher symfony bundle 2020-12-10 04:55:20 +01:00
Khoubza Younes ae34c8243a update flasherjs and flasher symfony bundle 2020-12-10 04:55:20 +01:00
Khoubza Younes 0872391e30 update flasherjs and flasher symfony bundle 2020-12-10 04:55:20 +01:00
Khoubza Younes 0d009abfb5 update flasherjs and flasher symfony bundle 2020-12-10 04:55:20 +01:00
Khoubza Younes 6cb69e28a0 update flasherjs and flasher symfony bundle 2020-12-10 04:55:20 +01:00
Khoubza Younes 25d30053dd update flasherjs and flasher symfony bundle 2020-12-10 04:55:20 +01:00
Khoubza Younes c7dc1abd0a update flasherjs and flasher symfony bundle 2020-12-10 04:55:20 +01:00
Khoubza Younes 2d135ec76e add flasher js 2020-12-09 23:38:05 +01:00
Khoubza Younes 47e40fd573 add flasher js 2020-12-09 23:38:05 +01:00
Khoubza Younes 2d5cba4db2 remove middelawares and delete renderer and rename presenter to renderer 2020-12-08 22:33:56 +01:00
Khoubza Younes fd91b2c704 remove middelawares and delete renderer and rename presenter to renderer 2020-12-08 22:33:56 +01:00
Khoubza Younes 97600cdad9 remove middelawares and delete renderer and rename presenter to renderer 2020-12-08 22:33:56 +01:00
Khoubza Younes 28d56985a5 remove middelawares and delete renderer and rename presenter to renderer 2020-12-08 22:33:56 +01:00
Khoubza Younes 0b1ddc203b remove middelawares and delete renderer and rename presenter to renderer 2020-12-08 22:33:56 +01:00
Khoubza Younes fc68bd8155 remove middelawares and delete renderer and rename presenter to renderer 2020-12-08 22:33:56 +01:00
Khoubza Younes 29f04b7854 remove middelawares and delete renderer and rename presenter to renderer 2020-12-08 22:33:56 +01:00
Khoubza Younes 17540da68a remove middelawares and delete renderer and rename presenter to renderer 2020-12-08 22:33:56 +01:00
Khoubza Younes 410d20eaf0 remove middelawares and delete renderer and rename presenter to renderer 2020-12-08 22:33:56 +01:00
Khoubza Younes 3d6fdaa5c9 remove middelawares and delete renderer and rename presenter to renderer 2020-12-08 22:33:56 +01:00
Khoubza Younes 3a2825aee1 remove middelawares and delete renderer and rename presenter to renderer 2020-12-08 22:33:56 +01:00
Khoubza Younes 45c6d1b73f remove middelawares and delete renderer and rename presenter to renderer 2020-12-08 22:33:56 +01:00
Khoubza Younes 4acadd31d4 remove middelawares and delete renderer and rename presenter to renderer 2020-12-08 22:33:56 +01:00
Khoubza Younes 97a8b0af13 remove middelawares and delete renderer and rename presenter to renderer 2020-12-08 22:33:56 +01:00
Khoubza Younes 7a5d8c044f remove middelawares and delete renderer and rename presenter to renderer 2020-12-08 22:33:56 +01:00
Khoubza Younes 95e6732315 remove middelawares and delete renderer and rename presenter to renderer 2020-12-08 22:33:56 +01:00
Khoubza Younes 0af6956745 remove middelawares and delete renderer and rename presenter to renderer 2020-12-08 22:33:56 +01:00
Khoubza Younes eade70b767 remove middelawares and delete renderer and rename presenter to renderer 2020-12-08 22:33:56 +01:00
Khoubza Younes fa21d27ccd remove middelawares and delete renderer and rename presenter to renderer 2020-12-08 22:33:56 +01:00
Khoubza Younes ea3123cdb2 clean up code and transfer rendering responsability to js code 2020-12-08 09:24:33 +01:00
Khoubza Younes b27288baa1 clean up code and transfer rendering responsability to js code 2020-12-08 09:24:33 +01:00
Khoubza Younes 1f33763b73 clean up code and transfer rendering responsability to js code 2020-12-08 09:24:33 +01:00
Khoubza Younes 3f9b25378f clean up code and transfer rendering responsability to js code 2020-12-08 09:24:33 +01:00
Khoubza Younes 2e33aa44be clean up code and transfer rendering responsability to js code 2020-12-08 09:24:33 +01:00
Khoubza Younes a1f7b5737e Merge remote-tracking branch 'origin/main' into main 2020-12-07 17:35:53 +01:00
Khoubza Younes c7439e89e9 add FUNDING.yml file 2020-12-07 17:34:15 +01:00
Khoubza Younes 348a2f9a35 add FUNDING.yml file 2020-12-07 17:34:15 +01:00
Khoubza Younes 8db925e4ff add FUNDING.yml file 2020-12-07 17:34:15 +01:00
Khoubza Younes 761372300a add FUNDING.yml file 2020-12-07 17:34:15 +01:00
Khoubza Younes 44330d3f3e add FUNDING.yml file 2020-12-07 17:34:15 +01:00
Khoubza Younes 4959325028 add FUNDING.yml file 2020-12-07 17:34:15 +01:00
Khoubza Younes 86f689c3c0 add FUNDING.yml file 2020-12-07 17:34:15 +01:00
Khoubza Younes 23eb8e0fdd add FUNDING.yml file 2020-12-07 17:34:15 +01:00
Khoubza Younes 43a69591b1 add FUNDING.yml file 2020-12-07 17:34:15 +01:00
Khoubza Younes 58a28dabb6 add FUNDING.yml file 2020-12-07 17:34:15 +01:00
Khoubza Younes 23c19fb55e add FUNDING.yml file 2020-12-07 17:34:15 +01:00
Khoubza Younes 90c969ed51 add FUNDING.yml file 2020-12-07 17:34:15 +01:00
Khoubza Younes 37c778b2f0 add FUNDING.yml file 2020-12-07 17:34:15 +01:00
Khoubza Younes 92fc8ba814 add FUNDING.yml file 2020-12-07 17:34:15 +01:00
Khoubza Younes e73d0e936a add FUNDING.yml file 2020-12-07 17:34:15 +01:00
Khoubza Younes 3661c59c75 add FUNDING.yml file 2020-12-07 17:34:15 +01:00
Khoubza Younes 132a969a6c add FUNDING.yml file 2020-12-07 17:34:15 +01:00
Khoubza Younes ec318b4366 add FUNDING.yml file 2020-12-07 17:34:15 +01:00
Khoubza Younes 9250b6fdf5 add FUNDING.yml file 2020-12-07 17:34:15 +01:00
Younes Khoubza 73593899f5 Create FUNDING.yml 2020-12-07 17:29:03 +01:00
Khoubza Younes d6af08a2a9 add laravel model observers to send flash notifications on eloquent events 2020-12-07 07:00:33 +01:00
Khoubza Younes fe703563f7 add laravel model observers to send flash notifications on eloquent events 2020-12-07 07:00:33 +01:00
Khoubza Younes 599740642b add laravel model observers to send flash notifications on eloquent events 2020-12-07 07:00:33 +01:00
Khoubza Younes 802aed76ce add laravel model observers to send flash notifications on eloquent events 2020-12-07 07:00:33 +01:00
Khoubza Younes 6f64507514 add laravel model observers to send flash notifications on eloquent events 2020-12-07 07:00:33 +01:00
Khoubza Younes b0bbf4a35e add shortcut methods : addSuccess, addError, addWarning and addInfo 2020-12-07 04:41:06 +01:00
Khoubza Younes 8603a62c5c add shortcut methods : addSuccess, addError, addWarning and addInfo 2020-12-07 04:41:06 +01:00
Khoubza Younes d0c0a0340a rename builder dispatch method to flash and add addFlash method 2020-12-07 04:35:29 +01:00
Khoubza Younes 726f4574d3 rename builder dispatch method to flash and add addFlash method 2020-12-07 04:35:29 +01:00
Khoubza Younes 88192598e4 convert session flash messages into flasher messages 2020-12-07 04:13:58 +01:00
Khoubza Younes 8a137c1b57 convert session flash messages into flasher messages 2020-12-07 04:13:58 +01:00
Khoubza Younes c09b3e2929 convert session flash messages into flasher messages 2020-12-07 04:13:58 +01:00
Khoubza Younes 3b40b54f8a convert session flash messages into flasher messages 2020-12-07 04:13:58 +01:00
Khoubza Younes a871f23077 convert session flash messages into flasher messages 2020-12-07 04:13:58 +01:00
Khoubza Younes 3b7ba873ca fix noty library 2020-12-07 01:01:50 +01:00
Khoubza Younes f2fbca6ced fix noty library 2020-12-07 01:01:50 +01:00
Khoubza Younes 1bbb748b9e fix noty library 2020-12-07 01:01:50 +01:00
KHOUBZA Younes 1b0c59d656 fix blade flasher_directive 2020-12-07 00:42:14 +01:00
KHOUBZA Younes 3c2ae3882a fix blade flasher_directive 2020-12-07 00:42:14 +01:00
Khoubza Younes cb44636386 fix namespace declaration 2020-12-07 00:33:28 +01:00
Khoubza Younes ed8b1fcaa0 fix namespace declaration 2020-12-07 00:33:28 +01:00
Khoubza Younes d5478252bc fix namespace declaration 2020-12-07 00:33:28 +01:00
Khoubza Younes 66911bffd2 fix namespace declaration 2020-12-07 00:33:28 +01:00
Khoubza Younes 5fe9233335 add noty library support 2020-12-06 23:36:29 +01:00
Khoubza Younes e3406d57ff add noty library support 2020-12-06 23:36:29 +01:00
Khoubza Younes 2654a62ad9 add noty library support 2020-12-06 23:36:29 +01:00
Khoubza Younes 043c381c27 add noty library support 2020-12-06 23:36:29 +01:00
Khoubza Younes 556a72f45f fix github workflow 2020-12-06 23:11:20 +01:00
Khoubza Younes 78742afa52 fix github workflow 2020-12-06 23:11:20 +01:00
Khoubza Younes 9bff152436 fix github workflow 2020-12-06 23:11:20 +01:00
Khoubza Younes 21628219ea fix github workflow 2020-12-06 23:11:20 +01:00
Khoubza Younes d8d7822fa3 fix github workflow 2020-12-06 23:11:20 +01:00
Khoubza Younes 9dd1d324b5 fix github workflow 2020-12-06 23:11:20 +01:00
Khoubza Younes 4b1d1e32bc fix github workflow 2020-12-06 22:40:32 +01:00
Khoubza Younes a4b2f77842 fix github workflow 2020-12-06 22:40:32 +01:00
Khoubza Younes 636da37e23 fix github workflow 2020-12-06 22:40:32 +01:00
Khoubza Younes 35c3bd6649 fix github workflow 2020-12-06 22:40:32 +01:00
Khoubza Younes cda24d13c9 fix github workflow 2020-12-06 22:40:32 +01:00
Khoubza Younes 4b109f52b6 fix github workflow 2020-12-06 22:40:32 +01:00
Khoubza Younes 9cce2979fa fix github workflow 2020-12-06 22:40:32 +01:00
Khoubza Younes 46efd611cb fix github workflow 2020-12-06 22:40:32 +01:00
Khoubza Younes 282706967b fix github workflow 2020-12-06 22:14:02 +01:00
Khoubza Younes eb10fd7814 fix github workflow 2020-12-06 22:14:02 +01:00
Khoubza Younes 020a09f650 fix github workflow 2020-12-06 22:14:02 +01:00
Khoubza Younes 18681b009c fix github workflow 2020-12-06 22:14:02 +01:00
Khoubza Younes 74eb487634 fix github workflow 2020-12-06 22:14:02 +01:00
Khoubza Younes 54b82469a6 fix github workflow 2020-12-06 22:14:02 +01:00
Khoubza Younes b773b2f679 fix github workflow 2020-12-06 21:40:28 +01:00
Khoubza Younes f772a1cf5c fix github workflow 2020-12-06 21:40:28 +01:00
Khoubza Younes 394ffae2e9 fix github workflow 2020-12-06 21:40:28 +01:00
Khoubza Younes 0136d0bec8 fix github workflow 2020-12-06 21:40:28 +01:00
Khoubza Younes 934c24bba5 fix github workflow 2020-12-06 21:40:28 +01:00
Khoubza Younes f6e646ef1d fix github workflow 2020-12-06 21:40:28 +01:00
Khoubza Younes 0611616f5a fix github workflow 2020-12-06 21:40:28 +01:00
Khoubza Younes f95ebf500a fix github workflow 2020-12-06 21:40:28 +01:00
Khoubza Younes 1b7c862d1a fix github workflow 2020-12-06 21:40:28 +01:00
Khoubza Younes 554efc791c fix github workflow 2020-12-06 21:40:28 +01:00
Khoubza Younes cc1beb819f fix github workflow 2020-12-06 21:40:28 +01:00
Khoubza Younes 82f8947829 fix github workflow 2020-12-06 21:40:28 +01:00
Khoubza Younes eaa55c4f29 fix github workflow 2020-12-06 21:40:28 +01:00
Khoubza Younes 6d8ec7c414 fix github workflow 2020-12-06 21:40:28 +01:00
Khoubza Younes 7eac9c52a3 fix github workflow 2020-12-06 21:40:28 +01:00
Khoubza Younes f023e0b6e0 fix github workflow 2020-12-06 21:27:21 +01:00
Khoubza Younes 05837bf94a fix github workflow 2020-12-06 21:27:21 +01:00
Khoubza Younes 9dbcf3e104 fix github workflow 2020-12-06 21:27:21 +01:00
Khoubza Younes 37a4d60b23 fix github workflow 2020-12-06 21:27:21 +01:00
Khoubza Younes 80332faef6 fix github workflow 2020-12-06 21:27:21 +01:00
Khoubza Younes ca4ce1e397 fix github workflow 2020-12-06 21:27:21 +01:00
Khoubza Younes aeb4452b72 fix github workflow 2020-12-06 21:27:21 +01:00
Khoubza Younes 7415c24e3b fix github workflow 2020-12-06 21:27:21 +01:00
Khoubza Younes 30a46a1a74 fix github workflow 2020-12-06 21:27:21 +01:00
Khoubza Younes 6819a5677b fix github workflow 2020-12-06 21:27:21 +01:00
Khoubza Younes bcf169bc19 fix github workflow 2020-12-06 21:27:21 +01:00
Khoubza Younes 57a7b5db55 fix github workflow 2020-12-06 21:27:21 +01:00
Khoubza Younes 23fc39806c fix github workflow 2020-12-06 21:27:21 +01:00
Khoubza Younes a28fd3c6ba fix github workflow 2020-12-06 21:27:21 +01:00
Khoubza Younes 277c5ebf5b fix github workflow 2020-12-06 21:27:21 +01:00
Khoubza Younes 3126aced13 fix github workflow 2020-12-06 21:27:21 +01:00
Khoubza Younes 0618a8348d fix github workflow 2020-12-06 21:24:42 +01:00
Khoubza Younes 5db77c2066 fix github workflow 2020-12-06 21:24:42 +01:00
Khoubza Younes 2ab7a309e9 fix github workflow 2020-12-06 21:21:33 +01:00
Khoubza Younes 61bb606d8d fix github workflow 2020-12-06 21:21:33 +01:00
Khoubza Younes 45091b0179 update github worklow.yaml 2020-12-06 21:19:35 +01:00
Khoubza Younes 583ba76cf6 update github worklow.yaml 2020-12-06 21:19:35 +01:00
Khoubza Younes 780befdccf update github worklow.yaml 2020-12-06 21:19:35 +01:00
Khoubza Younes 4e55d927e1 update github worklow.yaml 2020-12-06 21:19:35 +01:00
Khoubza Younes 5f372a387e update github worklow.yaml 2020-12-06 21:19:35 +01:00
Khoubza Younes ea6c129a7f update github worklow.yaml 2020-12-06 21:19:35 +01:00
Khoubza Younes eda9a6bf85 fix github workflow 2020-12-06 21:04:59 +01:00
Khoubza Younes 360732567c fix github workflow 2020-12-06 21:04:59 +01:00
Khoubza Younes 272fb0a375 fix github workflow 2020-12-06 21:04:59 +01:00
Khoubza Younes e98e8ac381 fix github workflow 2020-12-06 21:04:59 +01:00
Khoubza Younes 316b2be06f fix github workflow 2020-12-06 21:04:59 +01:00
Khoubza Younes 363f288ce8 fix github workflow 2020-12-06 21:04:59 +01:00
Khoubza Younes 89ad3ac8e6 fix phpunit version 2020-12-06 21:02:07 +01:00
Khoubza Younes e26e065fbe fix phpunit version 2020-12-06 21:02:07 +01:00
Khoubza Younes 79a6141cc2 fix phpunit version 2020-12-06 21:02:07 +01:00
Khoubza Younes 73a1329ce9 fix phpunit version 2020-12-06 21:02:07 +01:00
Khoubza Younes a9082c5fc3 fix phpunit version 2020-12-06 21:02:07 +01:00
Khoubza Younes 9064e82a62 fix phpunit version 2020-12-06 21:02:07 +01:00
Khoubza Younes 8d110f73ab remove helpers.php from composer.json 2020-12-06 20:56:39 +01:00
Khoubza Younes 3a3b842b03 remove helpers.php from composer.json 2020-12-06 20:56:39 +01:00
Khoubza Younes dc73732d92 update github worklow.yaml 2020-12-06 19:39:19 +01:00
Khoubza Younes ab0eff3b28 update github worklow.yaml 2020-12-06 19:39:19 +01:00
Khoubza Younes ee6d92c674 update github worklow.yaml 2020-12-06 19:39:19 +01:00
Khoubza Younes fae720bc57 update github worklow.yaml 2020-12-06 19:39:19 +01:00
Khoubza Younes 0232f473f5 update github worklow.yaml 2020-12-06 19:39:19 +01:00
Khoubza Younes 4347f1b77f update github worklow.yaml 2020-12-06 19:39:19 +01:00
Khoubza Younes 833f557470 update github worklow.yaml 2020-12-06 19:39:19 +01:00
Khoubza Younes 33c9ee0634 update github worklow.yaml 2020-12-06 19:39:19 +01:00
Khoubza Younes 3a41ed8ebc update github worklow.yaml 2020-12-06 19:39:19 +01:00
Khoubza Younes 64629b4fb7 update github worklow.yaml 2020-12-06 19:39:19 +01:00
Khoubza Younes f568f339f2 update github worklow.yaml 2020-12-06 19:39:19 +01:00
Khoubza Younes 130be14d57 fix all tests 2020-12-06 19:33:03 +01:00
Khoubza Younes c92c56dc1c fix all tests 2020-12-06 19:33:03 +01:00
Khoubza Younes 9a01018621 fix all tests 2020-12-06 19:33:03 +01:00
Khoubza Younes b99e2f5d06 fix all tests 2020-12-06 19:33:03 +01:00
Khoubza Younes 248bca690c fix all tests 2020-12-06 19:33:03 +01:00
Khoubza Younes 21643136f7 fix all tests 2020-12-06 19:33:03 +01:00
Khoubza Younes 95c89579c7 fix all tests 2020-12-06 19:33:03 +01:00
Khoubza Younes 6630f5a7f2 fix all tests 2020-12-06 19:33:03 +01:00
Khoubza Younes 6f986d22a2 fix all tests 2020-12-06 19:33:03 +01:00
Khoubza Younes 5e7c7ad9e5 fix all tests 2020-12-06 19:33:03 +01:00
Khoubza Younes 9a7bf9a70b fix all tests 2020-12-06 19:33:03 +01:00
Khoubza Younes b73c8c87fb fix all tests 2020-12-06 19:33:03 +01:00
Khoubza Younes bf46ae41be fix all tests 2020-12-06 19:33:03 +01:00
Khoubza Younes b331223d5b fix tests for toastr laravel 2020-12-06 19:16:55 +01:00
Khoubza Younes cf3a5f3d71 fix tests for toastr laravel 2020-12-06 19:16:55 +01:00
Khoubza Younes 1e6207c340 fix test for flasher laravel 2020-12-06 19:11:13 +01:00
Khoubza Younes 0710541418 fix test for flasher laravel 2020-12-06 19:11:13 +01:00
Khoubza Younes 30f0f2a774 fix test for flasher laravel 2020-12-06 19:11:13 +01:00
Khoubza Younes bb9b91561b fix test for flasher laravel 2020-12-06 19:11:13 +01:00
Khoubza Younes 97570ea4c6 fix test for flasher prime 2020-12-06 18:48:56 +01:00
Khoubza Younes ef0290bf31 fix test for flasher prime 2020-12-06 18:48:56 +01:00
Khoubza Younes d9b199144b fix composer.json psr-4 autoloading 2020-12-06 18:29:43 +01:00
Khoubza Younes f6602a67b0 fix composer.json psr-4 autoloading 2020-12-06 18:29:43 +01:00
Khoubza Younes 386bfc5cad fix composer.json psr-4 autoloading 2020-12-06 18:29:43 +01:00
Khoubza Younes ad0d43f7b1 fix composer.json psr-4 autoloading 2020-12-06 18:29:43 +01:00
Khoubza Younes 16fef63429 fix composer.json psr-4 autoloading 2020-12-06 18:29:43 +01:00
Khoubza Younes a298bdbd3a fix composer.json psr-4 autoloading 2020-12-06 18:29:43 +01:00
Khoubza Younes eaf7741ece fix composer.json psr-4 autoloading 2020-12-06 18:29:43 +01:00
Khoubza Younes 59cb677e91 fix composer.json psr-4 autoloading 2020-12-06 18:29:43 +01:00
Khoubza Younes f426fd3590 fix composer.json psr-4 autoloading 2020-12-06 18:29:43 +01:00
Khoubza Younes 8cbfbd9d16 fix composer.json psr-4 autoloading 2020-12-06 18:29:43 +01:00
Khoubza Younes bdcb5d1f11 fix composer.json psr-4 autoloading 2020-12-06 18:29:43 +01:00
Khoubza Younes 020f44ead7 fix composer.json psr-4 autoloading 2020-12-06 18:29:43 +01:00
Khoubza Younes b7f08bb36b fix composer.json psr-4 autoloading 2020-12-06 18:29:43 +01:00
Khoubza Younes 465e5b7b98 fix composer.json psr-4 autoloading 2020-12-06 18:29:43 +01:00
Khoubza Younes 6293a17743 fix composer.json psr-4 autoloading 2020-12-06 18:29:43 +01:00
Khoubza Younes 652263c6f3 fix composer.json psr-4 autoloading 2020-12-06 18:29:43 +01:00
Khoubza Younes ce9bc547d2 init fix tests 2020-12-06 18:10:44 +01:00
Khoubza Younes 55ddefe2a6 init fix tests 2020-12-06 18:10:44 +01:00
Khoubza Younes 9fcb224750 init fix tests 2020-12-06 18:10:44 +01:00
Khoubza Younes af8212c600 init fix tests 2020-12-06 18:10:44 +01:00
Khoubza Younes 4cb2fe47c9 update namespaces 2020-12-06 17:29:32 +01:00
Khoubza Younes f09e0fbf96 update namespaces 2020-12-06 17:29:32 +01:00
Khoubza Younes 28873d9c19 update namespaces 2020-12-06 17:29:32 +01:00
Khoubza Younes ba8e1bb44c update namespaces 2020-12-06 17:29:32 +01:00
Khoubza Younes a817fe603e update namespaces 2020-12-06 17:29:32 +01:00
Khoubza Younes cdbf84b08a update namespaces 2020-12-06 17:29:32 +01:00
Khoubza Younes 448a79d7d9 update namespaces 2020-12-06 17:29:32 +01:00
Khoubza Younes 196d8a1164 update namespaces 2020-12-06 17:29:32 +01:00
Khoubza Younes a8ba928464 update namespaces 2020-12-06 17:29:32 +01:00
Khoubza Younes b4506620d3 update namespaces 2020-12-06 17:29:32 +01:00
Khoubza Younes eaddc70285 update namespaces 2020-12-06 17:29:32 +01:00
Khoubza Younes f84b0078c2 update namespaces 2020-12-06 17:29:32 +01:00
Khoubza Younes 329c4f2bc1 update namespaces 2020-12-06 17:29:32 +01:00
Khoubza Younes 6e2d401d21 update namespaces 2020-12-06 17:29:32 +01:00
Khoubza Younes c195da0733 update namespaces 2020-12-06 17:29:32 +01:00
Khoubza Younes 8982c1c263 update namespaces 2020-12-06 17:29:32 +01:00
Khoubza Younes d4b897067a update composer.json 2020-12-06 16:34:11 +01:00
Khoubza Younes c7ded024ac update composer.json 2020-12-06 16:34:11 +01:00
Khoubza Younes 7e20c0b072 update composer.json 2020-12-06 16:34:11 +01:00
Khoubza Younes 88e04e3ba1 update composer.json 2020-12-06 16:34:11 +01:00
Khoubza Younes 88873bc5ab update composer.json 2020-12-06 16:34:11 +01:00
Khoubza Younes 90b3f4fa78 update composer.json 2020-12-06 16:34:11 +01:00
Khoubza Younes ff3b03fa56 clean up config and add delay stamp 2020-12-06 14:04:54 +01:00
Khoubza Younes cf045ec505 clean up config and add delay stamp 2020-12-06 14:04:54 +01:00
Khoubza Younes d83147aab0 clean up config and add delay stamp 2020-12-06 14:04:54 +01:00
Khoubza Younes 7482f1dbc0 remove rendered at stamp middleware and fix storage add method 2020-12-06 06:39:07 +01:00
Khoubza Younes f69d708477 remove rendered at stamp middleware and fix storage add method 2020-12-06 06:39:07 +01:00
Khoubza Younes a244ff8a37 remove rendered at stamp middleware and fix storage add method 2020-12-06 06:39:07 +01:00
Khoubza Younes 183f16485b add phpdoc and phpstorm autocomplete 2020-12-06 06:23:34 +01:00
Khoubza Younes a9e441ca86 add phpdoc and phpstorm autocomplete 2020-12-06 06:23:34 +01:00
Khoubza Younes 3a9c6dcf4f add phpdoc and phpstorm autocomplete 2020-12-06 06:23:34 +01:00
Khoubza Younes 25c27e00f5 update toastr builder options 2020-12-06 05:47:22 +01:00
Khoubza Younes b853863932 update toastr builder options 2020-12-06 05:47:22 +01:00
Khoubza Younes 9eec400167 fix event dispatcher and call the storage service 2020-12-06 04:03:14 +01:00
Khoubza Younes 57c3f7fe9d fix event dispatcher and call the storage service 2020-12-06 04:03:14 +01:00
Khoubza Younes 9349ce6674 fix event dispatcher and call the storage service 2020-12-06 04:03:14 +01:00
Khoubza Younes bb1c17c4ce fix event dispatcher and call the storage service 2020-12-06 04:03:14 +01:00
Khoubza Younes adc5f87885 fix event dispatcher and call the storage service 2020-12-06 04:03:14 +01:00
Khoubza Younes 7c2937e041 fix event dispatcher and call the storage service 2020-12-06 04:03:14 +01:00
Khoubza Younes da28d49d6d fix event dispatcher and call the storage service 2020-12-06 04:03:14 +01:00
Khoubza Younes 7c0df1b28f fix event dispatcher and call the storage service 2020-12-06 04:03:14 +01:00
Khoubza Younes 629f6a0927 fix event dispatcher and call the storage service 2020-12-06 04:03:14 +01:00
Khoubza Younes 5e00bbdeee fix event dispatcher and call the storage service 2020-12-06 04:03:14 +01:00
Khoubza Younes 3a487a3702 fix event dispatcher and call the storage service 2020-12-06 04:03:14 +01:00
Khoubza Younes 5fa41f3e67 fix event dispatcher and call the storage service 2020-12-06 04:03:14 +01:00
Khoubza Younes 1d0c60a5f7 fix event dispatcher and call the storage service 2020-12-06 04:03:14 +01:00
Khoubza Younes abec490201 fix event dispatcher and call the storage service 2020-12-06 04:03:14 +01:00
Khoubza Younes 45faccced7 fix event dispatcher and call the storage service 2020-12-06 04:03:14 +01:00
Khoubza Younes 10e1ec7aa0 update events 2020-12-04 13:36:17 +01:00
Khoubza Younes 6079871972 update events 2020-12-04 13:36:17 +01:00
Khoubza Younes 3091013c39 remove unused events and notification builder add hops, priority, keep methods 2020-12-04 10:52:01 +01:00
Khoubza Younes 7e31e4abb1 remove unused events and notification builder add hops, priority, keep methods 2020-12-04 10:52:01 +01:00
KHOUBZA Younes 3d0f481656 add dispatcher priority 2020-12-03 10:11:36 +01:00
KHOUBZA Younes 5f386cd0d4 add dispatcher priority 2020-12-03 10:11:36 +01:00
KHOUBZA Younes 431cdcddfc update namespace 2020-12-03 09:15:47 +01:00
KHOUBZA Younes 8167f45cbd update namespace 2020-12-03 09:15:47 +01:00
KHOUBZA Younes 33e9b5ccf1 update namespace 2020-12-03 09:15:47 +01:00
KHOUBZA Younes 0654537fe0 update namespace 2020-12-03 09:15:47 +01:00
KHOUBZA Younes 0b6f2c3941 update namespace 2020-12-03 09:15:47 +01:00
KHOUBZA Younes 99d083b005 update namespace 2020-12-03 09:15:47 +01:00
KHOUBZA Younes 5b6ce0c7d3 update namespace 2020-12-03 09:15:47 +01:00
KHOUBZA Younes 977ee004a7 update namespace 2020-12-03 09:15:47 +01:00
KHOUBZA Younes 0314b2c712 update namespace 2020-12-03 09:15:47 +01:00
KHOUBZA Younes 0b3a585687 update namespace 2020-12-03 09:15:47 +01:00
KHOUBZA Younes 99f68a2dee update namespace 2020-12-03 09:15:47 +01:00
KHOUBZA Younes 26d4ca787f update namespace 2020-12-03 09:15:47 +01:00
KHOUBZA Younes 045cadcdcf update namespace 2020-12-03 09:15:47 +01:00
KHOUBZA Younes f912a7b32f add php-notify classes and rename namespaces 2020-12-02 00:57:12 +01:00
KHOUBZA Younes 948394bb1e add php-notify classes and rename namespaces 2020-12-02 00:57:12 +01:00
KHOUBZA Younes eeb7cb2592 add php-notify classes and rename namespaces 2020-12-02 00:57:12 +01:00
KHOUBZA Younes c106174ba0 add php-notify classes and rename namespaces 2020-12-02 00:57:12 +01:00
KHOUBZA Younes 6eae505680 add php-notify classes and rename namespaces 2020-12-02 00:57:12 +01:00
KHOUBZA Younes 723135b615 add php-notify classes and rename namespaces 2020-12-02 00:57:12 +01:00
KHOUBZA Younes c8f0bcbcdf add php-notify classes and rename namespaces 2020-12-02 00:57:12 +01:00
KHOUBZA Younes 5f6088a7cb add php-notify classes and rename namespaces 2020-12-02 00:57:12 +01:00
KHOUBZA Younes fcac94ecf7 add php-notify classes and rename namespaces 2020-12-02 00:57:12 +01:00
KHOUBZA Younes ab48dce68a add php-notify classes and rename namespaces 2020-12-02 00:57:12 +01:00
KHOUBZA Younes b2a780ae4a add php-notify classes and rename namespaces 2020-12-02 00:57:12 +01:00
KHOUBZA Younes 8ce7b34fe0 add php-notify classes and rename namespaces 2020-12-02 00:57:12 +01:00
KHOUBZA Younes d09b15c7e4 add php-notify classes and rename namespaces 2020-12-02 00:57:12 +01:00
KHOUBZA Younes 0ff63daa2a add php-notify classes and rename namespaces 2020-12-02 00:57:12 +01:00
KHOUBZA Younes 03895823a5 add php-notify classes and rename namespaces 2020-12-02 00:57:12 +01:00
KHOUBZA Younes 7bac48ac2b add php-notify classes and rename namespaces 2020-12-02 00:57:12 +01:00
KHOUBZA Younes c5069b5c48 first commit 2020-12-01 21:50:13 +01:00
1263 changed files with 155332 additions and 1145 deletions
+19
View File
@@ -0,0 +1,19 @@
--ignore-dir=.idea
--ignore-dir=.cache
--ignore-dir=vendor
--ignore-dir=yoeunes
--ignore-dir=node_modules
--ignore-dir=demo/laravel/vendor
--ignore-dir=demo/laravel/node_modules
--ignore-dir=demo/laravel/storage
--ignore-dir=demo/laravel/bootstrap/cache
--ignore-dir=demo/symfony/vendor
--ignore-dir=demo/symfony/node_modules
--ignore-dir=demo/symfony/var
--ignore-dir=docs/.jekyll-cache
--ignore-dir=docs/_site
--ignore-dir=docs/node_modules
--ignore-dir=docs/dist
+109
View File
@@ -0,0 +1,109 @@
{
"projectName": "php-flasher",
"projectOwner": "php-flasher",
"repoType": "github",
"repoHost": "https://github.com",
"files": [
"README.md"
],
"imageSize": 100,
"commit": false,
"commitConvention": "angular",
"contributorsPerLine": 7,
"linkToUsage": false,
"contributors": [
{
"login": "yoeunes",
"name": "Younes ENNAJI",
"avatar_url": "https://avatars.githubusercontent.com/u/10859693?v=4",
"profile": "https://www.linkedin.com/in/younes--ennaji/",
"contributions": [
"code",
"doc",
"maintenance"
]
},
{
"login": "salmayno",
"name": "Salma Mourad",
"avatar_url": "https://avatars.githubusercontent.com/u/27933199?v=4",
"profile": "https://github.com/salmayno",
"contributions": [
"financial"
]
},
{
"login": "codenashwan",
"name": "Nashwan Abdullah",
"avatar_url": "https://avatars.githubusercontent.com/u/35005761?v=4",
"profile": "https://www.youtube.com/rstacode",
"contributions": [
"financial"
]
},
{
"login": "darviscommerce",
"name": "Arvid de Jong",
"avatar_url": "https://avatars.githubusercontent.com/u/7394837?v=4",
"profile": "https://darvis.nl/",
"contributions": [
"financial"
]
},
{
"login": "ash-jc-allen",
"name": "Ash Allen",
"avatar_url": "https://avatars.githubusercontent.com/u/39652331?v=4",
"profile": "https://ashallendesign.co.uk/",
"contributions": [
"design"
]
},
{
"login": "murrant",
"name": "Tony Murray",
"avatar_url": "https://avatars.githubusercontent.com/u/39462?v=4",
"profile": "https://about.me/murrant",
"contributions": [
"code"
]
},
{
"login": "n3wborn",
"name": "Stéphane P",
"avatar_url": "https://avatars.githubusercontent.com/u/10246722?v=4",
"profile": "https://github.com/n3wborn",
"contributions": [
"doc"
]
},
{
"login": "LucasStorm",
"name": "Lucas Maciel",
"avatar_url": "https://avatars.githubusercontent.com/u/80225404?v=4",
"profile": "https://www.instagram.com/lucas.maciel_z",
"contributions": [
"design"
]
},
{
"login": "AhmedGamal",
"name": "Ahmed Gamal",
"avatar_url": "https://avatars.githubusercontent.com/u/11786167?v=4",
"profile": "https://github.com/AhmedGamal",
"contributions": [
"code",
"doc"
]
},
{
"login": "BrookeDot",
"name": "Brooke.",
"avatar_url": "https://avatars.githubusercontent.com/u/150348?v=4",
"profile": "https://github.com/BrookeDot",
"contributions": [
"doc"
]
}
]
}
+3
View File
@@ -0,0 +1,3 @@
{
"presets": [["@babel/env", { "modules": false }]]
}
+4
View File
@@ -0,0 +1,4 @@
> 1%
last 2 versions
not dead
not IE 11
View File
+22
View File
@@ -0,0 +1,22 @@
; This file is for unifying the coding style for different editors and IDEs.
; More information at http://editorconfig.org
root = true
[*]
charset = utf-8
indent_size = 4
indent_style = space
end_of_line = lf
insert_final_newline = true
trim_trailing_whitespace = true
[*.md]
max_line_length = 0
trim_trailing_whitespace = false
[auto_closer.yaml]
indent_size = 2
[COMMIT_EDITMSG]
max_line_length = 0
+3
View File
@@ -0,0 +1,3 @@
**/node_modules
src/**/Resources/public/**
src/**/Resources/dist/**
+14 -11
View File
@@ -1,13 +1,16 @@
* text=auto
# Path-based git attributes
# https://www.kernel.org/pub/software/scm/git/docs/gitattributes.html
*.css diff=css
*.md diff=markdown
*.php diff=php
# Ignore all test and documentation with "export-ignore".
/.gitattributes export-ignore
/.gitignore export-ignore
/.travis.yml export-ignore
/phpunit.xml.dist export-ignore
/.scrutinizer.yml export-ignore
/.styleci.yml export-ignore
/tests export-ignore
/.editorconfig export-ignore
/.github export-ignore
/bin export-ignore
/tests export-ignore
/.editorconfig export-ignore
/.gitattributes export-ignore
/.gitignore export-ignore
/CHANGELOG-* export-ignore
/CODE_OF_CONDUCT.md export-ignore
/CONTRIBUTING.md export-ignore
/phpunit.xml.dist export-ignore
+1 -5
View File
@@ -1,5 +1 @@
# These are supported funding model platforms
patreon: yoeunes
ko_fi: yoeunes
custom: ['https://www.paypal.com/paypalme/yoeunes']
github: yoeunes
+83
View File
@@ -0,0 +1,83 @@
name: 🚀 Publish assets to NPM
on:
release:
types: [ published ]
jobs:
test:
runs-on: ubuntu-latest
name: Run Tests Before Publishing
steps:
- name: 📥 Checkout Code
uses: actions/checkout@v4
- name: 🔧 Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20.x'
cache: 'npm'
- name: 📦 Install Dependencies
run: npm ci
- name: ✅ Run Tests
run: npm run test
publish-prime:
needs: test
runs-on: ubuntu-latest
defaults:
run:
working-directory: ./src/Prime/Resources
permissions:
contents: read
id-token: write
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: '20.x'
registry-url: 'https://registry.npmjs.org'
- name: Install dependencies
run: npm install
- name: Publish to NPM
run: npm publish --access public
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
publish-plugin:
needs: test
runs-on: ubuntu-latest
permissions:
contents: read
id-token: write
strategy:
fail-fast: false
matrix:
path:
- ./src/Noty/Prime/Resources
- ./src/Notyf/Prime/Resources
- ./src/SweetAlert/Prime/Resources
- ./src/Toastr/Prime/Resources
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: '20.x'
registry-url: 'https://registry.npmjs.org'
- name: Install dependencies
run: npm install
working-directory: ${{ matrix.path }}
- name: Publish to NPM
run: npm publish --access public
working-directory: ${{ matrix.path }}
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
+214 -84
View File
@@ -1,103 +1,233 @@
name: Running tests
name: qa
on:
push:
branches:
- main
- 2.x
pull_request:
schedule:
- cron: '0 * * * *'
- cron: '0 0 * * *' # Daily at midnight
jobs:
test:
javascript-tests:
runs-on: ubuntu-latest
strategy:
fail-fast: true
matrix:
symfony: [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.*]
include:
- 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
name: S${{ matrix.symfony }} - P${{ matrix.php }}
name: JavaScript Tests
steps:
- name: Checkout code
uses: actions/checkout@v1
- name: 📥 Checkout Code
uses: actions/checkout@v4
- name: Cache dependencies
uses: actions/cache@v1
- name: 🔧 Setup Node.js
uses: actions/setup-node@v4
with:
path: ~/.composer/cache/files
key: dependencies-symfony-${{ matrix.symfony }}-php-${{ matrix.php }}-composer-${{ hashFiles('composer.json') }}
node-version: '20.x'
cache: 'npm'
- name: Setup PHP
- name: 📦 Install Dependencies
run: npm ci
- name: ✅ Run Tests
run: npm run test
- name: 📊 Run Coverage
run: npm run test:coverage
static-analysis:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
php: [ 8.2 ]
name: php v${{ matrix.php }}
steps:
- name: 📥 Checkout Code
uses: actions/checkout@v4
- 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 }}" --no-interaction --no-update
composer config extra.symfony.require "${{ matrix.symfony }}"
composer update --prefer-dist --no-interaction --no-suggest
- name: 🚚 Cache Composer Dependencies
uses: actions/cache@v4
with:
path: ~/.composer/cache
key: ${{ runner.os }}-composer-${{ matrix.php }}-${{ hashFiles('composer.json') }}
restore-keys: ${{ runner.os }}-composer-${{ matrix.php }}-
- name: Execute tests
run: vendor/bin/phpunit
- name: 📦 Install Dependencies
run: |
composer config --global allow-plugins true
composer install --no-interaction --prefer-dist --optimize-autoloader
- name: 🧹 Run PHP CS Fixer (Code Style)
run: vendor/bin/php-cs-fixer fix --dry-run --diff
- name: 🔍 Run PHPStan (Static Analysis)
run: vendor/bin/phpstan analyse --no-progress
- name: 🚀 Run PHPLint (Syntax Check)
run: vendor/bin/phplint
prime-test:
needs: static-analysis
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
include:
- { php: 8.4, phpunit: 10.5.* }
- { php: 8.3, phpunit: 10.5.* }
- { php: 8.2, phpunit: 10.5.* }
name: php v${{ matrix.php }}
steps:
- name: 📥 Checkout code
uses: actions/checkout@v4
- name: 🔧 Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php }}
coverage: none
- name: 🚚 Cache dependencies
uses: actions/cache@v4
with:
path: ~/.composer/cache
key: ${{ runner.os }}-composer-${{ matrix.php }}-${{ hashFiles('composer.json') }}
restore-keys: ${{ runner.os }}-composer-${{ matrix.php }}-
- name: 📦 Install dependencies
run: |
sed -i '/"require": {/,/},/d; /"require-dev": {/,/},/d' composer.json
composer config --global allow-plugins true
composer require "phpunit/phpunit:${{ matrix.phpunit }}" "mockery/mockery" "psr/container" --no-interaction --no-update
composer update --prefer-lowest -W --no-interaction --prefer-dist --optimize-autoloader
- name: ✅ Execute tests
run: vendor/bin/phpunit --testsuite prime
symfony-test:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
include:
- { symfony: 8.0.x-dev, php: 8.4, phpunit: 10.5.* }
- { symfony: 7.4.x-dev, php: 8.2, phpunit: 10.5.* }
- { symfony: 7.3.*, php: 8.5, phpunit: 10.5.* }
- { symfony: 7.3.*, php: 8.4, phpunit: 10.5.* }
- { symfony: 7.3.*, php: 8.3, phpunit: 10.5.* }
- { symfony: 7.3.*, php: 8.2, phpunit: 10.5.* }
- { symfony: 7.2.*, php: 8.2, phpunit: 10.5.* }
- { symfony: 7.1.*, php: 8.2, phpunit: 10.5.* }
- { symfony: 7.0.*, php: 8.2, phpunit: 10.5.* }
name: symfony v${{ matrix.symfony }} x php v${{ matrix.php }}
steps:
- name: 📥 Checkout code
uses: actions/checkout@v4
- name: 🔧 Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php }}
coverage: none
- name: 🚚 Cache dependencies
uses: actions/cache@v4
with:
path: ~/.composer/cache
key: ${{ runner.os }}-composer-${{ matrix.php }}-${{ hashFiles('composer.json') }}
restore-keys: ${{ runner.os }}-composer-${{ matrix.php }}-
- name: 📦 Install dependencies
run: |
sed -i '/"require": {/,/},/d; /"require-dev": {/,/},/d' composer.json
composer config --global allow-plugins true
composer config extra.symfony.require "${{ matrix.symfony }}"
if [[ "${{ matrix.symfony }}" == *"-dev"* ]]; then
echo "Setting minimum-stability to dev for ${{ matrix.symfony }}"
composer config minimum-stability "dev"
composer config prefer-stable true
fi
composer require "symfony/config:${{ matrix.symfony }}" "symfony/console:${{ matrix.symfony }}" "symfony/dependency-injection:${{ matrix.symfony }}" "symfony/framework-bundle:${{ matrix.symfony }}" "symfony/http-kernel:${{ matrix.symfony }}" "symfony/translation:${{ matrix.symfony }}" "symfony/twig-bundle:${{ matrix.symfony }}" "phpunit/phpunit:${{ matrix.phpunit }}" "mockery/mockery" "psr/container" "monolog/monolog" --no-interaction --no-update
if [[ "${{ matrix.symfony }}" == *"-dev"* ]]; then
echo "Running composer update (latest dependencies)"
composer update -W --no-interaction --prefer-dist --optimize-autoloader
else
echo "Running composer update --prefer-lowest"
composer update --prefer-lowest -W --no-interaction --prefer-dist --optimize-autoloader
fi
- name: ✅ Execute tests
run: vendor/bin/phpunit --testsuite symfony
laravel-test:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
include:
- { laravel: 13.x-dev, testbench: 11.x-dev, php: 8.5, phpunit: 11.5.* }
- { laravel: 13.x-dev, testbench: 11.x-dev, php: 8.4, phpunit: 11.5.* }
- { laravel: 13.x-dev, testbench: 11.x-dev, php: 8.3, phpunit: 11.5.* }
- { laravel: 12.*, testbench: 10.*, php: 8.5, phpunit: 11.5.* }
- { laravel: 12.*, testbench: 10.*, php: 8.4, phpunit: 11.5.* }
- { laravel: 12.*, testbench: 10.*, php: 8.3, phpunit: 11.5.* }
- { laravel: 12.*, testbench: 10.*, php: 8.2, phpunit: 11.5.* }
- { laravel: 11.*, testbench: 9.*, php: 8.2, phpunit: 10.5.* }
name: laravel v${{ matrix.laravel }} x php v${{ matrix.php }}
steps:
- name: 📥 Checkout code
uses: actions/checkout@v4
- name: 🔧 Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php }}
extensions: fileinfo
coverage: none
- name: 🚚 Cache dependencies
uses: actions/cache@v4
with:
path: ~/.composer/cache
key: ${{ matrix.php }}-composer-${{ hashFiles('composer.json') }}
restore-keys: ${{ matrix.php }}-composer
- name: 📦 Install dependencies
run: |
sed -i '/\"require\": {/,/},/d; /\"require-dev\": {/,/},/d' composer.json
composer config --global allow-plugins true
if [[ "${{ matrix.laravel }}" == *"-dev"* ]]; then
echo "Setting minimum-stability to dev for ${{ matrix.laravel }}"
composer config minimum-stability "dev"
composer config prefer-stable true
fi
composer require "laravel/framework:${{ matrix.laravel }}" "phpunit/phpunit:${{ matrix.phpunit }}" "orchestra/testbench:${{ matrix.testbench }}" --no-interaction --no-update
if [[ "${{ matrix.laravel }}" == *"-dev"* ]]; then
echo "Running composer update (latest dependencies)"
composer update -W --no-interaction --prefer-dist --optimize-autoloader
else
echo "Running composer update --prefer-lowest"
composer update --prefer-lowest -W --no-interaction --prefer-dist --optimize-autoloader
fi
- name: ✅ Execute tests
run: vendor/bin/phpunit --testsuite laravel
+27 -5
View File
@@ -1,5 +1,27 @@
.idea/
vendor/
composer.lock
.phpunit.result.cache
.phpcs-cache
/.idea/
/.DS_Store
/vendor/
/node_modules/
/coverage/
/.cache/php-cs-fixer/
/.cache/phplint/
/.cache/phpstan/
/.cache/phpunit/
/.php-cs-fixer.php
/phpunit.xml
/taskfile.yml
/phpstan.neon
/demo/laravel/node_modules/
/demo/symfony/node_modules/
/npm-debug.log
/tests/Symfony/Fixtures/project/public/vendor/
src/**/vendor/
src/**/composer.lock
+7
View File
@@ -0,0 +1,7 @@
{
"upgrade": true,
"target": "semver",
"format": "group",
"color": true,
"root": true
}
+1
View File
@@ -0,0 +1 @@
23.0.0
+40
View File
@@ -0,0 +1,40 @@
<?php
declare(strict_types=1);
use PhpCsFixer\Config;
use PhpCsFixer\Finder;
use PhpCsFixer\Runner\Parallel\ParallelConfigFactory;
$finder = Finder::create()
->in([
__DIR__.'/src',
__DIR__.'/tests',
__DIR__.'/phpstorm',
])
->append([__FILE__])
;
return (new Config())
->setParallelConfig(ParallelConfigFactory::detect())
->setRiskyAllowed(true)
->setRules([
'@PSR12' => true,
'declare_strict_types' => true,
'@PHP71Migration' => true,
'@PHPUnit75Migration:risky' => true,
'@Symfony' => true,
'@Symfony:risky' => true,
'protected_to_private' => false,
'native_constant_invocation' => ['strict' => false],
'no_superfluous_phpdoc_tags' => [
'remove_inheritdoc' => true,
'allow_unused_params' => true, // for future-ready params, to be replaced with https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues/7377
],
'modernize_strpos' => true,
'get_class_to_class_keyword' => true,
'nullable_type_declaration' => true,
'trailing_comma_in_multiline' => ['elements' => ['arrays', 'match', 'parameters']],
])
->setFinder($finder)
->setCacheFile('.cache/php-cs-fixer/cache.json');
+1
View File
@@ -0,0 +1 @@
8.2
-625
View File
@@ -1,625 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<ruleset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="https://raw.githubusercontent.com/squizlabs/PHP_CodeSniffer/master/phpcs.xsd"
>
<arg name="basepath" value="."/>
<arg name="extensions" value="php"/>
<arg name="parallel" value="80"/>
<arg name="cache" value=".phpcs-cache"/>
<arg name="colors"/>
<!-- Ignore warnings, show progress of the run and show sniff names -->
<arg value="nps"/>
<!-- Directories to be checked -->
<file>src</file>
<file>tests</file>
<!-- Import PSR-12 coding standard (base) -->
<rule ref="PSR12"/>
<!-- Force array element indentation with 4 spaces -->
<rule ref="Generic.Arrays.ArrayIndent"/>
<!-- Forbid `[...]` -->
<rule ref="Generic.Arrays.DisallowShortArraySyntax"/>
<!-- Forbid duplicate classes -->
<rule ref="Generic.Classes.DuplicateClassName"/>
<!-- Forbid empty statements -->
<rule ref="Generic.CodeAnalysis.EmptyStatement">
<!-- But allow empty catch -->
<exclude name="Generic.CodeAnalysis.EmptyStatement.DetectedCatch"/>
</rule>
<!-- Forbid final methods in final classes -->
<rule ref="Generic.CodeAnalysis.UnnecessaryFinalModifier"/>
<!-- Forbid useless empty method overrides -->
<rule ref="Generic.CodeAnalysis.UselessOverridingMethod"/>
<!-- Align corresponding assignment statement tokens -->
<rule ref="Generic.Formatting.MultipleStatementAlignment">
<properties>
<property name="error" value="true"/>
</properties>
</rule>
<!-- Force whitespace after a type cast -->
<rule ref="Generic.Formatting.SpaceAfterCast">
<properties>
<property name="spacing" value="0"/>
</properties>
</rule>
<!-- Force whitespace after `!` -->
<!-- <rule ref="Generic.Formatting.SpaceAfterNot"/> -->
<!-- Forbid PHP 4 constructors -->
<rule ref="Generic.NamingConventions.ConstructorName"/>
<!-- Forbid any content before opening tag -->
<rule ref="Generic.PHP.CharacterBeforePHPOpeningTag"/>
<!-- Forbid deprecated functions -->
<rule ref="Generic.PHP.DeprecatedFunctions"/>
<!-- Forbid alias functions, i.e. `sizeof()`, `delete()` -->
<rule ref="Generic.PHP.ForbiddenFunctions">
<properties>
<property name="forbiddenFunctions" type="array">
<element key="chop" value="rtrim"/>
<element key="close" value="closedir"/>
<element key="compact" value="null"/>
<element key="delete" value="unset"/>
<element key="doubleval" value="floatval"/>
<element key="extract" value="null"/>
<element key="fputs" value="fwrite"/>
<element key="ini_alter" value="ini_set"/>
<element key="is_double" value="is_float"/>
<element key="is_integer" value="is_int"/>
<element key="is_long" value="is_int"/>
<element key="is_null" value="null"/>
<element key="is_real" value="is_float"/>
<element key="is_writeable" value="is_writable"/>
<element key="join" value="implode"/>
<element key="key_exists" value="array_key_exists"/>
<element key="pos" value="current"/>
<element key="settype" value="null"/>
<element key="show_source" value="highlight_file"/>
<element key="sizeof" value="count"/>
<element key="strchr" value="strstr"/>
<element key="user_error" value="trigger_error"/>
</property>
</properties>
</rule>
<!-- Forbid useless inline string concatenation -->
<rule ref="Generic.Strings.UnnecessaryStringConcat">
<!-- But multiline is useful for readability -->
<properties>
<property name="allowMultiline" value="true"/>
</properties>
</rule>
<!-- Forbid backtick operator -->
<rule ref="Generic.PHP.BacktickOperator"/>
<!-- Force PHP 7 param and return types to be lowercased -->
<rule ref="Generic.PHP.LowerCaseType"/>
<!-- Forbid `php_sapi_name()` function -->
<rule ref="Generic.PHP.SAPIUsage"/>
<!-- Forbid comments starting with # -->
<rule ref="PEAR.Commenting.InlineComment"/>
<!-- Disallow else if in favor of elseif -->
<rule ref="PSR2.ControlStructures.ElseIfDeclaration.NotAllowed">
<type>error</type>
</rule>
<!-- Require that single line arrays have the correct spacing: no space around brackets and one space after comma -->
<rule ref="SlevomatCodingStandard.Arrays.SingleLineArrayWhitespace"/>
<!-- Require comma after last element in multi-line array -->
<rule ref="SlevomatCodingStandard.Arrays.TrailingArrayComma"/>
<!-- Require presence of constant visibility -->
<!-- <rule ref="SlevomatCodingStandard.Classes.ClassConstantVisibility">
<properties>
<property name="fixable" value="true"/>
</properties>
</rule> -->
<!-- Forbid LSB for constants (static::FOO) -->
<rule ref="SlevomatCodingStandard.Classes.DisallowLateStaticBindingForConstants"/>
<!-- Forbid more than one constant declared per statement -->
<rule ref="SlevomatCodingStandard.Classes.DisallowMultiConstantDefinition"/>
<!-- Forbid empty lines around type declarations -->
<rule ref="SlevomatCodingStandard.Classes.EmptyLinesAroundClassBraces">
<properties>
<property name="linesCountAfterOpeningBrace" value="0"/>
<property name="linesCountBeforeClosingBrace" value="0"/>
</properties>
</rule>
<!-- Require usage of ::class instead of __CLASS__, get_class(), get_class($this), get_called_class() and get_parent_class() -->
<!-- <rule ref="SlevomatCodingStandard.Classes.ModernClassNameReference"/> -->
<!-- Forbid uses of multiple traits separated by comma -->
<rule ref="SlevomatCodingStandard.Classes.TraitUseDeclaration"/>
<!-- Require no spaces before trait use, between trait uses and one space after trait uses -->
<rule ref="SlevomatCodingStandard.Classes.TraitUseSpacing">
<properties>
<property name="linesCountAfterLastUse" value="1"/>
<property name="linesCountAfterLastUseWhenLastInClass" value="0"/>
<property name="linesCountBeforeFirstUse" value="0"/>
<property name="linesCountBetweenUses" value="0"/>
</properties>
</rule>
<!-- Forbid dead code -->
<rule ref="SlevomatCodingStandard.Classes.UnusedPrivateElements"/>
<!-- Forbid useless annotations - Git and LICENCE file provide more accurate information -->
<rule ref="SlevomatCodingStandard.Commenting.ForbiddenAnnotations">
<properties>
<property name="forbiddenAnnotations" type="array">
<element value="@api"/>
<element value="@author"/>
<element value="@category"/>
<element value="@copyright"/>
<element value="@created"/>
<element value="@license"/>
<element value="@package"/>
<element value="@since"/>
<element value="@subpackage"/>
<element value="@version"/>
</property>
</properties>
</rule>
<!-- Forbid empty comments -->
<rule ref="SlevomatCodingStandard.Commenting.EmptyComment"/>
<!-- Forbid useless comments -->
<rule ref="SlevomatCodingStandard.Commenting.ForbiddenComments">
<properties>
<property name="forbiddenCommentPatterns" type="array">
<element value="~^(?:(?!private|protected|static)\S+ )?(?:con|de)structor\.\z~i"/>
<element value="~^Created by .+\.\z~i"/>
<element value="~^(User|Date|Time): \S+\z~i"/>
<element value="~^\S+ [gs]etter\.\z~i"/>
<element value="~^(Class|Interface|Trait) \S+\z~i"/>
</property>
</properties>
</rule>
<!-- Require specific order of phpDoc annotations with empty newline between specific groups -->
<rule ref="SlevomatCodingStandard.Commenting.DocCommentSpacing">
<properties>
<property name="linesCountBeforeFirstContent" value="0"/>
<property name="linesCountAfterLastContent" value="0"/>
<property name="linesCountBetweenDescriptionAndAnnotations" value="1"/>
<property name="linesCountBetweenAnnotationsGroups" value="1"/>
<property name="annotationsGroups" type="array">
<element value="
@internal,
@deprecated,
"/>
<element value="
@link,
@see,
@uses,
"/>
<element value="@var"/>
<element value="@ORM\"/>
<element value="@param"/>
<element value="@return"/>
<element value="@throws"/>
</property>
</properties>
</rule>
<!-- Report invalid format of inline phpDocs with @var -->
<rule ref="SlevomatCodingStandard.Commenting.InlineDocCommentDeclaration"/>
<!-- Require comments with single line written as one-liners -->
<!-- <rule ref="SlevomatCodingStandard.Commenting.RequireOneLinePropertyDocComment"/> -->
<!-- Forbid assignments in conditions -->
<rule ref="SlevomatCodingStandard.ControlStructures.AssignmentInCondition"/>
<!-- Require consistent spacing for block structures -->
<rule ref="SlevomatCodingStandard.ControlStructures.BlockControlStructureSpacing">
<exclude name="SlevomatCodingStandard.ControlStructures.BlockControlStructureSpacing.IncorrectLinesCountBeforeControlStructure" />
<exclude name="SlevomatCodingStandard.ControlStructures.BlockControlStructureSpacing.IncorrectLinesCountBeforeFirstControlStructure" />
<properties>
<property name="tokensToCheck" type="array">
<element value="T_IF" />
<element value="T_DO" />
<element value="T_WHILE" />
<element value="T_FOR" />
<element value="T_FOREACH" />
<element value="T_SWITCH" />
<element value="T_TRY" />
<element value="T_DEFAULT" />
</property>
</properties>
</rule>
<!-- Forbid fancy yoda conditions -->
<!-- <rule ref="SlevomatCodingStandard.ControlStructures.DisallowYodaComparison"/> -->
<!-- Require usage of early exit -->
<rule ref="SlevomatCodingStandard.ControlStructures.EarlyExit"/>
<!-- Require consistent spacing for jump statements -->
<rule ref="SlevomatCodingStandard.ControlStructures.JumpStatementsSpacing">
<properties>
<property name="linesCountBeforeWhenFirstInCaseOrDefault" value="0"/>
<property name="linesCountAfterWhenLastInCaseOrDefault" value="1"/>
<property name="linesCountAfterWhenLastInLastCaseOrDefault" value="0"/>
<property name="tokensToCheck" type="array">
<element value="T_RETURN" />
<element value="T_THROW" />
<element value="T_YIELD" />
<element value="T_YIELD_FROM" />
</property>
</properties>
</rule>
<!-- Require language constructs without parentheses -->
<rule ref="SlevomatCodingStandard.ControlStructures.LanguageConstructWithParentheses"/>
<!-- Require usage of null coalesce operator equal operator when possible -->
<!-- <rule ref="SlevomatCodingStandard.ControlStructures.RequireNullCoalesceEqualOperator"/> -->
<!-- Require usage of null coalesce operator when possible -->
<!-- <rule ref="SlevomatCodingStandard.ControlStructures.RequireNullCoalesceOperator"/> -->
<!-- Forbid usage of conditions when a simple return can be used -->
<rule ref="SlevomatCodingStandard.ControlStructures.UselessIfConditionWithReturn"/>
<!-- Forbid usage of boolean-only ternary operator usage (e.g. $foo ? true : false) -->
<rule ref="SlevomatCodingStandard.ControlStructures.UselessTernaryOperator"/>
<!-- Forbid useless unreachable catch blocks -->
<rule ref="SlevomatCodingStandard.Exceptions.DeadCatch"/>
<!-- Require using Throwable instead of Exception -->
<rule ref="SlevomatCodingStandard.Exceptions.ReferenceThrowableOnly"/>
<!-- Ensure Arrow Functions declaration format -->
<rule ref="SlevomatCodingStandard.Functions.ArrowFunctionDeclaration">
<properties>
<property name="spacesCountAfterKeyword" value="1"/>
<property name="spacesCountBeforeArrow" value="1"/>
<property name="spacesCountAfterArrow" value="1"/>
</properties>
</rule>
<!-- Require closures not referencing $this be static -->
<rule ref="SlevomatCodingStandard.Functions.StaticClosure"/>
<!-- Forbid unused variables passed to closures via `use` -->
<rule ref="SlevomatCodingStandard.Functions.UnusedInheritedVariablePassedToClosure"/>
<!-- Require presence of declare(strict_types=1) -->
<!-- <rule ref="SlevomatCodingStandard.TypeHints.DeclareStrictTypes">
<properties>
<property name="newlinesCountBetweenOpenTagAndDeclare" value="2"/>
<property name="spacesCountAroundEqualsSign" value="0"/>
<property name="newlinesCountAfterDeclare" value="2"/>
</properties>
</rule> -->
<!-- Require consistent spacing for block structures -->
<rule ref="SlevomatCodingStandard.ControlStructures.BlockControlStructureSpacing"/>
<!-- Forbid unused use statements -->
<rule ref="SlevomatCodingStandard.Namespaces.UnusedUses">
<properties>
<property name="searchAnnotations" value="true"/>
</properties>
</rule>
<!-- Require use statements to be alphabetically sorted -->
<rule ref="SlevomatCodingStandard.Namespaces.AlphabeticallySortedUses"/>
<!-- Forbid fancy group uses -->
<rule ref="SlevomatCodingStandard.Namespaces.DisallowGroupUse"/>
<!-- Forbid multiple use statements on same line -->
<rule ref="SlevomatCodingStandard.Namespaces.MultipleUsesPerLine"/>
<!-- Require newlines around namespace declaration -->
<rule ref="SlevomatCodingStandard.Namespaces.NamespaceSpacing"/>
<!-- Forbid using absolute class name references -->
<!-- <rule ref="SlevomatCodingStandard.Namespaces.ReferenceUsedNamesOnly"/> -->
<!-- Forbid superfluous leading backslash in use statements -->
<rule ref="SlevomatCodingStandard.Namespaces.UseDoesNotStartWithBackslash"/>
<!-- Forbid useless uses of the same namespace -->
<rule ref="SlevomatCodingStandard.Namespaces.UseFromSameNamespace"/>
<!-- Require empty newlines before and after uses -->
<rule ref="SlevomatCodingStandard.Namespaces.UseSpacing">
<properties>
<property name="linesCountAfterLastUse" value="1"/>
<property name="linesCountBeforeFirstUse" value="1"/>
<property name="linesCountBetweenUseTypes" value="1"/>
</properties>
</rule>
<!-- Forbid useless alias for classes, constants and functions -->
<rule ref="SlevomatCodingStandard.Namespaces.UselessAlias"/>
<!-- Forbid weak comparisons -->
<rule ref="SlevomatCodingStandard.Operators.DisallowEqualOperators"/>
<!-- Forbid spacing before the negative operator `-` -->
<rule ref="SlevomatCodingStandard.Operators.NegationOperatorSpacing"/>
<!-- Require the usage of assignment operators, eg `+=`, `.=` when possible -->
<rule ref="SlevomatCodingStandard.Operators.RequireCombinedAssignmentOperator"/>
<!-- Require no spacing after spread operator -->
<rule ref="SlevomatCodingStandard.Operators.SpreadOperatorSpacing"/>
<!-- Forbid `list(...)` syntax -->
<!-- <rule ref="SlevomatCodingStandard.PHP.ShortList"/> -->
<!-- Forbid use of longhand cast operators -->
<rule ref="SlevomatCodingStandard.PHP.TypeCast"/>
<!-- Forbid useless parentheses -->
<rule ref="SlevomatCodingStandard.PHP.UselessParentheses"/>
<!-- Forbid useless semicolon `;` -->
<rule ref="SlevomatCodingStandard.PHP.UselessSemicolon"/>
<!-- Require use of short versions of scalar types (i.e. int instead of integer) -->
<rule ref="SlevomatCodingStandard.TypeHints.LongTypeHints"/>
<!-- Require the `null` type hint to be in the last position of annotations -->
<rule ref="SlevomatCodingStandard.TypeHints.NullTypeHintOnLastPosition"/>
<!-- Require ? when default value is null -->
<!-- <rule ref="SlevomatCodingStandard.TypeHints.NullableTypeForNullDefaultValue"/> -->
<!-- Require one space between typehint and variable, require no space between nullability sign and typehint -->
<rule ref="SlevomatCodingStandard.TypeHints.ParameterTypeHintSpacing"/>
<!-- Require space around colon in return types -->
<rule ref="SlevomatCodingStandard.TypeHints.ReturnTypeHintSpacing">
<properties>
<property name="spacesCountBeforeColon" value="0"/>
</properties>
</rule>
<!-- Forbid useless @var for constants -->
<rule ref="SlevomatCodingStandard.TypeHints.UselessConstantTypeHint"/>
<!-- Forbid useless inherit doc comment -->
<rule ref="SlevomatCodingStandard.Commenting.UselessInheritDocComment"/>
<!-- Forbid duplicated variables assignments -->
<rule ref="SlevomatCodingStandard.Variables.DuplicateAssignmentToVariable"/>
<!-- Forbid useless variables -->
<rule ref="SlevomatCodingStandard.Variables.UselessVariable"/>
<!-- Forbid spaces around square brackets -->
<rule ref="Squiz.Arrays.ArrayBracketSpacing"/>
<!-- Forbid class being in a file with different name -->
<rule ref="Squiz.Classes.ClassFileName"/>
<!-- Force `self::` for self-reference, force lower-case self, forbid spaces around `::` -->
<rule ref="Squiz.Classes.SelfMemberReference"/>
<!-- Forbid global functions -->
<rule ref="Squiz.Functions.GlobalFunction"/>
<!-- Force camelCase variables -->
<rule ref="Squiz.NamingConventions.ValidVariableName">
<exclude name="Squiz.NamingConventions.ValidVariableName.PrivateNoUnderscore" />
</rule>
<!-- Force phpDoc alignment -->
<rule ref="Squiz.Commenting.DocCommentAlignment">
<!-- Allow extra spaces after star, i.e. for indented annotations -->
<exclude name="Squiz.Commenting.DocCommentAlignment.SpaceAfterStar"/>
</rule>
<!-- Force array declaration structure -->
<rule ref="Squiz.Arrays.ArrayDeclaration">
<!-- Disable arrow alignment -->
<exclude name="Squiz.Arrays.ArrayDeclaration.DoubleArrowNotAligned"/>
<!-- Uses indentation of only single space -->
<exclude name="Squiz.Arrays.ArrayDeclaration.KeyNotAligned"/>
<!-- Allow multiple values on a single line -->
<exclude name="Squiz.Arrays.ArrayDeclaration.SingleLineNotAllowed"/>
<!-- Disable alignment of braces -->
<exclude name="Squiz.Arrays.ArrayDeclaration.CloseBraceNotAligned"/>
<!-- Disable alignment of values with opening brace -->
<exclude name="Squiz.Arrays.ArrayDeclaration.ValueNotAligned"/>
<!-- Checked by SlevomatCodingStandard.Arrays.TrailingArrayComma.MissingTrailingComma -->
<exclude name="Squiz.Arrays.ArrayDeclaration.NoCommaAfterLast"/>
<exclude name="Squiz.Arrays.ArrayDeclaration.NoComma"/>
</rule>
<!-- Force rules for function phpDoc -->
<rule ref="Squiz.Commenting.FunctionComment">
<!-- Allow `@throws` without description -->
<exclude name="Squiz.Commenting.FunctionComment.EmptyThrows"/>
<!-- Does not work properly with PHP 7 / short-named types -->
<exclude name="Squiz.Commenting.FunctionComment.IncorrectParamVarName"/>
<!-- Does not support collections, i.e. `string[]` -->
<exclude name="Squiz.Commenting.FunctionComment.IncorrectTypeHint"/>
<!-- Forces incorrect types -->
<exclude name="Squiz.Commenting.FunctionComment.InvalidReturn"/>
<!-- Breaks with compound return types, i.e. `string|null` -->
<exclude name="Squiz.Commenting.FunctionComment.InvalidReturnNotVoid"/>
<!-- Breaks when all params are not documented -->
<exclude name="Squiz.Commenting.FunctionComment.InvalidTypeHint"/>
<!-- Doc comment is not required for every method -->
<exclude name="Squiz.Commenting.FunctionComment.Missing"/>
<!-- Do not require comments for `@param` -->
<exclude name="Squiz.Commenting.FunctionComment.MissingParamComment"/>
<!-- Do not require `@param` for all parameters -->
<exclude name="Squiz.Commenting.FunctionComment.MissingParamTag"/>
<!-- Do not require `@return` for void methods -->
<exclude name="Squiz.Commenting.FunctionComment.MissingReturn"/>
<!-- Comments don't have to be sentences -->
<exclude name="Squiz.Commenting.FunctionComment.ParamCommentFullFullStop"/>
<!-- Comments don't have to be sentences -->
<exclude name="Squiz.Commenting.FunctionComment.ParamCommentNotCapital"/>
<!-- Breaks when all params are not documented -->
<exclude name="Squiz.Commenting.FunctionComment.ParamNameNoMatch"/>
<!-- Doesn't respect inheritance -->
<exclude name="Squiz.Commenting.FunctionComment.ScalarTypeHintMissing"/>
<!-- `@throws` lines can often be read as a sentence,
i.e. `@throws RuntimeException if the file could not be written.` -->
<exclude name="Squiz.Commenting.FunctionComment.ThrowsNotCapital"/>
<!-- Doesn't work with self as typehint -->
<exclude name="Squiz.Commenting.FunctionComment.TypeHintMissing"/>
</rule>
<!-- Forbid `AND` and `OR`, require `&&` and `||` -->
<rule ref="Squiz.Operators.ValidLogicalOperators"/>
<!-- Forbid `global` -->
<rule ref="Squiz.PHP.GlobalKeyword"/>
<!-- Forbid functions inside functions -->
<rule ref="Squiz.PHP.InnerFunctions"/>
<!-- Require PHP function calls in lowercase -->
<rule ref="Squiz.PHP.LowercasePHPFunctions"/>
<!-- Forbid `$this` inside static function -->
<rule ref="Squiz.Scope.StaticThisUsage"/>
<!-- Force whitespace before and after concatenation -->
<!-- <rule ref="Squiz.Strings.ConcatenationSpacing">
<properties>
<property name="spacing" value="0"/>
<property name="ignoreNewlines" value="true"/>
</properties>
</rule> -->
<!-- Forbid dead code -->
<rule ref="Squiz.PHP.NonExecutableCode"/>
<!-- Forbid strings in `"` unless necessary -->
<rule ref="Squiz.Strings.DoubleQuoteUsage"/>
<rule ref="Squiz.Strings.DoubleQuoteUsage.ContainsVar">
<message>Variable "%s" not allowed in double quoted string; use sprintf() or concatenation instead</message>
</rule>
<!-- Forbid braces around string in `echo` -->
<rule ref="Squiz.Strings.EchoedStrings"/>
<!-- Forbid spaces in type casts -->
<rule ref="Squiz.WhiteSpace.CastSpacing"/>
<!-- Forbid blank line after function opening brace -->
<rule ref="Squiz.WhiteSpace.FunctionOpeningBraceSpace"/>
<!-- Require 1 line before and after function, except at the top and bottom -->
<rule ref="Squiz.WhiteSpace.FunctionSpacing">
<properties>
<property name="spacing" value="1" />
<property name="spacingBeforeFirst" value="0"/>
<property name="spacingAfterLast" value="0"/>
</properties>
</rule>
<!-- Require there be no space between increment/decrement operator and its operand -->
<rule ref="Generic.WhiteSpace.IncrementDecrementSpacing"/>
<!-- Require space after language constructs -->
<rule ref="Squiz.WhiteSpace.LanguageConstructSpacing"/>
<!-- Require space around logical operators -->
<rule ref="Squiz.WhiteSpace.LogicalOperatorSpacing"/>
<!-- Forbid spaces around `->` operator -->
<rule ref="Squiz.WhiteSpace.ObjectOperatorSpacing">
<properties>
<property name="ignoreNewlines" value="true"/>
</properties>
</rule>
<!-- Forbid spaces before semicolon `;` -->
<rule ref="Squiz.WhiteSpace.SemicolonSpacing"/>
<!-- Forbid superfluous whitespaces -->
<rule ref="Squiz.WhiteSpace.SuperfluousWhitespace">
<properties>
<!-- turned on by PSR2 -> turning back off -->
<property name="ignoreBlankLines" value="false"/>
</properties>
</rule>
<rule ref="Squiz.WhiteSpace.SuperfluousWhitespace.EmptyLines">
<!-- turned off by PSR2 -> turning back on -->
<severity>5</severity>
</rule>
<!-- Checks that class/trait/interface members are in the correct order. -->
<rule ref="SlevomatCodingStandard.Classes.ClassStructure"/>
<!-- Disallows use of continue without integer operand in switch because it emits a warning in PHP 7.3 and higher. -->
<rule ref="SlevomatCodingStandard.ControlStructures.DisallowContinueWithoutIntegerOperandInSwitch"/>
<!-- Enforces reasonable end bracket placement for multiline arrays. -->
<rule ref="SlevomatCodingStandard.Arrays.MultiLineArrayEndBracketPlacement"/>
<!-- Checks that there is a certain number of blank lines between properties. -->
<rule ref="SlevomatCodingStandard.Classes.PropertySpacing"/>
<!-- Require consistent spacing for jump statements -->
<rule ref="SlevomatCodingStandard.ControlStructures.JumpStatementsSpacing">
<properties>
<property name="tokensToCheck" type="array">
<element value="T_RETURN" />
<element value="T_THROW" />
<element value="T_YIELD" />
<element value="T_YIELD_FROM" />
</property>
</properties>
</rule>
<!-- Require consistent spacing for block structures -->
<rule ref="SlevomatCodingStandard.ControlStructures.BlockControlStructureSpacing">
<exclude name="SlevomatCodingStandard.ControlStructures.BlockControlStructureSpacing.IncorrectLinesCountBeforeControlStructure" />
<exclude name="SlevomatCodingStandard.ControlStructures.BlockControlStructureSpacing.IncorrectLinesCountBeforeFirstControlStructure" />
<properties>
<property name="tokensToCheck" type="array">
<element value="T_IF" />
<element value="T_DO" />
<element value="T_WHILE" />
<element value="T_FOR" />
<element value="T_FOREACH" />
<element value="T_SWITCH" />
<element value="T_TRY" />
<element value="T_DEFAULT" />
</property>
</properties>
</rule>
<!-- Requires new with parentheses. -->
<rule ref="SlevomatCodingStandard.ControlStructures.NewWithParentheses"/>
<!-- Disallows usage of array type hint syntax (eg. int[], bool[][]) in phpDocs in favour of generic type hint syntax (eg. array<int>, array<array<bool>>) -->
<!-- <rule ref="SlevomatCodingStandard.TypeHints.DisallowArrayTypeHintSyntax" />-->
</ruleset>
+12
View File
@@ -0,0 +1,12 @@
exclude:
- vendor/
- demo/
- docs/
- node_modules/
jobs: 10
extensions:
- php
cache: .cache/phplint/
-3
View File
@@ -1,3 +0,0 @@
<?php
namespace PHPSTORM_META;
+3
View File
@@ -0,0 +1,3 @@
**/node_modules
src/**/Resources/public/**
src/**/Resources/dist/**
+46
View File
@@ -0,0 +1,46 @@
{
"semi": true,
"trailingComma": "all",
"singleQuote": true,
"printWidth": 100,
"tabWidth": 4,
"arrowParens": "avoid",
"jsxBracketSameLine": true,
"overrides": [
{
"files": "*.scss",
"options": {
"parser": "scss",
"singleQuote": false,
"tabWidth": 4
}
},
{
"files": "*.json",
"options": {
"parser": "json",
"singleQuote": false,
"tabWidth": 4
}
},
{
"files": "*.{ts,tsx}",
"options": {
"parser": "typescript"
}
},
{
"files": "*.{js,jsx}",
"options": {
"parser": "babel"
}
},
{
"files": "*.yaml",
"options": {
"parser": "yaml",
"tabWidth": 4
}
}
]
}
+1
View File
@@ -0,0 +1 @@
github: yoeunes
+8
View File
@@ -0,0 +1,8 @@
Please do not submit any Pull Requests here. They will be closed.
---
Please submit your PR here instead:
https://github.com/php-flasher/php-flasher
This repository is what we call a "subtree split": a read-only subset of that main repository.
We're looking forward to your PR there!
+20
View File
@@ -0,0 +1,20 @@
name: Close Pull Request
on:
pull_request_target:
types: [opened]
jobs:
run:
runs-on: ubuntu-latest
steps:
- uses: superbrothers/close-pull-request@v3
with:
comment: |
Thanks for your Pull Request! We love contributions.
However, you should instead open your PR on the main repository:
https://github.com/php-flasher/php-flasher
This repository is what we call a "subtree split": a read-only subset of that main repository.
We're looking forward to your PR there!
+3
View File
@@ -0,0 +1,3 @@
{
"extends": ["stylelint-config-standard-scss", "stylelint-config-recess-order"]
}
+93
View File
@@ -0,0 +1,93 @@
# CHANGELOG for 2.x
## [Unreleased](https://github.com/php-flasher/php-flasher/compare/v2.2.0...2.x)
## [v2.5.0](https://github.com/php-flasher/php-flasher/compare/v2.1.4...v2.2.0) - 2026-03-07
### Added
* feature [Laravel] Improve Laravel Octane support by resetting FallbackSession static storage between requests to prevent notification leakage
* feature [Symfony] Add FrankenPHP/Swoole/RoadRunner support with WorkerListener that implements ResetInterface and is tagged with kernel.reset
* feature [Symfony] Add reset() method to FallbackSession for long-running process support
* feature [Flasher] Add Hotwire/Turbo Drive support with turbo:before-cache event listener to clean up notifications before page caching
* feature [Flasher] Add event dispatching system for all notification adapters and themes with Livewire integration:
- [Toastr] Dispatch events: `flasher:toastr:click`, `flasher:toastr:close`, `flasher:toastr:show`, `flasher:toastr:hidden`
- [Noty] Dispatch events: `flasher:noty:click`, `flasher:noty:close`, `flasher:noty:show`, `flasher:noty:hover`
- [Notyf] Dispatch events: `flasher:notyf:click`, `flasher:notyf:dismiss`
- [Themes] Dispatch events: `flasher:theme:click` (generic) and `flasher:theme:{name}:click` (specific)
- [Laravel] Add LivewireListener classes for all adapters and themes to enable Livewire event handling
* feature [Flasher] Add 16 notification themes: Amazon, Amber, Jade, Crystal, and more
* feature [DX] Add `@method` annotations to FlasherInterface and NotificationFactoryInterface for better IDE autocompletion
* feature [DX] Add Type::all() and Type::isValid() helper methods with PHPStan type narrowing
* feature [DX] Add `@throws` annotations to FlasherContainer methods for better exception documentation
* feature [DX] Add FlasherContainer::setContainer() method as convenient alias for testing
* feature [DX] Add PHPStan type alias `NotificationType` for valid notification types
### Fixed
* fix [SweetAlert] Fix SweetAlertBuilder::question() bug where options parameter was being ignored
* fix [Flasher] Fix potential runtime error in Envelope::toArray() when no PresentableStampInterface stamps exist
* fix [Flasher] Use more specific \Random\RandomException in IdStamp instead of broad \Exception
* fix [Flasher] Update Livewire navigation cleanup to use correct .fl-wrapper selector instead of unused .fl-no-cache class
* fix [Flasher] Fix FilterCriteria uninitialized property error when constructed with empty array
* fix [Flasher] Fix null comparison issues in PriorityCriteria, HopsCriteria, and DelayCriteria that relied on PHP's implicit null-to-0 coercion
* fix [Flasher] Add type validation for callable factory return values in NotificationFactoryLocator with descriptive error messages
* fix [Flasher] Add error handling for invalid regex patterns in ResponseExtension::isPathExcluded()
* fix [Flasher] Fix ContentSecurityPolicyHandler parsing of CSP headers with trailing semicolons creating empty directive keys
* fix [Flasher] Add reset() method to ContentSecurityPolicyHandler to fix CSP state leak in long-running processes (Octane, FrankenPHP)
* fix [Flasher] Fix FilterEvent::setFilter() type inconsistency - now accepts FilterInterface instead of concrete Filter class
* fix [Flasher] Remove redundant callable check in FlasherContainer::getContainer()
* fix [Flasher] Fix NotificationStorageMethods::resolveResourceName() return type from ?string to string (never returns null)
* fix [Flasher] Fix parameter name inconsistency in NotificationBuilderInterface::options() - changed $merge to $append to match implementation
* fix [Flasher] Add type validation for callable presenter return values in ResponseManager with descriptive error messages
* fix [Flasher] Fix FlasherPlugin::normalizePlugins() losing scripts/styles when both top-level and plugin-level configs are provided - replaced array union operator with array_merge
* fix [Flasher] Simplify FlasherPlugin::normalizeFlashBag() by replacing redundant array union with direct array_merge
* fix [Flasher] Fix array_merge() syntax in InstallCommand by removing unnecessary empty array
* fix [Flasher] Add return type validation in FilterCriteria::apply() with proper exception handling
### Changed
* refactor [Flasher] Reduce theme configuration duplication by generating themes programmatically
* refactor [Flasher] Standardize exception message format in PresetNotFoundException to use brackets like other exceptions
* refactor [Flasher] Standardize exception message wording in CriteriaNotRegisteredException to use "not found" instead of "is not found"
* refactor [SweetAlert] Replace @phpstan-ignore-line suppressions with proper @var annotations
## [v2.1.3](https://github.com/php-flasher/php-flasher/compare/v2.1.2...v2.1.3) - 2025-01-25
* bug [#208](https://github.com/php-flasher/php-flasher/issues/208) [Flasher] Add GitHub workflow for automatic publishing of assets to NPM. See [PR #211](https://github.com/php-flasher/php-flasher/pull/211) by [ToshY](https://github.com/ToshY)
## [v2.1.2](https://github.com/php-flasher/php-flasher/compare/v2.1.1...v2.1.2) - 2025-01-18
* bug [#208](https://github.com/php-flasher/php-flasher/issues/208) [Flasher] Allow `main_script` to be nullable. See [PR #209](https://github.com/php-flasher/php-flasher/pull/209) by [yoeunes](https://github.com/yoeunes)
## [v2.1.1](https://github.com/php-flasher/php-flasher/compare/v2.1.0...v2.1.1) - 2024-10-20
* feature [Laravel] Add `excluded_paths` option. See [PR #203](https://github.com/php-flasher/php-flasher/pull/203) by [yoeunes](https://github.com/yoeunes)
## [v2.1.0](https://github.com/php-flasher/php-flasher/compare/v2.0.4...v2.1.0) - 2024-10-19
* feature [Flasher] Update laravel and symfony configuration documentation . See [PR #201](https://github.com/php-flasher/php-flasher/pull/201) by [yoeunes](https://github.com/yoeunes)
* feature [Flasher] Improve Type Safety and IDE Support with Enhanced PHPDoc Annotations and Stricter PHPStan Validations. See [PR #200](https://github.com/php-flasher/php-flasher/pull/200) by [yoeunes](https://github.com/yoeunes)
* feature [Symfony] Improve configuration descriptions and add examples. See [PR #199](https://github.com/php-flasher/php-flasher/pull/199) by [yoeunes](https://github.com/yoeunes)
* feature [Symfony] Add Symfony Profiler integration for PHPFlasher. See [PR #198](https://github.com/php-flasher/php-flasher/pull/198) by [yoeunes](https://github.com/yoeunes)
## [v2.0.4](https://github.com/php-flasher/php-flasher/compare/v2.0.3...v2.0.4) - 2024-09-22
* bug [laravel] Changed HttpKernel import from `Illuminate\Foundation\Http\Kernel` to `Illuminate\Contracts\Http\Kernel` to use the contract interface instead of the concrete implementation. See [PR #197](https://github.com/php-flasher/php-flasher/pull/197) by [yoeunes](https://github.com/yoeunes)
## [v2.0.3](https://github.com/php-flasher/php-flasher/compare/v2.0.2...v2.0.3) - 2024-09-21
* remove border from flasher container by [yoeunes](https://github.com/yoeunes)
## [v2.0.2](https://github.com/php-flasher/php-flasher/compare/v2.0.1...v2.0.2) - 2024-09-19
* feature [Flasher] add escapeHtml option for secure HTML escaping in notifications. See [PR #196](https://github.com/php-flasher/php-flasher/pull/196) by [yoeunes](https://github.com/yoeunes)
* feature [Flasher] add Default configuration options. See [PR #183](https://github.com/php-flasher/php-flasher/pull/183) by [AhmedGamal](https://github.com/AhmedGamal)
* feature [Laravel] Refactor middleware to use Symfony's base response class, addressing compatibility issues. See [PR #184](https://github.com/php-flasher/php-flasher/pull/184) by [yoeunes](https://github.com/yoeunes)
## [v2.0.1](https://github.com/php-flasher/php-flasher/compare/v2.0.0...v2.0.1) - 2024-05-23
* bug [#176](https://github.com/php-flasher/php-flasher/issues/176) [Laravel] Correctly disable FlasherMiddleware when `inject_assets` is set to false. See [PR #177](https://github.com/php-flasher/php-flasher/pull/177) by [yoeunes](https://github.com/yoeunes)
* bug [#176](https://github.com/php-flasher/php-flasher/issues/176) [Flasher] Ensure global `timeout` option applies to all requests. See [PR #180](https://github.com/php-flasher/php-flasher/pull/180) by [yoeunes](https://github.com/yoeunes)
* bug [#176](https://github.com/php-flasher/php-flasher/issues/176) [Laravel] Allow disabling of default flash replacement by setting `flash_bag` to false. See [PR #181](https://github.com/php-flasher/php-flasher/pull/181) by [yoeunes](https://github.com/yoeunes)
* bug [#176](https://github.com/php-flasher/php-flasher/issues/176) [Flasher] Ensure `flash_bag` option overrides default values instead of appending. See [PR #182](https://github.com/php-flasher/php-flasher/pull/182) by [yoeunes](https://github.com/yoeunes)
-89
View File
@@ -1,89 +0,0 @@
<?php
namespace Flasher\Toastr\Symfony\DependencyInjection;
use Symfony\Component\Config\Definition\Builder\TreeBuilder;
use Symfony\Component\Config\Definition\ConfigurationInterface;
final class Configuration implements ConfigurationInterface
{
/**
* {@inheritdoc}
*/
public function getConfigTreeBuilder()
{
$treeBuilder = new TreeBuilder('flasher_toastr');
if (\method_exists($treeBuilder, 'getRootNode')) {
$rootNode = $treeBuilder->getRootNode();
} else {
// BC layer for symfony/config 4.1 and older
$rootNode = $treeBuilder->root('flasher_toastr');
}
$rootNode
->children()
->arrayNode('scripts')
->prototype('scalar')->end()
->defaultValue(array(
'https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.min.js',
'https://cdnjs.cloudflare.com/ajax/libs/toastr.js/2.1.4/toastr.min.js',
'/bundles/flashertoastr/flasher-toastr.js',
))
->end()
->arrayNode('styles')
->prototype('scalar')->end()
->defaultValue(array(
'https://cdnjs.cloudflare.com/ajax/libs/toastr.js/2.1.4/toastr.min.css',
))
->end()
->arrayNode('options')
->prototype('variable')->end()
->ignoreExtraKeys(false)
->defaultValue(array(
'closeButton' => true,
'closeClass' => 'toast-close-button',
'closeDuration' => 300,
'closeEasing' => 'swing',
'closeHtml' => '<button><i class="icon-off"></i></button>',
'closeMethod' => 'fadeOut',
'closeOnHover' => true,
'containerId' => 'toast-container',
'debug' => false,
'escapeHtml' => false,
'extendedTimeOut' => 10000,
'hideDuration' => 1000,
'hideEasing' => 'linear',
'hideMethod' => 'fadeOut',
'iconClass' => 'toast-info',
'iconClasses' => array(
'error' => 'toast-error',
'info' => 'toast-info',
'success' => 'toast-success',
'warning' => 'toast-warning',
),
'messageClass' => 'toast-message',
'newestOnTop' => false,
'onHidden' => null,
'onShown' => null,
'positionClass' => 'toast-top-right',
'preventDuplicates' => false,
'progressBar' => true,
'progressClass' => 'toast-progress',
'rtl' => false,
'showDuration' => 300,
'showEasing' => 'swing',
'showMethod' => 'fadeIn',
'tapToDismiss' => true,
'target' => 'body',
'timeOut' => 5000,
'titleClass' => 'toast-title',
'toastClass' => 'toast',
))
->end()
->end()
;
return $treeBuilder;
}
}
@@ -1,45 +0,0 @@
<?php
namespace Flasher\Toastr\Symfony\DependencyInjection;
use Symfony\Component\Config\FileLocator;
use Symfony\Component\DependencyInjection\ContainerBuilder;
use Symfony\Component\DependencyInjection\Extension\PrependExtensionInterface;
use Symfony\Component\DependencyInjection\Loader;
use Symfony\Component\HttpKernel\DependencyInjection\Extension;
final class FlasherToastrExtension extends Extension implements PrependExtensionInterface
{
/**
* {@inheritdoc}
*
* @throws \Exception
*/
public function load(array $configs, ContainerBuilder $container)
{
$loader = new Loader\YamlFileLoader($container, new FileLocator(__DIR__.'/../Resources/config'));
$loader->load('config.yaml');
$configuration = new Configuration();
$this->processConfiguration($configuration, $configs);
}
/**
* {@inheritdoc}
*/
public function prepend(ContainerBuilder $container)
{
if (!$container->hasExtension('flasher')) {
throw new \RuntimeException('[Flasher\Symfony\FlasherBundle] is not registered');
}
$configs = $container->getExtensionConfig($this->getAlias());
$config = $this->processConfiguration(new Configuration(), $configs);
$container->prependExtensionConfig('flasher', array(
'adapters' => array(
'toastr' => $config,
),
));
}
}
-9
View File
@@ -1,9 +0,0 @@
<?php
namespace Flasher\Toastr\Symfony;
use Symfony\Component\HttpKernel\Bundle\Bundle;
class FlasherToastrBundle extends Bundle
{
}
+21
View File
@@ -0,0 +1,21 @@
MIT License
Copyright (c) 2024 PHPFlasher
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
+318 -36
View File
@@ -1,51 +1,333 @@
<p align="center"><img width="600" alt="notify" src="https://user-images.githubusercontent.com/10859693/100492861-fabfd800-3130-11eb-8c5e-242fff1706a9.png"></p>
<h1 align="center">Easy flash notifications for PHP, Laravel, Symfony, Lumen</h1>
<p align="center">:eyes: PHP Flasher library helps you to add flash notifications to your projects. This library was developed with the idea that you should be able to add flash notification to your application with ease and with few lines of code. No application-wide rewrites and no big investments upfront.</p>
<div align="center">
<a href="https://github.com/php-flasher/php-flasher/blob/2.x/docs/palestine.md">
<img src="https://raw.githubusercontent.com/php-flasher/art/main/palestine-banner-support.svg" width="800px" alt="Help Palestine"/>
</a>
</div>
<p align="center">
<a href="https://github.com/php-flasher/flasher">
<img src="https://img.shields.io/badge/source-php--notify/notify-blue.svg?style=flat-square">
</a>
<a href="https://github.com/php-flasher/flasher/releases">
<img src="https://img.shields.io/github/tag/php-flasher/flasher.svg">
</a>
<a href="https://github.com/php-flasher/flasher/blob/master/LICENSE">
<img src="https://img.shields.io/badge/license-MIT-brightgreen.svg">
</a>
<a href="https://packagist.org/packages/php-flasher/flasher">
<img src="https://img.shields.io/packagist/dt/php-flasher/flasher.svg">
</a>
<a href="https://packagist.org/packages/php-flasher/flasher">
<img src="https://img.shields.io/packagist/php-v/php-flasher/flasher.svg?style=flat-square">
</a>
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/php-flasher/art/main/php-flasher-logo-dark.png">
<img src="https://raw.githubusercontent.com/php-flasher/art/main/php-flasher-logo.png" alt="PHPFlasher Logo">
</picture>
</p>
## Introduction
<h1 align="center">Elegant Flash Notifications for PHP</h1>
PHP Flasher library helps you to add flash notifications to your projects. This library was developed with the idea that you should be able to add flash notification to your application with ease and with few lines of code. No application-wide rewrites and no big investments upfront.
<p align="center">
<strong>One line of PHP. Beautiful notifications. Zero JavaScript.</strong>
</p>
# Why use PHP Flasher ?
<p align="center">
<a href="https://packagist.org/packages/php-flasher/flasher"><img src="https://img.shields.io/packagist/dt/php-flasher/flasher.svg?style=flat-square&label=downloads" alt="Downloads"></a>
<a href="https://github.com/php-flasher/php-flasher"><img src="https://img.shields.io/github/stars/php-flasher/php-flasher.svg?style=flat-square&label=stars" alt="Stars"></a>
<a href="https://github.com/php-flasher/php-flasher/releases"><img src="https://img.shields.io/github/v/release/php-flasher/flasher.svg?style=flat-square" alt="Release"></a>
<a href="https://packagist.org/packages/php-flasher/flasher"><img src="https://img.shields.io/packagist/php-v/php-flasher/flasher.svg?style=flat-square" alt="PHP Version"></a>
<a href="https://github.com/php-flasher/flasher/blob/master/LICENSE"><img src="https://img.shields.io/badge/license-MIT-brightgreen.svg?style=flat-square" alt="License"></a>
</p>
The PHP Flasher project supports a variety of notification libraries : __toastr.js__, __sweet alert 2__, __pnotify__ and __notyf__
and its highly extendable so you can add custom adapters.
<p align="center">
<a href="https://php-flasher.io"><strong>Documentation</strong></a> ·
<a href="https://php-flasher.io/playground"><strong>Live Playground</strong></a> ·
<a href="https://github.com/php-flasher/php-flasher/issues"><strong>Report Bug</strong></a>
</p>
This library is designed, so you can take full control when creating you notifications :
---
> * Display multiple notifications
> * Sort and filter notifications
> * Render notification from JSON response with Ajax or Websockets
> * Limit the number of displayed notifications
> * Show notifications from different adapters at the same time
> * implementations for popular frameworks : Symfony and Laravel
> * ...and more
## Quick Start
**Laravel:**
```bash
composer require php-flasher/flasher-laravel && php artisan flasher:install
```
## Official Documentation
**Symfony:**
```bash
composer require php-flasher/flasher-symfony && php bin/console flasher:install
```
Documentation for Valet can be found on the [PHP Flasher website](https://php-flasher.github.io/).
**That's it!** Now use it:
```php
flash()->success('Welcome aboard! Your account is ready.');
```
---
## Why PHPFlasher?
| | PHPFlasher | Others |
|---|:---:|:---:|
| **Zero JavaScript** | Write PHP only, frontend handled automatically | Requires manual JS setup |
| **Auto Asset Injection** | CSS/JS injected automatically | Manual script tags needed |
| **17 Built-in Themes** | Amazon, iOS, Slack, Material & more | Limited or no themes |
| **4 Notification Libraries** | Toastr, SweetAlert, Noty, Notyf | Single library only |
| **Livewire Integration** | Full event system support | Limited or none |
| **RTL Support** | Built-in right-to-left | Often missing |
| **Framework Agnostic** | Laravel, Symfony, or vanilla PHP | Framework-specific |
---
## Notification Types
```php
flash()->success('Operation completed successfully!');
flash()->error('Oops! Something went wrong.');
flash()->warning('Please backup your data before continuing.');
flash()->info('A new version is available for download.');
```
### With Titles
```php
flash()->success('Your changes have been saved.', 'Update Complete');
flash()->error('Unable to connect to server.', 'Connection Failed');
```
### With Options
```php
flash()->success('Profile updated!', [
'position' => 'bottom-right',
'timeout' => 10000,
]);
```
---
## 17 Beautiful Themes
PHPFlasher includes **17 professionally designed themes** ready to use:
```php
flash()->success('Welcome!', ['theme' => 'amazon']);
flash()->success('Welcome!', ['theme' => 'ios']);
flash()->success('Welcome!', ['theme' => 'slack']);
flash()->success('Welcome!', ['theme' => 'material']);
```
<details>
<summary><strong>View All Themes</strong></summary>
| Theme | Style |
|-------|-------|
| `flasher` | Default clean design |
| `amazon` | Amazon-inspired e-commerce |
| `ios` | Apple iOS notifications |
| `slack` | Slack messaging style |
| `material` | Google Material Design |
| `google` | Google notifications |
| `facebook` | Facebook style |
| `minimal` | Ultra-clean minimal |
| `amber` | Warm amber tones |
| `aurora` | Gradient effects |
| `crystal` | Transparent design |
| `emerald` | Modern green palette |
| `jade` | Soft jade colors |
| `neon` | Bright attention-grabbing |
| `onyx` | Dark mode sleek |
| `ruby` | Bold ruby accents |
| `sapphire` | Elegant blue style |
[**See all themes with live demos →**](https://php-flasher.io/themes)
</details>
---
## Notification Libraries
Need more features? Use popular notification libraries:
### Toastr
```bash
composer require php-flasher/flasher-toastr-laravel
```
```php
toastr()->success('Profile saved!', [
'positionClass' => 'toast-bottom-right',
'progressBar' => true,
]);
```
### SweetAlert
```bash
composer require php-flasher/flasher-sweetalert-laravel
```
```php
sweetalert()
->showDenyButton()
->showCancelButton()
->warning('Do you want to save changes?');
```
### Noty
```bash
composer require php-flasher/flasher-noty-laravel
```
```php
noty()->success('Data synchronized!', [
'layout' => 'topCenter',
'timeout' => 3000,
]);
```
### Notyf
```bash
composer require php-flasher/flasher-notyf-laravel
```
```php
notyf()->success('Upload complete!', [
'dismissible' => true,
'ripple' => true,
]);
```
---
## Livewire Integration
PHPFlasher integrates seamlessly with Laravel Livewire:
```php
use Livewire\Attributes\On;
class UserProfile extends Component
{
public function save()
{
// Save logic...
sweetalert()
->showDenyButton()
->success('Save changes?');
}
#[On('sweetalert:confirmed')]
public function onConfirmed(array $payload): void
{
// User clicked confirm
$this->user->save();
flash()->success('Profile saved!');
}
#[On('sweetalert:denied')]
public function onDenied(array $payload): void
{
// User clicked deny
}
}
```
[**Livewire documentation →**](https://php-flasher.io/livewire)
---
## Configuration
### Laravel
```php
// config/flasher.php
return [
'default' => 'flasher',
'themes' => [
'flasher' => [
'options' => [
'timeout' => 5000,
'position' => 'top-right',
],
],
],
];
```
### Symfony
```yaml
# config/packages/flasher.yaml
flasher:
default: flasher
themes:
flasher:
options:
timeout: 5000
position: top-right
```
### Common Options
| Option | Type | Default | Description |
|--------|------|---------|-------------|
| `timeout` | int | `5000` | Auto-dismiss delay in ms (0 = sticky) |
| `position` | string | `top-right` | `top-right`, `top-left`, `bottom-right`, `bottom-left`, `top-center`, `bottom-center` |
| `closeButton` | bool | `true` | Show close button |
| `progressBar` | bool | `true` | Show timeout progress bar |
| `rtl` | bool | `false` | Right-to-left text direction |
| `escapeHtml` | bool | `true` | Escape HTML in messages |
---
## Requirements
| Requirement | Version |
|-------------|---------|
| PHP | >= 8.2 |
| Laravel | >= 11.0 |
| Symfony | >= 7.0 |
---
## Documentation
For complete documentation, visit **[php-flasher.io](https://php-flasher.io)**
- [Installation Guide](https://php-flasher.io/installation)
- [Laravel Integration](https://php-flasher.io/laravel)
- [Symfony Integration](https://php-flasher.io/symfony)
- [Livewire Integration](https://php-flasher.io/livewire)
- [Inertia.js Integration](https://php-flasher.io/inertia)
- [Themes Gallery](https://php-flasher.io/themes)
- [JavaScript Usage](https://php-flasher.io/javascript)
---
## Contributing
Contributions are welcome! Please feel free to submit a [Pull Request](https://github.com/php-flasher/php-flasher/pulls).
## Contributors
<a href="https://github.com/php-flasher/php-flasher/graphs/contributors">
<img src="https://contrib.rocks/image?repo=php-flasher/php-flasher" alt="Contributors" />
</a>
---
## Support the Project
If PHPFlasher helps you build better applications, please consider:
- **[Star this repository](https://github.com/php-flasher/php-flasher)** to show your support
- **[Report bugs](https://github.com/php-flasher/php-flasher/issues)** to help improve the library
- **[Share on Twitter](https://twitter.com/intent/tweet?text=Check%20out%20PHPFlasher%20-%20beautiful%20flash%20notifications%20for%20PHP!&url=https://github.com/php-flasher/php-flasher)** to spread the word
---
## License
PHP Flasher is open-sourced software licensed under the [MIT license](https://opensource.org/licenses/MIT).
PHPFlasher is open-source software licensed under the [MIT license](LICENSE).
<p align="center">
<br>
<strong>Made with ❤️ by <a href="https://github.com/yoeunes">Younes ENNAJI</a></strong>
<br><br>
<a href="https://github.com/php-flasher/php-flasher/stargazers">⭐ Star if you find this useful!</a>
</p>
-8
View File
@@ -1,8 +0,0 @@
services:
flasher.toastr:
parent: 'flasher.notification_factory'
class: Flasher\Toastr\Prime\ToastrFactory
tags:
- { name: 'flasher.factory', alias: 'toastr' }
Flasher\Toastr\Prime\ToastrFactory: '@flasher.toastr'
-16
View File
@@ -1,16 +0,0 @@
PHPFlasher.addFactory('toastr', (function () {
'use strict';
var exports = {};
exports.render = function (data) {
var notification = data.notification;
toastr[notification.type](notification.message, notification.title, notification.options);
};
exports.renderOptions = function (options) {
toastr.options = options;
};
return exports;
})());
@@ -1,82 +0,0 @@
<?php
namespace Flasher\Toastr\Symfony\Tests\DependencyInjection;
use Flasher\Prime\Tests\TestCase;
use Flasher\Toastr\Symfony\DependencyInjection\Configuration;
use Symfony\Component\Config\Definition\Processor;
class ConfigurationTest extends TestCase
{
public function testDefaultConfig()
{
$config = $this->process(array());
$expected = array(
'scripts' => array(
'https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.min.js',
'https://cdnjs.cloudflare.com/ajax/libs/toastr.js/2.1.4/toastr.min.js',
'/bundles/flashertoastr/flasher-toastr.js',
),
'styles' => array(
'https://cdnjs.cloudflare.com/ajax/libs/toastr.js/2.1.4/toastr.min.css',
),
'options' =>array(
'closeButton' => true,
'closeClass' => 'toast-close-button',
'closeDuration' => 300,
'closeEasing' => 'swing',
'closeHtml' => '<button><i class="icon-off"></i></button>',
'closeMethod' => 'fadeOut',
'closeOnHover' => true,
'containerId' => 'toast-container',
'debug' => false,
'escapeHtml' => false,
'extendedTimeOut' => 10000,
'hideDuration' => 1000,
'hideEasing' => 'linear',
'hideMethod' => 'fadeOut',
'iconClass' => 'toast-info',
'iconClasses' => array(
'error' => 'toast-error',
'info' => 'toast-info',
'success' => 'toast-success',
'warning' => 'toast-warning',
),
'messageClass' => 'toast-message',
'newestOnTop' => false,
'onHidden' => null,
'onShown' => null,
'positionClass' => 'toast-top-right',
'preventDuplicates' => false,
'progressBar' => true,
'progressClass' => 'toast-progress',
'rtl' => false,
'showDuration' => 300,
'showEasing' => 'swing',
'showMethod' => 'fadeIn',
'tapToDismiss' => true,
'target' => 'body',
'timeOut' => 5000,
'titleClass' => 'toast-title',
'toastClass' => 'toast',
)
);
$this->assertSame($expected, $config);
}
/**
* Processes an array of configurations and returns a compiled version.
*
* @param array $configs An array of raw configurations
*
* @return array A normalized array
*/
private function process($configs)
{
$processor = new Processor();
return $processor->processConfiguration(new Configuration(), $configs);
}
}
@@ -1,77 +0,0 @@
<?php
namespace Flasher\Toastr\Symfony\Tests\DependencyInjection;
use Flasher\Prime\Tests\TestCase;
use Flasher\Symfony\DependencyInjection\FlasherExtension;
use Flasher\Symfony\FlasherBundle;
use Flasher\Toastr\Symfony\DependencyInjection\FlasherToastrExtension;
use Flasher\Toastr\Symfony\FlasherToastrBundle;
use Symfony\Component\DependencyInjection\ContainerBuilder;
class FlasherToastrExtensionTest extends TestCase
{
public function testContainerContainFlasherServices()
{
$container = $this->getRawContainer();
$container->loadFromExtension('flasher', array());
$container->loadFromExtension('flasher_toastr', array());
$container->compile();
$this->assertTrue($container->has('flasher.toastr'));
}
public function testCreateInstanceOfToastrAdapter()
{
$container = $this->getRawContainer();
$container->loadFromExtension('flasher');
$container->loadFromExtension('flasher_toastr');
$container->compile();
$flasher = $container->getDefinition('flasher');
$calls = $flasher->getMethodCalls();
$this->assertCount(2, $calls);
$this->assertSame('addFactory', $calls[0][0]);
$this->assertSame('template', $calls[0][1][0]);
$this->assertSame('flasher.notification_factory', (string) $calls[0][1][1]);
$this->assertSame('addFactory', $calls[1][0]);
$this->assertSame('toastr', $calls[1][1][0]);
$this->assertSame('flasher.toastr', (string) $calls[1][1][1]);
}
public function testConfigurationInjectedIntoFlasherConfig()
{
$container = $this->getContainer();
$config = $container->get('flasher.config');
$this->assertNotEmpty($config->get('adapters.toastr'));
}
private function getRawContainer()
{
$container = new ContainerBuilder();
$container->registerExtension(new FlasherExtension());
$flasherBundle = new FlasherBundle();
$flasherBundle->build($container);
$container->registerExtension(new FlasherToastrExtension());
$adapterBundle = new FlasherToastrBundle();
$adapterBundle->build($container);
$container->getCompilerPassConfig()->setOptimizationPasses(array());
$container->getCompilerPassConfig()->setRemovingPasses(array());
$container->getCompilerPassConfig()->setAfterRemovingPasses(array());
return $container;
}
private function getContainer()
{
$container = $this->getRawContainer();
$container->compile();
return $container;
}
}
Executable
+675
View File
@@ -0,0 +1,675 @@
#!/usr/bin/env bash
# =========================================================================
# Build System for PHP-Flasher
# =========================================================================
#
# This script provides an elegant build process for PHP-Flasher assets
# with comprehensive reporting and flexible configuration options.
#
# Author: Younes ENNAJI
# =========================================================================
# Strict error handling
set -o pipefail
# =========================================================================
# CONSTANTS AND CONFIGURATION
# =========================================================================
# Colors and styles
readonly RESET='\033[0m'
readonly BOLD='\033[1m'
readonly DIM='\033[2m'
readonly UNDERLINE='\033[4m'
readonly BLUE='\033[34m'
readonly GREEN='\033[32m'
readonly RED='\033[31m'
readonly YELLOW='\033[33m'
readonly CYAN='\033[36m'
readonly MAGENTA='\033[35m'
readonly WHITE='\033[37m'
# Emoji indicators
readonly ROCKET="🚀"
readonly PACKAGE="📦"
readonly CHECK="✓"
readonly ERROR="❌"
readonly WARNING="⚠️"
readonly HAMMER="🏗️"
readonly CHART="📊"
readonly SPARKLES="✨"
readonly HOURGLASS="⏳"
readonly PALETTE="🎨"
# File paths
readonly SRC_DIR="src"
readonly PRIME_PATH="${SRC_DIR}/Prime/Resources"
readonly TEMP_DIR="/tmp/php-flasher-build-$$"
readonly BUILD_LOG="${TEMP_DIR}/build.log"
readonly SIZE_DATA="${TEMP_DIR}/sizes.data"
# Default configuration
VERBOSE=false
WATCH_MODE=false
THEME_ONLY=false
MODULE_ONLY=false
ANALYZE=false
DEEP_ANALYZE=false
SKIP_CLEAR=false
NODE_ENV="production"
# =========================================================================
# UTILITY FUNCTIONS
# =========================================================================
cleanup() {
# Clean up temporary files when the script exits
rm -rf "${TEMP_DIR}" 2>/dev/null
}
trap cleanup EXIT
mkdir -p "${TEMP_DIR}"
print_header() {
echo -e "\n${BOLD}Date : ${RESET}${CYAN}$(date -u '+%Y-%m-%d %H:%M:%S') UTC${RESET}"
echo -e "${BOLD}User : ${RESET}${MAGENTA}$(whoami)${RESET}"
echo -e "${BOLD}Branch : ${RESET}${GREEN}$(git rev-parse --abbrev-ref HEAD 2>/dev/null || echo "unknown")${RESET}"
echo -e "${BOLD}Directory : ${RESET}${BLUE}$(pwd)${RESET}"
if [ "$NODE_ENV" != "production" ]; then
echo -e "${BOLD}Mode : ${RESET}${YELLOW}${NODE_ENV}${RESET}"
fi
if [ "$WATCH_MODE" = true ]; then
echo -e "${BOLD}Watch : ${RESET}${CYAN}enabled${RESET}"
fi
if [ "$THEME_ONLY" = true ]; then
echo -e "${BOLD}Scope : ${RESET}${MAGENTA}themes only${RESET}"
elif [ "$MODULE_ONLY" = true ]; then
echo -e "${BOLD}Scope : ${RESET}${MAGENTA}modules only${RESET}"
fi
echo
}
print_section() {
echo -e "\n${BOLD}${CYAN}┌─ $1 ${2:-}${RESET}"
}
success_msg() {
echo -e "${GREEN}${CHECK} $*${RESET}"
}
error_msg() {
echo -e "${RED}${ERROR} $*${RESET}"
}
warning_msg() {
echo -e "${YELLOW}${WARNING} $*${RESET}"
}
info_msg() {
echo -e "${BLUE}${HOURGLASS} $*${RESET}"
}
print_usage() {
echo -e "${BOLD}Usage:${RESET} $0 [options]"
echo
echo -e "${BOLD}Options:${RESET}"
echo -e " ${GREEN}-h, --help${RESET} Show this help message"
echo -e " ${GREEN}-v, --verbose${RESET} Display detailed build output"
echo -e " ${GREEN}-w, --watch${RESET} Run in watch mode"
echo -e " ${GREEN}-d, --development${RESET} Build in development mode (unminified)"
echo -e " ${GREEN}-t, --themes-only${RESET} Build only themes"
echo -e " ${GREEN}-m, --modules-only${RESET} Build only modules (core and plugins)"
echo -e " ${GREEN}-a, --analyze${RESET} Show detailed size analysis in table format"
echo -e " ${GREEN}-D, --deep-analyze${RESET} Perform deep analysis of files (checksums, content inspection)"
echo -e " ${GREEN}--skip-clear${RESET} Skip clearing output directories"
echo
}
parse_args() {
while [ "$#" -gt 0 ]; do
case "$1" in
-h|--help)
print_usage
exit 0
;;
-v|--verbose)
VERBOSE=true
;;
-w|--watch)
WATCH_MODE=true
NODE_ENV="development"
;;
-d|--development)
NODE_ENV="development"
;;
-t|--themes-only)
THEME_ONLY=true
;;
-m|--modules-only)
MODULE_ONLY=true
;;
-a|--analyze)
ANALYZE=true
;;
-D|--deep-analyze)
ANALYZE=true
DEEP_ANALYZE=true
;;
--skip-clear)
SKIP_CLEAR=true
;;
*)
warning_msg "Unknown option: $1"
print_usage
exit 1
;;
esac
shift
done
# Validate conflicting options
if [ "$THEME_ONLY" = true ] && [ "$MODULE_ONLY" = true ]; then
error_msg "Cannot specify both --themes-only and --modules-only"
exit 1
fi
# Configure build mode
if [ "$WATCH_MODE" = true ]; then
ROLLUP_ARGS="-c -w"
else
ROLLUP_ARGS="-c"
fi
# When analyzing, we turn off verbosity for rollup
if [ "$ANALYZE" = true ]; then
export FILESIZE_SILENT=true
fi
}
# =========================================================================
# BUILD FUNCTIONS
# =========================================================================
get_size_info() {
local file="$1"
# Get precise byte count for more accurate comparison
local bytes=$(wc -c < "$file")
local size=$(du -h "$file" | awk '{print $1}')
local gzip=$(gzip -c "$file" | wc -c | numfmt --to=iec --format="%.1f")
local brotli_size=$(brotli -c "$file" 2>/dev/null | wc -c | numfmt --to=iec --format="%.1f" || echo "N/A")
echo "$size|$gzip|$bytes|$brotli_size"
}
get_file_hash() {
local file="$1"
if command -v sha256sum &> /dev/null; then
sha256sum "$file" | awk '{print $1}'
elif command -v shasum &> /dev/null; then
shasum -a 256 "$file" | awk '{print $1}'
else
echo "HASH_UNAVAILABLE"
fi
}
analyze_file_content() {
local file="$1"
local filename=$(basename "$file")
local dir="${TEMP_DIR}/analysis/$(dirname "$file" | sed 's/\//_/g')"
mkdir -p "$dir"
# Get first 10 lines for a quick look
head -n 10 "$file" > "${dir}/${filename}.head"
# Get hash for exact comparison
local hash=$(get_file_hash "$file")
echo "$hash" > "${dir}/${filename}.hash"
# For CSS/JS, try to determine if it's minified
if [[ "$file" == *.css || "$file" == *.js ]]; then
# Count semicolons to help identify if minified
local semicolons=$(grep -o ";" "$file" | wc -l)
# Count newlines
local newlines=$(grep -c $'\n' "$file")
# Simple heuristic: if few newlines relative to semicolons, likely minified
if [ "$newlines" -lt 10 ] || [ "$semicolons" -gt "$((newlines * 5))" ]; then
echo "MINIFIED:YES semicolons:$semicolons newlines:$newlines" > "${dir}/${filename}.analysis"
else
echo "MINIFIED:NO semicolons:$semicolons newlines:$newlines" > "${dir}/${filename}.analysis"
fi
fi
echo "$hash"
}
collect_build_statistics() {
local modules_count=0
local themes_count=0
declare -a theme_names=()
local unique_css_hashes=0
local unique_js_hashes=0
declare -A css_hashes=()
declare -A js_hashes=()
# Create temporary directory for data
mkdir -p "${TEMP_DIR}/modules"
mkdir -p "${TEMP_DIR}/themes"
mkdir -p "${TEMP_DIR}/analysis"
echo "DEBUG: Looking for modules and themes..." >> "${BUILD_LOG}"
# Check for core flasher module first
if [ -f "${PRIME_PATH}/dist/flasher.min.js" ]; then
local size_info=$(get_size_info "${PRIME_PATH}/dist/flasher.min.js")
local hash="N/A"
if [ "$DEEP_ANALYZE" = true ]; then
hash=$(analyze_file_content "${PRIME_PATH}/dist/flasher.min.js")
js_hashes["$hash"]=1
((unique_js_hashes++))
fi
echo "flasher:$size_info:$hash" >> "${TEMP_DIR}/modules/data"
((modules_count++))
fi
# Collect module statistics - FIXED to avoid subshell issue
# Store filenames to process in a temporary file
find ${SRC_DIR}/*/Prime/Resources/dist -name "*.min.js" | grep -v themes > "${TEMP_DIR}/module_files.txt" 2>/dev/null
# Process each module file
while IFS= read -r file; do
local module=$(basename "$file" .min.js)
local size_info=$(get_size_info "$file")
local hash="N/A"
if [ "$DEEP_ANALYZE" = true ]; then
hash=$(analyze_file_content "$file")
js_hashes["$hash"]=1
((unique_js_hashes++))
fi
echo "$module:$size_info:$hash" >> "${TEMP_DIR}/modules/data"
((modules_count++))
echo "DEBUG: Found module: $module in $file (${size_info})" >> "${BUILD_LOG}"
done < "${TEMP_DIR}/module_files.txt"
# Collect theme statistics - FIXED to avoid subshell issue
if [ -d "${PRIME_PATH}/dist/themes" ]; then
# Store theme files in a temporary file
find ${PRIME_PATH}/dist/themes -name "*.min.js" > "${TEMP_DIR}/theme_files.txt" 2>/dev/null
# Process each theme file
while IFS= read -r file; do
local theme=$(basename "$(dirname "$file")")
local size_info=$(get_size_info "$file")
local js_hash="N/A"
local css_hash="N/A"
# Also get the CSS file size and analyze it
local css_file="${PRIME_PATH}/dist/themes/${theme}/${theme}.min.css"
local css_size_info="N/A"
if [ -f "$css_file" ]; then
css_size_info=$(get_size_info "$css_file")
if [ "$DEEP_ANALYZE" = true ]; then
css_hash=$(analyze_file_content "$css_file")
if [ -z "${css_hashes[$css_hash]}" ]; then
css_hashes["$css_hash"]=1
((unique_css_hashes++))
else
css_hashes["$css_hash"]=$((css_hashes["$css_hash"] + 1))
fi
js_hash=$(analyze_file_content "$file")
if [ -z "${js_hashes[$js_hash]}" ]; then
js_hashes["$js_hash"]=1
else
js_hashes["$js_hash"]=$((js_hashes["$js_hash"] + 1))
fi
fi
echo "DEBUG: Theme $theme JS: $size_info, CSS: $css_size_info" >> "${BUILD_LOG}"
else
echo "DEBUG: No CSS file found for theme $theme" >> "${BUILD_LOG}"
fi
echo "$theme:$size_info:$js_hash:$css_size_info:$css_hash" >> "${TEMP_DIR}/themes/data"
theme_names+=("$theme")
((themes_count++))
done < "${TEMP_DIR}/theme_files.txt"
# Sort theme names alphabetically
if [ ${#theme_names[@]} -gt 0 ]; then
printf "%s\n" "${theme_names[@]}" | sort > "${TEMP_DIR}/theme_names"
fi
fi
# Store counts for summary
echo "$modules_count" > "${TEMP_DIR}/modules_count"
echo "$themes_count" > "${TEMP_DIR}/themes_count"
echo "$unique_js_hashes" > "${TEMP_DIR}/unique_js_hashes"
echo "$unique_css_hashes" > "${TEMP_DIR}/unique_css_hashes"
# Write hash statistics if deep analysis was enabled
if [ "$DEEP_ANALYZE" = true ]; then
echo "JS Hash Distribution:" > "${TEMP_DIR}/hash_stats.txt"
for hash in "${!js_hashes[@]}"; do
echo " $hash: ${js_hashes[$hash]} files" >> "${TEMP_DIR}/hash_stats.txt"
done
echo -e "\nCSS Hash Distribution:" >> "${TEMP_DIR}/hash_stats.txt"
for hash in "${!css_hashes[@]}"; do
echo " $hash: ${css_hashes[$hash]} files" >> "${TEMP_DIR}/hash_stats.txt"
done
fi
}
run_build() {
print_section "Starting Build Process" "${HAMMER}"
info_msg "Environment: ${NODE_ENV}"
info_msg "Building PHP-Flasher assets..."
# Set environment variables
export NODE_ENV="$NODE_ENV"
export ANALYZE="$ANALYZE"
export DEEP_ANALYZE="$DEEP_ANALYZE"
# Determine which parts to build based on flags
local rollup_args="$ROLLUP_ARGS"
if [ "$THEME_ONLY" = true ]; then
info_msg "Building themes only"
# Here we'd need to extend rollup to support theme-only builds
# For now, we'll complete the full build
elif [ "$MODULE_ONLY" = true ]; then
info_msg "Building modules only"
# Similarly, we'd need to extend rollup
fi
# Execute rollup with appropriate flags
if [ "$VERBOSE" = true ]; then
if npx rollup $rollup_args; then
success_msg "Build process completed"
return 0
else
error_msg "Build process failed"
return 1
fi
else
# Capture output for non-verbose mode
if npx rollup $rollup_args > "$BUILD_LOG" 2>&1; then
success_msg "Build process completed"
return 0
else
error_msg "Build process failed"
cat "$BUILD_LOG"
return 1
fi
fi
}
# =========================================================================
# REPORTING FUNCTIONS
# =========================================================================
print_size_table() {
local title="$1"
local data_file="$2"
local max_name_len=20
if [ ! -f "$data_file" ] || [ ! -s "$data_file" ]; then
return
fi
echo -e "\n${BOLD}${WHITE}${title}${RESET}\n"
# Print table header with or without hashes based on deep analysis
if [ "$DEEP_ANALYZE" = true ]; then
printf "${BOLD}%-${max_name_len}s %-10s %-10s %-10s %-10s${RESET}\n" "Component" "Size" "Gzip" "Bytes" "Hash"
else
printf "${BOLD}%-${max_name_len}s %-10s %-10s %-10s${RESET}\n" "Component" "Size" "Gzip" "Bytes"
fi
echo -e "${DIM}$(printf '%.0s─' {1..70})${RESET}"
# Print table rows
while IFS=: read -r line; do
# Split the line into fields
local fields=()
while IFS=: read -ra parts; do
fields=("${parts[@]}")
done <<< "$line"
local name="${fields[0]}"
local size_data="${fields[1]}"
local hash="N/A"
if [ "${#fields[@]}" -gt 2 ]; then
hash="${fields[2]}"
fi
IFS='|' read -r size gzip bytes brotli <<< "$size_data"
if [ "$DEEP_ANALYZE" = true ]; then
printf "%-${max_name_len}s ${GREEN}%-10s${RESET} ${BLUE}%-10s${RESET} ${YELLOW}%-10s${RESET} ${DIM}%.8s${RESET}\n" \
"$name" "$size" "$gzip" "$bytes" "$hash"
else
printf "%-${max_name_len}s ${GREEN}%-10s${RESET} ${BLUE}%-10s${RESET} ${YELLOW}%-10s${RESET}\n" \
"$name" "$size" "$gzip" "$bytes"
fi
done < "$data_file"
}
print_theme_table() {
local data_file="$1"
local max_name_len=15
if [ ! -f "$data_file" ] || [ ! -s "$data_file" ]; then
return
fi
echo -e "\n${BOLD}${WHITE}Theme Sizes${RESET}\n"
# Print table header
printf "${BOLD}%-${max_name_len}s %-10s %-10s %-10s %-10s${RESET}\n" "Theme" "JS Size" "CSS Size" "JS Bytes" "CSS Bytes"
echo -e "${DIM}$(printf '%.0s─' {1..70})${RESET}"
# Print table rows
while IFS=: read -r line; do
# Split the line into fields
local fields=()
while IFS=: read -ra parts; do
fields=("${parts[@]}")
done <<< "$line"
local name="${fields[0]}"
local js_size_data="${fields[1]}"
local js_hash="N/A"
local css_size_data="N/A"
local css_hash="N/A"
if [ "${#fields[@]}" -gt 2 ]; then
js_hash="${fields[2]}"
fi
if [ "${#fields[@]}" -gt 3 ]; then
css_size_data="${fields[3]}"
fi
if [ "${#fields[@]}" -gt 4 ]; then
css_hash="${fields[4]}"
fi
IFS='|' read -r js_size js_gzip js_bytes js_brotli <<< "$js_size_data"
local css_size="N/A"
local css_bytes="N/A"
if [ "$css_size_data" != "N/A" ]; then
IFS='|' read -r css_size css_gzip css_bytes css_brotli <<< "$css_size_data"
fi
printf "%-${max_name_len}s ${GREEN}%-10s${RESET} ${MAGENTA}%-10s${RESET} ${YELLOW}%-10s${RESET} ${BLUE}%-10s${RESET}\n" \
"$name" "$js_size" "$css_size" "$js_bytes" "$css_bytes"
done < "$data_file"
}
print_theme_grid() {
local theme_names_file="$1"
if [ ! -f "$theme_names_file" ] || [ ! -s "$theme_names_file" ]; then
return
fi
echo -e "\n${BOLD}${MAGENTA}${PALETTE} Themes:${RESET}"
# Define grid parameters
local columns=3
local max_width=15
local count=0
# Print themes in a grid
while read -r theme; do
if [ $((count % columns)) -eq 0 ]; then
echo -ne " "
fi
printf "• %-${max_width}s" "$theme"
count=$((count + 1))
if [ $((count % columns)) -eq 0 ]; then
echo
fi
done < "$theme_names_file"
# Add a newline if the last row wasn't complete
if [ $((count % columns)) -ne 0 ]; then
echo
fi
}
print_deep_analysis() {
if [ ! -d "${TEMP_DIR}/analysis" ]; then
return
fi
local unique_js=0
local unique_css=0
if [ -f "${TEMP_DIR}/unique_js_hashes" ]; then
unique_js=$(cat "${TEMP_DIR}/unique_js_hashes")
fi
if [ -f "${TEMP_DIR}/unique_css_hashes" ]; then
unique_css=$(cat "${TEMP_DIR}/unique_css_hashes")
fi
echo -e "\n${BOLD}${WHITE}Deep File Analysis${RESET}"
echo -e "${DIM}$(printf '%.0s─' {1..50})${RESET}"
echo -e "Unique JavaScript files: ${YELLOW}${unique_js}${RESET}"
echo -e "Unique CSS files: ${MAGENTA}${unique_css}${RESET}"
if [ -f "${TEMP_DIR}/hash_stats.txt" ]; then
echo -e "\n${BOLD}Hash Distribution:${RESET}"
local top_5=$(head -n 10 "${TEMP_DIR}/hash_stats.txt")
echo -e "${DIM}$top_5${RESET}"
echo -e "${DIM}(See ${TEMP_DIR}/hash_stats.txt for full details)${RESET}"
fi
}
print_summary() {
local success=$1
local duration=$2
# Read statistics
local modules_count=0
local themes_count=0
if [ -f "${TEMP_DIR}/modules_count" ]; then
modules_count=$(cat "${TEMP_DIR}/modules_count")
fi
if [ -f "${TEMP_DIR}/themes_count" ]; then
themes_count=$(cat "${TEMP_DIR}/themes_count")
fi
# Print summary header
echo -e "\n${BOLD}${PACKAGE} Build Summary${RESET}"
echo -e "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
# Print statistics
if [ "$MODULE_ONLY" = false ]; then
echo -e "${CHECK} Modules/Plugins: ${BOLD}${CYAN}${modules_count}${RESET}"
fi
if [ "$THEME_ONLY" = false ]; then
echo -e "${CHECK} Themes: ${BOLD}${MAGENTA}${themes_count}${RESET}"
fi
echo -e "${CHECK} Build completed in ${BOLD}${YELLOW}${duration}s${RESET}"
# Print theme names if available
if [ -f "${TEMP_DIR}/theme_names" ]; then
print_theme_grid "${TEMP_DIR}/theme_names"
fi
# Show size analysis if requested
if [ "$ANALYZE" = true ]; then
echo -e "\n${BOLD}${CHART} Size Analysis:${RESET}"
print_size_table "Module Sizes" "${TEMP_DIR}/modules/data"
if [ "$DEEP_ANALYZE" = true ]; then
print_theme_table "${TEMP_DIR}/themes/data"
print_deep_analysis
else
print_size_table "Theme Sizes" "${TEMP_DIR}/themes/data"
fi
# Add option to view detailed logs
echo -e "\nFor detailed build info, run: ${CYAN}cat $BUILD_LOG${RESET}"
echo -e "Temporary files at: ${CYAN}${TEMP_DIR}${RESET}"
fi
}
# =========================================================================
# MAIN EXECUTION
# =========================================================================
main() {
local start_time=$(date +%s)
local build_success=true
# Parse command-line arguments
parse_args "$@"
# Show header
print_header
# Run the build process
run_build || build_success=false
# Only collect statistics if build was successful and not in watch mode
if [ "$WATCH_MODE" = false ] && [ "$build_success" = true ]; then
if [ "$ANALYZE" = true ] || [ ! -t 1 ]; then
print_section "Analyzing Build Output" "${CHART}"
fi
collect_build_statistics
fi
# Print summary (unless in watch mode)
if [ "$WATCH_MODE" = false ]; then
local end_time=$(date +%s)
local duration=$((end_time - start_time))
print_summary "$build_success" "$duration"
fi
# Exit with appropriate code
[ "$build_success" = true ] && exit 0 || exit 1
}
# Execute main function with all arguments
main "$@"
Executable
+189
View File
@@ -0,0 +1,189 @@
#!/usr/bin/env bash
set -e
set -o pipefail
# Colors and styles
readonly RESET='\033[0m'
readonly BOLD='\033[1m'
readonly BLUE='\033[34m'
readonly GREEN='\033[32m'
readonly RED='\033[31m'
readonly YELLOW='\033[33m'
# Emojis
readonly ROCKET="🚀"
readonly UPDATE="🔄"
readonly PACKAGE="📦"
readonly SUCCESS="✨"
readonly ERROR="❌"
readonly WARNING="⚠️"
readonly CHECK="✓"
# Header
print_header() {
echo -e "\n${BOLD}${BLUE}╭──────────────────────────────────────────╮${RESET}"
echo -e "${BOLD}${BLUE}│ ${ROCKET} PHP-Flasher Version ${ROCKET} │${RESET}"
echo -e "${BOLD}${BLUE}╰──────────────────────────────────────────╯${RESET}\n"
echo -e " Date : $(date -u '+%Y-%m-%d %H:%M:%S') UTC"
echo -e " User : $(whoami)"
echo -e " Directory: $(pwd)\n"
}
# Version validation
validate_version() {
local version=$1
if [[ ! $version =~ ^[0-9]+\.[0-9]+\.[0-9]+$ ]]; then
echo -e "\n${RED}${ERROR} Invalid version format: $version${RESET}"
echo -e " Version must be in format X.Y.Z (e.g., 2.1.6)\n"
exit 1
fi
}
# Get current version from Flasher class
get_current_version() {
local file="src/Prime/Flasher.php"
if [ -f "$file" ]; then
local version=$(grep -o "const VERSION = '[0-9]\+\.[0-9]\+\.[0-9]\+'" "$file" | grep -o "[0-9]\+\.[0-9]\+\.[0-9]\+")
echo "$version"
else
echo -e "${RED}${ERROR} Flasher.php not found in src/Prime/Flasher.php${RESET}"
exit 1
fi
}
# Update composer.json file
update_composer_file() {
local file=$1
local current_version=$2
local new_version=$3
# Create a temporary file
local tmp_file="${file}.tmp"
# Use jq with 4-space indentation
if command -v jq >/dev/null 2>&1; then
jq --indent 4 --arg cv "^${current_version}" --arg nv "^${new_version}" '
walk(
if type == "object" and has("require") then
.require |= with_entries(
if .key | startswith("php-flasher/") then
.value = $nv
else
.
end
)
else
.
end
)
' "$file" > "$tmp_file"
else
# Fallback to sed for simple replacement
sed -E "s/\"php-flasher\/[^\"]+\": \"\\^${current_version}\"/\"\\0\": \"^${new_version}\"/" "$file" > "$tmp_file"
fi
# Check if the temporary file exists and has content
if [ -s "$tmp_file" ]; then
mv "$tmp_file" "$file"
echo " ${CHECK} Updated $file"
else
echo " ${WARNING} Failed to update $file"
rm -f "$tmp_file"
fi
}
# Update package.json file
update_package_file() {
local file=$1
local current_version=$2
local new_version=$3
# Create a temporary file
local tmp_file="${file}.tmp"
# Use jq with 4-space indentation
if command -v jq >/dev/null 2>&1; then
jq --indent 4 --arg cv "^${current_version}" --arg nv "^${new_version}" --arg v "${new_version}" '
.version = $v |
if has("peerDependencies") then
.peerDependencies |= with_entries(
if .key | startswith("@flasher/") then
.value = $nv
else
.
end
)
else
.
end |
if has("dependencies") then
.dependencies |= with_entries(
if .key | startswith("@flasher/") then
.value = $nv
else
.
end
)
else
.
end
' "$file" > "$tmp_file"
else
# Fallback to sed for simple replacement
sed -E -e "s/\"version\": \"${current_version}\"/\"version\": \"${new_version}\"/" \
-e "s/\"@flasher\/[^\"]+\": \"\\^${current_version}\"/\"\\0\": \"^${new_version}\"/" \
"$file" > "$tmp_file"
fi
# Check if the temporary file exists and has content
if [ -s "$tmp_file" ]; then
mv "$tmp_file" "$file"
echo " ${CHECK} Updated $file"
else
echo " ${WARNING} Failed to update $file"
rm -f "$tmp_file"
fi
}
# Update version in files
update_version() {
local current_version=$1
local new_version=$2
echo -e " ${UPDATE} Updating version numbers ($current_version → $new_version)\n"
# Update PHP class version
echo -e " ${PACKAGE} Updating Flasher class version..."
if [ -f "src/Prime/Flasher.php" ]; then
sed -i '' "s/const VERSION = '$current_version'/const VERSION = '$new_version'/" src/Prime/Flasher.php
echo -e " ${CHECK} Updated src/Prime/Flasher.php"
fi
# Update composer.json files in src directory
echo -e "\n ${PACKAGE} Updating composer.json files..."
find src -name "composer.json" -type f | while read -r file; do
update_composer_file "$file" "$current_version" "$new_version"
done
# Update package.json files in src directory
echo -e "\n ${PACKAGE} Updating package.json files..."
find src -name "package.json" -type f | while read -r file; do
update_package_file "$file" "$current_version" "$new_version"
done
echo -e "\n ${SUCCESS} Version bump complete!\n"
}
# Main execution
if [ -z "$1" ]; then
echo -e "${RED}${ERROR} Version number is required${RESET}"
echo -e "Usage: $0 <version>\n"
exit 1
fi
print_header
new_version=$1
current_version=$(get_current_version)
validate_version "$new_version"
update_version "$current_version" "$new_version"
Executable
+35
View File
@@ -0,0 +1,35 @@
#!/bin/bash
# Default to the current directory if no directory is provided
dir=${1:-.}
# Optional: A list of file extensions to filter by, e.g., "txt md". Leave empty to include all files.
extensions=($2)
# Temporary file to store results
temp_file=$(mktemp)
# Function to print file details (now inline within find command)
print_file_details() {
echo "File Path: $1"
echo "Contents:"
cat "$1"
echo
}
# Finding and processing files
if [ ${#extensions[@]} -eq 0 ]; then
# If no extensions are specified, process all files
find "$dir" -type f -exec bash -c 'echo "File Path: $1"; echo "Contents:"; cat "$1"; echo' bash {} \; >> "$temp_file"
else
# Process only files with specified extensions
for ext in "${extensions[@]}"; do
find "$dir" -type f -name "*.$ext" -exec bash -c 'echo "File Path: $1"; echo "Contents:"; cat "$1"; echo' bash {} \; >> "$temp_file"
done
fi
# Copy results to clipboard and remove the temporary file
cat "$temp_file" | pbcopy
rm "$temp_file"
echo "Results copied to clipboard."
Executable
+129
View File
@@ -0,0 +1,129 @@
#!/usr/bin/env bash
set -o pipefail
# PHP binary to use (defaults to PHP 8.2)
PHP_BINARY="${PHP_BINARY:-/opt/homebrew/opt/php@8.2/bin/php}"
# Colors and styles
readonly RESET='\033[0m'
readonly BOLD='\033[1m'
readonly DIM='\033[2m'
readonly BLUE='\033[34m'
readonly GREEN='\033[32m'
readonly RED='\033[31m'
readonly YELLOW='\033[33m'
readonly CYAN='\033[36m'
readonly MAGENTA='\033[35m'
# Essential emojis
readonly ROCKET="🚀"
readonly CHECK="✓"
readonly ERROR="❌"
readonly WARNING="⚠️"
readonly CHART="📊"
readonly TEST_TUBE="🧪"
readonly SPARKLES="✨"
readonly GLOBE="🌐"
print_header() {
echo -e "\n${BOLD}${BLUE}${ROCKET} PHP-Flasher Test Coverage ${ROCKET}${RESET}\n"
echo -e "${BOLD}Date : ${RESET}${CYAN}$(date -u '+%Y-%m-%d %H:%M:%S') UTC${RESET}"
echo -e "${BOLD}Directory : ${RESET}${BLUE}$(pwd)${RESET}\n"
}
cleanup_coverage() {
echo -e "${BOLD}${DIM}Cleaning up old coverage reports...${RESET}"
rm -rf coverage/phpunit coverage/vitest
mkdir -p coverage/phpunit coverage/vitest
echo -e "${CHECK} ${GREEN}Cleanup complete${RESET}\n"
}
run_phpunit_coverage() {
echo -e "${BOLD}${TEST_TUBE} Running PHPUnit with Coverage${RESET}"
if $PHP_BINARY vendor/bin/phpunit --coverage-html coverage/phpunit/html --coverage-text=coverage/phpunit/report.txt; then
echo -e "${CHECK} ${GREEN}PHPUnit coverage generated${RESET}"
echo -e " ${DIM}HTML Report: coverage/phpunit/html/index.html${RESET}\n"
return 0
else
echo -e "${WARNING} ${YELLOW}PHPUnit coverage generation failed${RESET}\n"
return 1
fi
}
run_vitest_coverage() {
echo -e "${BOLD}${TEST_TUBE} Running Vitest with Coverage${RESET}"
if npm run test:coverage; then
echo -e "${CHECK} ${GREEN}Vitest coverage generated${RESET}"
echo -e " ${DIM}HTML Report: coverage/vitest/index.html${RESET}\n"
return 0
else
echo -e "${WARNING} ${YELLOW}Vitest coverage generation failed${RESET}\n"
return 1
fi
}
print_summary() {
echo -e "${BOLD}${CYAN}${CHART} Coverage Reports Summary${RESET}\n"
echo -e "${BOLD}PHPUnit Coverage:${RESET}"
if [ -f "coverage/phpunit/html/index.html" ]; then
echo -e " ${GREEN}${CHECK} HTML: ${RESET}coverage/phpunit/html/index.html"
if [ -f "coverage/phpunit/report.txt" ]; then
echo -e " ${GREEN}${CHECK} Text: ${RESET}coverage/phpunit/report.txt"
fi
else
echo -e " ${RED}${ERROR} No coverage report generated${RESET}"
fi
echo -e "\n${BOLD}Vitest Coverage:${RESET}"
if [ -f "coverage/vitest/index.html" ]; then
echo -e " ${GREEN}${CHECK} HTML: ${RESET}coverage/vitest/index.html"
if [ -f "coverage/vitest/coverage-final.json" ]; then
echo -e " ${GREEN}${CHECK} JSON: ${RESET}coverage/vitest/coverage-final.json"
fi
else
echo -e " ${RED}${ERROR} No coverage report generated${RESET}"
fi
echo -e "\n${BOLD}${GLOBE} Open Reports:${RESET}"
echo -e " ${CYAN}npm run coverage:open${RESET}"
echo -e " ${DIM}Or manually open the HTML files in your browser${RESET}\n"
}
open_reports() {
if [ "$1" == "--open" ] || [ "$1" == "-o" ]; then
echo -e "${BOLD}${GLOBE} Opening coverage reports...${RESET}\n"
if [ -f "coverage/phpunit/html/index.html" ]; then
open coverage/phpunit/html/index.html 2>/dev/null || xdg-open coverage/phpunit/html/index.html 2>/dev/null
fi
if [ -f "coverage/vitest/index.html" ]; then
open coverage/vitest/index.html 2>/dev/null || xdg-open coverage/vitest/index.html 2>/dev/null
fi
fi
}
main() {
local start_time=$(date +%s)
print_header
cleanup_coverage
run_phpunit_coverage
run_vitest_coverage
local end_time=$(date +%s)
local duration=$((end_time - start_time))
print_summary
echo -e "${SPARKLES} ${BOLD}Coverage Complete${RESET}"
echo -e "Duration: ${YELLOW}${duration}s${RESET}\n"
open_reports "$1"
}
main "$@"
Executable
+101
View File
@@ -0,0 +1,101 @@
#!/usr/bin/env bash
set -o pipefail
# Colors and styles
readonly RESET='\033[0m'
readonly BOLD='\033[1m'
readonly DIM='\033[2m'
readonly UNDERLINE='\033[4m'
readonly BLUE='\033[34m'
readonly GREEN='\033[32m'
readonly RED='\033[31m'
readonly YELLOW='\033[33m'
readonly CYAN='\033[36m'
readonly MAGENTA='\033[35m'
# Essential emojis
readonly ROCKET="🚀"
readonly CHECK="✓"
readonly ERROR="❌"
readonly WARNING="⚠️"
readonly BOOKS="📚"
readonly HAMMER="🏗️"
readonly SPARKLES="✨"
print_header() {
echo -e "\n${BOLD}${BLUE}${ROCKET} PHP-Flasher Documentation Builder ${ROCKET}${RESET}\n"
echo -e "${BOLD}Date : ${RESET}${CYAN}$(date -u '+%Y-%m-%d %H:%M:%S') UTC${RESET}"
echo -e "${BOLD}User : ${RESET}${MAGENTA}yoeunes${RESET}"
echo -e "${BOLD}Branch : ${RESET}${GREEN}$(git rev-parse --abbrev-ref HEAD)${RESET}"
echo -e "${BOLD}Directory : ${RESET}${BLUE}$(pwd)${RESET}\n"
}
install_dependencies() {
echo -e "${BOLD}${BOOKS} Installing dependencies${RESET}"
if npm install --force; then
echo -e "${CHECK} ${GREEN}Dependencies installed successfully${RESET}\n"
return 0
else
echo -e "${WARNING} ${YELLOW}Dependency installation had issues${RESET}\n"
return 1
fi
}
build_documentation() {
echo -e "${BOLD}${HAMMER} Building documentation${RESET}"
if npm run build; then
echo -e "${CHECK} ${GREEN}Documentation built successfully${RESET}\n"
return 0
else
echo -e "${ERROR} ${RED}Documentation build failed${RESET}\n"
return 1
fi
}
main() {
local command=${1:-"build"}
local start_time=$(date +%s)
local success=true
# Change directory to docs/
if [[ ! -d "docs/" ]]; then
echo -e "${ERROR} ${RED}Documentation directory 'docs/' not found${RESET}\n"
exit 1
fi
cd docs/
print_header
echo -e "${BOLD}Command : ${RESET}${CYAN}${command}${RESET}\n"
case $command in
"build")
install_dependencies || success=false
build_documentation || success=false
;;
*)
echo -e "${ERROR} ${RED}Unknown command: ${command}${RESET}"
echo -e "Available commands: build"
exit 1
;;
esac
local end_time=$(date +%s)
local duration=$((end_time - start_time))
# Summary
echo -e "${BOLD}${CYAN}Documentation ${command^} Summary${RESET}"
if [ "$success" = true ]; then
echo -e "${SPARKLES} ${GREEN}Documentation ${command} completed successfully${RESET}"
else
echo -e "${WARNING} ${YELLOW}Documentation ${command} completed with issues${RESET}"
fi
echo -e "Duration : ${YELLOW}${duration}s${RESET}\n"
[ "$success" = true ] && exit 0 || exit 1
}
main "$@"
Executable
+174
View File
@@ -0,0 +1,174 @@
#!/usr/bin/env bash
set -o pipefail
# PHP binary to use (defaults to PHP 8.2)
PHP_BINARY="${PHP_BINARY:-/opt/homebrew/opt/php@8.2/bin/php}"
# Colors and styles
readonly RESET='\033[0m'
readonly BOLD='\033[1m'
readonly DIM='\033[2m'
readonly UNDERLINE='\033[4m'
readonly BLUE='\033[34m'
readonly GREEN='\033[32m'
readonly RED='\033[31m'
readonly YELLOW='\033[33m'
readonly CYAN='\033[36m'
readonly MAGENTA='\033[35m'
# Essential emojis
readonly ROCKET="🚀"
readonly CHECK="✓"
readonly ERROR="❌"
readonly WARNING="⚠️"
readonly SEARCH="🔍"
readonly PALETTE="🎨"
readonly MICROSCOPE="🔬"
readonly MEMO="📝"
readonly MAGNIFIER="🔎"
readonly TEST_TUBE="🧪"
readonly SPARKLES="✨"
print_header() {
echo -e "\n${BOLD}${BLUE}${ROCKET} PHP-Flasher Code Quality Check ${ROCKET}${RESET}\n"
echo -e "${BOLD}Date : ${RESET}${CYAN}$(date -u '+%Y-%m-%d %H:%M:%S') UTC${RESET}"
echo -e "${BOLD}User : ${RESET}${MAGENTA}yoeunes${RESET}"
echo -e "${BOLD}Branch : ${RESET}${GREEN}$(git rev-parse --abbrev-ref HEAD)${RESET}"
echo -e "${BOLD}Directory : ${RESET}${BLUE}$(pwd)${RESET}\n"
}
run_rector() {
echo -e "${BOLD}${SEARCH} Running Rector${RESET}"
if $PHP_BINARY vendor/bin/rector; then
echo -e "${CHECK} ${GREEN}Rector completed successfully${RESET}\n"
return 0
else
echo -e "${WARNING} ${YELLOW}Rector found issues${RESET}\n"
return 1
fi
}
run_php_cs_fixer() {
echo -e "${BOLD}${PALETTE} Running PHP-CS-Fixer${RESET}"
if $PHP_BINARY vendor/bin/php-cs-fixer fix -v; then
echo -e "${CHECK} ${GREEN}PHP-CS-Fixer completed successfully${RESET}\n"
return 0
else
echo -e "${WARNING} ${YELLOW}CS-Fixer found issues${RESET}\n"
return 1
fi
}
run_phpstan() {
echo -e "${BOLD}${MICROSCOPE} Running PHPStan${RESET}"
if $PHP_BINARY vendor/bin/phpstan analyse --memory-limit=-1; then
echo -e "${CHECK} ${GREEN}PHPStan analysis completed successfully${RESET}\n"
return 0
else
echo -e "${WARNING} ${YELLOW}PHPStan found issues${RESET}\n"
return 1
fi
}
validate_composer_files() {
echo -e "${BOLD}${MEMO} Validating Composer Files${RESET}"
local validation_success=true
if ! composer validate --strict; then
echo -e "${WARNING} ${YELLOW}Main composer.json validation failed${RESET}"
validation_success=false
fi
# Find and validate all composer.json files in src/
find src/ -name "composer.json" | while read file; do
echo -e "${DIM}Validating ${file}${RESET}"
if ! composer validate --strict "$file"; then
echo -e "${WARNING} ${YELLOW}Package validation failed for ${file}${RESET}"
validation_success=false
fi
done
if [ "$validation_success" = true ]; then
echo -e "${CHECK} ${GREEN}All composer.json files are valid${RESET}\n"
return 0
else
echo -e "${WARNING} ${YELLOW}Some composer.json files have issues${RESET}\n"
return 1
fi
}
run_phplint() {
echo -e "${BOLD}${MAGNIFIER} Running PHPLint${RESET}"
if $PHP_BINARY vendor/bin/phplint; then
echo -e "${CHECK} ${GREEN}PHPLint completed successfully${RESET}\n"
return 0
else
echo -e "${WARNING} ${YELLOW}PHPLint found issues${RESET}\n"
return 1
fi
}
run_phpunit() {
echo -e "${BOLD}${TEST_TUBE} Running PHPUnit Tests${RESET}"
if $PHP_BINARY vendor/bin/phpunit; then
echo -e "${CHECK} ${GREEN}All tests passed successfully${RESET}\n"
return 0
else
echo -e "${WARNING} ${YELLOW}Tests failed${RESET}\n"
return 1
fi
}
run_vitest() {
echo -e "${BOLD}${TEST_TUBE} Running Vitest Tests${RESET}"
if npm run test -- --run; then
echo -e "${CHECK} ${GREEN}Vitest tests passed successfully${RESET}\n"
return 0
else
echo -e "${WARNING} ${YELLOW}Vitest tests failed${RESET}\n"
return 1
fi
}
main() {
local start_time=$(date +%s)
local issues_found=false
print_header
# Run all quality tools
run_rector || issues_found=true
run_php_cs_fixer || issues_found=true
run_phpstan || issues_found=true
validate_composer_files || issues_found=true
run_phplint || issues_found=true
run_phpunit || issues_found=true
run_vitest || issues_found=true
local end_time=$(date +%s)
local duration=$((end_time - start_time))
# Summary
echo -e "${BOLD}${CYAN}Quality Check Summary${RESET}"
if [ "$issues_found" = true ]; then
echo -e "${WARNING} ${YELLOW}Quality check completed with issues${RESET}"
else
echo -e "${SPARKLES} ${GREEN}All quality checks passed successfully${RESET}"
fi
echo -e "Duration : ${YELLOW}${duration}s${RESET}\n"
echo -e "${SPARKLES} ${BOLD}Quality Check Complete${RESET}"
echo -e "${CHECK} All checks finished\n"
# We don't exit with error code because the original task continues despite failures
exit 0
}
main
Executable
+225
View File
@@ -0,0 +1,225 @@
#!/usr/bin/env bash
# Set options
set -o pipefail
# Define colors and styles
readonly RESET='\033[0m'
readonly BOLD='\033[1m'
readonly DIM='\033[2m'
readonly GREEN='\033[32m'
readonly BLUE='\033[34m'
readonly CYAN='\033[36m'
readonly YELLOW='\033[33m'
readonly RED='\033[31m'
# Define emoji
readonly ROCKET="🚀"
readonly NPM="📦"
readonly CHECK="✓"
readonly WARN="⚠️"
readonly ERROR="❌"
readonly LOADING="⏳"
readonly SKIP="⏭️"
# Configuration
readonly NPM_PACKAGES=(
"src/Prime/Resources:@flasher/flasher"
"src/Noty/Prime/Resources:@flasher/flasher-noty"
"src/Notyf/Prime/Resources:@flasher/flasher-notyf"
"src/SweetAlert/Prime/Resources:@flasher/flasher-sweetalert"
"src/Toastr/Prime/Resources:@flasher/flasher-toastr"
)
# Print functions
print_header() {
echo -e "\n${BOLD}${BLUE}╭──────────────────────────────────────────╮${RESET}"
echo -e "${BOLD}${BLUE}│ ${ROCKET} PHP-Flasher NPM Release ${ROCKET} │${RESET}"
echo -e "${BOLD}${BLUE}╰──────────────────────────────────────────╯${RESET}\n"
echo -e " ${DIM}Date : $(date -u '+%Y-%m-%d %H:%M:%S') UTC${RESET}"
echo -e " ${DIM}User : $(whoami)${RESET}"
echo -e " ${DIM}Directory: $(pwd)${RESET}"
}
print_section() {
echo -e "\n${BOLD}${CYAN}┌─ $1 ${2:-}${RESET}"
}
success_msg() {
echo -e " ${GREEN}${CHECK} $*${RESET}"
}
info_msg() {
echo -e " ${BLUE}${LOADING} $*${RESET}"
}
warning_msg() {
echo -e " ${YELLOW}${WARN} $*${RESET}"
}
error_msg() {
echo -e " ${RED}${ERROR} $*${RESET}"
}
skip_msg() {
echo -e " ${YELLOW}${SKIP} $*${RESET}"
}
print_summary() {
local version=$1
local duration=$2
local success_count=$3
local skipped_count=$4
local failed_count=$5
local failed_packages=("${@:6}")
print_section "Release Summary"
echo -e "\n ${DIM}Version : ${BOLD}v${version}${RESET}"
echo -e " ${DIM}Duration : ${BOLD}${duration}s${RESET}"
if [ "$success_count" -gt 0 ]; then
echo -e "\n ${DIM}Published : ${GREEN}${success_count}${RESET} packages"
fi
if [ "$skipped_count" -gt 0 ]; then
echo -e "\n ${DIM}Skipped : ${YELLOW}${skipped_count}${RESET} packages"
fi
if [ "$failed_count" -gt 0 ]; then
echo -e "\n ${DIM}Failed : ${RED}${failed_count}${RESET} packages"
echo -e "\n ${DIM}Failed packages:${RESET}"
for package in "${failed_packages[@]}"; do
echo -e " ${RED}• ${package}${RESET}"
done
fi
echo -e ""
if [ "$success_count" -eq 0 ] && [ "$skipped_count" -gt 0 ]; then
success_msg "All packages were already up to date! ${ROCKET}"
elif [ "$success_count" -gt 0 ]; then
success_msg "NPM release completed successfully! ${ROCKET}"
elif [ "$failed_count" -gt 0 ]; then
error_msg "NPM release completed with failures! ${ERROR}"
fi
}
# Check if version exists
check_version_exists() {
local package=$1
local version=$2
npm view "${package}@${version}" version >/dev/null 2>&1
}
# Validate NPM is installed and logged in
validate_npm() {
print_section "NPM Authentication Check"
if ! command -v npm >/dev/null 2>&1; then
error_msg "npm is not installed"
return 1
fi
if ! npm whoami >/dev/null 2>&1; then
error_msg "You are not logged in to npm. Please run 'npm login' first."
return 1
fi
success_msg "Authenticated as $(npm whoami)"
return 0
}
# Process a single package
process_package() {
local path_and_name=$1
local version=$2
local path="${path_and_name%:*}"
local package="${path_and_name#*:}"
print_section "Processing ${package}"
if [ ! -d "$path" ]; then
warning_msg "Directory $path does not exist, skipping..."
return 2
fi
info_msg "Checking version ${version}..."
if check_version_exists "$package" "$version"; then
skip_msg "Version ${version} already exists for ${package}, skipping..."
return 2
fi
info_msg "Installing dependencies..."
(cd "$path" && npm install --silent) || {
error_msg "Failed to install dependencies"
return 1
}
info_msg "Updating package version..."
(cd "$path" && npm version "$version" --no-git-tag-version --allow-same-version >/dev/null 2>&1) || true
info_msg "Publishing ${package}@${version}..."
if (cd "$path" && npm publish --access public); then
success_msg "Successfully published ${package}@${version}"
return 0
else
error_msg "Failed to publish ${package}"
return 1
fi
}
# Main execution
main() {
if [ "$#" -ne 1 ]; then
echo -e "\n${YELLOW}Usage: $0 <version>${RESET}"
echo -e "Example: $0 2.1.5\n"
exit 1
fi
local VERSION=$1
VERSION="${VERSION#v}"
print_header
# Validate npm authentication
validate_npm || exit 1
# Track statistics
local start_time=$(date +%s)
local success_count=0
local failed_count=0
local skipped_count=0
local failed_packages=()
# Process each package
for package_info in "${NPM_PACKAGES[@]}"; do
local package_name="${package_info#*:}"
process_package "$package_info" "$VERSION"
local status=$?
case $status in
0)
((success_count++))
;;
1)
((failed_count++))
failed_packages+=("$package_name")
;;
2)
((skipped_count++))
;;
esac
done
# Print summary
local end_time=$(date +%s)
local duration=$((end_time - start_time))
print_summary "$VERSION" "$duration" "$success_count" "$skipped_count" "$failed_count" "${failed_packages[@]}"
# Exit with failure if any package failed
[ "$failed_count" -gt 0 ] && exit 1 || exit 0
}
# Execute main function
main "$@"
Executable
+243
View File
@@ -0,0 +1,243 @@
#!/usr/bin/env bash
set -o pipefail
# Colors and styles
readonly RESET='\033[0m'
readonly BOLD='\033[1m'
readonly DIM='\033[2m'
readonly UNDERLINE='\033[4m'
readonly BLUE='\033[34m'
readonly GREEN='\033[32m'
readonly RED='\033[31m'
readonly YELLOW='\033[33m'
readonly CYAN='\033[36m'
readonly MAGENTA='\033[35m'
# Essential emojis
readonly ROCKET="🚀"
readonly CHECK="✓"
readonly ERROR="❌"
readonly SKIP="⏭️"
# Configuration
readonly RELEASE_BRANCH="2.x"
readonly REPOSITORIES=(
"flasher"
"flasher-laravel"
"flasher-symfony"
"flasher-noty"
"flasher-noty-laravel"
"flasher-noty-symfony"
"flasher-notyf"
"flasher-notyf-laravel"
"flasher-notyf-symfony"
"flasher-sweetalert"
"flasher-sweetalert-laravel"
"flasher-sweetalert-symfony"
"flasher-toastr"
"flasher-toastr-laravel"
"flasher-toastr-symfony"
)
print_header() {
echo -e "\n${BOLD}${BLUE}${ROCKET} PHP-Flasher Release ${ROCKET}${RESET}\n"
echo -e "${BOLD}Date : ${RESET}${CYAN}$(date -u '+%Y-%m-%d %H:%M:%S') UTC${RESET}"
echo -e "${BOLD}User : ${RESET}${MAGENTA}$(whoami)${RESET}"
echo -e "${BOLD}Branch : ${RESET}${GREEN}$RELEASE_BRANCH${RESET}"
echo -e "${BOLD}Directory : ${RESET}${BLUE}$(pwd)${RESET}\n"
}
draw_progress_bar() {
local percent=$1
local width=50
local filled=$(((width * percent + 99) / 100)) # Rounded up division
local empty=$((width - filled))
echo -n "["
printf "${GREEN}█%.0s${RESET}" $(seq 1 $filled)
printf "${DIM}─%.0s${RESET}" $(seq 1 $empty)
echo -n "] ${percent}%"
}
check_tag_exists() {
local repo=$1
local tag=$2
local remote_url="git@github.com:php-flasher/$repo.git"
if git ls-remote --tags "$remote_url" | grep -q "refs/tags/$tag$"; then
return 0
else
return 1
fi
}
release_repository() {
local repo=$1
local version=$2
local tmp_dir="/tmp/php-flasher"
local remote_url="git@github.com:php-flasher/$repo.git"
echo -e "\nGitHub : ${UNDERLINE}${BLUE}https://github.com/php-flasher/${repo}${RESET}"
echo -e "Tag : ${YELLOW}$version${RESET}"
if check_tag_exists "$repo" "$version"; then
echo -e "${SKIP} ${YELLOW}Tag $version already exists, skipping...${RESET}"
return 0
fi
# Clean and create temporary directory
rm -rf "$tmp_dir"
mkdir -p "$tmp_dir"
echo -e "${CYAN}Cloning repository...${RESET}"
if ! git clone "$remote_url" "$tmp_dir" >/dev/null 2>&1; then
echo -e "${ERROR} ${RED}Failed to clone repository${RESET}"
return 1
fi
(
cd "$tmp_dir"
echo -e "${CYAN}Creating tag $version...${RESET}"
git checkout "$RELEASE_BRANCH" >/dev/null 2>&1
git tag "$version"
if ! git push origin --tags --force >/dev/null 2>&1; then
echo -e "${ERROR} ${RED}Failed to push tag${RESET}"
return 1
fi
)
echo -e "${CHECK} ${GREEN}Successfully tagged${RESET}"
return 0
}
validate_version() {
local version=$1
if [[ ! $version =~ ^v?[0-9]+\.[0-9]+\.[0-9]+$ ]]; then
echo -e "\n${ERROR} ${RED}Invalid version format: $version${RESET}"
echo -e "Version must be in format X.Y.Z or vX.Y.Z (e.g., 2.1.6 or v2.1.6)\n"
exit 1
fi
}
validate_environment() {
echo -e "${CYAN}Validating environment...${RESET}"
local has_error=0
# Check branch
local current_branch=$(git rev-parse --abbrev-ref HEAD)
echo -ne "${CYAN}Checking branch...${RESET} "
if [[ "$RELEASE_BRANCH" != "$current_branch" ]]; then
echo -e "${ERROR} ${RED}Wrong branch: $current_branch (expected: $RELEASE_BRANCH)${RESET}"
has_error=1
else
echo -e "${CHECK} ${GREEN}On correct branch: $current_branch${RESET}"
fi
# Check working directory
echo -ne "${CYAN}Checking working directory...${RESET} "
if [[ ! -z "$(git status --porcelain)" ]]; then
echo -e "${ERROR} ${RED}Working directory is not clean${RESET}"
echo -e "${DIM}Hint: Commit or stash your changes first${RESET}"
has_error=1
else
echo -e "${CHECK} ${GREEN}Working directory is clean${RESET}"
fi
# Check sync with remote
echo -ne "${CYAN}Checking remote synchronization...${RESET} "
git fetch origin > /dev/null 2>&1
local local_sha=$(git rev-parse HEAD)
local remote_sha=$(git rev-parse origin/$RELEASE_BRANCH)
if [[ $local_sha != $remote_sha ]]; then
echo -e "${ERROR} ${RED}Branch is not in sync with origin/$RELEASE_BRANCH${RESET}"
echo -e "\n${YELLOW}Local SHA: ${local_sha}${RESET}"
echo -e "${YELLOW}Remote SHA: ${remote_sha}${RESET}"
echo -e "\n${DIM}To fix this, try:${RESET}"
# Check if we have unpushed commits
if git rev-list origin/$RELEASE_BRANCH..$RELEASE_BRANCH --count > /dev/null 2>&1; then
local ahead=$(git rev-list origin/$RELEASE_BRANCH..$RELEASE_BRANCH --count)
local behind=$(git rev-list $RELEASE_BRANCH..origin/$RELEASE_BRANCH --count)
if [[ $ahead -gt 0 && $behind -gt 0 ]]; then
echo -e "${YELLOW}Your branch is $ahead commits ahead and $behind commits behind origin/$RELEASE_BRANCH${RESET}"
echo -e "1. ${CYAN}git pull origin $RELEASE_BRANCH${RESET} (to get remote changes)"
echo -e "2. ${CYAN}git push origin $RELEASE_BRANCH${RESET} (to push your changes)"
elif [[ $ahead -gt 0 ]]; then
echo -e "${YELLOW}Your branch is $ahead commits ahead of origin/$RELEASE_BRANCH${RESET}"
echo -e "Run: ${CYAN}git push origin $RELEASE_BRANCH${RESET}"
elif [[ $behind -gt 0 ]]; then
echo -e "${YELLOW}Your branch is $behind commits behind origin/$RELEASE_BRANCH${RESET}"
echo -e "Run: ${CYAN}git pull origin $RELEASE_BRANCH${RESET}"
fi
fi
has_error=1
else
echo -e "${CHECK} ${GREEN}Branch is in sync with remote${RESET}"
fi
if [[ $has_error -eq 1 ]]; then
echo -e "\n${ERROR} ${RED}Environment validation failed${RESET}"
exit 1
fi
echo -e "\n${CHECK} ${GREEN}Environment validated successfully${RESET}\n"
}
main() {
if [ "$#" -ne 1 ]; then
echo -e "${ERROR} ${RED}Version tag required${RESET}"
echo -e "Usage: $0 <version>"
echo -e "Example: $0 2.1.6\n"
exit 1
fi
local version=$1
[[ $version != v* ]] && version="v$version"
print_header
validate_version "$version"
validate_environment
local success_count=0
local skipped_count=0
local failed_count=0
local total_count=${#REPOSITORIES[@]}
local start_time=$(date +%s)
for repo in "${REPOSITORIES[@]}"; do
local current_count=$((success_count + skipped_count + failed_count + 1))
local percent=$((current_count * 100 / total_count))
echo -e "\nProgress: ${BOLD}$current_count/$total_count${RESET}"
# draw_progress_bar $percent
if release_repository "$repo" "$version"; then
if check_tag_exists "$repo" "$version"; then
((skipped_count++))
else
((success_count++))
fi
else
((failed_count++))
fi
done
local end_time=$(date +%s)
local duration=$((end_time - start_time))
# Summary
echo -e "\n${BOLD}${CYAN}Release Summary${RESET}"
echo -e "Successful : ${GREEN}$success_count${RESET}"
echo -e "Skipped : ${YELLOW}$skipped_count${RESET}"
[ $failed_count -gt 0 ] && echo -e "Failed : ${RED}$failed_count${RESET}"
echo -e "Duration : ${YELLOW}${duration}s${RESET}"
echo -e "Total repos: ${CYAN}$total_count${RESET}\n"
[ $failed_count -gt 0 ] && exit 1 || exit 0
}
main "$@"
Executable
+154
View File
@@ -0,0 +1,154 @@
#!/usr/bin/env bash
set -o pipefail
# Colors and styles
readonly RESET='\033[0m'
readonly BOLD='\033[1m'
readonly DIM='\033[2m'
readonly UNDERLINE='\033[4m'
readonly BLUE='\033[34m'
readonly GREEN='\033[32m'
readonly RED='\033[31m'
readonly YELLOW='\033[33m'
readonly CYAN='\033[36m'
readonly MAGENTA='\033[35m'
# Essential emojis
readonly ROCKET="🚀"
readonly CHECK="✓"
readonly ERROR="❌"
# Repository mappings
declare -A REPOSITORIES=(
# Core packages
["src/Prime"]="flasher"
["src/Laravel"]="flasher-laravel"
["src/Symfony"]="flasher-symfony"
# Toastr packages
["src/Toastr/Prime"]="flasher-toastr"
["src/Toastr/Laravel"]="flasher-toastr-laravel"
["src/Toastr/Symfony"]="flasher-toastr-symfony"
# Notyf packages
["src/Notyf/Prime"]="flasher-notyf"
["src/Notyf/Laravel"]="flasher-notyf-laravel"
["src/Notyf/Symfony"]="flasher-notyf-symfony"
# SweetAlert packages
["src/SweetAlert/Prime"]="flasher-sweetalert"
["src/SweetAlert/Laravel"]="flasher-sweetalert-laravel"
["src/SweetAlert/Symfony"]="flasher-sweetalert-symfony"
# Noty packages
["src/Noty/Prime"]="flasher-noty"
["src/Noty/Laravel"]="flasher-noty-laravel"
["src/Noty/Symfony"]="flasher-noty-symfony"
)
print_header() {
echo -e "\n${BOLD}${BLUE}${ROCKET} PHP-Flasher Split ${ROCKET}${RESET}\n"
echo -e "${BOLD}Date : ${RESET}${CYAN}$(date -u '+%Y-%m-%d %H:%M:%S') UTC${RESET}"
echo -e "${BOLD}User : ${RESET}${MAGENTA}$(whoami)${RESET}"
echo -e "${BOLD}Branch : ${RESET}${GREEN}$(git rev-parse --abbrev-ref HEAD)${RESET}"
echo -e "${BOLD}Directory : ${RESET}${BLUE}$(pwd)${RESET}\n"
}
process_split() {
local prefix=$1
local remote=${REPOSITORIES[$prefix]}
local branch=$(git rev-parse --abbrev-ref HEAD)
local repo_url="https://github.com/php-flasher/${remote}"
local packagist_url="https://packagist.org/packages/php-flasher/${remote}"
echo -e "\nGitHub : ${UNDERLINE}${BLUE}${repo_url}${RESET}"
echo -e "Package : ${UNDERLINE}${BLUE}${packagist_url}${RESET}"
echo -e "Prefix : ${YELLOW}$prefix${RESET}"
echo -e "Branch : ${GREEN}$branch${RESET}\n"
# Split the repository
echo -e "${CYAN}Splitting code...${RESET}"
local sha1
if ! sha1=$(./bin/splitsh-lite --prefix="$prefix" 2>/dev/null); then
echo -e "${ERROR} ${RED}Split failed${RESET}"
return 1
fi
echo -e "${CHECK} Split complete (SHA: ${YELLOW}${sha1:0:8}${RESET})"
echo -e "${CYAN}Pushing to remote...${RESET}"
if ! git push "$remote" "$sha1:refs/heads/$branch" -f > /dev/null 2>&1; then
echo -e "${ERROR} ${RED}Failed to push to $remote${RESET}"
return 1
fi
echo -e "${CHECK} ${GREEN}Pushed to $remote (branch: $branch)${RESET}"
return 0
}
update_repository() {
echo -e "\n${CYAN}Fetching latest changes...${RESET}"
if ! git fetch origin "$(git rev-parse --abbrev-ref HEAD)" > /dev/null 2>&1; then
echo -e "${ERROR} ${RED}Failed to fetch latest changes, continuing...${RESET}"
else
echo -e "${CHECK} ${GREEN}Repository updated successfully${RESET}"
fi
echo
}
draw_progress_bar() {
local percent=$1
local width=50
local filled=$(( (width * percent + 99) / 100 )) # Rounded up division
local empty=$(( width - filled ))
echo -n "["
printf "${GREEN}█%.0s${RESET}" $(seq 1 $filled)
printf "${DIM}─%.0s${RESET}" $(seq 1 $empty)
echo -n "] ${percent}%"
}
main() {
print_header
update_repository
local success_count=0
local failed_count=0
local total_count=${#REPOSITORIES[@]}
local start_time=$(date +%s)
for prefix in "${!REPOSITORIES[@]}"; do
local current_count=$((success_count + failed_count + 1))
local percent=$((current_count * 100 / total_count))
echo -e "\nProgress: ${BOLD}$current_count/$total_count${RESET}"
# draw_progress_bar $percent
if process_split "$prefix"; then
((success_count++))
else
((failed_count++))
fi
done
local end_time=$(date +%s)
local duration=$((end_time - start_time))
# Summary
echo -e "\n${BOLD}${CYAN}Split Summary${RESET}"
echo -e "Successful : ${GREEN}$success_count${RESET}"
[ $failed_count -gt 0 ] && echo -e "Failed : ${RED}$failed_count${RESET}"
echo -e "Duration : ${YELLOW}${duration}s${RESET}"
echo -e "Total repos : ${CYAN}$total_count${RESET}"
# Links
echo -e "\n${BOLD}${CYAN}Quick Links${RESET}"
echo -e "Packagist : ${UNDERLINE}${BLUE}https://packagist.org/packages/php-flasher/${RESET}"
echo -e "NPM : ${UNDERLINE}${BLUE}https://www.npmjs.com/org/flasher${RESET}"
echo -e "GitHub : ${UNDERLINE}${BLUE}https://github.com/php-flasher${RESET}\n"
[ $failed_count -gt 0 ] && exit 1 || exit 0
}
main
BIN
View File
Binary file not shown.
Executable
+331
View File
@@ -0,0 +1,331 @@
#!/usr/bin/env bash
# Set options
set -e
set -o pipefail
# Define colors and styles
readonly RESET='\033[0m'
readonly BOLD='\033[1m'
readonly DIM='\033[2m'
readonly ITALIC='\033[3m'
readonly UNDERLINE='\033[4m'
readonly RED='\033[31m'
readonly GREEN='\033[32m'
readonly YELLOW='\033[33m'
readonly BLUE='\033[34m'
readonly MAGENTA='\033[35m'
readonly CYAN='\033[36m'
readonly WHITE='\033[37m'
# Define emoji
readonly ROCKET="🚀"
readonly PACKAGE="📦"
readonly CALENDAR="📅"
readonly CLOCK="🕒"
readonly INFO=""
readonly WARNING="⚠️"
readonly CHECK="✓"
readonly BRANCH="🌿"
readonly TAG="🏷️"
readonly GITHUB="⭐"
readonly STAR="⭐"
readonly NPM="📦"
readonly PACKAGIST="🎯"
# Configuration
readonly ORGANIZATION="php-flasher"
readonly MAIN_BRANCH="2.x"
readonly REPOSITORIES=(
"flasher"
"flasher-laravel"
"flasher-symfony"
"flasher-noty"
"flasher-noty-laravel"
"flasher-noty-symfony"
"flasher-notyf"
"flasher-notyf-laravel"
"flasher-notyf-symfony"
"flasher-sweetalert"
"flasher-sweetalert-laravel"
"flasher-sweetalert-symfony"
"flasher-toastr"
"flasher-toastr-laravel"
"flasher-toastr-symfony"
)
# Print functions
print_header() {
echo -e "\n${BOLD}${BLUE}╭──────────────────────────────────────────╮${RESET}"
echo -e "${BOLD}${BLUE}│ ${ROCKET} PHP-Flasher Status ${ROCKET} │${RESET}"
echo -e "${BOLD}${BLUE}╰──────────────────────────────────────────╯${RESET}\n"
echo -e " ${DIM}Date : $(date -u '+%Y-%m-%d %H:%M:%S') UTC${RESET}"
echo -e " ${DIM}User : $(whoami)${RESET}"
echo -e " ${DIM}Directory: $(pwd)${RESET}"
}
print_section() {
echo -e "\n${BOLD}${CYAN} $1 ${2:-}${RESET}"
}
warning_msg() {
echo -e " ${YELLOW}${WARNING} $*${RESET}"
}
success_msg() {
echo -e " ${GREEN}${CHECK} $*${RESET}"
}
error_msg() {
echo -e " ${RED}${ERROR} $*${RESET}"
}
info_msg() {
echo -e "${BLUE}${INFO} $*${RESET}"
}
# Get the latest tag for a repository
get_latest_tag() {
local repo=$1
git ls-remote --tags --refs "git@github.com:${ORGANIZATION}/${repo}.git" |
sort -t '/' -k 3 -V |
tail -n1 |
awk -F/ '{print $3}'
}
# Get commit count since last tag
get_commit_count_since_tag() {
local repo=$1
local tag=$2
git rev-list "${tag}..HEAD" --count 2>/dev/null || echo "0"
}
# Get repository statistics
get_repo_stats() {
local repo=$1
local tmp_dir="/tmp/php-flasher-status/${repo}"
mkdir -p "$tmp_dir"
if [ ! -d "$tmp_dir/.git" ]; then
git clone -q "git@github.com:${ORGANIZATION}/${repo}.git" "$tmp_dir" 2>/dev/null
fi
(
cd "$tmp_dir"
git fetch -q origin 2>/dev/null
echo "$(git rev-parse --short HEAD)|$(git rev-parse --abbrev-ref HEAD)|$(git log -1 --format='%cr')|$(git log -1 --format='%s')"
)
}
# Check composer.json version
check_composer_version() {
local file="composer.json"
if [ -f "$file" ]; then
grep -o '"version": *"[^"]*"' "$file" 2>/dev/null | cut -d'"' -f4 || echo "N/A"
else
echo "N/A"
fi
}
# Add curl with proper user agent for API calls
curl_cmd() {
# You can set your GitHub token as an environment variable
local gh_token=${GITHUB_TOKEN:-""}
local auth_header=""
if [ ! -z "$gh_token" ]; then
auth_header="-H \"Authorization: token $gh_token\""
fi
curl -s -H "User-Agent: PHP-Flasher-Status-Check" $auth_header "$@"
}
# Get GitHub stars for a repository
get_github_stars() {
local repo=$1
local response=$(curl_cmd "https://api.github.com/repos/${ORGANIZATION}/${repo}")
local stars=$(echo "$response" | grep -o '"stargazers_count":[0-9]*' | cut -d':' -f2)
echo "${stars:-0}"
}
# Get Packagist version
get_packagist_version() {
local package=$1
local response=$(curl -s -f "https://repo.packagist.org/p2/php-flasher/${package}.json")
if [ $? -eq 0 ] && [ ! -z "$response" ]; then
local version=$(echo "$response" | grep -o '"latest":"[^"]*"' | cut -d'"' -f4)
if [ ! -z "$version" ]; then
echo "$version"
else
echo "N/A"
fi
else
echo "N/A"
fi
}
# Get NPM version
get_npm_version() {
local package=$1
# Convert package name format
if [[ "$package" == "flasher" ]]; then
package="flasher"
elif [[ "$package" == *"-prime" ]]; then
# Remove -prime suffix for npm package name
package=${package%-prime}
elif [[ "$package" == *"-laravel" || "$package" == *"-symfony" ]]; then
# These packages don't have npm versions
echo "N/A"
return
fi
local response=$(curl_cmd "https://registry.npmjs.org/@flasher/${package}/latest")
local version=$(echo "$response" | grep -o '"version":"[^"]*"' | cut -d'"' -f4)
echo "${version:-N/A}"
}
# Display repository information
display_repo_info() {
local repo=$1
local latest_tag=$(get_latest_tag "$repo")
local stats=($(get_repo_stats "$repo" | tr '|' ' '))
local github_stars=$(get_github_stars "$repo")
local npm_version="N/A"
local packagist_version="N/A"
# Get NPM version for specific packages
if [[ "$repo" == "flasher" || \
"$repo" == "flasher-noty" || \
"$repo" == "flasher-notyf" || \
"$repo" == "flasher-sweetalert" || \
"$repo" == "flasher-toastr" ]]; then
npm_version=$(get_npm_version "$repo")
fi
# Get Packagist version
packagist_version=$(get_packagist_version "$repo")
# Display repository information
echo -e "\n${BOLD}${MAGENTA} ${PACKAGE} ${repo}${RESET}"
echo -e " ${BRANCH} Branch : ${stats[1]:-unknown}"
echo -e " ${TAG} Latest Tag : ${latest_tag:-none}"
echo -e " ${STAR} Stars : ${github_stars}"
echo -e " ${PACKAGIST} Packagist : v${packagist_version}"
if [ "$npm_version" != "N/A" ]; then
echo -e " ${NPM} NPM : v${npm_version}"
fi
echo -e " ${GITHUB} Last Commit : ${stats[0]:-unknown} (${stats[2]:-unknown})"
echo -e " ${INFO} Message : ${stats[3]:-unknown}"
local commits_since_tag=$(get_commit_count_since_tag "$repo" "$latest_tag")
if [ "$commits_since_tag" -gt 0 ]; then
warning_msg "$commits_since_tag commit(s) since last tag"
fi
}
# Check git status
check_git_status() {
print_section "Git Status" "${GITHUB}"
local current_branch=$(git rev-parse --abbrev-ref HEAD)
echo -e " ${BRANCH} Current Branch : ${current_branch}"
if [ "$current_branch" != "$MAIN_BRANCH" ]; then
warning_msg " Not on main branch ($MAIN_BRANCH)"
fi
if [[ ! -z "$(git status --porcelain)" ]]; then
warning_msg " Working directory is not clean"
git status --short | sed 's/^/ /'
else
success_msg " Working directory is clean"
fi
local behind=$(git rev-list HEAD..origin/$current_branch --count 2>/dev/null || echo "0")
local ahead=$(git rev-list origin/$current_branch..HEAD --count 2>/dev/null || echo "0")
if [ "$behind" -gt 0 ]; then
warning_msg " Branch is behind by $behind commit(s)"
fi
if [ "$ahead" -gt 0 ]; then
warning_msg " Branch is ahead by $ahead commit(s)"
fi
if [ "$behind" -eq 0 ] && [ "$ahead" -eq 0 ]; then
success_msg " Branch is up to date with origin"
fi
}
# Check dependencies
check_dependencies() {
print_section "Dependencies" "${PACKAGE}"
if [ -f "composer.json" ]; then
echo -e " ${BOLD}Composer Dependencies:${RESET}"
composer show | grep "php-flasher/" | sed 's/^/ /' || echo " No PHP-Flasher dependencies found"
fi
if [ -f "package.json" ]; then
echo -e "\n ${BOLD}NPM Dependencies:${RESET}"
npm list | grep "@flasher/" | sed 's/^/ /' || echo " No Flasher dependencies found"
fi
}
# Display modified files
display_modified_files() {
print_section "Modified Files" "📝"
local modified_files=$(git diff --name-only)
if [ ! -z "$modified_files" ]; then
echo -e " ${BOLD}Modified files:${RESET}"
echo "$modified_files" | sed 's/^/ /'
else
success_msg " No modified files"
fi
}
# Main execution
main() {
print_header
# Check current repository status
check_git_status
# Check dependencies
check_dependencies
# Display modified files
display_modified_files
# Display repositories information
print_section "Repositories Status" "${PACKAGE}"
for repo in "${REPOSITORIES[@]}"; do
display_repo_info "$repo"
done
# Display release readiness
print_section "Release Readiness" "${ROCKET}"
local ready=true
if [ ! -z "$(git status --porcelain)" ]; then
warning_msg "Working directory is not clean"
ready=false
fi
if [ "$(git rev-parse --abbrev-ref HEAD)" != "$MAIN_BRANCH" ]; then
warning_msg "Not on main branch ($MAIN_BRANCH)"
ready=false
fi
if $ready; then
success_msg "Ready for release!"
echo -e "\n${BOLD}${GREEN}Suggested next steps:${RESET}"
echo -e "1. Run: ${ITALIC}./bin/split${RESET}"
echo -e "2. Run: ${ITALIC}./bin/release <version>${RESET}"
else
warning_msg "Not ready for release. Please fix the issues above."
fi
}
# Execute main function
main
Executable
+124
View File
@@ -0,0 +1,124 @@
#!/usr/bin/env bash
set -o pipefail
# Colors and styles
readonly RESET='\033[0m'
readonly BOLD='\033[1m'
readonly DIM='\033[2m'
readonly UNDERLINE='\033[4m'
readonly BLUE='\033[34m'
readonly GREEN='\033[32m'
readonly RED='\033[31m'
readonly YELLOW='\033[33m'
readonly CYAN='\033[36m'
readonly MAGENTA='\033[35m'
# Essential emojis
readonly ROCKET="🚀"
readonly CHECK="✓"
readonly ERROR="❌"
readonly PACKAGE="📦"
readonly SEARCH="🔍"
readonly HAMMER="🏗️"
readonly SPARKLES="✨"
readonly WARNING="⚠️"
print_header() {
echo -e "\n${BOLD}${BLUE}${ROCKET} PHP-Flasher Update ${ROCKET}${RESET}\n"
echo -e "${BOLD}Date : ${RESET}${CYAN}$(date -u '+%Y-%m-%d %H:%M:%S') UTC${RESET}"
echo -e "${BOLD}User : ${RESET}${MAGENTA}$(whoami)${RESET}"
echo -e "${BOLD}Branch : ${RESET}${GREEN}$(git rev-parse --abbrev-ref HEAD)${RESET}"
echo -e "${BOLD}Directory : ${RESET}${BLUE}$(pwd)${RESET}\n"
}
update_composer_dependencies() {
echo -e "${BOLD}${PACKAGE} Composer Dependencies${RESET}"
if composer update --prefer-lowest -W; then
echo -e "${CHECK} ${GREEN}Dependencies updated successfully${RESET}\n"
return 0
else
echo -e "${ERROR} ${RED}Failed to update Composer dependencies${RESET}\n"
return 1
fi
}
check_npm_updates() {
echo -e "${BOLD}${SEARCH} NPM Updates Check${RESET}"
# Run the commands and capture their exit codes
ncu -u
NCU_EXIT_CODE=$?
npm run ncu --workspaces
NPM_EXIT_CODE=$?
# Check if both commands were successful
if [ $NCU_EXIT_CODE -eq 0 ] && [ $NPM_EXIT_CODE -eq 0 ]; then
echo -e "${CHECK} ${GREEN}NPM check completed successfully${RESET}\n"
else
echo -e "${WARNING} ${YELLOW}NPM check failed, continuing...${RESET}\n"
fi
return 0 # Continue regardless of outcome
}
update_npm_dependencies() {
echo -e "${BOLD}${PACKAGE} NPM Dependencies${RESET}"
if npm install --force; then
echo -e "${CHECK} ${GREEN}NPM dependencies installed successfully${RESET}\n"
return 0
else
echo -e "${WARNING} ${YELLOW}NPM install failed, continuing...${RESET}\n"
return 0 # Continue despite failure
fi
}
build_assets() {
echo -e "${BOLD}${HAMMER} Building Assets${RESET}"
if npm run build; then
echo -e "${CHECK} ${GREEN}Assets built successfully${RESET}\n"
return 0
else
echo -e "${WARNING} ${YELLOW}Build failed, continuing...${RESET}\n"
return 0 # Continue despite failure
fi
}
main() {
local start_time=$(date +%s)
local success=true
print_header
# Update composer dependencies
update_composer_dependencies || success=false
# Check NPM updates
check_npm_updates
# Update NPM dependencies
update_npm_dependencies
# Build assets
build_assets
local end_time=$(date +%s)
local duration=$((end_time - start_time))
# Summary
echo -e "${BOLD}${CYAN}Update Summary${RESET}"
if [ "$success" = true ]; then
echo -e "${SPARKLES} ${GREEN}Update completed successfully${RESET}"
else
echo -e "${WARNING} ${YELLOW}Update completed with some issues${RESET}"
fi
echo -e "Duration : ${YELLOW}${duration}s${RESET}\n"
[ "$success" = true ] && exit 0 || exit 1
}
main
+83 -33
View File
@@ -1,56 +1,106 @@
{
"name": "php-flasher/flasher-toastr-symfony",
"type": "symfony-bundle",
"description": "PHP Flasher Symfony adapter for Toastr",
"keywords": [
"yoeunes",
"notify",
"php",
"laravel",
"symfony",
"Lumen",
"notifications",
"messages",
"alerts",
"pnotify",
"toastr ",
"bundle",
"flex"
],
"homepage": "https://github.com/php-flasher/flasher-symfony-toastr",
"name": "php-flasher/php-flasher",
"type": "library",
"license": "MIT",
"homepage": "https://php-flasher.io",
"description": "The core repository for PHPFlasher, hosting the source code, contributions, issue tracking, and discussions for the PHPFlasher project. This mono-repo serves as the hub for development and community engagement.",
"keywords": ["php", "flash-messages", "notifications", "phpflasher", "user-feedback", "open-source", "contributions", "discussions", "issue-tracking"],
"support": {
"issues": "https://github.com/php-flasher/php-flasher/issues",
"source": "https://github.com/php-flasher/php-flasher"
},
"authors": [
{
"name": "Younes Khoubza",
"email": "younes.khoubza@gmail.com",
"homepage": "https://github.com/yoeunes",
"name": "Younes ENNAJI",
"email": "younes.ennaji.pro@gmail.com",
"homepage": "https://www.linkedin.com/in/younes--ennaji/",
"role": "Developer"
}
],
"license": "MIT",
"minimum-stability": "dev",
"prefer-stable": true,
"require": {
"php": ">=5.3",
"php-flasher/flasher-symfony": "^0.1",
"php-flasher/flasher-toastr": "^0.1"
"php": ">=8.2",
"ext-intl": "*",
"illuminate/contracts": "^11.0|^12.0|^13.0",
"illuminate/routing": "^11.0|^12.0|^13.0",
"illuminate/support": "^11.0|^12.0|^13.0",
"laravel/octane": "^2.3",
"livewire/livewire": "^3.0",
"paragonie/random_compat": "^2.0",
"psr/container": "^1.1|^2.0",
"symfony/config": "^7.0|^8.0",
"symfony/console": "^7.0|^8.0",
"symfony/dependency-injection": "^7.0|^8.0",
"symfony/framework-bundle": "^7.0|^8.0",
"symfony/http-kernel": "^7.0|^8.0",
"symfony/translation": "^7.0|^8.0",
"symfony/twig-bundle": "^7.0|^8.0",
"symfony/ux-twig-component": "^2.19",
"yoeunes/regex-parser": "^1.0"
},
"require-dev": {
"phpunit/phpunit": "^4.8|^5.0|^6.0|^7.0|^8.0|^9.0"
"larastan/larastan": "^2.9.9",
"mockery/mockery": "^1.6.12",
"orchestra/testbench": "^9.5.2",
"overtrue/phplint": "^9.5.3",
"php-cs-fixer/shim": "^3.64.0",
"phpstan/phpstan": "^1.12.7",
"phpstan/phpstan-mockery": "^1.1.3",
"phpstan/phpstan-phpunit": "^1.4.0",
"phpstan/phpstan-symfony": "^1.4.10",
"phpunit/phpunit": "^10.5.26",
"rector/rector": "^1.2.8",
"rector/swiss-knife": "^1.0.0",
"symplify/monorepo-builder": "^11.2.22"
},
"autoload": {
"psr-4": {
"Flasher\\Toastr\\Symfony\\": ""
"Flasher\\": "src/"
},
"exclude-from-classmap": [
"/Tests/"
"files": [
"src/Prime/functions.php",
"src/Prime/helpers.php",
"src/Noty/Prime/functions.php",
"src/Noty/Prime/helpers.php",
"src/Notyf/Prime/functions.php",
"src/Notyf/Prime/helpers.php",
"src/SweetAlert/Prime/functions.php",
"src/SweetAlert/Prime/helpers.php",
"src/Toastr/Prime/functions.php",
"src/Toastr/Prime/helpers.php"
]
},
"autoload-dev": {
"psr-4": {
"Flasher\\Toastr\\Symfony\\Tests\\": "Tests/"
"Flasher\\Tests\\": "tests/"
}
},
"config": {
"preferred-install": "dist",
"sort-packages": true
},
"minimum-stability": "dev",
"prefer-stable": true
"extra": {
"phpstan": {
"includes": [
"extension.neon"
]
},
"laravel": {
"providers": [
"Flasher\\Laravel\\FlasherServiceProvider",
"Flasher\\Noty\\Laravel\\FlasherNotyServiceProvider",
"Flasher\\Notyf\\Laravel\\FlasherNotyfServiceProvider",
"Flasher\\SweetAlert\\Laravel\\FlasherSweetAlertServiceProvider",
"Flasher\\Toastr\\Laravel\\FlasherToastrServiceProvider"
],
"aliases": {
"Flasher": "Flasher\\Laravel\\Facade\\Flasher",
"Noty": "Flasher\\Noty\\Laravel\\Facade\\Noty",
"Notyf": "Flasher\\Notyf\\Laravel\\Facade\\Notyf",
"SweetAlert": "Flasher\\SweetAlert\\Laravel\\Facade\\SweetAlert",
"Toastr": "Flasher\\Toastr\\Laravel\\Facade\\Toastr"
}
}
}
}
Generated
+11399
View File
File diff suppressed because it is too large Load Diff
+18
View File
@@ -0,0 +1,18 @@
root = true
[*]
charset = utf-8
end_of_line = lf
indent_size = 4
indent_style = space
insert_final_newline = true
trim_trailing_whitespace = true
[*.md]
trim_trailing_whitespace = false
[*.{yml,yaml}]
indent_size = 2
[docker-compose.yml]
indent_size = 4
+64
View File
@@ -0,0 +1,64 @@
APP_NAME=Laravel
APP_ENV=local
APP_KEY=base64:mNtM4UEOfGE4dx7IAH4+kx4iPYPdGeu+Gaw/PIcF4II=
APP_DEBUG=true
APP_TIMEZONE=UTC
APP_URL=http://localhost
APP_LOCALE=en
APP_FALLBACK_LOCALE=en
APP_FAKER_LOCALE=en_US
APP_MAINTENANCE_DRIVER=file
APP_MAINTENANCE_STORE=database
BCRYPT_ROUNDS=12
LOG_CHANNEL=stack
LOG_STACK=single
LOG_DEPRECATIONS_CHANNEL=null
LOG_LEVEL=debug
DB_CONNECTION=sqlite
# DB_HOST=127.0.0.1
# DB_PORT=3306
# DB_DATABASE=laravel
# DB_USERNAME=root
# DB_PASSWORD=
SESSION_DRIVER=database
SESSION_LIFETIME=120
SESSION_ENCRYPT=false
SESSION_PATH=/
SESSION_DOMAIN=null
BROADCAST_CONNECTION=log
FILESYSTEM_DISK=local
QUEUE_CONNECTION=database
CACHE_STORE=database
CACHE_PREFIX=
MEMCACHED_HOST=127.0.0.1
REDIS_CLIENT=phpredis
REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379
MAIL_MAILER=log
MAIL_HOST=127.0.0.1
MAIL_PORT=2525
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS="hello@example.com"
MAIL_FROM_NAME="${APP_NAME}"
AWS_ACCESS_KEY_ID=
AWS_SECRET_ACCESS_KEY=
AWS_DEFAULT_REGION=us-east-1
AWS_BUCKET=
AWS_USE_PATH_STYLE_ENDPOINT=false
VITE_APP_NAME="${APP_NAME}"
+64
View File
@@ -0,0 +1,64 @@
APP_NAME=Laravel
APP_ENV=local
APP_KEY=
APP_DEBUG=true
APP_TIMEZONE=UTC
APP_URL=http://localhost
APP_LOCALE=en
APP_FALLBACK_LOCALE=en
APP_FAKER_LOCALE=en_US
APP_MAINTENANCE_DRIVER=file
APP_MAINTENANCE_STORE=database
BCRYPT_ROUNDS=12
LOG_CHANNEL=stack
LOG_STACK=single
LOG_DEPRECATIONS_CHANNEL=null
LOG_LEVEL=debug
DB_CONNECTION=sqlite
# DB_HOST=127.0.0.1
# DB_PORT=3306
# DB_DATABASE=laravel
# DB_USERNAME=root
# DB_PASSWORD=
SESSION_DRIVER=database
SESSION_LIFETIME=120
SESSION_ENCRYPT=false
SESSION_PATH=/
SESSION_DOMAIN=null
BROADCAST_CONNECTION=log
FILESYSTEM_DISK=local
QUEUE_CONNECTION=database
CACHE_STORE=database
CACHE_PREFIX=
MEMCACHED_HOST=127.0.0.1
REDIS_CLIENT=phpredis
REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379
MAIL_MAILER=log
MAIL_HOST=127.0.0.1
MAIL_PORT=2525
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS="hello@example.com"
MAIL_FROM_NAME="${APP_NAME}"
AWS_ACCESS_KEY_ID=
AWS_SECRET_ACCESS_KEY=
AWS_DEFAULT_REGION=us-east-1
AWS_BUCKET=
AWS_USE_PATH_STYLE_ENDPOINT=false
VITE_APP_NAME="${APP_NAME}"
+11
View File
@@ -0,0 +1,11 @@
* text=auto eol=lf
*.blade.php diff=html
*.css diff=css
*.html diff=html
*.md diff=markdown
*.php diff=php
/.github export-ignore
CHANGELOG.md export-ignore
.styleci.yml export-ignore
+19
View File
@@ -0,0 +1,19 @@
/.phpunit.cache
/node_modules
/public/build
/public/hot
/public/vendor/flasher
/public/storage
/storage/*.key
/vendor
.env.backup
.env.production
.phpunit.result.cache
Homestead.json
Homestead.yaml
auth.json
npm-debug.log
yarn-error.log
/.fleet
/.idea
/.vscode
+1
View File
@@ -0,0 +1 @@
8.2
+1
View File
@@ -0,0 +1 @@
php=php@8.2
+66
View File
@@ -0,0 +1,66 @@
<p align="center"><a href="https://laravel.com" target="_blank"><img src="https://raw.githubusercontent.com/laravel/art/master/logo-lockup/5%20SVG/2%20CMYK/1%20Full%20Color/laravel-logolockup-cmyk-red.svg" width="400" alt="Laravel Logo"></a></p>
<p align="center">
<a href="https://github.com/laravel/framework/actions"><img src="https://github.com/laravel/framework/workflows/tests/badge.svg" alt="Build Status"></a>
<a href="https://packagist.org/packages/laravel/framework"><img src="https://img.shields.io/packagist/dt/laravel/framework" alt="Total Downloads"></a>
<a href="https://packagist.org/packages/laravel/framework"><img src="https://img.shields.io/packagist/v/laravel/framework" alt="Latest Stable Version"></a>
<a href="https://packagist.org/packages/laravel/framework"><img src="https://img.shields.io/packagist/l/laravel/framework" alt="License"></a>
</p>
## About Laravel
Laravel is a web application framework with expressive, elegant syntax. We believe development must be an enjoyable and creative experience to be truly fulfilling. Laravel takes the pain out of development by easing common tasks used in many web projects, such as:
- [Simple, fast routing engine](https://laravel.com/docs/routing).
- [Powerful dependency injection container](https://laravel.com/docs/container).
- Multiple back-ends for [session](https://laravel.com/docs/session) and [cache](https://laravel.com/docs/cache) storage.
- Expressive, intuitive [database ORM](https://laravel.com/docs/eloquent).
- Database agnostic [schema migrations](https://laravel.com/docs/migrations).
- [Robust background job processing](https://laravel.com/docs/queues).
- [Real-time event broadcasting](https://laravel.com/docs/broadcasting).
Laravel is accessible, powerful, and provides tools required for large, robust applications.
## Learning Laravel
Laravel has the most extensive and thorough [documentation](https://laravel.com/docs) and video tutorial library of all modern web application frameworks, making it a breeze to get started with the framework.
You may also try the [Laravel Bootcamp](https://bootcamp.laravel.com), where you will be guided through building a modern Laravel application from scratch.
If you don't feel like reading, [Laracasts](https://laracasts.com) can help. Laracasts contains thousands of video tutorials on a range of topics including Laravel, modern PHP, unit testing, and JavaScript. Boost your skills by digging into our comprehensive video library.
## Laravel Sponsors
We would like to extend our thanks to the following sponsors for funding Laravel development. If you are interested in becoming a sponsor, please visit the [Laravel Partners program](https://partners.laravel.com).
### Premium Partners
- **[Vehikl](https://vehikl.com/)**
- **[Tighten Co.](https://tighten.co)**
- **[WebReinvent](https://webreinvent.com/)**
- **[Kirschbaum Development Group](https://kirschbaumdevelopment.com)**
- **[64 Robots](https://64robots.com)**
- **[Curotec](https://www.curotec.com/services/technologies/laravel/)**
- **[Cyber-Duck](https://cyber-duck.co.uk)**
- **[DevSquad](https://devsquad.com/hire-laravel-developers)**
- **[Jump24](https://jump24.co.uk)**
- **[Redberry](https://redberry.international/laravel/)**
- **[Active Logic](https://activelogic.com)**
- **[byte5](https://byte5.de)**
- **[OP.GG](https://op.gg)**
## Contributing
Thank you for considering contributing to the Laravel framework! The contribution guide can be found in the [Laravel documentation](https://laravel.com/docs/contributions).
## Code of Conduct
In order to ensure that the Laravel community is welcoming to all, please review and abide by the [Code of Conduct](https://laravel.com/docs/contributions#code-of-conduct).
## Security Vulnerabilities
If you discover a security vulnerability within Laravel, please send an e-mail to Taylor Otwell via [taylor@laravel.com](mailto:taylor@laravel.com). All security vulnerabilities will be promptly addressed.
## License
The Laravel framework is open-sourced software licensed under the [MIT license](https://opensource.org/licenses/MIT).
+15
View File
@@ -0,0 +1,15 @@
<?php
namespace App\Entity;
readonly class Book
{
public function __construct(private string $title)
{
}
public function getFlashIdentifier(): string
{
return sprintf('"%s" book', $this->title);
}
}
@@ -0,0 +1,8 @@
<?php
namespace App\Http\Controllers;
abstract class Controller
{
//
}
@@ -0,0 +1,54 @@
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class DashboardController extends Controller
{
/**
* Show the dashboard with overview of PHPFlasher features
*/
public function index()
{
flash()->option('timeout', 10000)
->info('Welcome to the PHPFlasher Laravel Demo! 👋 Explore different examples using the navigation.');
return view('dashboard');
}
/**
* Show all notification types at once
*/
public function showAllTypes()
{
flash()->success('This is a success notification!');
flash()->info('This is an information notification!');
flash()->warning('This is a warning notification!');
flash()->error('This is an error notification!');
return redirect()->back();
}
/**
* Show theme selector
*/
public function themeSelector()
{
return view('features.themes');
}
/**
* Display a notification with the selected theme
*/
public function showTheme(Request $request)
{
$theme = $request->input('theme', 'default');
flash()
->use("theme.$theme")
->success("This notification uses the '$theme' theme!");
return redirect()->route('themes');
}
}
@@ -0,0 +1,164 @@
<?php
declare(strict_types=1);
namespace App\Http\Controllers;
use Illuminate\Http\JsonResponse;
use Illuminate\Http\Request;
use Illuminate\View\View;
final class DemoController extends Controller
{
public function home(): View
{
return view('home');
}
public function types(): View
{
return view('types');
}
public function themes(): View
{
return view('themes');
}
public function adapters(): View
{
return view('adapters');
}
public function positions(): View
{
return view('positions');
}
public function examples(): View
{
return view('examples');
}
public function playground(): View
{
return view('playground');
}
public function livewire(): View
{
return view('livewire');
}
public function notify(Request $request): JsonResponse
{
$type = $request->input('type', 'success');
$message = $request->input('message', 'Notification message');
$title = $request->input('title');
$theme = $request->input('theme');
$position = $request->input('position', 'top-right');
$timeout = (int) $request->input('timeout', 5000);
$flasher = flash();
// Apply theme if specified
if ($theme && $theme !== 'flasher') {
$flasher = $flasher->use("theme.{$theme}");
}
$options = [
'position' => $position,
'timeout' => $timeout,
];
if ($title) {
$options['title'] = $title;
}
$flasher->{$type}($message, $options);
return response()->json(['success' => true]);
}
public function runExample(Request $request, string $scenario): JsonResponse
{
match ($scenario) {
'registration' => $this->registrationExample(),
'login_failed' => $this->loginFailedExample(),
'validation' => $this->validationExample(),
'shopping_cart' => $this->shoppingCartExample(),
'file_upload' => $this->fileUploadExample(),
'settings' => $this->settingsExample(),
'payment_success' => $this->paymentSuccessExample(),
'payment_failed' => $this->paymentFailedExample(),
'delete_confirm' => $this->deleteConfirmExample(),
'session_expiring' => $this->sessionExpiringExample(),
default => flash()->info('Example not found'),
};
return response()->json(['success' => true]);
}
private function registrationExample(): void
{
flash()->success('Welcome! Your account has been created.');
flash()->info('Please check your email to verify your account.');
}
private function loginFailedExample(): void
{
flash()->error('Invalid email or password.');
flash()->info('Forgot your password? Click here to reset.');
}
private function validationExample(): void
{
flash()->error('The email field is required.');
flash()->error('Password must be at least 8 characters.');
flash()->error('Please accept the terms and conditions.');
}
private function shoppingCartExample(): void
{
flash()->success('iPhone 15 Pro added to cart!');
flash()->warning('Only 2 items left in stock!');
flash()->info('Add $20 more for free shipping!');
}
private function fileUploadExample(): void
{
flash()->success('document.pdf uploaded successfully!');
flash()->info('File size: 2.4 MB');
}
private function settingsExample(): void
{
flash()->success('Settings saved successfully!');
flash()->info('Some changes may require a page refresh.');
}
private function paymentSuccessExample(): void
{
flash()->success('Payment of $149.99 confirmed!');
flash()->info('Order #12345 - Receipt sent to your email.');
}
private function paymentFailedExample(): void
{
flash()->error('Payment declined by your bank.');
flash()->warning('Please try a different payment method.');
flash()->info('Your cart has been saved.');
}
private function deleteConfirmExample(): void
{
flash()->warning('Are you sure? This action cannot be undone.');
flash()->info('Click confirm to delete or cancel to keep the item.');
}
private function sessionExpiringExample(): void
{
flash()->warning('Your session will expire in 5 minutes.');
flash()->info('Click anywhere to stay logged in.');
}
}
@@ -0,0 +1,99 @@
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Validator;
class ExampleController extends Controller
{
/**
* Form validation example
*/
public function formExample()
{
return view('examples.form');
}
/**
* Process form submission
*/
public function processForm(Request $request)
{
$validator = Validator::make($request->all(), [
'name' => 'required|min:2|max:50',
'email' => 'required|email',
'subject' => 'required|min:5',
'message' => 'required|min:10',
]);
if ($validator->fails()) {
flash()->error('Please fix the errors in the form!');
return redirect()->back()
->withErrors($validator)
->withInput();
}
// Success scenario
flash()
->success('Your message has been sent successfully!')
->option('timeout', 8000);
return redirect()->route('form.example');
}
/**
* AJAX example page
*/
public function ajaxExample()
{
return view('examples.ajax');
}
/**
* Process AJAX request
*/
public function processAjax(Request $request)
{
$action = $request->input('action');
$success = rand(0, 10) > 3; // 70% success rate
if ($success) {
flash()->success("The $action action was completed successfully!");
return response()->json(['status' => 'success']);
} else {
flash()->error("The $action action failed. Please try again.");
return response()->json(['status' => 'error'], 422);
}
}
/**
* Demonstrate different notification positions
*/
public function positionsExample()
{
return view('examples.positions');
}
/**
* Show notification at specified position
*/
public function showAtPosition(Request $request)
{
$position = $request->input('position', 'top-right');
flash()
->option('position', $position)
->info("This notification appears at the '$position' position!");
return redirect()->route('positions.example');
}
/**
* Interactive playground to test notification options
*/
public function playground()
{
return view('examples.playground');
}
}
@@ -0,0 +1,42 @@
<?php
namespace App\Http\Middleware;
use Illuminate\Http\Request;
use Inertia\Middleware;
class HandleInertiaRequests extends Middleware
{
/**
* The root template that's loaded on the first page visit.
*
* @see https://inertiajs.com/server-side-setup#root-template
*
* @var string
*/
protected $rootView = 'app';
/**
* Determines the current asset version.
*
* @see https://inertiajs.com/asset-versioning
*/
public function version(Request $request): ?string
{
return parent::version($request);
}
/**
* Define the props that are shared by default.
*
* @see https://inertiajs.com/shared-data
*
* @return array<string, mixed>
*/
public function share(Request $request): array
{
return array_merge(parent::share($request), [
//
]);
}
}
+36
View File
@@ -0,0 +1,36 @@
<?php
declare(strict_types=1);
namespace App\Livewire;
use Livewire\Component;
class ContactForm extends Component
{
public string $name = '';
public string $email = '';
public string $message = '';
protected array $rules = [
'name' => 'required|min:2',
'email' => 'required|email',
'message' => 'required|min:10',
];
public function submit(): void
{
$this->validate();
// Simulate form processing
flash()->success('Message sent successfully!');
flash()->info('We will respond within 24 hours.');
$this->reset(['name', 'email', 'message']);
}
public function render()
{
return view('livewire.contact-form');
}
}
+35
View File
@@ -0,0 +1,35 @@
<?php
declare(strict_types=1);
namespace App\Livewire;
use Livewire\Component;
class Counter extends Component
{
public int $count = 0;
public function increment(): void
{
$this->count++;
flash()->success("Count increased to {$this->count}!");
}
public function decrement(): void
{
$this->count--;
flash()->warning("Count decreased to {$this->count}");
}
public function reset(): void
{
$this->count = 0;
flash()->info('Counter has been reset.');
}
public function render()
{
return view('livewire.counter');
}
}
+41
View File
@@ -0,0 +1,41 @@
<?php
declare(strict_types=1);
namespace App\Livewire;
use Livewire\Component;
class DeleteItem extends Component
{
protected $listeners = [
'sweetalert:confirmed' => 'onConfirmed',
'sweetalert:denied' => 'onDenied',
];
public function confirmDelete(): void
{
sweetalert()
->showDenyButton()
->showCancelButton()
->confirmButtonText('Yes, delete it!')
->denyButtonText('Keep it')
->warning('Are you sure you want to delete this item?');
}
public function onConfirmed(array $payload): void
{
// Simulate deletion
flash()->success('Item has been deleted successfully!');
}
public function onDenied(array $payload): void
{
flash()->info('The item was kept safe.');
}
public function render()
{
return view('livewire.delete-item');
}
}
+31
View File
@@ -0,0 +1,31 @@
<?php
namespace App\Livewire;
use Livewire\Attributes\On;
use Livewire\Component;
class Eventous extends Component
{
public function render()
{
return <<<'HTML'
<div>
<button wire:click="delete">delete</button>
</div>
HTML;
}
public function delete()
{
sweetalert()
->showDenyButton()
->info('confirm or deny action');
}
#[On('sweetalert:confirmed')]
public function onSweetalertConfirmed(array $payload): void
{
toastr()->success('sweetalert was confirmed');
}
}
+47
View File
@@ -0,0 +1,47 @@
<?php
namespace App\Models;
// use Illuminate\Contracts\Auth\MustVerifyEmail;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Foundation\Auth\User as Authenticatable;
use Illuminate\Notifications\Notifiable;
class User extends Authenticatable
{
use HasFactory, Notifiable;
/**
* The attributes that are mass assignable.
*
* @var array<int, string>
*/
protected $fillable = [
'name',
'email',
'password',
];
/**
* The attributes that should be hidden for serialization.
*
* @var array<int, string>
*/
protected $hidden = [
'password',
'remember_token',
];
/**
* Get the attributes that should be cast.
*
* @return array<string, string>
*/
protected function casts(): array
{
return [
'email_verified_at' => 'datetime',
'password' => 'hashed',
];
}
}
@@ -0,0 +1,24 @@
<?php
namespace App\Providers;
use Illuminate\Support\ServiceProvider;
class AppServiceProvider extends ServiceProvider
{
/**
* Register any application services.
*/
public function register(): void
{
//
}
/**
* Bootstrap any application services.
*/
public function boot(): void
{
//
}
}
+15
View File
@@ -0,0 +1,15 @@
#!/usr/bin/env php
<?php
use Symfony\Component\Console\Input\ArgvInput;
define('LARAVEL_START', microtime(true));
// Register the Composer autoloader...
require __DIR__.'/vendor/autoload.php';
// Bootstrap Laravel and handle the command...
$status = (require_once __DIR__.'/bootstrap/app.php')
->handleCommand(new ArgvInput);
exit($status);
+24
View File
@@ -0,0 +1,24 @@
<?php
use Illuminate\Foundation\Application;
use Illuminate\Foundation\Configuration\Exceptions;
use Illuminate\Foundation\Configuration\Middleware;
use Illuminate\Support\Facades\Route;
return Application::configure(basePath: dirname(__DIR__))
->withRouting(
web: __DIR__.'/../routes/web.php',
commands: __DIR__.'/../routes/console.php',
health: '/up',
then: function () {
Route::middleware('web')->group(base_path('routes/issues.php'));
},
)
->withMiddleware(function (Middleware $middleware) {
$middleware->web(append: [
App\Http\Middleware\HandleInertiaRequests::class,
]);
})
->withExceptions(function (Exceptions $exceptions) {
//
})->create();
+2
View File
@@ -0,0 +1,2 @@
*
!.gitignore
+5
View File
@@ -0,0 +1,5 @@
<?php
return [
App\Providers\AppServiceProvider::class,
];
+87
View File
@@ -0,0 +1,87 @@
{
"name": "laravel/laravel",
"type": "project",
"description": "The skeleton application for the Laravel framework.",
"keywords": ["laravel", "framework"],
"license": "MIT",
"repositories": [
{
"type": "path",
"url": "../..",
"options": {
"symlink": true
}
}
],
"require": {
"php": "^8.2",
"inertiajs/inertia-laravel": "^2.0",
"laravel/framework": "^12.0",
"laravel/tinker": "^2.10",
"livewire/livewire": "^3.6",
"php-flasher/php-flasher": "@dev",
"spatie/laravel-csp": "^2.10",
"spatie/laravel-ray": "^1.40"
},
"require-dev": {
"barryvdh/laravel-debugbar": "^3.15",
"fakerphp/faker": "^1.24",
"larastan/larastan": "^3.2",
"laravel/pint": "^1.21",
"laravel/sail": "^1.41",
"mockery/mockery": "^1.6",
"nunomaduro/collision": "^8.7",
"pestphp/pest": "^3.7",
"pestphp/pest-plugin-laravel": "^3.1",
"spatie/laravel-ignition": "^2.9",
"spatie/ray": "^1.41"
},
"autoload": {
"psr-4": {
"App\\": "app/",
"Database\\Factories\\": "database/factories/",
"Database\\Seeders\\": "database/seeders/"
}
},
"autoload-dev": {
"psr-4": {
"Tests\\": "tests/"
}
},
"scripts": {
"post-autoload-dump": [
"Illuminate\\Foundation\\ComposerScripts::postAutoloadDump",
"@php artisan package:discover --ansi",
"@php artisan flasher:install"
],
"post-update-cmd": [
"@php artisan vendor:publish --tag=laravel-assets --ansi --force",
"@php artisan flasher:install"
],
"post-root-package-install": [
"@php -r \"file_exists('.env') || copy('.env.example', '.env');\"",
"@php artisan flasher:install"
],
"post-create-project-cmd": [
"@php artisan key:generate --ansi",
"@php -r \"file_exists('database/database.sqlite') || touch('database/database.sqlite');\"",
"@php artisan migrate --graceful --ansi"
]
},
"extra": {
"laravel": {
"dont-discover": []
}
},
"config": {
"optimize-autoloader": true,
"preferred-install": "dist",
"sort-packages": true,
"allow-plugins": {
"pestphp/pest-plugin": true,
"php-http/discovery": true
}
},
"minimum-stability": "stable",
"prefer-stable": true
}
+12847
View File
File diff suppressed because it is too large Load Diff
+126
View File
@@ -0,0 +1,126 @@
<?php
return [
/*
|--------------------------------------------------------------------------
| Application Name
|--------------------------------------------------------------------------
|
| This value is the name of your application, which will be used when the
| framework needs to place the application's name in a notification or
| other UI elements where an application name needs to be displayed.
|
*/
'name' => env('APP_NAME', 'Laravel'),
/*
|--------------------------------------------------------------------------
| Application Environment
|--------------------------------------------------------------------------
|
| This value determines the "environment" your application is currently
| running in. This may determine how you prefer to configure various
| services the application utilizes. Set this in your ".env" file.
|
*/
'env' => env('APP_ENV', 'production'),
/*
|--------------------------------------------------------------------------
| Application Debug Mode
|--------------------------------------------------------------------------
|
| When your application is in debug mode, detailed error messages with
| stack traces will be shown on every error that occurs within your
| application. If disabled, a simple generic error page is shown.
|
*/
'debug' => (bool) env('APP_DEBUG', false),
/*
|--------------------------------------------------------------------------
| Application URL
|--------------------------------------------------------------------------
|
| This URL is used by the console to properly generate URLs when using
| the Artisan command line tool. You should set this to the root of
| the application so that it's available within Artisan commands.
|
*/
'url' => env('APP_URL', 'http://localhost'),
/*
|--------------------------------------------------------------------------
| Application Timezone
|--------------------------------------------------------------------------
|
| Here you may specify the default timezone for your application, which
| will be used by the PHP date and date-time functions. The timezone
| is set to "UTC" by default as it is suitable for most use cases.
|
*/
'timezone' => env('APP_TIMEZONE', 'UTC'),
/*
|--------------------------------------------------------------------------
| Application Locale Configuration
|--------------------------------------------------------------------------
|
| The application locale determines the default locale that will be used
| by Laravel's translation / localization methods. This option can be
| set to any locale for which you plan to have translation strings.
|
*/
'locale' => env('APP_LOCALE', 'en'),
'fallback_locale' => env('APP_FALLBACK_LOCALE', 'en'),
'faker_locale' => env('APP_FAKER_LOCALE', 'en_US'),
/*
|--------------------------------------------------------------------------
| Encryption Key
|--------------------------------------------------------------------------
|
| This key is utilized by Laravel's encryption services and should be set
| to a random, 32 character string to ensure that all encrypted values
| are secure. You should do this prior to deploying the application.
|
*/
'cipher' => 'AES-256-CBC',
'key' => env('APP_KEY'),
'previous_keys' => [
...array_filter(
explode(',', env('APP_PREVIOUS_KEYS', ''))
),
],
/*
|--------------------------------------------------------------------------
| Maintenance Mode Driver
|--------------------------------------------------------------------------
|
| These configuration options determine the driver used to determine and
| manage Laravel's "maintenance mode" status. The "cache" driver will
| allow maintenance mode to be controlled across multiple machines.
|
| Supported drivers: "file", "cache"
|
*/
'maintenance' => [
'driver' => env('APP_MAINTENANCE_DRIVER', 'file'),
'store' => env('APP_MAINTENANCE_STORE', 'database'),
],
];
+115
View File
@@ -0,0 +1,115 @@
<?php
return [
/*
|--------------------------------------------------------------------------
| Authentication Defaults
|--------------------------------------------------------------------------
|
| This option defines the default authentication "guard" and password
| reset "broker" for your application. You may change these values
| as required, but they're a perfect start for most applications.
|
*/
'defaults' => [
'guard' => env('AUTH_GUARD', 'web'),
'passwords' => env('AUTH_PASSWORD_BROKER', 'users'),
],
/*
|--------------------------------------------------------------------------
| Authentication Guards
|--------------------------------------------------------------------------
|
| Next, you may define every authentication guard for your application.
| Of course, a great default configuration has been defined for you
| which utilizes session storage plus the Eloquent user provider.
|
| All authentication guards have a user provider, which defines how the
| users are actually retrieved out of your database or other storage
| system used by the application. Typically, Eloquent is utilized.
|
| Supported: "session"
|
*/
'guards' => [
'web' => [
'driver' => 'session',
'provider' => 'users',
],
],
/*
|--------------------------------------------------------------------------
| User Providers
|--------------------------------------------------------------------------
|
| All authentication guards have a user provider, which defines how the
| users are actually retrieved out of your database or other storage
| system used by the application. Typically, Eloquent is utilized.
|
| If you have multiple user tables or models you may configure multiple
| providers to represent the model / table. These providers may then
| be assigned to any extra authentication guards you have defined.
|
| Supported: "database", "eloquent"
|
*/
'providers' => [
'users' => [
'driver' => 'eloquent',
'model' => env('AUTH_MODEL', App\Models\User::class),
],
// 'users' => [
// 'driver' => 'database',
// 'table' => 'users',
// ],
],
/*
|--------------------------------------------------------------------------
| Resetting Passwords
|--------------------------------------------------------------------------
|
| These configuration options specify the behavior of Laravel's password
| reset functionality, including the table utilized for token storage
| and the user provider that is invoked to actually retrieve users.
|
| The expiry time is the number of minutes that each reset token will be
| considered valid. This security feature keeps tokens short-lived so
| they have less time to be guessed. You may change this as needed.
|
| The throttle setting is the number of seconds a user must wait before
| generating more password reset tokens. This prevents the user from
| quickly generating a very large amount of password reset tokens.
|
*/
'passwords' => [
'users' => [
'provider' => 'users',
'table' => env('AUTH_PASSWORD_RESET_TOKEN_TABLE', 'password_reset_tokens'),
'expire' => 60,
'throttle' => 60,
],
],
/*
|--------------------------------------------------------------------------
| Password Confirmation Timeout
|--------------------------------------------------------------------------
|
| Here you may define the amount of seconds before a password confirmation
| window expires and users are asked to re-enter their password via the
| confirmation screen. By default, the timeout lasts for three hours.
|
*/
'password_timeout' => env('AUTH_PASSWORD_TIMEOUT', 10800),
];
+107
View File
@@ -0,0 +1,107 @@
<?php
use Illuminate\Support\Str;
return [
/*
|--------------------------------------------------------------------------
| Default Cache Store
|--------------------------------------------------------------------------
|
| This option controls the default cache store that will be used by the
| framework. This connection is utilized if another isn't explicitly
| specified when running a cache operation inside the application.
|
*/
'default' => env('CACHE_STORE', 'database'),
/*
|--------------------------------------------------------------------------
| Cache Stores
|--------------------------------------------------------------------------
|
| Here you may define all of the cache "stores" for your application as
| well as their drivers. You may even define multiple stores for the
| same cache driver to group types of items stored in your caches.
|
| Supported drivers: "apc", "array", "database", "file", "memcached",
| "redis", "dynamodb", "octane", "null"
|
*/
'stores' => [
'array' => [
'driver' => 'array',
'serialize' => false,
],
'database' => [
'driver' => 'database',
'table' => env('DB_CACHE_TABLE', 'cache'),
'connection' => env('DB_CACHE_CONNECTION'),
'lock_connection' => env('DB_CACHE_LOCK_CONNECTION'),
],
'file' => [
'driver' => 'file',
'path' => storage_path('framework/cache/data'),
'lock_path' => storage_path('framework/cache/data'),
],
'memcached' => [
'driver' => 'memcached',
'persistent_id' => env('MEMCACHED_PERSISTENT_ID'),
'sasl' => [
env('MEMCACHED_USERNAME'),
env('MEMCACHED_PASSWORD'),
],
'options' => [
// Memcached::OPT_CONNECT_TIMEOUT => 2000,
],
'servers' => [
[
'host' => env('MEMCACHED_HOST', '127.0.0.1'),
'port' => env('MEMCACHED_PORT', 11211),
'weight' => 100,
],
],
],
'redis' => [
'driver' => 'redis',
'connection' => env('REDIS_CACHE_CONNECTION', 'cache'),
'lock_connection' => env('REDIS_CACHE_LOCK_CONNECTION', 'default'),
],
'dynamodb' => [
'driver' => 'dynamodb',
'key' => env('AWS_ACCESS_KEY_ID'),
'secret' => env('AWS_SECRET_ACCESS_KEY'),
'region' => env('AWS_DEFAULT_REGION', 'us-east-1'),
'table' => env('DYNAMODB_CACHE_TABLE', 'cache'),
'endpoint' => env('DYNAMODB_ENDPOINT'),
],
'octane' => [
'driver' => 'octane',
],
],
/*
|--------------------------------------------------------------------------
| Cache Key Prefix
|--------------------------------------------------------------------------
|
| When utilizing the APC, database, memcached, Redis, and DynamoDB cache
| stores, there might be other applications using the same cache. For
| that reason, you may prefix every cache key to avoid collisions.
|
*/
'prefix' => env('CACHE_PREFIX', Str::slug(env('APP_NAME', 'laravel'), '_').'_cache_'),
];
+170
View File
@@ -0,0 +1,170 @@
<?php
use Illuminate\Support\Str;
return [
/*
|--------------------------------------------------------------------------
| Default Database Connection Name
|--------------------------------------------------------------------------
|
| Here you may specify which of the database connections below you wish
| to use as your default connection for database operations. This is
| the connection which will be utilized unless another connection
| is explicitly specified when you execute a query / statement.
|
*/
'default' => env('DB_CONNECTION', 'sqlite'),
/*
|--------------------------------------------------------------------------
| Database Connections
|--------------------------------------------------------------------------
|
| Below are all of the database connections defined for your application.
| An example configuration is provided for each database system which
| is supported by Laravel. You're free to add / remove connections.
|
*/
'connections' => [
'sqlite' => [
'driver' => 'sqlite',
'url' => env('DB_URL'),
'database' => env('DB_DATABASE', database_path('database.sqlite')),
'prefix' => '',
'foreign_key_constraints' => env('DB_FOREIGN_KEYS', true),
],
'mysql' => [
'driver' => 'mysql',
'url' => env('DB_URL'),
'host' => env('DB_HOST', '127.0.0.1'),
'port' => env('DB_PORT', '3306'),
'database' => env('DB_DATABASE', 'laravel'),
'username' => env('DB_USERNAME', 'root'),
'password' => env('DB_PASSWORD', ''),
'unix_socket' => env('DB_SOCKET', ''),
'charset' => env('DB_CHARSET', 'utf8mb4'),
'collation' => env('DB_COLLATION', 'utf8mb4_unicode_ci'),
'prefix' => '',
'prefix_indexes' => true,
'strict' => true,
'engine' => null,
'options' => extension_loaded('pdo_mysql') ? array_filter([
PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'),
]) : [],
],
'mariadb' => [
'driver' => 'mariadb',
'url' => env('DB_URL'),
'host' => env('DB_HOST', '127.0.0.1'),
'port' => env('DB_PORT', '3306'),
'database' => env('DB_DATABASE', 'laravel'),
'username' => env('DB_USERNAME', 'root'),
'password' => env('DB_PASSWORD', ''),
'unix_socket' => env('DB_SOCKET', ''),
'charset' => env('DB_CHARSET', 'utf8mb4'),
'collation' => env('DB_COLLATION', 'utf8mb4_unicode_ci'),
'prefix' => '',
'prefix_indexes' => true,
'strict' => true,
'engine' => null,
'options' => extension_loaded('pdo_mysql') ? array_filter([
PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'),
]) : [],
],
'pgsql' => [
'driver' => 'pgsql',
'url' => env('DB_URL'),
'host' => env('DB_HOST', '127.0.0.1'),
'port' => env('DB_PORT', '5432'),
'database' => env('DB_DATABASE', 'laravel'),
'username' => env('DB_USERNAME', 'root'),
'password' => env('DB_PASSWORD', ''),
'charset' => env('DB_CHARSET', 'utf8'),
'prefix' => '',
'prefix_indexes' => true,
'search_path' => 'public',
'sslmode' => 'prefer',
],
'sqlsrv' => [
'driver' => 'sqlsrv',
'url' => env('DB_URL'),
'host' => env('DB_HOST', 'localhost'),
'port' => env('DB_PORT', '1433'),
'database' => env('DB_DATABASE', 'laravel'),
'username' => env('DB_USERNAME', 'root'),
'password' => env('DB_PASSWORD', ''),
'charset' => env('DB_CHARSET', 'utf8'),
'prefix' => '',
'prefix_indexes' => true,
// 'encrypt' => env('DB_ENCRYPT', 'yes'),
// 'trust_server_certificate' => env('DB_TRUST_SERVER_CERTIFICATE', 'false'),
],
],
/*
|--------------------------------------------------------------------------
| Migration Repository Table
|--------------------------------------------------------------------------
|
| This table keeps track of all the migrations that have already run for
| your application. Using this information, we can determine which of
| the migrations on disk haven't actually been run on the database.
|
*/
'migrations' => [
'table' => 'migrations',
'update_date_on_publish' => true,
],
/*
|--------------------------------------------------------------------------
| Redis Databases
|--------------------------------------------------------------------------
|
| Redis is an open source, fast, and advanced key-value store that also
| provides a richer body of commands than a typical key-value system
| such as Memcached. You may define your connection settings here.
|
*/
'redis' => [
'client' => env('REDIS_CLIENT', 'phpredis'),
'options' => [
'cluster' => env('REDIS_CLUSTER', 'redis'),
'prefix' => env('REDIS_PREFIX', Str::slug(env('APP_NAME', 'laravel'), '_').'_database_'),
],
'default' => [
'url' => env('REDIS_URL'),
'host' => env('REDIS_HOST', '127.0.0.1'),
'username' => env('REDIS_USERNAME'),
'password' => env('REDIS_PASSWORD'),
'port' => env('REDIS_PORT', '6379'),
'database' => env('REDIS_DB', '0'),
],
'cache' => [
'url' => env('REDIS_URL'),
'host' => env('REDIS_HOST', '127.0.0.1'),
'username' => env('REDIS_USERNAME'),
'password' => env('REDIS_PASSWORD'),
'port' => env('REDIS_PORT', '6379'),
'database' => env('REDIS_CACHE_DB', '1'),
],
],
];
+76
View File
@@ -0,0 +1,76 @@
<?php
return [
/*
|--------------------------------------------------------------------------
| Default Filesystem Disk
|--------------------------------------------------------------------------
|
| Here you may specify the default filesystem disk that should be used
| by the framework. The "local" disk, as well as a variety of cloud
| based disks are available to your application for file storage.
|
*/
'default' => env('FILESYSTEM_DISK', 'local'),
/*
|--------------------------------------------------------------------------
| Filesystem Disks
|--------------------------------------------------------------------------
|
| Below you may configure as many filesystem disks as necessary, and you
| may even configure multiple disks for the same driver. Examples for
| most supported storage drivers are configured here for reference.
|
| Supported Drivers: "local", "ftp", "sftp", "s3"
|
*/
'disks' => [
'local' => [
'driver' => 'local',
'root' => storage_path('app'),
'throw' => false,
],
'public' => [
'driver' => 'local',
'root' => storage_path('app/public'),
'url' => env('APP_URL').'/storage',
'visibility' => 'public',
'throw' => false,
],
's3' => [
'driver' => 's3',
'key' => env('AWS_ACCESS_KEY_ID'),
'secret' => env('AWS_SECRET_ACCESS_KEY'),
'region' => env('AWS_DEFAULT_REGION'),
'bucket' => env('AWS_BUCKET'),
'url' => env('AWS_URL'),
'endpoint' => env('AWS_ENDPOINT'),
'use_path_style_endpoint' => env('AWS_USE_PATH_STYLE_ENDPOINT', false),
'throw' => false,
],
],
/*
|--------------------------------------------------------------------------
| Symbolic Links
|--------------------------------------------------------------------------
|
| Here you may configure the symbolic links that will be created when the
| `storage:link` Artisan command is executed. The array keys should be
| the locations of the links and the values should be their targets.
|
*/
'links' => [
public_path('storage') => storage_path('app/public'),
],
];
+64
View File
@@ -0,0 +1,64 @@
<?php
declare(strict_types=1);
use Flasher\Prime\Configuration;
/*
* Default PHPFlasher configuration for Laravel.
*
* This configuration file defines the default settings for PHPFlasher when
* used within a Laravel application. It uses the Configuration class from
* the core PHPFlasher library to establish type-safe configuration.
*
* @return array<string, mixed> PHPFlasher configuration
*/
return Configuration::from([
// Default notification library (e.g., 'flasher', 'toastr', 'noty', 'notyf', 'sweetalert')
'default' => 'flasher',
// Path to the main PHPFlasher JavaScript file
'main_script' => '/vendor/flasher/flasher.min.js',
// List of CSS files to style your notifications
'styles' => [
'/vendor/flasher/flasher.min.css',
],
// Set global options for all notifications (optional)
// 'options' => [
// 'timeout' => 5000, // Time in milliseconds before the notification disappears
// 'position' => 'top-right', // Where the notification appears on the screen
// ],
// Automatically inject JavaScript and CSS assets into your HTML pages
'inject_assets' => true,
// Enable message translation using Laravel's translation service
'translate' => true,
// URL patterns to exclude from asset injection and flash_bag conversion
'excluded_paths' => [],
// Map Laravel flash message keys to notification types
'flash_bag' => [
'success' => ['success'],
'error' => ['error', 'danger'],
'warning' => ['warning', 'alarm'],
'info' => ['info', 'notice', 'alert'],
],
// Set criteria to filter which notifications are displayed (optional)
// 'filter' => [
// 'limit' => 5, // Maximum number of notifications to show at once
// ],
// Define notification presets to simplify notification creation (optional)
// 'presets' => [
// 'entity_saved' => [
// 'type' => 'success',
// 'title' => 'Entity saved',
// 'message' => 'Entity saved successfully',
// ],
// ],
]);
+132
View File
@@ -0,0 +1,132 @@
<?php
use Monolog\Handler\NullHandler;
use Monolog\Handler\StreamHandler;
use Monolog\Handler\SyslogUdpHandler;
use Monolog\Processor\PsrLogMessageProcessor;
return [
/*
|--------------------------------------------------------------------------
| Default Log Channel
|--------------------------------------------------------------------------
|
| This option defines the default log channel that is utilized to write
| messages to your logs. The value provided here should match one of
| the channels present in the list of "channels" configured below.
|
*/
'default' => env('LOG_CHANNEL', 'stack'),
/*
|--------------------------------------------------------------------------
| Deprecations Log Channel
|--------------------------------------------------------------------------
|
| This option controls the log channel that should be used to log warnings
| regarding deprecated PHP and library features. This allows you to get
| your application ready for upcoming major versions of dependencies.
|
*/
'deprecations' => [
'channel' => env('LOG_DEPRECATIONS_CHANNEL', 'null'),
'trace' => env('LOG_DEPRECATIONS_TRACE', false),
],
/*
|--------------------------------------------------------------------------
| Log Channels
|--------------------------------------------------------------------------
|
| Here you may configure the log channels for your application. Laravel
| utilizes the Monolog PHP logging library, which includes a variety
| of powerful log handlers and formatters that you're free to use.
|
| Available Drivers: "single", "daily", "slack", "syslog",
| "errorlog", "monolog", "custom", "stack"
|
*/
'channels' => [
'stack' => [
'driver' => 'stack',
'channels' => explode(',', env('LOG_STACK', 'single')),
'ignore_exceptions' => false,
],
'single' => [
'driver' => 'single',
'path' => storage_path('logs/laravel.log'),
'level' => env('LOG_LEVEL', 'debug'),
'replace_placeholders' => true,
],
'daily' => [
'driver' => 'daily',
'path' => storage_path('logs/laravel.log'),
'level' => env('LOG_LEVEL', 'debug'),
'days' => env('LOG_DAILY_DAYS', 14),
'replace_placeholders' => true,
],
'slack' => [
'driver' => 'slack',
'url' => env('LOG_SLACK_WEBHOOK_URL'),
'username' => env('LOG_SLACK_USERNAME', 'Laravel Log'),
'emoji' => env('LOG_SLACK_EMOJI', ':boom:'),
'level' => env('LOG_LEVEL', 'critical'),
'replace_placeholders' => true,
],
'papertrail' => [
'driver' => 'monolog',
'level' => env('LOG_LEVEL', 'debug'),
'handler' => env('LOG_PAPERTRAIL_HANDLER', SyslogUdpHandler::class),
'handler_with' => [
'host' => env('PAPERTRAIL_URL'),
'port' => env('PAPERTRAIL_PORT'),
'connectionString' => 'tls://'.env('PAPERTRAIL_URL').':'.env('PAPERTRAIL_PORT'),
],
'processors' => [PsrLogMessageProcessor::class],
],
'stderr' => [
'driver' => 'monolog',
'level' => env('LOG_LEVEL', 'debug'),
'handler' => StreamHandler::class,
'formatter' => env('LOG_STDERR_FORMATTER'),
'with' => [
'stream' => 'php://stderr',
],
'processors' => [PsrLogMessageProcessor::class],
],
'syslog' => [
'driver' => 'syslog',
'level' => env('LOG_LEVEL', 'debug'),
'facility' => env('LOG_SYSLOG_FACILITY', LOG_USER),
'replace_placeholders' => true,
],
'errorlog' => [
'driver' => 'errorlog',
'level' => env('LOG_LEVEL', 'debug'),
'replace_placeholders' => true,
],
'null' => [
'driver' => 'monolog',
'handler' => NullHandler::class,
],
'emergency' => [
'path' => storage_path('logs/laravel.log'),
],
],
];
+103
View File
@@ -0,0 +1,103 @@
<?php
return [
/*
|--------------------------------------------------------------------------
| Default Mailer
|--------------------------------------------------------------------------
|
| This option controls the default mailer that is used to send all email
| messages unless another mailer is explicitly specified when sending
| the message. All additional mailers can be configured within the
| "mailers" array. Examples of each type of mailer are provided.
|
*/
'default' => env('MAIL_MAILER', 'log'),
/*
|--------------------------------------------------------------------------
| Mailer Configurations
|--------------------------------------------------------------------------
|
| Here you may configure all of the mailers used by your application plus
| their respective settings. Several examples have been configured for
| you and you are free to add your own as your application requires.
|
| Laravel supports a variety of mail "transport" drivers that can be used
| when delivering an email. You may specify which one you're using for
| your mailers below. You may also add additional mailers if needed.
|
| Supported: "smtp", "sendmail", "mailgun", "ses", "ses-v2",
| "postmark", "log", "array", "failover", "roundrobin"
|
*/
'mailers' => [
'smtp' => [
'transport' => 'smtp',
'url' => env('MAIL_URL'),
'host' => env('MAIL_HOST', '127.0.0.1'),
'port' => env('MAIL_PORT', 2525),
'encryption' => env('MAIL_ENCRYPTION', 'tls'),
'username' => env('MAIL_USERNAME'),
'password' => env('MAIL_PASSWORD'),
'timeout' => null,
'local_domain' => env('MAIL_EHLO_DOMAIN'),
],
'ses' => [
'transport' => 'ses',
],
'postmark' => [
'transport' => 'postmark',
// 'message_stream_id' => env('POSTMARK_MESSAGE_STREAM_ID'),
// 'client' => [
// 'timeout' => 5,
// ],
],
'sendmail' => [
'transport' => 'sendmail',
'path' => env('MAIL_SENDMAIL_PATH', '/usr/sbin/sendmail -bs -i'),
],
'log' => [
'transport' => 'log',
'channel' => env('MAIL_LOG_CHANNEL'),
],
'array' => [
'transport' => 'array',
],
'failover' => [
'transport' => 'failover',
'mailers' => [
'smtp',
'log',
],
],
],
/*
|--------------------------------------------------------------------------
| Global "From" Address
|--------------------------------------------------------------------------
|
| You may wish for all emails sent by your application to be sent from
| the same address. Here you may specify a name and address that is
| used globally for all emails that are sent by your application.
|
*/
'from' => [
'address' => env('MAIL_FROM_ADDRESS', 'hello@example.com'),
'name' => env('MAIL_FROM_NAME', 'Example'),
],
];
+112
View File
@@ -0,0 +1,112 @@
<?php
return [
/*
|--------------------------------------------------------------------------
| Default Queue Connection Name
|--------------------------------------------------------------------------
|
| Laravel's queue supports a variety of backends via a single, unified
| API, giving you convenient access to each backend using identical
| syntax for each. The default queue connection is defined below.
|
*/
'default' => env('QUEUE_CONNECTION', 'database'),
/*
|--------------------------------------------------------------------------
| Queue Connections
|--------------------------------------------------------------------------
|
| Here you may configure the connection options for every queue backend
| used by your application. An example configuration is provided for
| each backend supported by Laravel. You're also free to add more.
|
| Drivers: "sync", "database", "beanstalkd", "sqs", "redis", "null"
|
*/
'connections' => [
'sync' => [
'driver' => 'sync',
],
'database' => [
'driver' => 'database',
'connection' => env('DB_QUEUE_CONNECTION'),
'table' => env('DB_QUEUE_TABLE', 'jobs'),
'queue' => env('DB_QUEUE', 'default'),
'retry_after' => (int) env('DB_QUEUE_RETRY_AFTER', 90),
'after_commit' => false,
],
'beanstalkd' => [
'driver' => 'beanstalkd',
'host' => env('BEANSTALKD_QUEUE_HOST', 'localhost'),
'queue' => env('BEANSTALKD_QUEUE', 'default'),
'retry_after' => (int) env('BEANSTALKD_QUEUE_RETRY_AFTER', 90),
'block_for' => 0,
'after_commit' => false,
],
'sqs' => [
'driver' => 'sqs',
'key' => env('AWS_ACCESS_KEY_ID'),
'secret' => env('AWS_SECRET_ACCESS_KEY'),
'prefix' => env('SQS_PREFIX', 'https://sqs.us-east-1.amazonaws.com/your-account-id'),
'queue' => env('SQS_QUEUE', 'default'),
'suffix' => env('SQS_SUFFIX'),
'region' => env('AWS_DEFAULT_REGION', 'us-east-1'),
'after_commit' => false,
],
'redis' => [
'driver' => 'redis',
'connection' => env('REDIS_QUEUE_CONNECTION', 'default'),
'queue' => env('REDIS_QUEUE', 'default'),
'retry_after' => (int) env('REDIS_QUEUE_RETRY_AFTER', 90),
'block_for' => null,
'after_commit' => false,
],
],
/*
|--------------------------------------------------------------------------
| Job Batching
|--------------------------------------------------------------------------
|
| The following options configure the database and table that store job
| batching information. These options can be updated to any database
| connection and table which has been defined by your application.
|
*/
'batching' => [
'database' => env('DB_CONNECTION', 'sqlite'),
'table' => 'job_batches',
],
/*
|--------------------------------------------------------------------------
| Failed Queue Jobs
|--------------------------------------------------------------------------
|
| These options configure the behavior of failed queue job logging so you
| can control how and where failed jobs are stored. Laravel ships with
| support for storing failed jobs in a simple file or in a database.
|
| Supported drivers: "database-uuids", "dynamodb", "file", "null"
|
*/
'failed' => [
'driver' => env('QUEUE_FAILED_DRIVER', 'database-uuids'),
'database' => env('DB_CONNECTION', 'sqlite'),
'table' => 'failed_jobs',
],
];
+34
View File
@@ -0,0 +1,34 @@
<?php
return [
/*
|--------------------------------------------------------------------------
| Third Party Services
|--------------------------------------------------------------------------
|
| This file is for storing the credentials for third party services such
| as Mailgun, Postmark, AWS and more. This file provides the de facto
| location for this type of information, allowing packages to have
| a conventional file to locate the various service credentials.
|
*/
'postmark' => [
'token' => env('POSTMARK_TOKEN'),
],
'ses' => [
'key' => env('AWS_ACCESS_KEY_ID'),
'secret' => env('AWS_SECRET_ACCESS_KEY'),
'region' => env('AWS_DEFAULT_REGION', 'us-east-1'),
],
'slack' => [
'notifications' => [
'bot_user_oauth_token' => env('SLACK_BOT_USER_OAUTH_TOKEN'),
'channel' => env('SLACK_BOT_USER_DEFAULT_CHANNEL'),
],
],
];
+218
View File
@@ -0,0 +1,218 @@
<?php
use Illuminate\Support\Str;
return [
/*
|--------------------------------------------------------------------------
| Default Session Driver
|--------------------------------------------------------------------------
|
| This option determines the default session driver that is utilized for
| incoming requests. Laravel supports a variety of storage options to
| persist session data. Database storage is a great default choice.
|
| Supported: "file", "cookie", "database", "apc",
| "memcached", "redis", "dynamodb", "array"
|
*/
'driver' => env('SESSION_DRIVER', 'database'),
/*
|--------------------------------------------------------------------------
| Session Lifetime
|--------------------------------------------------------------------------
|
| Here you may specify the number of minutes that you wish the session
| to be allowed to remain idle before it expires. If you want them
| to expire immediately when the browser is closed then you may
| indicate that via the expire_on_close configuration option.
|
*/
'lifetime' => env('SESSION_LIFETIME', 120),
'expire_on_close' => env('SESSION_EXPIRE_ON_CLOSE', false),
/*
|--------------------------------------------------------------------------
| Session Encryption
|--------------------------------------------------------------------------
|
| This option allows you to easily specify that all of your session data
| should be encrypted before it's stored. All encryption is performed
| automatically by Laravel and you may use the session like normal.
|
*/
'encrypt' => env('SESSION_ENCRYPT', false),
/*
|--------------------------------------------------------------------------
| Session File Location
|--------------------------------------------------------------------------
|
| When utilizing the "file" session driver, the session files are placed
| on disk. The default storage location is defined here; however, you
| are free to provide another location where they should be stored.
|
*/
'files' => storage_path('framework/sessions'),
/*
|--------------------------------------------------------------------------
| Session Database Connection
|--------------------------------------------------------------------------
|
| When using the "database" or "redis" session drivers, you may specify a
| connection that should be used to manage these sessions. This should
| correspond to a connection in your database configuration options.
|
*/
'connection' => env('SESSION_CONNECTION'),
/*
|--------------------------------------------------------------------------
| Session Database Table
|--------------------------------------------------------------------------
|
| When using the "database" session driver, you may specify the table to
| be used to store sessions. Of course, a sensible default is defined
| for you; however, you're welcome to change this to another table.
|
*/
'table' => env('SESSION_TABLE', 'sessions'),
/*
|--------------------------------------------------------------------------
| Session Cache Store
|--------------------------------------------------------------------------
|
| When using one of the framework's cache driven session backends, you may
| define the cache store which should be used to store the session data
| between requests. This must match one of your defined cache stores.
|
| Affects: "apc", "dynamodb", "memcached", "redis"
|
*/
'store' => env('SESSION_STORE'),
/*
|--------------------------------------------------------------------------
| Session Sweeping Lottery
|--------------------------------------------------------------------------
|
| Some session drivers must manually sweep their storage location to get
| rid of old sessions from storage. Here are the chances that it will
| happen on a given request. By default, the odds are 2 out of 100.
|
*/
'lottery' => [2, 100],
/*
|--------------------------------------------------------------------------
| Session Cookie Name
|--------------------------------------------------------------------------
|
| Here you may change the name of the session cookie that is created by
| the framework. Typically, you should not need to change this value
| since doing so does not grant a meaningful security improvement.
|
|
*/
'cookie' => env(
'SESSION_COOKIE',
Str::slug(env('APP_NAME', 'laravel'), '_').'_session'
),
/*
|--------------------------------------------------------------------------
| Session Cookie Path
|--------------------------------------------------------------------------
|
| The session cookie path determines the path for which the cookie will
| be regarded as available. Typically, this will be the root path of
| your application, but you're free to change this when necessary.
|
*/
'path' => env('SESSION_PATH', '/'),
/*
|--------------------------------------------------------------------------
| Session Cookie Domain
|--------------------------------------------------------------------------
|
| This value determines the domain and subdomains the session cookie is
| available to. By default, the cookie will be available to the root
| domain and all subdomains. Typically, this shouldn't be changed.
|
*/
'domain' => env('SESSION_DOMAIN'),
/*
|--------------------------------------------------------------------------
| HTTPS Only Cookies
|--------------------------------------------------------------------------
|
| By setting this option to true, session cookies will only be sent back
| to the server if the browser has a HTTPS connection. This will keep
| the cookie from being sent to you when it can't be done securely.
|
*/
'secure' => env('SESSION_SECURE_COOKIE'),
/*
|--------------------------------------------------------------------------
| HTTP Access Only
|--------------------------------------------------------------------------
|
| Setting this value to true will prevent JavaScript from accessing the
| value of the cookie and the cookie will only be accessible through
| the HTTP protocol. It's unlikely you should disable this option.
|
*/
'http_only' => env('SESSION_HTTP_ONLY', true),
/*
|--------------------------------------------------------------------------
| Same-Site Cookies
|--------------------------------------------------------------------------
|
| This option determines how your cookies behave when cross-site requests
| take place, and can be used to mitigate CSRF attacks. By default, we
| will set this value to "lax" to permit secure cross-site requests.
|
| See: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie#samesitesamesite-value
|
| Supported: "lax", "strict", "none", null
|
*/
'same_site' => env('SESSION_SAME_SITE', 'lax'),
/*
|--------------------------------------------------------------------------
| Partitioned Cookies
|--------------------------------------------------------------------------
|
| Setting this value to true will tie the cookie to the top-level site for
| a cross-site context. Partitioned cookies are accepted by the browser
| when flagged "secure" and the Same-Site attribute is set to "none".
|
*/
'partitioned' => env('SESSION_PARTITIONED_COOKIE', false),
];
+1
View File
@@ -0,0 +1 @@
*.sqlite*
@@ -0,0 +1,44 @@
<?php
namespace Database\Factories;
use Illuminate\Database\Eloquent\Factories\Factory;
use Illuminate\Support\Facades\Hash;
use Illuminate\Support\Str;
/**
* @extends \Illuminate\Database\Eloquent\Factories\Factory<\App\Models\User>
*/
class UserFactory extends Factory
{
/**
* The current password being used by the factory.
*/
protected static ?string $password;
/**
* Define the model's default state.
*
* @return array<string, mixed>
*/
public function definition(): array
{
return [
'name' => fake()->name(),
'email' => fake()->unique()->safeEmail(),
'email_verified_at' => now(),
'password' => static::$password ??= Hash::make('password'),
'remember_token' => Str::random(10),
];
}
/**
* Indicate that the model's email address should be unverified.
*/
public function unverified(): static
{
return $this->state(fn (array $attributes) => [
'email_verified_at' => null,
]);
}
}
@@ -0,0 +1,49 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* Run the migrations.
*/
public function up(): void
{
Schema::create('users', function (Blueprint $table) {
$table->id();
$table->string('name');
$table->string('email')->unique();
$table->timestamp('email_verified_at')->nullable();
$table->string('password');
$table->rememberToken();
$table->timestamps();
});
Schema::create('password_reset_tokens', function (Blueprint $table) {
$table->string('email')->primary();
$table->string('token');
$table->timestamp('created_at')->nullable();
});
Schema::create('sessions', function (Blueprint $table) {
$table->string('id')->primary();
$table->foreignId('user_id')->nullable()->index();
$table->string('ip_address', 45)->nullable();
$table->text('user_agent')->nullable();
$table->longText('payload');
$table->integer('last_activity')->index();
});
}
/**
* Reverse the migrations.
*/
public function down(): void
{
Schema::dropIfExists('users');
Schema::dropIfExists('password_reset_tokens');
Schema::dropIfExists('sessions');
}
};
@@ -0,0 +1,35 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* Run the migrations.
*/
public function up(): void
{
Schema::create('cache', function (Blueprint $table) {
$table->string('key')->primary();
$table->mediumText('value');
$table->integer('expiration');
});
Schema::create('cache_locks', function (Blueprint $table) {
$table->string('key')->primary();
$table->string('owner');
$table->integer('expiration');
});
}
/**
* Reverse the migrations.
*/
public function down(): void
{
Schema::dropIfExists('cache');
Schema::dropIfExists('cache_locks');
}
};
@@ -0,0 +1,57 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* Run the migrations.
*/
public function up(): void
{
Schema::create('jobs', function (Blueprint $table) {
$table->id();
$table->string('queue')->index();
$table->longText('payload');
$table->unsignedTinyInteger('attempts');
$table->unsignedInteger('reserved_at')->nullable();
$table->unsignedInteger('available_at');
$table->unsignedInteger('created_at');
});
Schema::create('job_batches', function (Blueprint $table) {
$table->string('id')->primary();
$table->string('name');
$table->integer('total_jobs');
$table->integer('pending_jobs');
$table->integer('failed_jobs');
$table->longText('failed_job_ids');
$table->mediumText('options')->nullable();
$table->integer('cancelled_at')->nullable();
$table->integer('created_at');
$table->integer('finished_at')->nullable();
});
Schema::create('failed_jobs', function (Blueprint $table) {
$table->id();
$table->string('uuid')->unique();
$table->text('connection');
$table->text('queue');
$table->longText('payload');
$table->longText('exception');
$table->timestamp('failed_at')->useCurrent();
});
}
/**
* Reverse the migrations.
*/
public function down(): void
{
Schema::dropIfExists('jobs');
Schema::dropIfExists('job_batches');
Schema::dropIfExists('failed_jobs');
}
};
@@ -0,0 +1,23 @@
<?php
namespace Database\Seeders;
use App\Models\User;
// use Illuminate\Database\Console\Seeds\WithoutModelEvents;
use Illuminate\Database\Seeder;
class DatabaseSeeder extends Seeder
{
/**
* Seed the application's database.
*/
public function run(): void
{
// User::factory(10)->create();
User::factory()->create([
'name' => 'Test User',
'email' => 'test@example.com',
]);
}
}
+1371
View File
File diff suppressed because it is too large Load Diff
+13
View File
@@ -0,0 +1,13 @@
{
"private": true,
"type": "module",
"scripts": {
"dev": "vite",
"build": "vite build"
},
"devDependencies": {
"axios": "^1.6.4",
"laravel-vite-plugin": "^1.0",
"vite": "^5.0"
}
}
+7
View File
@@ -0,0 +1,7 @@
includes:
- vendor/larastan/larastan/extension.neon
parameters:
level: 9
paths:
- routes/
+21
View File
@@ -0,0 +1,21 @@
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews -Indexes
</IfModule>
RewriteEngine On
# Handle Authorization Header
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} (.+)/$
RewriteRule ^ %1 [L,R=301]
# Send Requests To Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
</IfModule>
View File
+17
View File
@@ -0,0 +1,17 @@
<?php
use Illuminate\Http\Request;
define('LARAVEL_START', microtime(true));
// Determine if the application is in maintenance mode...
if (file_exists($maintenance = __DIR__.'/../storage/framework/maintenance.php')) {
require $maintenance;
}
// Register the Composer autoloader...
require __DIR__.'/../vendor/autoload.php';
// Bootstrap Laravel and handle the request...
(require_once __DIR__.'/../bootstrap/app.php')
->handleRequest(Request::capture());
+2
View File
@@ -0,0 +1,2 @@
User-agent: *
Disallow:
+4
View File
@@ -0,0 +1,4 @@
/* PHPFlasher Laravel Demo - Custom Styles */
/* Any custom styles can be added here */
/* Note: Main styling is handled via Tailwind CSS v4 CDN in the layout */

Some files were not shown because too many files have changed in this diff Show More