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