Modernize package for PHP 8.0+, Laravel 9–13, and Storybook 8.5#157
Open
mrtimbrook wants to merge 9 commits into
Open
Modernize package for PHP 8.0+, Laravel 9–13, and Storybook 8.5#157mrtimbrook wants to merge 9 commits into
mrtimbrook wants to merge 9 commits into
Conversation
- Drop PHP 7.x/8.0/8.1 and Laravel 7–9 support; require PHP ^8.2 - Add Laravel 13 and testbench 11 to composer and CI matrix - Update CI workflow: Laravel-aware matrix, actions v4, proper cache key - Bump default Storybook version to 8.5.0; add version-aware dependency resolution so Storybook 9+ uses consolidated addon packages - Add tailwind_version config option (auto/v3/v4) - Replace docblock type hints with native PHP 8 typed properties and return types across Commands, DataStore, UiDocsStore, and Helpers - Update phpunit.xml to schema 11.0 and use cacheDirectory - Remove deprecated storyStoreV7 Storybook feature flag
There was a problem hiding this comment.
Pull request overview
This PR modernizes the package’s supported ecosystem by dropping PHP 7.x / older Laravel versions, updating tooling and CI for newer PHP/Laravel ranges, and bumping Storybook defaults while adding version-aware dependency installation logic.
Changes:
- Updated PHP/Laravel compatibility (PHP ^8.0, Laravel 9–13) and refreshed dev tooling (PHPUnit config + Composer metadata).
- Expanded GitHub Actions CI matrix across PHP 8.0–8.5 and Laravel 9–13, with per-Laravel Testbench selection.
- Updated Storybook default version to 8.5.0 and added Storybook major-version-aware dependency resolution.
Reviewed changes
Copilot reviewed 41 out of 42 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
src/UiDocsStore.php |
Converts docblocks to typed properties and adds internal paths/filesystem fields. |
src/Traits/TailwindViewports.php |
Converts filesystem docblock to typed property. |
src/Traits/Helpers.php |
Updates Storybook default version, adds Storybook dependency resolution helpers, and adds/adjusts return types. |
src/DataStore.php |
Converts docblocks to typed properties. |
src/Controllers/StoryController.php |
Adds parameter/return types and imports View contract. |
src/Components/DocsPages/UiWidth.php |
Uses constructor property promotion for UiDocsStore dependency. |
src/Components/DocsPages/UiTypesets.php |
Uses constructor property promotion and adds a typed Collection property. |
src/Components/DocsPages/UiTransition.php |
Uses constructor property promotion and trailing commas in params. |
src/Components/DocsPages/UiSpacing.php |
Uses constructor property promotion and trailing commas in params. |
src/Components/DocsPages/UiShadows.php |
Uses constructor property promotion for UiDocsStore dependency. |
src/Components/DocsPages/UiOpacity.php |
Uses constructor property promotion for UiDocsStore dependency. |
src/Components/DocsPages/UiMinWidth.php |
Uses constructor property promotion for UiDocsStore dependency. |
src/Components/DocsPages/UiMinHeight.php |
Uses constructor property promotion for UiDocsStore dependency. |
src/Components/DocsPages/UiMaxWidth.php |
Uses constructor property promotion for UiDocsStore dependency. |
src/Components/DocsPages/UiMaxHeight.php |
Uses constructor property promotion for UiDocsStore dependency. |
src/Components/DocsPages/UiLineHeight.php |
Uses constructor property promotion for UiDocsStore dependency. |
src/Components/DocsPages/UiLetterSpacing.php |
Uses constructor property promotion for UiDocsStore dependency. |
src/Components/DocsPages/UiHeight.php |
Uses constructor property promotion for UiDocsStore dependency. |
src/Components/DocsPages/UiGutterOuter.php |
Uses constructor property promotion for UiDocsStore dependency. |
src/Components/DocsPages/UiGutterInner.php |
Uses constructor property promotion for UiDocsStore dependency. |
src/Components/DocsPages/UiFontWeight.php |
Uses constructor property promotion for UiDocsStore dependency. |
src/Components/DocsPages/UiFontSize.php |
Uses constructor property promotion for UiDocsStore dependency. |
src/Components/DocsPages/UiContainer.php |
Uses constructor property promotion for UiDocsStore dependency. |
src/Components/DocsPages/UiColumns.php |
Uses constructor property promotion for UiDocsStore dependency. |
src/Components/DocsPages/UiColors.php |
Uses constructor property promotion and trailing commas in params. |
src/Components/DocsPages/UiBreakpoints.php |
Uses constructor property promotion for UiDocsStore dependency. |
src/Components/DocsPages/UiBorderWidth.php |
Uses constructor property promotion for UiDocsStore dependency. |
src/Components/DocsPages/UiBorderRadius.php |
Uses constructor property promotion for UiDocsStore dependency. |
src/Components/DocsPages/DocsPage.php |
Uses public promoted properties with native nullable string types. |
src/Commands/PublishStorybookConfig.php |
Converts docblocks to typed properties. |
src/Commands/Publish.php |
Converts docblocks to typed properties (incl. mixed fields). |
src/Commands/Launch.php |
Converts docblocks to typed properties (incl. mixed fields). |
src/Commands/GenerateUIDocs.php |
Converts docblocks to typed properties and adds return types. |
src/Commands/GenerateStories.php |
Converts docblocks to typed properties and adds return types. |
src/Commands/Demo.php |
Converts docblocks to typed properties and adds return types. |
phpunit.xml |
Updates schema to PHPUnit 11.0 and replaces <coverage> include with <source> include + cache directory. |
config/blast.php |
Bumps default Storybook version and adds tailwind_version config with docs. |
composer.json |
Drops PHP 7.x, extends Illuminate/Testbench ranges, adds PHPUnit constraint + test script, and sets minimum stability to stable. |
.storybook/main.js |
Removes storyStoreV7 feature flag (no longer needed). |
.gitignore |
Adds .phpunit.cache, .claude/, and tasks/ to ignored files. |
.github/workflows/phpunit.yml |
Expands CI matrix across PHP/Laravel versions and updates actions/cache/checkout to v4. |
.github/dependabot.yml |
Adds Dependabot configuration with grouping for npm/composer/actions updates. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Comment on lines
41
to
45
| $process->run(); | ||
|
|
||
| if (!$disableOutput) { | ||
| return $process->getOutput(); | ||
| } |
Comment on lines
166
to
170
| } catch (\Exception $e) { | ||
| $this->error($e->getMessage()); | ||
|
|
||
| exit(); | ||
| } |
Comment on lines
+49
to
+51
| # Laravel 13 requires PHP 8.2+ | ||
| - laravel: '13.*' | ||
| php: '8.2' |
Comment on lines
33
to
35
| "orchestra/testbench": "^7.0|^8.0|^9.0|^10.0|^11.0", | ||
| "phpunit/phpunit": "^9.0|^10.0|^11.0|^12.0|^13.0" | ||
| }, |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This PR drops PHP 7.x support (now well past end-of-life) while retaining PHP 8.0+ compatibility, and extends Laravel support up to Laravel 13. The CI matrix, dependencies, and tooling have been updated to reflect these supported versions. Storybook is bumped to 8.5 with forward-compatible dependency resolution for Storybook 9+.
Changes
tailwind_versionconfig key (auto/v3/v4) to support both JS and CSS-based Tailwind configs@varannotations to typed properties and add return types across all Commands, Components, Controllers, DataStore, UiDocsStore, and TraitscacheDirectoryTest plan
php artisan blast:install