mirror of https://github.com/FriendsOfTYPO3/tea.git synced 2024-09-19 18:16:13 +02:00
Commit graph

20 commits

Author SHA1 Message Date
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
Eike Starkmann
ff4f7e3d0a
[FEATURE] Add Rector (#1031)
This part of #851.

In later parts, we'll add a Rector wrapper to `runTests.sh` and a CI job, and apply possible changes suggested by Rector.

Part of #851
Closes #125
2024-05-07 16:49:48 +02:00
dependabot[bot]
f725ef0b03
[TASK] Bump eslint from 8.57.0 to 9.2.0 (#1265)
Bumps [eslint](https://github.com/eslint/eslint) from 8.57.0 to 9.2.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v8.57.0...v9.2.0)

---
updated-dependencies:
- dependency-name: eslint
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-07 14:40:48 +02:00
Łukasz Uznański
fc512e50e9
[TASK] Drop DDEV configuration (#1063)
Resolves: #971
2024-04-15 18:22:03 +02:00
Oliver Klee
7fe2758291
[TASK] Move the PHPUnit configuration files to Configuration/ (#1108)
The `Tests/` directory should only include test code, but not the
configuration files.

Fixes #1082
2024-01-08 00:41:08 +01:00
Stefan Bürk
00ba733b0e
[FEATURE] Integrate runTests.sh execution wrapper - round one (#900)
TYPO3 Core and related repositories like the `typo3/testing-framework`
or `typo3/styleguide` uses a bash script arround docker to execute all
scripts over different operating systems in a controlled and ensured
manner. This helps to reproduce locally failing jobs from a CI like
GitHub actions or GitLab.

TYPO3 core dropped recently the requirement for `docker-compose`,
reducing it to `docker` and preparing for dual usage with docker
and podman in the future.

This change integrates the current state as extension wrapper,
aligning contained suits with existing tools. Additionally, a
TYPO3 core version switch is integrated.

The added script is excluded from git archive building and
during releasing.

A list of possible options can be display with:

```shell
Build/Scripts/runTests.sh -h
```

Overview of integrated features:

* `-p` to select the PHP version (7.4 - 8.3)
* `-s` to select the suite to execute
* `-t` to select the TYPO3 core version, mainly
  needed for the `composer` suits executions
* `-e` to provide additionally flags for phpunit
  executions, e.g. for unit and functional tests
* `-x` to enable xdebug trigger - this helps with
  debugging during unit or functional test
* `-d` to select the database backend to use, needed
  for functional test execution to start the correct
  database
* `-a` to select the used php driver for the `-d`
  database backend, if multiple options are possible
* `-i` to specify the mariadb version
* `-j` to specify the mysql version
* `-k` to specify the postgres version

Available suits (`-s`):

- cgl: Checks the code style with the PHP Coding Standards Fixer
  (PHP-CS-Fixer).
- cglFix: Fixes the code style with PHP-CS-Fixer."
- clean: clean up build, cache and testing related files and
  folders
- cleanBuild: clean up build related files and folders
- cleanCache: clean up cache related files and folders
- cleanRenderedDocumentation: clean up rendered documentation
  files and folders (Documentation-GENERATED-temp)
- cleanTests: clean up test related files and folders
- composer: "composer" with all remaining arguments dispatched.
- composerInstallMax: "composer update", with no platform.php config.
- composerInstallMin: "composer update --prefer-lowest", with
  platform.php set to PHP version x.x.0.
- docsGenerate: Renders the extension ReST documentation.
- functional: PHP functional tests
- lintTypoScript: TypoScript linting
- lintPhp: PHP linting
- lintJson: JSON linting
- lintYaml: YAML linting
- phpstan: phpstan tests
- phpstanGenerateBaseline: regenerate phpstan baseline, handy after
  phpstan updates
- unit (default): PHP unit tests
- unitRandom: PHP unit tests in random order, add -o <number> to use
  specific seed

Notes:

* Not everything is available directly for now in the `runTests.sh`
  and therefore not enabled in CI.

* Coverage related execution needs extended work and are therefore
  left out for now.

* `composer.json` protection for core version changes not included
  yet like the one or other advanced option.

* Intermediate cleanings for changing php versions and core versions
  not included yet and will follow.

* typo3/testing-framework template files **must** be copied to the
  extension or project and **must not** be used from the  vendor
  folder.

Resolves: #899
Releases: main
2023-07-31 13:38:07 +02:00
Oliver Klee
be838adde5
[TASK] Remove the ancient acceptance tests (#512)
The acceptance tests have not been testing the extension itself,
have not been maintained for quite some time, and do not serve
as a good example anymore.

Until we have a proper set of example acceptance tests, we should
remove them.

Also drop the now-unused dependency on Codeception.
2022-08-28 09:33:50 +02:00
jpmschuler
518bae014e
[TASK] Move npm tools and config to default places (#445)
- 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
2022-05-18 17:17:45 +02:00
Łukasz Uznański
13ba07f31c
[TASK] Migrate to typo3 coding standards (#340) 2021-11-17 16:45:49 +01:00
Oliver Klee
4ff6bbfc46
[TASK] Keep the PHPStorm meta file out of Composer packaging (#315)
Also re-sort the `.gitattributes` file.

Fixes #313
2021-10-06 16:04:55 +02:00
Łukasz Uznański
8282a886c0
[TASK] Do not package the ddev directory (#309)
Co-authored-by: Łukasz Uznański <l.uznanski@macopedia.com>
2021-09-22 10:50:41 +02:00
Oliver Klee
a173900a7f
[TASK] Enhance the PHPStan configuration (#302)
- configure the checked paths via the configuration file
- do not output a progress bar on CI
- add a baseline file and a command for creating it
- cap the number of processes

Fixes #281
2021-09-13 04:06:10 +02:00
Oliver Klee
db1080b119
[FEATURE] Add type checking via PHPStan (#218) 2021-03-17 01:08:40 +01:00
Oliver Klee
8e8e3897b6
[BUGFIX] Stop packaging the PHIVE configuration file and tools (#208) 2021-02-24 13:19:09 +01:00
Oliver Klee
ef38d7d84b
[TASK] Drop the .phar suffix from the tools (#204)
PhpStorm by default indexes `*.phar` files. For our current set of
tools, we do not want this. (This keeps PhpStorm from complaining
about multiple versions of the same class.)

Also mark the tools as binary for git.
2021-02-24 12:02:56 +01:00
Łukasz Uznański
6e57ba002b
Use PHPCPD as phar instead of composer package (#190)
Co-authored-by: Łukasz Uznański <l.uznanski@macopedia.com>
2021-02-10 16:03:39 +01:00
Oliver Klee
c239eaf1c4
[CLEANUP] Sort the lines in the .gitignore and .gitattributes (#178) 2020-11-29 17:34:28 +01:00
Łukasz Uznański
d4ec80de29
[FEATURE] Add frontend linting (#120)
Co-authored-by: Łukasz Uznański <l.uznanski@macopedia.com>
Co-authored-by: Oliver Klee <typo3-coding@oliverklee.de>
2020-10-31 15:04:44 +01:00
Łukasz Uznański
38641babb1
[TASK] Rename dist files (#112)
Resolves: #68
2020-10-07 14:03:20 +02:00
Łukasz Uznański
a0794a8f53
[TASK] Add gitattributes (#107)
Co-authored-by: Łukasz Uznański <l.uznanski@macopedia.com>
2020-09-23 13:50:47 +02:00