Skip to content

Commit

Permalink
ADD Laravel 11 compatibility (#18)
Browse files Browse the repository at this point in the history
  • Loading branch information
enricodelazzari committed Mar 22, 2024
1 parent f3c75a5 commit e8ae3a6
Show file tree
Hide file tree
Showing 9 changed files with 91 additions and 94 deletions.
10 changes: 7 additions & 3 deletions .github/workflows/run-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,12 +14,16 @@ jobs:
matrix:
os: [ubuntu-latest, windows-latest]
php: [8.3, 8.2, 8.1]
laravel: [10.*]
laravel: [11.*, 10.*]
stability: [prefer-lowest, prefer-stable]
include:
- laravel: 10.*
testbench: 8.*
carbon: ^2.63
- laravel: 11.*
testbench: 9.*
exclude:
- laravel: 11.*
php: 8.1

name: P${{ matrix.php }} - L${{ matrix.laravel }} - ${{ matrix.stability }} - ${{ matrix.os }}

Expand All @@ -41,7 +45,7 @@ jobs:
- name: Install dependencies
run: |
composer require "laravel/framework:${{ matrix.laravel }}" "orchestra/testbench:${{ matrix.testbench }}" "nesbot/carbon:${{ matrix.carbon }}" --no-interaction --no-update
composer require "laravel/framework:${{ matrix.laravel }}" "orchestra/testbench:${{ matrix.testbench }}" --no-interaction --no-update
composer update --${{ matrix.stability }} --prefer-dist --no-interaction
- name: List Installed Dependencies
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
.idea
.phpunit.result.cache
.phpunit.cache
build
composer.lock
coverage
Expand Down
2 changes: 1 addition & 1 deletion LICENSE.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
The MIT License (MIT)

Copyright (c) 2023 MAIZE SRL <info@maize.io>
Copyright (c) 2024 MAIZE SRL <info@maize.io>

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Expand Down
28 changes: 14 additions & 14 deletions composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -20,25 +20,25 @@
],
"require": {
"php": "^8.1",
"illuminate/contracts": "^10.10.1",
"illuminate/database": "^10.10.1",
"illuminate/http": "^10.10.1",
"illuminate/routing": "^10.10.1",
"illuminate/support": "^10.10.1",
"illuminate/contracts": "^10.10.1|^11.0",
"illuminate/database": "^10.10.1|^11.0",
"illuminate/http": "^10.10.1|^11.0",
"illuminate/routing": "^10.10.1|^11.0",
"illuminate/support": "^10.10.1|^11.0",
"spatie/laravel-package-tools": "^1.14.1"
},
"require-dev": {
"laravel/pint": "^1.0",
"nunomaduro/collision": "^6.0",
"nunomaduro/larastan": "^2.0.1",
"orchestra/testbench": "^7.0|^8.0",
"pestphp/pest": "^1.21",
"pestphp/pest-plugin-laravel": "^1.1",
"phpstan/extension-installer": "^1.1",
"nunomaduro/collision": "^7.8|^8.1",
"larastan/larastan": "^2.0.1",
"orchestra/testbench": "^8.0|^9.0",
"pestphp/pest": "^2.34",
"pestphp/pest-plugin-arch": "^2.7",
"pestphp/pest-plugin-laravel": "^2.3",
"phpstan/extension-installer": "^1.3",
"phpstan/phpstan-deprecation-rules": "^1.0",
"phpstan/phpstan-phpunit": "^1.0",
"phpunit/phpunit": "^9.5",
"spatie/pest-plugin-test-time": "^1.1"
"phpstan/phpstan-phpunit": "^1.3",
"spatie/pest-plugin-test-time": "^2.1"
},
"autoload": {
"psr-4": {
Expand Down
58 changes: 21 additions & 37 deletions phpunit.xml.dist
Original file line number Diff line number Diff line change
@@ -1,39 +1,23 @@
<?xml version="1.0" encoding="UTF-8"?>
<phpunit
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="vendor/phpunit/phpunit/phpunit.xsd"
backupGlobals="false"
backupStaticAttributes="false"
bootstrap="vendor/autoload.php"
colors="true"
convertErrorsToExceptions="true"
convertNoticesToExceptions="true"
convertWarningsToExceptions="true"
processIsolation="false"
stopOnFailure="false"
executionOrder="random"
failOnWarning="true"
failOnRisky="true"
failOnEmptyTestSuite="true"
beStrictAboutOutputDuringTests="true"
verbose="true"
>
<testsuites>
<testsuite name="Maize Test Suite">
<directory>tests</directory>
</testsuite>
</testsuites>
<coverage>
<include>
<directory suffix=".php">./src</directory>
</include>
<report>
<html outputDirectory="build/coverage"/>
<text outputFile="build/coverage.txt"/>
<clover outputFile="build/logs/clover.xml"/>
</report>
</coverage>
<logging>
<junit outputFile="build/report.junit.xml"/>
</logging>
<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/10.5/phpunit.xsd" backupGlobals="false" bootstrap="vendor/autoload.php" colors="true" processIsolation="false" stopOnFailure="false" executionOrder="random" failOnWarning="true" failOnRisky="true" failOnEmptyTestSuite="true" beStrictAboutOutputDuringTests="true" cacheDirectory=".phpunit.cache" backupStaticProperties="false">
<testsuites>
<testsuite name="Maize Test Suite">
<directory>tests</directory>
</testsuite>
</testsuites>
<coverage>
<report>
<html outputDirectory="build/coverage"/>
<text outputFile="build/coverage.txt"/>
<clover outputFile="build/logs/clover.xml"/>
</report>
</coverage>
<logging>
<junit outputFile="build/report.junit.xml"/>
</logging>
<source>
<include>
<directory suffix=".php">./src</directory>
</include>
</source>
</phpunit>
20 changes: 10 additions & 10 deletions src/MagicLink.php
Original file line number Diff line number Diff line change
Expand Up @@ -13,11 +13,11 @@ class MagicLink
{
public function make(
Authenticatable $authenticatable,
string $redirectUrl = null,
Carbon|int $expiration = null,
string $routeName = null,
string $guard = null,
int $loginsLimit = null,
?string $redirectUrl = null,
Carbon|int|null $expiration = null,
?string $routeName = null,
?string $guard = null,
?int $loginsLimit = null,
array $metadata = [],
bool $notify = false
): string {
Expand Down Expand Up @@ -58,11 +58,11 @@ public function make(

public function send(
Authenticatable $authenticatable,
string $redirectUrl = null,
Carbon $expiration = null,
string $routeName = null,
string $guard = null,
int $loginsLimit = null,
?string $redirectUrl = null,
?Carbon $expiration = null,
?string $routeName = null,
?string $guard = null,
?int $loginsLimit = null,
array $metadata = [],
): string {
return static::make(
Expand Down
16 changes: 8 additions & 8 deletions src/Support/Config.php
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ public static function getModel(): MagicLogin
return new $model;
}

public static function getExpiration(Carbon|int $expiration = null): Carbon
public static function getExpiration(Carbon|int|null $expiration = null): Carbon
{
$expiration ??= config('magic-login.expiration')
?? 120;
Expand All @@ -34,21 +34,21 @@ public static function getExpiration(Carbon|int $expiration = null): Carbon
return now()->addMinutes($expiration);
}

public static function getGuard(string $guard = null): string
public static function getGuard(?string $guard = null): string
{
return $guard
?? config('magic-login.guard')
?? 'web';
}

public static function getRedirectUrl(string $redirectUrl = null): string
public static function getRedirectUrl(?string $redirectUrl = null): string
{
return $redirectUrl
?? config('magic-login.redirect_url')
?? throw new Exception('The redirect url is required.');
}

public static function getLoginLimits(int $loginLimits = null): int
public static function getLoginLimits(?int $loginLimits = null): int
{
$loginLimits ??= config('magic-login.logins_limit') ?? -1;

Expand Down Expand Up @@ -89,28 +89,28 @@ public static function getRouteMethods(): array
return Arr::wrap($method);
}

public static function getRouteUri(string $uri = null): string
public static function getRouteUri(?string $uri = null): string
{
return $uri
?? config('magic-login.route.uri')
?? 'magic-login';
}

public static function getRouteName(string $name = null): string
public static function getRouteName(?string $name = null): string
{
return $name
?? config('magic-login.route.name')
?? 'magic-login';
}

public static function getRouteController(string $controller = null): string
public static function getRouteController(?string $controller = null): string
{
return $controller
?? config('magic-login.route.controller')
?? MagicLoginController::class;
}

public static function getRouteMiddleware(array|string $middleware = null): array
public static function getRouteMiddleware(array|string|null $middleware = null): array
{
$middleware ??= config('magic-login.route.middleware')
?? ValidateSignature::class;
Expand Down
5 changes: 5 additions & 0 deletions tests/ArchTest.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
<?php

it('will not use debugging functions')
->expect(['dd', 'dump', 'ray'])
->each->not->toBeUsed();
Loading

0 comments on commit e8ae3a6

Please sign in to comment.