dc04824b4c
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 |
||
---|---|---|
.github | ||
.gitlab | ||
Build | ||
Classes | ||
Configuration | ||
Documentation | ||
Resources | ||
Tests | ||
.editorconfig | ||
.gitattributes | ||
.gitignore | ||
.npmrc | ||
.nvmrc | ||
.php-cs-fixer.php | ||
.phpstorm.meta.php | ||
.prettierrc.js | ||
CHANGELOG.md | ||
CODE_OF_CONDUCT.md | ||
composer.json | ||
CONTRIBUTING.md | ||
eslint.config.js | ||
ext_emconf.php | ||
ext_localconf.php | ||
ext_tables.sql | ||
LICENSE | ||
package-lock.json | ||
package.json | ||
phive.xml | ||
phpcs.xml | ||
phpstan-baseline.neon | ||
phpstan.neon | ||
README.md | ||
rector.php | ||
stylelint.config.js |
Example TYPO3 extension for code quality checks and automated tests
This TYPO3 extension, based on Extbase and Fluid, is an example of best practices in automated code checks, unit/functional/acceptance testing and continuous integration.
You can also use this extension to manage your collection of delicious teas.
URL | |
---|---|
Repository: | https://github.com/FriendsOfTYPO3/tea |
Read online: | https://docs.typo3.org/p/ttn/tea/main/en-us/ |
TER: | https://extensions.typo3.org/extension/tea/ |
Slack: | https://typo3.slack.com/channels/qa-best-practices |
Feedback
We value and welcome feedback of all kinds, including discussions. Feedback can be sent via TYPO3 slack within our channel or via direct massages to the team members. We also welcome email. All the contact information is available at our typo3.org team page. Another way is to open an issue on GitHub.
Philosophies
The following is a list of our code and technical philosophies only. https://typo3.org/community/teams/best-practices provides an overview on how we work in general.
Semantic Versioning
The project follows Semantic Versioning.
Align with TYPO3 core
We align all decisions with the TYPO3 core, whenever applicable. TYPO3 itself is a mono repository and sometimes needs to make different decisions. We document all divergences within Documentation/DivergencesToTypo3Core/.
Presentation at the TYPO3 Online Days 2021
At the TYPO3 Online Days 2021, Oliver Klee held a session where her presented our approach for automating the code quality of extensions.