From e7b2394123bf2127425f067977d0fa88921ccd13 Mon Sep 17 00:00:00 2001 From: David <64189384+dvdmlln@users.noreply.github.com> Date: Tue, 12 Nov 2024 15:13:43 +0100 Subject: [PATCH] feat: initial commit --- .editorconfig | 12 +++++++ .github/workflows/ci.yaml | 21 ++++++++++++ .github/workflows/release.yaml | 14 ++++++++ .gitignore | 2 ++ .vscode/extensions.json | 8 +++++ .vscode/settings.json | 6 ++++ composer.json | 61 ++++++++++++++++++++++++++++++++++ ext_icon.svg | 9 +++++ phpcs.xml | 6 ++++ phpstan.neon | 7 ++++ 10 files changed, 146 insertions(+) create mode 100644 .editorconfig create mode 100644 .github/workflows/ci.yaml create mode 100644 .github/workflows/release.yaml create mode 100644 .gitignore create mode 100644 .vscode/extensions.json create mode 100644 .vscode/settings.json create mode 100644 composer.json create mode 100644 ext_icon.svg create mode 100644 phpcs.xml create mode 100644 phpstan.neon diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..309d06f --- /dev/null +++ b/.editorconfig @@ -0,0 +1,12 @@ +root = true + +[*] +indent_style = space +indent_size = 4 +end_of_line = lf +charset = utf-8 +trim_trailing_whitespace = true +insert_final_newline = true + +[*.json] +insert_final_newline = false diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml new file mode 100644 index 0000000..9893f56 --- /dev/null +++ b/.github/workflows/ci.yaml @@ -0,0 +1,21 @@ +name: CI + +on: + pull_request: + +jobs: + commitlint: + runs-on: ubuntu-latest + steps: + - uses: remindgmbh/commitlint-action@v1.0.0 + static-analysis: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: shivammathur/setup-php@v2 + with: + php-version: 8.3 + extensions: intl + tools: composer:v2 + - run: composer install + - run: composer run-script static-analysis diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml new file mode 100644 index 0000000..6deae2b --- /dev/null +++ b/.github/workflows/release.yaml @@ -0,0 +1,14 @@ +name: Release + +on: + push: + branches: + - "main" + +jobs: + release: + runs-on: ubuntu-latest + steps: + - uses: remindgmbh/semantic-release-action@v2.2.1 + with: + github-token: ${{ secrets.GITHUB_TOKEN }} diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..8f49cf2 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +/vendor +/public diff --git a/.vscode/extensions.json b/.vscode/extensions.json new file mode 100644 index 0000000..9a15316 --- /dev/null +++ b/.vscode/extensions.json @@ -0,0 +1,8 @@ +{ + "recommendations": [ + "benjaminkott.typo3-typoscript", + "devsense.phptools-vscode", + "obliviousharmony.vscode-php-codesniffer" + ], + "unwantedRecommendations": [] +} \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..6c03ad3 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,6 @@ +{ + "phpCodeSniffer.exec.linux": "./vendor/bin/phpcs", + "phpCodeSniffer.standard": "Custom", + "phpCodeSniffer.standardCustom": "./phpcs.xml", + "phpCodeSniffer.exclude": [] +} diff --git a/composer.json b/composer.json new file mode 100644 index 0000000..f51e98f --- /dev/null +++ b/composer.json @@ -0,0 +1,61 @@ +{ + "name": "remind/form", + "type": "typo3-cms-extension", + "description": "REMIND - Form", + "license": [ "GPL-3.0-or-later" ], + "authors": [ + { + "name": "REMIND GmbH", + "email": "technik@remind.de" + } + ], + "autoload": { + "psr-4": { + "Remind\\Form\\": "Classes" + } + }, + "autoload-dev": { + "psr-4": { + "Remind\\Form\\Tests\\": "Tests" + } + }, + "config": { + "optimize-autoloader": true, + "apcu-autoloader": true, + "sort-packages": true, + "allow-plugins": { + "typo3/cms-composer-installers": true, + "typo3/class-alias-loader": true, + "dealerdirect/phpcodesniffer-composer-installer": true, + "phpstan/extension-installer": true + } + }, + "require": { + "typo3/cms-core": "^12.4" + }, + "require-dev": { + "dealerdirect/phpcodesniffer-composer-installer": "^1.0", + "phpstan/extension-installer": "^1.4", + "phpstan/phpstan": "^1.12", + "remind/coding-standard": "^1.0", + "saschaegerer/phpstan-typo3": "^1.10", + "slevomat/coding-standard": "^8.15", + "squizlabs/php_codesniffer": "^3.10" + }, + "minimum-stability": "dev", + "prefer-stable": true, + "extra": { + "typo3/cms": { + "extension-key": "rmnd_form" + } + }, + "scripts": { + "phpcs": "@php ./vendor/bin/phpcs --standard=phpcs.xml --extensions=php --report=full -n .", + "phpcbf": "@php ./vendor/bin/phpcbf --standard=phpcs.xml --extensions=php .", + "phpstan": "@php ./vendor/bin/phpstan analyse -c phpstan.neon", + "static-analysis": [ + "@composer phpcs", + "@composer phpstan" + ] + } +} diff --git a/ext_icon.svg b/ext_icon.svg new file mode 100644 index 0000000..dd70106 --- /dev/null +++ b/ext_icon.svg @@ -0,0 +1,9 @@ + + + + + diff --git a/phpcs.xml b/phpcs.xml new file mode 100644 index 0000000..805ea01 --- /dev/null +++ b/phpcs.xml @@ -0,0 +1,6 @@ + + + public/* + vendor/* + + \ No newline at end of file diff --git a/phpstan.neon b/phpstan.neon new file mode 100644 index 0000000..24295ba --- /dev/null +++ b/phpstan.neon @@ -0,0 +1,7 @@ +parameters: + level: 8 + paths: + - . + excludePaths: + - public + - vendor