This is a TYPO3 extension, a library.
We do not track the `composer.lock` file for that reason.
Composer itself offers an option to prevent generation of the file.
This is now configured to prevent the creation of the file.
That should prevent issues with local version of the file.
One might change the `composer.json` version constraints but updates
might fail due to locked version constraints.
This no longer happens if no locked version, due to missing lock file,
exist.
Composer would render warnings when using `composer install` without a
lock file. That's why we update the CI commands to use `composer update`
instead. That warning was already rendered within CI due to missing
file.
This way, the Composer dependencies are consistently in
ascending order in the CI matrix (as are the PHP and TYPO3 versions).
This is the same as #617 (which rearranged the CI matrix entries
for the Composer-script-based CI jobs), but for the CI jobs using
the predefined GitHub Actions (this time for the unit tests).
Part of #578
This way, the Composer dependencies are consistently in
ascending order in the CI matrix (as are the PHP and TYPO3 versions).
This is the same as #617 (which rearranged the CI matrix entries
for the Composer-script-based CI jobs), but for the CI jobs using
the predefined GitHub Actions.
Part of #578
Also sync the test matrices of the `predefined` CI jobs with those
from the Composer-script-driven CI jobs.
This change does not add any 7.4-only PHP language features.
Fixes#577
The `typo3/minimal` package is not maintained very much, and currently
cannot be used as a requirement to install the latest TYPO3 development
version (as it still depends on `dev-master`, not on `dev-main`).
In addition, not depending on it will allow us to find any missing
dependencies in our requirements that so far have been masked by
the `typo3/minimal` dependencies.
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.
- 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
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.
Composer versions 2.2.0 and 2.2.1 have a bug that breaks PHPUnit.
Until version 2.2.2 is released with a fix, we need to keep to
Composer 2.1 to keep the tests from breaking.
See https://github.com/composer/composer/issues/10387 for details.