Skip to content

Commit

Permalink
Update requirements
Browse files Browse the repository at this point in the history
  • Loading branch information
odan committed Sep 9, 2023
1 parent 74158d2 commit 33eae10
Show file tree
Hide file tree
Showing 12 changed files with 137 additions and 114 deletions.
25 changes: 23 additions & 2 deletions .cs.php
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
<?php

return (new PhpCsFixer\Config())
use PhpCsFixer\Config;

return (new Config())
->setUsingCache(false)
->setRiskyAllowed(true)
->setRules(
Expand All @@ -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'],
Expand All @@ -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(
Expand Down
22 changes: 22 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -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
3 changes: 1 addition & 2 deletions .gitattributes
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand All @@ -34,3 +32,4 @@
*.jpg binary
*.jpeg binary
*.png binary
*.zip binary
81 changes: 37 additions & 44 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -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
4 changes: 2 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,5 @@ composer.lock
nbproject/
vendor/
build/
.phpunit.result.cache
.php_cs.cache
.phpunit.cache/
.phpunit.result.cache
13 changes: 7 additions & 6 deletions .scrutinizer.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
filter:
paths: ["src/*"]
excluded_paths: ["vendor/*", "tests/*"]
paths: [ "src/*" ]
excluded_paths: [ "vendor/*", "tests/*" ]

checks:
php:
Expand All @@ -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
Expand All @@ -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'
2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
@@ -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
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down
45 changes: 24 additions & 21 deletions composer.json
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
{
"name": "selective/samesite-cookie",
"type": "library",
"description": "Secure your site with SameSite cookies",
"license": "MIT",
"type": "library",
"keywords": [
"samesite-cookie",
"samesite",
"cookie",
"csrf"
],
"homepage": "https://github.com/selective-php/samesite-cookie",
"license": "MIT",
"require": {
"php": "^7.2 || ^8.0",
"psr/http-message": "^1",
Expand All @@ -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/"
Expand All @@ -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"
}
}
21 changes: 1 addition & 20 deletions phpcs.xml
Original file line number Diff line number Diff line change
Expand Up @@ -9,27 +9,8 @@
<file>./src</file>
<file>./tests</file>

<rule ref="PSR2"></rule>
<rule ref="PSR12"></rule>
<rule ref="PSR12"/>

<rule ref="Squiz.Commenting.ClassComment">
<exclude name="Squiz.Commenting.ClassComment.TagNotAllowed"/>
<type>warning</type>
<exclude-pattern>*/tests/</exclude-pattern>
</rule>
<rule ref="Squiz.Commenting.ClassComment.Missing">
<type>warning</type>
</rule>
<rule ref="Squiz.Commenting.FunctionComment.Missing">
<type>warning</type>
<exclude-pattern>*/config/</exclude-pattern>
</rule>
<rule ref="Squiz.Commenting.FunctionComment.MissingParamTag">
<type>warning</type>
</rule>
<rule ref="Squiz.Commenting.FunctionComment.MissingParamComment">
<type>warning</type>
</rule>
<rule ref="Squiz.Commenting.FunctionComment.ParamCommentNotCapital">
<type>warning</type>
</rule>
Expand Down
8 changes: 2 additions & 6 deletions phpstan.neon
Original file line number Diff line number Diff line change
@@ -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
25 changes: 16 additions & 9 deletions phpunit.xml
Original file line number Diff line number Diff line change
@@ -1,17 +1,24 @@
<?xml version="1.0" encoding="UTF-8"?>
<phpunit bootstrap="tests/bootstrap.php" colors="true" backupGlobals="false" backupStaticAttributes="false">
<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
bootstrap="vendor/autoload.php"
colors="true"
backupGlobals="false"
xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/10.3/phpunit.xsd"
cacheDirectory=".phpunit.cache"
backupStaticProperties="false">
<coverage/>
<testsuites>
<testsuite name="Tests">
<directory suffix="Test.php">tests</directory>
</testsuite>
</testsuites>
<filter>
<whitelist processUncoveredFilesFromWhitelist="false">
<source>
<include>
<directory suffix=".php">src</directory>
<exclude>
<directory>vendor</directory>
<directory>build</directory>
</exclude>
</whitelist>
</filter>
</include>
<exclude>
<directory>vendor</directory>
<directory>build</directory>
</exclude>
</source>
</phpunit>

0 comments on commit 33eae10

Please sign in to comment.