diff --git a/.cs.php b/.cs.php
index e4ab7fc..2bba5e9 100644
--- a/.cs.php
+++ b/.cs.php
@@ -1,6 +1,8 @@
setUsingCache(false)
->setRiskyAllowed(true)
->setRules(
@@ -19,6 +21,12 @@
'concat_space' => ['spacing' => 'one'],
'compact_nullable_typehint' => true,
'declare_equal_normalize' => ['space' => 'single'],
+ 'general_phpdoc_annotation_remove' => [
+ 'annotations' => [
+ 'author',
+ 'package',
+ ],
+ ],
'increment_style' => ['style' => 'post'],
'list_syntax' => ['syntax' => 'short'],
'echo_tag_syntax' => ['format' => 'long'],
@@ -32,9 +40,22 @@
'method_argument_space' => ['on_multiline' => 'ensure_fully_multiline'],
'ordered_imports' => [
'sort_algorithm' => 'alpha',
- 'imports_order' => ['class', 'const', 'function']
+ 'imports_order' => ['class', 'const', 'function'],
],
'single_line_throw' => false,
+ 'declare_strict_types' => false,
+ 'blank_line_between_import_groups' => true,
+ 'fully_qualified_strict_types' => true,
+ 'no_null_property_initialization' => false,
+ 'operator_linebreak' => [
+ 'only_booleans' => true,
+ 'position' => 'beginning',
+ ],
+ 'global_namespace_import' => [
+ 'import_classes' => true,
+ 'import_constants' => null,
+ 'import_functions' => null
+ ]
]
)
->setFinder(
diff --git a/.editorconfig b/.editorconfig
new file mode 100644
index 0000000..0a6abee
--- /dev/null
+++ b/.editorconfig
@@ -0,0 +1,22 @@
+root = true
+
+[*]
+charset = utf-8
+indent_style = space
+end_of_line = lf
+
+[composer.json]
+indent_size = 4
+
+[*.js]
+indent_size = 4
+
+[*.neon]
+indent_size = 4
+indent_style = tab
+
+[*.xml]
+indent_size = 4
+
+[*.yml]
+indent_size = 4
diff --git a/.gitattributes b/.gitattributes
index b0b11a0..5a3d341 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -19,10 +19,8 @@
/phpunit.xml export-ignore
/.gitattributes export-ignore
/.gitignore export-ignore
-/.travis.* export-ignore
/.scrutinizer.* export-ignore
/.editorconfig export-ignore
-/.coveralls.* export-ignore
# Define binary file attributes.
# - Do not treat them as text.
@@ -34,3 +32,4 @@
*.jpg binary
*.jpeg binary
*.png binary
+*.zip binary
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 5c2a507..a4bf3d5 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -1,48 +1,41 @@
name: build
-on: [push, pull_request]
+on: [ push, pull_request ]
jobs:
- run:
- runs-on: ${{ matrix.operating-system }}
- strategy:
- matrix:
- operating-system: [ubuntu-latest]
- php-versions: ['7.2', '7.3', '7.4', '8.0']
- name: PHP ${{ matrix.php-versions }} Test on ${{ matrix.operating-system }}
-
- steps:
- - name: Checkout
- uses: actions/checkout@v1
-
- - name: Setup PHP
- uses: shivammathur/setup-php@v2
- with:
- php-version: ${{ matrix.php-versions }}
- extensions: mbstring, intl, zip
- coverage: none
-
- - name: Check PHP Version
- run: php -v
-
- - name: Check Composer Version
- run: composer -V
-
- - name: Check PHP Extensions
- run: php -m
-
- - name: Validate composer.json and composer.lock
- run: composer validate
-
- - name: Install dependencies for PHP 7
- if: matrix.php-versions < '8.0'
- run: composer update --prefer-dist --no-progress
-
- - name: Install dependencies for PHP 8
- if: matrix.php-versions >= '8.0'
- run: composer update --prefer-dist --no-progress --ignore-platform-req=php
-
- - name: Run test suite
- run: composer check
- env:
- PHP_CS_FIXER_IGNORE_ENV: 1
+ run:
+ runs-on: ${{ matrix.operating-system }}
+ strategy:
+ matrix:
+ operating-system: [ ubuntu-latest ]
+ php-versions: [ '8.1', '8.2' ]
+ name: PHP ${{ matrix.php-versions }} Test on ${{ matrix.operating-system }}
+
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v1
+
+ - name: Setup PHP
+ uses: shivammathur/setup-php@v2
+ with:
+ php-version: ${{ matrix.php-versions }}
+ extensions: mbstring, intl, zip
+ coverage: none
+
+ - name: Check PHP Version
+ run: php -v
+
+ - name: Check Composer Version
+ run: composer -V
+
+ - name: Check PHP Extensions
+ run: php -m
+
+ - name: Validate composer.json and composer.lock
+ run: composer validate
+
+ - name: Install dependencies
+ run: composer install --prefer-dist --no-progress --no-suggest
+
+ - name: Run test suite
+ run: composer test:all
diff --git a/.gitignore b/.gitignore
index 514b873..a4689b6 100644
--- a/.gitignore
+++ b/.gitignore
@@ -3,5 +3,5 @@ composer.lock
nbproject/
vendor/
build/
-.phpunit.result.cache
-.php_cs.cache
\ No newline at end of file
+.phpunit.cache/
+.phpunit.result.cache
\ No newline at end of file
diff --git a/.scrutinizer.yml b/.scrutinizer.yml
index fce7d02..3514e2e 100644
--- a/.scrutinizer.yml
+++ b/.scrutinizer.yml
@@ -1,6 +1,6 @@
filter:
- paths: ["src/*"]
- excluded_paths: ["vendor/*", "tests/*"]
+ paths: [ "src/*" ]
+ excluded_paths: [ "vendor/*", "tests/*" ]
checks:
php:
@@ -12,7 +12,10 @@ tools:
build:
environment:
- php: 7.4
+ php:
+ version: 8.1.2
+ ini:
+ xdebug.mode: coverage
mysql: false
node: false
postgresql: false
@@ -30,11 +33,9 @@ build:
dependencies:
before:
- composer self-update
- - composer update --no-interaction --prefer-dist --no-progress
tests:
before:
- -
- command: composer test:coverage
+ - command: composer test:coverage
coverage:
file: 'build/logs/clover.xml'
format: 'clover'
diff --git a/LICENSE b/LICENSE
index fa19b85..bf7a9a3 100644
--- a/LICENSE
+++ b/LICENSE
@@ -1,6 +1,6 @@
The MIT License (MIT)
-Copyright (c) 2021 odan
+Copyright (c) 2023 odan
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
diff --git a/README.md b/README.md
index 5db452b..4924e44 100644
--- a/README.md
+++ b/README.md
@@ -12,7 +12,7 @@ A PSR-15 middleware to secure your site with SameSite cookies :cookie:
## Requirements
-* PHP 7.2+ or 8.0+
+* PHP 8.1+
## Installation
diff --git a/composer.json b/composer.json
index 08b1dc2..507a24e 100644
--- a/composer.json
+++ b/composer.json
@@ -1,7 +1,8 @@
{
"name": "selective/samesite-cookie",
- "type": "library",
"description": "Secure your site with SameSite cookies",
+ "license": "MIT",
+ "type": "library",
"keywords": [
"samesite-cookie",
"samesite",
@@ -9,7 +10,6 @@
"csrf"
],
"homepage": "https://github.com/selective-php/samesite-cookie",
- "license": "MIT",
"require": {
"php": "^7.2 || ^8.0",
"psr/http-message": "^1",
@@ -19,29 +19,11 @@
"require-dev": {
"friendsofphp/php-cs-fixer": "^3",
"middlewares/utils": "^3",
- "overtrue/phplint": "^2",
"phpstan/phpstan": "^1",
- "phpunit/phpunit": "^8 || ^9",
+ "phpunit/phpunit": "^10",
"slim/psr7": "^1",
"squizlabs/php_codesniffer": "^3"
},
- "scripts": {
- "check": [
- "@lint",
- "@cs:check",
- "@sniffer:check",
- "@phpstan",
- "@test:coverage"
- ],
- "cs:check": "php-cs-fixer fix --dry-run --format=txt --verbose --diff --config=.cs.php",
- "cs:fix": "php-cs-fixer fix --config=.cs.php",
- "lint": "phplint ./ --exclude=vendor --no-interaction --no-cache",
- "phpstan": "phpstan analyse -c phpstan.neon --no-progress --ansi",
- "sniffer:check": "phpcs --standard=phpcs.xml",
- "sniffer:fix": "phpcbf --standard=phpcs.xml",
- "test": "phpunit --configuration phpunit.xml --do-not-cache-result",
- "test:coverage": "phpunit --configuration phpunit.xml --do-not-cache-result --coverage-clover build/logs/clover.xml --coverage-html build/coverage"
- },
"autoload": {
"psr-4": {
"Selective\\SameSiteCookie\\": "src/"
@@ -54,5 +36,26 @@
},
"config": {
"sort-packages": true
+ },
+ "scripts": {
+ "cs:check": [
+ "@putenv PHP_CS_FIXER_IGNORE_ENV=1",
+ "php-cs-fixer fix --dry-run --format=txt --verbose --diff --config=.cs.php --ansi"
+ ],
+ "cs:fix": [
+ "@putenv PHP_CS_FIXER_IGNORE_ENV=1",
+ "php-cs-fixer fix --config=.cs.php --ansi --verbose"
+ ],
+ "sniffer:check": "phpcs --standard=phpcs.xml",
+ "sniffer:fix": "phpcbf --standard=phpcs.xml",
+ "stan": "phpstan analyse -c phpstan.neon --no-progress --ansi",
+ "test": "phpunit --configuration phpunit.xml --do-not-cache-result --colors=always",
+ "test:all": [
+ "@cs:check",
+ "@sniffer:check",
+ "@stan",
+ "@test"
+ ],
+ "test:coverage": "php -d xdebug.mode=coverage -r \"require 'vendor/bin/phpunit';\" -- --configuration phpunit.xml --do-not-cache-result --colors=always --coverage-clover build/logs/clover.xml --coverage-html build/coverage"
}
}
diff --git a/phpcs.xml b/phpcs.xml
index c825571..f2f42d9 100644
--- a/phpcs.xml
+++ b/phpcs.xml
@@ -9,27 +9,8 @@
./src
./tests
-
-
+
-
-
- warning
- */tests/
-
-
- warning
-
-
- warning
- */config/
-
-
- warning
-
-
- warning
-
warning
diff --git a/phpstan.neon b/phpstan.neon
index 280420a..0b6508e 100644
--- a/phpstan.neon
+++ b/phpstan.neon
@@ -1,8 +1,4 @@
parameters:
- level: max
+ level: 8
paths:
- - src
- - tests
- ignoreErrors:
- - '#Cannot cast mixed to string.#'
- - '#Parameter \#2 ...\$values of function sprintf expects bool\|float\|int\|string\|null, mixed given.#'
+ - src
\ No newline at end of file
diff --git a/phpunit.xml b/phpunit.xml
index ee34618..2927473 100644
--- a/phpunit.xml
+++ b/phpunit.xml
@@ -1,17 +1,24 @@
-
+
+
tests
-
-
+
-
+
+
+ vendor
+ build
+
+