PHP version numbers need to be strings: If the version `8.0` were
treated as a number, the YAML parser would happily convert it to `8`,
hence dropping the minor version number.
As in these cases the type annotations from the base class are used,
we can avoid PHPStan warnings about discrepancies between our annotations
and the annotations from the testing framework for the corresponding
fields in the superclass.
- 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
We currently can only test the lazy loading of the model image
with a functional test that retrieves a model from the database
via the repository.
So the functional test for the repository also needs to be marked as
covering the model class to make our code coverage correct.
Reorder the badges so the TYPO3 versions come first and the
CI information latest (ordered from user-relevant to
developer-relevant).
Drop some badges to get the badges to fit in one line again:
- Drop the counter for this month's downloads (as this number
fluctuated too much during the month).
- Drop a duplicate badge.
- Drop the badge for the old CoC (as we now are using the TYPO3 CoC).
- Drop the "latest version" badge (as this tends to be unreliable).
Having a consistent structure and order between the CI jobs and the
code coverage generation job makes understanding the GitHub Actions
configuration easier.
It also allows having a shared Composer cache between the non-coverage
jobs and the coverage job.
We must not cache this directory. If it is cached, this might cause
Composer to (re-)install dependency version that are not valid for
the current PHP version, which possibly might break the build.
There is no need to have the code coverage data directly generated by
the tests run in a non-hidden directory. So now the code coverage is
recorded within `.Build/coverage`.
Only the merged coverage data still needs to be located in `build/logs`
as Coveralls (which we're planning to use) relies on this.
See c2bb63bead for further details.
The README.md should mostly only cover the abstract and links.
The composer commands are the core value of this extension. List
all commands in the documentation and copy the descriptions from
the `composer.json`. This lets the global search at docs.typo3.org
find these commands.
Remove superfluous Linters page, which is integrated now in the
Running page.
Use sentence case in page titles in order to conform to the
TYPO3 documentation standards.
The ambiguous :ts: text role has been removed to
not confuse the writer with typescript and typoscript.
Add the common extension destinations to `composer.json`.
(Packagist displays them in a prominent place.)
Adding the custom label `start` to the beginning of the manual's
Index.rst is redundant. Use :doc:`<manual>:Index` instead of
:ref:`<manual:start>` to refer to it.
The installed Composer packages will be different depending on the
major TYPO3 version being tested and on the strategy for the
dependencies (highest, lowest). So it makes sense to have
separate Composer caches for these versions in order to avoid
cache misses.
The CI workflow with predefined GitHub actions had an empty `on:`
element, which is invalid. Use the correct event for manually
triggered workflow runs instead.