As ts is usually understood as TypeScript instead of TypoScript.
TYPO3 itself also changed its file extension from `.ts` to `.typoscript`.
We reflect that by adopting the script name.
Resolves: #1385
With #1289 the `nodejs` dependency management has
been changed from `yarn` to `npm` missing the one
or other important requirement.
This change streamlines the management by ...
* adding a `.nvmrc` file to the repository root to
allow automatic nodejs/npm switch if the nvm shell
switching is available on the host system.
* adding a `.npmrc` file to specify the lock file
version and engine option.
* adding `nodejs` and `npm` version constraints as
`engine` specification to the `package.json` file.
* remove `package-lock.json` from `.gitignore` and
add it to the repository to ensure reproducable
setups - which becomes more important if extension
get custom backend/frontend modules and javascript.
* adding `package-lock.json` to exclude it from archive,
due to remove from the `.gitignore` file.
* ensuring that new development files are excluded from
packaging and publishing.
* use `npm ci` in GitHub action workflows to install
from the lock-file.
Note: This change unblocks adding `npm` dispatching
to `Build/Scripts/runTests.sh`.
Resolves: #1301
Related: #1289
Command for rendering:
./Build/Scripts/runTests.sh -s docsGenerate
or just:
composer docs:generate
The reference to the TYPO3 Documentation Rendering Guide was adjusted as the Quickstart page does not exist anymore.
Additionally, the genindex isn't supported anymore. It is planned to consider the `index` directive in the global search on docs.typo3.org.
Resolves: #1189
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.
Our current automerging CI task does not work reliably.
So instead of using a GitHub Action that does the automerging itself,
we are now using a GitHub Action that only triggers GitHub's own
automerge feature (which works a lot more reliably).
Now dependency updates by Dependabot will be automerged if/when all
required checks are green.
This will reduce the repetetive work of merging all these update
PRs, and we have been heavily relying on our CI pipeline to check
if a depenceny update is safe to merge anyway.
Attaching any of the labels `wip` or `blocked` to a PR will block the
automerging.
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