To make this project easier to contribute (and reduce the work of the maintainer when someone contributes), I propose we change this project to adhere more to common conventions of open source PHP projects, and also to add more quality tools that help detect problems in contributions, and that generally help raise the code quality.
Particularly, I propose these changes (in no particular order):
[x] add Composer scripts and dedicated CI jobs for PHP linting in all supported PHP versions (using a build matrix)
[x] add Composer scripts and dedicated CI jobs for running the unit tests in all supported PHP versions and with the highest and lowest Composer dependencies (using a build matrix)
[ ] add Composer scripts and dedicated CI jobs for style checks with CSS_CodeSniffer and/or PHP-CS-Fixer
[ ] add Composer scripts and dedicated CI jobs for static type checks using PHPStan (which I'd prefer) or Psalm
[x] install PHPUnit as a Composer dependency or via PHIVE
[x] flatten the directory structure of the production code by changing the css/src/TBela/CSS/ to src/
[x] rename the test case (the classes) to have the Test suffix
[ ] properly separate the test classes and the fixture files using a tests/Fixtures/ or tests/fixture/ directory
[ ] add code coverage and a code coverage badge
[ ] add a CONTRIBUTING file and a CODE_OF_CONDUCT
[ ] add composer-normalize to the CI toolchain
[x] add Dependabot for Composer and GitHub Action updates
[x] #147
[x] drop the composer.lock from the project (as this is a library, not a stand-alone project)
To make this project easier to contribute (and reduce the work of the maintainer when someone contributes), I propose we change this project to adhere more to common conventions of open source PHP projects, and also to add more quality tools that help detect problems in contributions, and that generally help raise the code quality.
Particularly, I propose these changes (in no particular order):
css/src/TBela/CSS/
tosrc/
Test
suffixtests/Fixtures/
ortests/fixture/
directorycomposer.lock
from the project (as this is a library, not a stand-alone project)I would probably be willing to help.
@tbela99 What do you think?