mirror of https://github.com/FriendsOfTYPO3/tea.git synced 2024-12-22 07:26:11 +01:00
Mirror of TYPO3 Extension tea, managed by the Best Practice Team https://typo3.org/community/teams/best-practices
Find a file
Stefan Bürk dc04824b4c
[TASK] Streamline nodejs dependency management (#1302)
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
2024-05-14 12:13:43 +02:00
.github [TASK] Streamline nodejs dependency management (#1302) 2024-05-14 12:13:43 +02:00
.gitlab [TASK] Streamline nodejs dependency management (#1302) 2024-05-14 12:13:43 +02:00
Build [TASK] Rename the xliff script (#1296) 2024-05-07 16:27:40 +02:00
Classes [TASK] Narrow down a type in the controller (#1270) 2024-05-06 14:46:54 +02:00
Configuration [TASK] Import classes (#1299) 2024-05-07 19:15:51 +02:00
Documentation [TASK] Document to use WSL for tests on Windows (#1295) 2024-05-07 16:35:15 +02:00
Resources [TASK] Drop approved="yes" from the original locallang files (#1259) 2024-05-01 00:51:39 +02:00
Tests [TASK] Ensure a type in a test (#1268) 2024-05-06 11:18:22 +00:00
.editorconfig Change default rst indentation to 4 spaces (#508) 2022-08-20 13:59:53 +02:00
.gitattributes [TASK] Streamline nodejs dependency management (#1302) 2024-05-14 12:13:43 +02:00
.gitignore [TASK] Streamline nodejs dependency management (#1302) 2024-05-14 12:13:43 +02:00
.npmrc [TASK] Streamline nodejs dependency management (#1302) 2024-05-14 12:13:43 +02:00
.nvmrc [TASK] Streamline nodejs dependency management (#1302) 2024-05-14 12:13:43 +02:00
.php-cs-fixer.php [TASK] Migrate to typo3 coding standards (#340) 2021-11-17 16:45:49 +01:00
.phpstorm.meta.php [BUGFIX] Add hidden files to find in PHP lint (#559) 2022-09-07 11:47:31 +02:00
.prettierrc.js [TASK] Move npm tools and config to default places (#445) 2022-05-18 17:17:45 +02:00
CHANGELOG.md [TASK] Stop storing development tool PHARs in the repository (#1277) 2024-05-07 12:00:35 +02:00
CODE_OF_CONDUCT.md [TASK] Switch to the TYPO3 Code of Conduct (#430) 2022-04-14 18:11:50 +02:00
composer.json [TASK] Streamline nodejs dependency management (#1302) 2024-05-14 12:13:43 +02:00
CONTRIBUTING.md [TASK] Add contribution guide (#1044) 2023-12-05 16:26:37 +01:00
eslint.config.js [TASK] Bump eslint from 8.57.0 to 9.2.0 (#1265) 2024-05-07 14:40:48 +02:00
ext_emconf.php [TASK] Drop obsolete options from ext_emconf.php (#1298) 2024-05-07 14:58:07 +00:00
ext_localconf.php [FEATURE] Add a delete functionality for the Tea FE editor (#876) 2023-06-23 11:55:19 +02:00
ext_tables.sql [!!!][TASK] Drop additional namespace segment for the Tea model (#1025) 2024-01-16 15:21:21 +01:00
LICENSE [TASK] Change from GPL V3+ to GPL V2+ (#40) 2019-08-08 12:38:56 +02:00
package-lock.json [TASK] Streamline nodejs dependency management (#1302) 2024-05-14 12:13:43 +02:00
package.json [TASK] Streamline nodejs dependency management (#1302) 2024-05-14 12:13:43 +02:00
phive.xml [TASK] Stop storing development tool PHARs in the repository (#1277) 2024-05-07 12:00:35 +02:00
phpcs.xml [TASK] Remove the ancient acceptance tests (#512) 2022-08-28 09:33:50 +02:00
phpstan-baseline.neon [TASK] Narrow down a type in the controller (#1270) 2024-05-06 14:46:54 +02:00
phpstan.neon [TASK] Raise PHPStan to level 9 (#1269) 2024-05-06 13:25:05 +02:00
README.md [TASK] Add feedback section to readme (#1292) 2024-05-07 13:22:21 +00:00
rector.php [FEATURE] Add Rector (#1031) 2024-05-07 16:49:48 +02:00
stylelint.config.js [TASK] Bump eslint from 8.57.0 to 9.2.0 (#1265) 2024-05-07 14:40:48 +02:00

Example TYPO3 extension for code quality checks and automated tests

TYPO3 V12 TYPO3 V11 License Total downloads GitHub CI status GitLab CI status Coverage Status

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.

Slides

cover slide

Video recording

video still