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 aaf1037 commit 74c95f4
Show file tree
Hide file tree
Showing 11 changed files with 143 additions and 119 deletions.
21 changes: 19 additions & 2 deletions .cs.php
Original file line number Diff line number Diff line change
Expand Up @@ -21,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 @@ -34,11 +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,
'global_namespace_import' => false,
'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
2 changes: 0 additions & 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 Down
74 changes: 36 additions & 38 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,41 +3,39 @@ name: build
on: [ push, pull_request ]

jobs:
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 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
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,5 @@ composer.lock
nbproject/
vendor/
build/
.phpunit.cache/
.phpunit.result.cache
69 changes: 34 additions & 35 deletions .scrutinizer.yml
Original file line number Diff line number Diff line change
@@ -1,42 +1,41 @@
filter:
paths: [ "src/*" ]
excluded_paths: [ "vendor/*", "tests/*" ]
paths: [ "src/*" ]
excluded_paths: [ "vendor/*", "tests/*" ]

checks:
php:
code_rating: true
duplication: true
php:
code_rating: true
duplication: true

tools:
external_code_coverage: false
external_code_coverage: false

build:
environment:
php:
version: 8.1.2
ini:
xdebug.mode: coverage
mysql: false
node: false
postgresql: false
mongodb: false
elasticsearch: false
redis: false
memcached: false
neo4j: false
rabbitmq: false
nodes:
analysis:
tests:
override:
- php-scrutinizer-run
dependencies:
before:
- composer self-update
- composer install --no-interaction --prefer-dist --no-progress
tests:
before:
- command: composer test:coverage
coverage:
file: 'build/logs/clover.xml'
format: 'clover'
environment:
php:
version: 8.1.2
ini:
xdebug.mode: coverage
mysql: false
node: false
postgresql: false
mongodb: false
elasticsearch: false
redis: false
memcached: false
neo4j: false
rabbitmq: false
nodes:
analysis:
tests:
override:
- php-scrutinizer-run
dependencies:
before:
- composer self-update
tests:
before:
- command: composer test:coverage
coverage:
file: 'build/logs/clover.xml'
format: 'clover'
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ responses and many other things.

## Requirements

* PHP 8.0+
* PHP 8.1+

## Installation

Expand Down
24 changes: 15 additions & 9 deletions composer.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
{
"name": "selective/transformer",
"type": "library",
"description": "A strictly typed array transformer with dot-access, fluent interface and filters.",
"license": "MIT",
"type": "library",
"keywords": [
"transformer",
"mapper",
Expand All @@ -14,19 +15,15 @@
"json"
],
"homepage": "https://github.com/selective-php/transformer",
"license": "MIT",
"require": {
"php": "^8.1"
},
"require-dev": {
"friendsofphp/php-cs-fixer": "^3",
"phpstan/phpstan": "^1",
"phpunit/phpunit": "^9 || ^10",
"phpunit/phpunit": "^10",
"squizlabs/php_codesniffer": "^3"
},
"config": {
"sort-packages": true
},
"autoload": {
"psr-4": {
"Selective\\Transformer\\": "src/"
Expand All @@ -37,12 +34,21 @@
"Selective\\Transformer\\Test\\": "tests/"
}
},
"config": {
"sort-packages": true
},
"scripts": {
"cs:check": "php-cs-fixer fix --dry-run --format=txt --verbose --diff --config=.cs.php --ansi",
"cs:fix": "php-cs-fixer fix --config=.cs.php --ansi",
"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 --xdebug",
"stan": "phpstan analyse -c phpstan.neon --no-progress --ansi",
"test": "phpunit --configuration phpunit.xml --do-not-cache-result --colors=always",
"test:all": [
"@cs:check",
Expand Down
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
20 changes: 11 additions & 9 deletions phpunit.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,20 +3,22 @@
bootstrap="vendor/autoload.php"
colors="true"
backupGlobals="false"
backupStaticAttributes="false"
xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/9.3/phpunit.xsd">
<coverage processUncoveredFiles="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>
<source>
<include>
<directory suffix=".php">src</directory>
</include>
<exclude>
<directory>vendor</directory>
<directory>build</directory>
</exclude>
</coverage>
<testsuites>
<testsuite name="Tests">
<directory suffix="Test.php">tests</directory>
</testsuite>
</testsuites>
</source>
</phpunit>
6 changes: 3 additions & 3 deletions tests/ArrayTransformerTransformTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -203,7 +203,7 @@ public function testDateTimeFilterAndTimeZone(): void
public function testDateTimParserError(): void
{
$this->expectException(ArrayTransformerException::class);
$this->expectErrorMessageMatches('/Failed to parse time string/');
$this->expectExceptionMessageMatches('/Failed to parse time string/');

$transformer = new ArrayTransformer();
$transformer->map('date', 'date', $transformer->rule()->date('Y-m-d'));
Expand All @@ -221,7 +221,7 @@ public function testDateTimParserError(): void
public function testDateTimeDateTimeZoneException(): void
{
$this->expectException(ArrayTransformerException::class);
$this->expectErrorMessage(
$this->expectExceptionMessage(
'Changing the DateTimeZone of an existing DateTimeImmutable object is not supported.'
);

Expand All @@ -246,7 +246,7 @@ public function testDateTimeDateTimeZoneException(): void
public function testUndefinedFilterException(): void
{
$this->expectException(ArrayTransformerException::class);
$this->expectErrorMessage('Filter not found: foo');
$this->expectExceptionMessage('Filter not found: foo');

$transformer = new ArrayTransformer();
$transformer->map('field', 'field', $transformer->rule()->filter('foo'));
Expand Down

0 comments on commit 74c95f4

Please sign in to comment.