This change adopts the well known runTests.sh from TYPO3 core
and related extensions as basic scripts and test execution
center. Main benefit of this implemenation is, that these
commands are behaving the same on all systems and ci, thus
increasing interoperability and easier transforming of commands
between systems - which ease the way to rerun or debug failed
tests locally after detected in ci (GitHub Actions, Gitlab CI).
Available suits and options are aligned to this project needs,
and will be updated if needed. To display available commands:
```shell
Build/Scripts/runTests.sh -h
```
Generic tasks and options (incomplete):
* `-s composerInstall` normal install, for code quality checks
* `-s composerInstallLowest` and `-s composerInstallHighest` to
install dependencies with lowest and highest possibilities for
all dependencies, based on selected php-version, core-version
and so on. This helps to build fast a wide range of testing
matrix for unit- and functional tests
* `-p <7.4|8.0|8.1|8.2>` defines which php version is used for
executed php and composer scripts, like unit or functional
tests, composer installs and so on
* ensure support for following databases for functional tests:
- postgres <10|11|12|13|14> default: 10
- mysql <5.5|5.6|5.7|8.0> default: 5.5
- mariadb <10.2|10.3|10.4|10.5|10.6|10.7> default: 10.2
- sqlite
This can be controlled with a couple of options:
-d <sqlite|mariadb|mysql|postgres>
-a <mysqli|pdo_mysql> (for -d mysql or -d mariadb)
-i <10.2|10.3|10.4|10.5|10.6|10.7> (for -d mariadb)
-j <5.5|5.6|5.7|8.0> (for -d mysql)
-k <10|11|12|13|14> (for -d postgres)
* selection of core can be choosen with the `-t` flag,
also only v11 currently available. This is already
a preparation for multi-core testing or for further
version shiftings.
* included cgl (php cs fixer) with dryrun as suite
* add phpstan and phpstan generate baseline suites
Resolves#94
Case-insensitive filesystems cannot distinguish properly for
file and folder names with different caseings. This leads to
unforseable issues on these systems, like default partition
on MacOS devices from apple or eventually Windows systems.
This change configure phpcoverall and the chain explicitly to
use folders for the files which differs from the default of
`build/*` to avoid conflicts on case-insensitve filesystems
and prepare for introduction of the upcoming implementation
of TYPO3 core recommended `Build/` structure.
JetBrains created a new product named `Fleet` as
lightweight editor. This tool tends to write it's
config files to `.fleet/` folders, like all of the
IntellJ based IDE's like PHPStorm uses the `.idea`
folder.
This change adds this config folder to .gitignore
to avoid adding this folder to a patch if `Fleet`
is used to create a patch.
- Move npm tools and config to default places
- Remove now unnecessary config file parameter from npm scripts
- editorconfig and eslint config contradict, adapt editorconfig
- switch JS indent linting to TYPO3 coding standard of 2 spaces
- adapt composer scripts for new npm location