diff --git a/.gitattributes b/.gitattributes index dcb9f5b..f0c6ebd 100644 --- a/.gitattributes +++ b/.gitattributes @@ -10,17 +10,18 @@ /.package-lock.json export-ignore /.editorconfig export-ignore /.php_cs.dist.php export-ignore -/phpunit.xml.dist export-ignore +/.vscode export-ignore /art export-ignore /docs export-ignore +/images export-ignore /tests export-ignore +/package.json export-ignore +/phpstan-baseline.neon export-ignore +/phpstan.neon.dist export-ignore +/postcss.config.js export-ignore +/phpunit.xml.dist export-ignore /psalm.xml export-ignore /psalm.xml.dist export-ignore +/tailwind.config.js export-ignore /testbench.yaml export-ignore /UPGRADING.md export-ignore -/phpstan.neon.dist export-ignore -/phpstan-baseline.neon export-ignore -/images export-ignore -/package.json export-ignore -/postcss.config.js export-ignore -/tailwind.config.js export-ignore diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index b4ae1c4..b0ee5d8 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -14,7 +14,7 @@ Please be considerate towards maintainers when raising issues or presenting pull world that developers are civilized and selfless people. It's the duty of the maintainer to ensure that all submissions to the project are of sufficient -quality to benefit the project. Many developers have different skillsets, strengths, and weaknesses. Respect the maintainer's decision, and do not be upset or abusive if your submission is not used. +quality to benefit the project. Many developers have different skills, strengths, and weaknesses. Respect the maintainer's decision, and do not be upset or abusive if your submission is not used. ## Viability diff --git a/.github/ISSUE_TEMPLATE/bug.yml b/.github/ISSUE_TEMPLATE/bug.yml new file mode 100644 index 0000000..8fa85ce --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug.yml @@ -0,0 +1,66 @@ +name: Bug Report +description: Report an Issue or Bug with the Package +title: "[Bug]: " +labels: ["bug"] +body: + - type: markdown + attributes: + value: | + We're sorry to hear you have a problem. Can you help us solve it by providing the following details. + - type: textarea + id: what-happened + attributes: + label: What happened? + description: What did you expect to happen? + placeholder: I cannot currently do X thing because when I do, it breaks X thing. + validations: + required: true + - type: textarea + id: how-to-reproduce + attributes: + label: How to reproduce the bug + description: How did this occur, please add any config values used and provide a set of reliable steps if possible. + placeholder: When I do X I see Y. + validations: + required: true + - type: input + id: package-version + attributes: + label: Package Version + description: What version of our Package are you running? Please be as specific as possible + placeholder: 2.0.0 + validations: + required: true + - type: input + id: php-version + attributes: + label: PHP Version + description: What version of PHP are you running? Please be as specific as possible + placeholder: 8.2.0 + validations: + required: true + - type: input + id: laravel-version + attributes: + label: Laravel Version + description: What version of Laravel are you running? Please be as specific as possible + placeholder: 9.0.0 + validations: + required: true + - type: dropdown + id: operating-systems + attributes: + label: Which operating systems does with happen with? + description: You may select more than one. + multiple: true + options: + - macOS + - Windows + - Linux + - type: textarea + id: notes + attributes: + label: Notes + description: Use this field to provide any other notes that you feel might be relevant to the issue. + validations: + required: false diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml index ea26ad4..96701be 100644 --- a/.github/ISSUE_TEMPLATE/config.yml +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -9,6 +9,3 @@ contact_links: - name: Report a security issue url: https://github.com/:vendor_name/:package_name/security/policy about: Learn how to notify us for sensitive bugs - - name: Report a bug - url: https://github.com/:vendor_name/:package_name/issues/new - about: Report a reproducible bug diff --git a/.github/workflows/dependabot-auto-merge.yml b/.github/workflows/dependabot-auto-merge.yml index d72478f..d266418 100644 --- a/.github/workflows/dependabot-auto-merge.yml +++ b/.github/workflows/dependabot-auto-merge.yml @@ -1,4 +1,4 @@ -name: Dependabot Auto Merge +name: "Dependabot Auto-Merge" on: pull_request_target @@ -14,7 +14,7 @@ jobs: - name: Dependabot metadata id: metadata - uses: dependabot/fetch-metadata@v1.4.0 + uses: dependabot/fetch-metadata@v1.6.0 with: github-token: "${{ secrets.GITHUB_TOKEN }}" diff --git a/.github/workflows/fix-php-code-styling.yml b/.github/workflows/fix-php-code-styling.yml index 59d85d6..8399ff8 100644 --- a/.github/workflows/fix-php-code-styling.yml +++ b/.github/workflows/fix-php-code-styling.yml @@ -1,6 +1,12 @@ -name: Fix PHP Code Styling +name: "Fix PHP Code Styling" -on: [push] +on: + push: + paths: + - '**.php' + +permissions: + contents: write jobs: php-code-styling: diff --git a/.github/workflows/phpstan.yml b/.github/workflows/phpstan.yml index e897c13..9d41c0c 100644 --- a/.github/workflows/phpstan.yml +++ b/.github/workflows/phpstan.yml @@ -23,4 +23,4 @@ jobs: uses: ramsey/composer-install@v2 - name: Run PHPStan - run: ./vendor/bin/phpstan --error-format=github \ No newline at end of file + run: ./vendor/bin/phpstan --error-format=github diff --git a/.github/workflows/run-tests.yml b/.github/workflows/run-tests.yml index 1295711..b5d6720 100644 --- a/.github/workflows/run-tests.yml +++ b/.github/workflows/run-tests.yml @@ -1,8 +1,10 @@ -name: Run Tests +name: run-tests on: push: + branches: [main] pull_request: + branches: [main] jobs: test: @@ -12,13 +14,12 @@ jobs: matrix: os: [ubuntu-latest, windows-latest] php: [8.2, 8.1] - laravel: [10.*, 9.*] - stability: [prefer-stable] + laravel: [10.*] + stability: [prefer-lowest, prefer-stable] include: - laravel: 10.* testbench: 8.* - - laravel: 9.* - testbench: 7.* + carbon: ^2.63 name: P${{ matrix.php }} - L${{ matrix.laravel }} - ${{ matrix.stability }} - ${{ matrix.os }} @@ -40,8 +41,11 @@ jobs: - name: Install dependencies run: | - composer require "laravel/framework:${{ matrix.laravel }}" "orchestra/testbench:${{ matrix.testbench }}" --no-interaction --no-update + composer require "laravel/framework:${{ matrix.laravel }}" "orchestra/testbench:${{ matrix.testbench }}" "nesbot/carbon:${{ matrix.carbon }}" --no-interaction --no-update composer update --${{ matrix.stability }} --prefer-dist --no-interaction + - name: List Installed Dependencies + run: composer show -D + - name: Execute tests - run: ./vendor/bin/pest --verbose + run: vendor/bin/pest --ci diff --git a/.github/workflows/update-changelog.yml b/.github/workflows/update-changelog.yml index 037e188..8c12ba9 100644 --- a/.github/workflows/update-changelog.yml +++ b/.github/workflows/update-changelog.yml @@ -1,9 +1,12 @@ -name: Update Changelog +name: "Update Changelog" on: release: types: [released] +permissions: + contents: write + jobs: update: runs-on: ubuntu-latest @@ -11,6 +14,8 @@ jobs: steps: - name: Checkout code uses: actions/checkout@v3 + with: + ref: main - name: Update Changelog uses: stefanzweifel/changelog-updater-action@v1 @@ -21,5 +26,6 @@ jobs: - name: Commit updated CHANGELOG uses: stefanzweifel/git-auto-commit-action@v4 with: + branch: main commit_message: Update CHANGELOG file_pattern: CHANGELOG.md diff --git a/.gitignore b/.gitignore index 6fdb03b..8271e65 100644 --- a/.gitignore +++ b/.gitignore @@ -1,12 +1,13 @@ +.DS_Store .idea .phpunit.result.cache -.DS_Store +.vscode build composer.lock coverage docs +node_modules phpunit.xml phpstan.neon testbench.yaml vendor -node_modules diff --git a/README.md b/README.md index 6bb3391..02d882d 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,8 @@ # :package_description [![Latest Version on Packagist](https://img.shields.io/packagist/v/:vendor_slug/:package_slug.svg?style=flat-square)](https://packagist.org/packages/:vendor_slug/:package_slug) -[![GitHub Tests Action Status](https://img.shields.io/github/workflow/status/:vendor_slug/:package_slug/run-tests?label=tests)](https://github.com/:vendor_slug/:package_slug/actions?query=workflow%3Arun-tests+branch%3Amain) -[![GitHub Code Style Action Status](https://img.shields.io/github/workflow/status/:vendor_slug/:package_slug/Check%20&%20fix%20styling?label=code%20style)](https://github.com/:vendor_slug/:package_slug/actions?query=workflow%3A"Check+%26+fix+styling"+branch%3Amain) +[![GitHub Tests Action Status](https://img.shields.io/github/actions/workflow/status/:vendor_slug/:package_slug/run-tests.yml?branch=main&label=tests&style=flat-square)](https://github.com/:vendor_slug/:package_slug/actions?query=workflow%3Arun-tests+branch%3Amain) +[![GitHub Code Style Action Status](https://img.shields.io/github/actions/workflow/status/:vendor_slug/:package_slug/fix-php-code-style-issues.yml?branch=main&label=code%20style&style=flat-square)](https://github.com/:vendor_slug/:package_slug/actions?query=workflow%3A"Fix+PHP+code+style+issues"+branch%3Amain) [![Total Downloads](https://img.shields.io/packagist/dt/:vendor_slug/:package_slug.svg?style=flat-square)](https://packagist.org/packages/:vendor_slug/:package_slug) @@ -54,8 +54,8 @@ return [ ## Usage ```php -$skeleton = new VendorName\Skeleton(); -echo $skeleton->echoPhrase('Hello, VendorName!'); +$variable = new VendorName\Skeleton(); +echo $variable->echoPhrase('Hello, VendorName!'); ``` ## Testing diff --git a/configure.php b/configure.php index 29e90ce..0320ccc 100644 --- a/configure.php +++ b/configure.php @@ -16,18 +16,20 @@ $authorUsername = ask('Author username', $usernameGuess); $vendorName = ask('Vendor name', $authorUsername); $vendorSlug = slugify($vendorName); -$vendorNamespace = ucwords($vendorName); +$vendorNamespace = str_replace('-', '', ucwords($vendorName)); $vendorNamespace = ask('Vendor namespace', $vendorNamespace); -$folderName = basename(getcwd()); +$currentDirectory = getcwd(); +$folderName = basename($currentDirectory); $packageName = ask('Package name', $folderName); $packageSlug = slugify($packageName); -$packageSlugWithoutPrefix = remove_prefix('filament-', $packageSlug); +$packageSlugWithoutPrefix = removePrefix('filament-', $packageSlug); -$className = title_case($packageName); +$className = titleCase($packageName); $className = ask('Class name', $className); -$description = ask('Package description'); +$variableName = lcfirst($className); +$description = ask('Package description', "This is my package $packageSlug"); $usePhpStan = confirm('Enable PhpStan?', true); $usePint = confirm('Enable Pint?', true); @@ -41,11 +43,11 @@ $tablesOnly = ! ($isTheme || $formsOnly) && confirm('Is this for Tables only?'); writeln("\r"); writeln('------'); -writeln("Author : \e[0;36m{$authorName} ({$authorUsername}, {$authorEmail})\e[0m"); -writeln("Vendor : \e[0;36m{$vendorName} ({$vendorSlug})\e[0m"); +writeln("Author : \e[0;36m$authorName ($authorUsername, $authorEmail)\e[0m"); +writeln("Vendor : \e[0;36m$vendorName ($vendorSlug)\e[0m"); writeln('Package : ' . "\e[0;36m" . $packageSlug . ($description ? ' <{$description}>' : '') . "\e[0m"); -writeln("Namespace : \e[0;36m{$vendorNamespace}\\{$className}\e[0m"); -writeln("Class name : \e[0;36m{$className}\e[0m"); +writeln("Namespace : \e[0;36m$vendorNamespace\\$className\e[0m"); +writeln("Class name : \e[0;36m$className\e[0m"); writeln('---'); writeln("\e[1;37mPackages & Utilities\e[0m"); writeln('Larastan/PhpStan : ' . ($usePhpStan ? "\e[0;32mYes" : "\e[0;31mNo") . "\e[0m"); @@ -72,19 +74,21 @@ if (! confirm('Modify files?', true)) { if ($formsOnly) { safeUnlink(__DIR__ . '/src/SkeletonTheme.php'); safeUnlink(__DIR__ . '/src/SkeletonPlugin.php'); + safeUnlink(__DIR__ . '/package-theme.json'); - remove_composer_filament_deps([ + removeComposerDeps([ 'filament/filament', 'filament/tables', - ]); + ], 'require'); } elseif ($tablesOnly) { safeUnlink(__DIR__ . '/src/SkeletonTheme.php'); safeUnlink(__DIR__ . '/src/SkeletonPlugin.php'); + safeUnlink(__DIR__ . '/package-theme.json'); - remove_composer_filament_deps([ + removeComposerDeps([ 'filament/filament', 'filament/forms', - ]); + ], 'require'); } else { if ($isTheme) { safeUnlink(__DIR__ . '/src/SkeletonServiceProvider.php'); @@ -103,16 +107,16 @@ if ($formsOnly) { safeUnlink(__DIR__ . '/src/SkeletonTheme.php'); } - remove_composer_filament_deps([ + removeComposerDeps([ 'filament/forms', 'filament/tables', - ]); + ], 'require'); } $files = (str_starts_with(strtoupper(PHP_OS), 'WIN') ? replaceForWindows() : replaceForAllOtherOSes()); foreach ($files as $file) { - replace_in_file($file, [ + replaceInFile($file, [ ':author_name' => $authorName, ':author_username' => $authorUsername, 'author@domain.com' => $authorEmail, @@ -124,6 +128,8 @@ foreach ($files as $file) { ':package_slug_without_prefix' => $packageSlugWithoutPrefix, 'Skeleton' => $className, 'skeleton' => $packageSlug, + 'migration_table_name' => titleSnake($packageSlug), + 'variable' => $variableName, ':package_description' => $description, ]); @@ -135,9 +141,10 @@ foreach ($files as $file) { str_contains($file, determineSeparator('src/Facades/Skeleton.php')) => rename($file, determineSeparator('./src/Facades/' . $className . '.php')), str_contains($file, determineSeparator('src/Commands/SkeletonCommand.php')) => rename($file, determineSeparator('./src/Commands/' . $className . 'Command.php')), str_contains($file, determineSeparator('src/Testing/TestsSkeleton.php')) => rename($file, determineSeparator('./src/Testing/Tests' . $className . '.php')), - str_contains($file, determineSeparator('database/migrations/create_skeleton_table.php.stub')) => rename($file, determineSeparator('./database/migrations/create_' . $packageSlugWithoutPrefix . '_table.php.stub')), + str_contains($file, determineSeparator('database/migrations/create_skeleton_table.php.stub')) => rename + ($file, determineSeparator('./database/migrations/create_' . titleSnake($packageSlugWithoutPrefix) . '_table.php.stub')), str_contains($file, determineSeparator('config/skeleton.php')) => rename($file, determineSeparator('./config/' . $packageSlugWithoutPrefix . '.php')), - str_contains($file, 'README.md') => remove_tag($file, 'delete'), + str_contains($file, 'README.md') => removeTag($file, 'delete'), default => [], }; } @@ -148,7 +155,7 @@ if (! $useDependabot) { } if (! $useLaravelRay) { - remove_composer_deps(['spatie/laravel-ray']); + removeComposerDeps(['spatie/laravel-ray'], 'require-dev'); } if (! $usePhpStan) { @@ -156,32 +163,32 @@ if (! $usePhpStan) { safeUnlink(__DIR__ . '/phpstan-baseline.neon'); safeUnlink(__DIR__ . '/.github/workflows/phpstan.yml'); - remove_composer_deps([ + removeComposerDeps([ 'phpstan/extension-installer', 'phpstan/phpstan-deprecation-rules', 'phpstan/phpstan-phpunit', 'nunomaduro/larastan', - ]); + ], 'require-dev'); - remove_composer_script(['analyse']); + removeComposerDeps(['analyse'], 'scripts'); } if (! $usePint) { safeUnlink(__DIR__ . '/.github/workflows/fix-php-code-style-issues.yml'); safeUnlink(__DIR__ . '/pint.json'); - remove_composer_deps([ + removeComposerDeps([ 'laravel/pint', - ]); + ], 'require-dev'); - remove_composer_script(['format']); + removeComposerDeps(['format'], 'scripts'); } if (! $useUpdateChangelogWorkflow) { safeUnlink(__DIR__ . '/.github/workflows/update-changelog.yml'); } -confirm('Execute `composer install` and run tests?') && run('composer install && composer test'); +confirm('Execute `composer install`?') && run('composer install'); if (confirm('Let this script delete itself?', true)) { unlink(__FILE__); @@ -189,7 +196,7 @@ if (confirm('Let this script delete itself?', true)) { function ask(string $question, string $default = ''): string { - $def = $default ? "\e[0;33m ({$default})" : ''; + $def = $default ? "\e[0;33m ($default)" : ''; $answer = readline("\e[0;32m" . $question . $def . ": \e[0m"); if (! $answer) { @@ -217,7 +224,7 @@ function writeln(string $line): void function run(string $command): string { - return trim(shell_exec($command)); + return trim((string) shell_exec($command)); } function slugify(string $subject): string @@ -225,12 +232,17 @@ function slugify(string $subject): string return strtolower(trim(preg_replace('/[^A-Za-z0-9-]+/', '-', $subject), '-')); } -function title_case(string $subject): string +function titleCase(string $subject): string { return str_replace(' ', '', ucwords(str_replace(['-', '_'], ' ', $subject))); } -function replace_in_file(string $file, array $replacements): void +function titleSnake(string $subject, string $replace = '_'): string +{ + return str_replace(['-', '_'], $replace, $subject); +} + +function replaceInFile(string $file, array $replacements): void { $contents = file_get_contents($file); @@ -244,7 +256,7 @@ function replace_in_file(string $file, array $replacements): void ); } -function remove_prefix(string $prefix, string $content): string +function removePrefix(string $prefix, string $content): string { if (str_starts_with($content, $prefix)) { return substr($content, strlen($prefix)); @@ -253,96 +265,20 @@ function remove_prefix(string $prefix, string $content): string return $content; } -function remove_composer_deps(array $names): void +function removeComposerDeps(array $names, string $location): void { $data = json_decode(file_get_contents(__DIR__ . '/composer.json'), true); - foreach ($data['require-dev'] as $name => $version) { + foreach ($data[$location] as $name => $version) { if (in_array($name, $names, true)) { - unset($data['require-dev'][$name]); + unset($data[$location][$name]); } } file_put_contents(__DIR__ . '/composer.json', json_encode($data, JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE)); } -function remove_composer_filament_deps(array $names): void -{ - $data = json_decode(file_get_contents(__DIR__ . '/composer.json'), true); - - foreach ($data['require'] as $name => $version) { - if (in_array($name, $names, true)) { - unset($data['require'][$name]); - } - } - - file_put_contents(__DIR__ . '/composer.json', json_encode($data, JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE)); -} - -function remove_composer_script(array $scriptNames): void -{ - $data = json_decode(file_get_contents(__DIR__ . '/composer.json'), true); - - foreach ($data['scripts'] as $name => $script) { - if (is_array($script)) { - foreach ($script as $k => $s) { - if (in_array($s, $scriptNames)) { - unset($data['scripts'][$name][$k]); - - break; - } - } - } elseif (in_array($name, $scriptNames)) { - unset($data['scripts'][$name]); - - break; - } - } - - file_put_contents(__DIR__ . '/composer.json', json_encode($data, JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE)); -} - -function remove_package_script(array $scriptNames): void -{ - $data = json_decode(file_get_contents(__DIR__ . '/package.json'), true); - - foreach ($data['scripts'] as $name => $script) { - if (is_array($script)) { - foreach ($script as $k => $s) { - if (in_array($s, $scriptNames)) { - unset($data['scripts'][$name][$k]); - - break; - } - } - } elseif (in_array($name, $scriptNames)) { - unset($data['scripts'][$name]); - - break; - } - } - - foreach ($data['devDependencies'] as $name => $script) { - if (is_array($script)) { - foreach ($script as $k => $s) { - if (in_array($s, $scriptNames)) { - unset($data['devDependencies'][$name][$k]); - - break; - } - } - } elseif (in_array($name, $scriptNames)) { - unset($data['devDependencies'][$name]); - - break; - } - } - - file_put_contents(__DIR__ . '/package.json', json_encode($data, JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES | - JSON_UNESCAPED_UNICODE)); -} - -function remove_tag(string $file, string $tag): void +function removeTag(string $file, string $tag): void { $contents = file_get_contents($file); @@ -366,12 +302,12 @@ function determineSeparator(string $path): string function replaceForWindows(): array { - return preg_split('/\\r\\n|\\r|\\n/', run('dir /S /B * | findstr /v /i .git\ | findstr /v /i vendor | findstr /v /i ' . basename(__FILE__) . ' | findstr /r /i /M /F:/ ":author :vendor :package VendorName skeleton vendor_name vendor_slug author@domain.com"')); + return preg_split('/\\r\\n|\\r|\\n/', run('dir /S /B * | findstr /v /i .git\ | findstr /v /i vendor | findstr /v /i '.basename(__FILE__).' | findstr /r /i /M /F:/ ":author :vendor :package VendorName skeleton migration_table_name vendor_name vendor_slug author@domain.com"')); } function replaceForAllOtherOSes(): array { - return explode(PHP_EOL, run('grep -E -r -l -i ":author|:vendor|:package|VendorName|skeleton|vendor_name|vendor_slug|author@domain.com" --exclude-dir=vendor ./* ./.github/* | grep -v ' . basename(__FILE__))); + return explode(PHP_EOL, run('grep -E -r -l -i ":author|:vendor|:package|VendorName|skeleton|migration_table_name|vendor_name|vendor_slug|author@domain.com" --exclude-dir=vendor ./* ./.github/* | grep -v '.basename(__FILE__))); } function removeDirectory($dir): void diff --git a/database/migrations/create_skeleton_table.php.stub b/database/migrations/create_skeleton_table.php.stub index 0e4bef7..2efdce9 100644 --- a/database/migrations/create_skeleton_table.php.stub +++ b/database/migrations/create_skeleton_table.php.stub @@ -8,7 +8,7 @@ return new class extends Migration { public function up() { - Schema::create('skeleton_table', function (Blueprint $table) { + Schema::create('migration_table_name_table', function (Blueprint $table) { $table->id(); // add fields diff --git a/package-theme.json b/package-theme.json index bfe2d9e..cada93c 100644 --- a/package-theme.json +++ b/package-theme.json @@ -5,9 +5,11 @@ "build": "npx tailwindcss -i resources/css/skeleton.css -o resources/dist/skeleton.css --postcss --minify" }, "devDependencies": { - "autoprefixer": "^10.4.7", - "postcss": "^8.4.14", - "postcss-import": "^15.0.0", - "tailwindcss": "^3.3.2" + "@tailwindcss/forms": "^0.5.4", + "@tailwindcss/typography": "^0.5.9", + "autoprefixer": "^10.4.14", + "postcss": "^8.4.26", + "postcss-import": "^15.1.0", + "tailwindcss": "^3.3.3" } } diff --git a/package.json b/package.json index 03b470c..8834711 100644 --- a/package.json +++ b/package.json @@ -11,13 +11,13 @@ }, "devDependencies": { "@awcodes/filament-plugin-purge": "^1.1.1", - "autoprefixer": "^10.4.7", + "autoprefixer": "^10.4.14", "esbuild": "^0.17.19", "npm-run-all": "^4.1.5", - "postcss": "^8.4.14", - "postcss-import": "^15.0.0", + "postcss": "^8.4.26", + "postcss-import": "^15.1.0", "prettier": "^2.7.1", "prettier-plugin-tailwindcss": "^0.1.13", - "tailwindcss": "^3.3.2" + "tailwindcss": "^3.3.3" } } diff --git a/phpunit.xml.dist b/phpunit.xml.dist index 3bbe22a..e953c0e 100644 --- a/phpunit.xml.dist +++ b/phpunit.xml.dist @@ -1,14 +1,10 @@ @@ -24,9 +21,6 @@ - - ./src - @@ -36,4 +30,9 @@ + + + ./src + + diff --git a/src/SkeletonServiceProvider.php b/src/SkeletonServiceProvider.php index ec5046a..fadd070 100644 --- a/src/SkeletonServiceProvider.php +++ b/src/SkeletonServiceProvider.php @@ -59,19 +59,21 @@ class SkeletonServiceProvider extends PackageServiceProvider } } - public function boot(): void + public function packageRegistered(): void { - parent::boot(); + } + public function packageBooted(): void + { // Asset Registration FilamentAsset::register( $this->getAssets(), - $this->getAssetPackage() + $this->getAssetPackageName() ); FilamentAsset::registerScriptData( $this->getScriptData(), - $this->getAssetPackage() + $this->getAssetPackageName() ); // Icon Registration @@ -90,7 +92,7 @@ class SkeletonServiceProvider extends PackageServiceProvider TestableLivewire::mixin(new TestsSkeleton()); } - protected function getAssetPackage(): ?string + protected function getAssetPackageName(): ?string { return ':vendor_slug/:package_slug'; }