Contributing

Thanks for considering contributing to this extension! Since it is an open source product, its successful further development depends largely on improving and optimizing it together.

The development of this extension follows the official TYPO3 coding standards. To ensure the stability and cleanliness of the code, various code quality tools are used and most components are covered with test cases.

Create an issue first

Before you start working on the extension, please create an issue on GitHub: https://github.com/eliashaeussler/typo3-warming/issues

Also, please check if there is already an issue on the topic you want to address.

Contribution workflow

Note

This extension follows Semantic Versioning.

Preparation

Clone the repository first:

git clone https://github.com/eliashaeussler/typo3-warming.git
cd typo3-warming

Now install all Composer dependencies:

composer install

Next, install all Node dependencies:

yarn --cwd Resources/Private/Frontend

Check code quality

https://github.com/eliashaeussler/typo3-warming/actions/workflows/cgl.yaml/badge.svg

TYPO3

# Run all linters
composer lint

# Run Composer linter only
composer lint:composer

# Run PHP linter only
composer lint:php

# Run TypoScript linter only
composer lint:typoscript

# Run PHP static code analysis
composer sca

Frontend

# Run all linters
yarn --cwd Resources/Private/Frontend lint
yarn --cwd Resources/Private/Frontend lint:fix

# Run SCSS linter only
yarn --cwd Resources/Private/Frontend lint:scss
yarn --cwd Resources/Private/Frontend lint:scss:fix

# Run TypeScript linter only
yarn --cwd Resources/Private/Frontend lint:ts
yarn --cwd Resources/Private/Frontend lint:ts:fix

Run tests

https://github.com/eliashaeussler/typo3-warming/actions/workflows/tests.yaml/badge.svg https://codecov.io/gh/eliashaeussler/typo3-warming/branch/main/graph/badge.svg?token=7M3UXACCKA
# Run tests
composer test

# Run tests with code coverage
composer test:ci

The code coverage reports will be stored in .Build/log/coverage.

Build documentation

# Rebuild and open documentation
composer docs

# Build documentation (from cache)
composer docs:build

# Open rendered documentation
composer docs:open

The built docs will be stored in .Build/docs.

Pull Request

When you have finished developing your contribution, simply submit a pull request on GitHub: https://github.com/eliashaeussler/typo3-warming/pulls