From 8a9d45cdd090dc66b26faad127614a24c6c1b049 Mon Sep 17 00:00:00 2001
From: overtrue <anzhengchao@gmail.com>
Date: Fri, 19 Nov 2021 11:46:38 +0800
Subject: [PATCH] CS.

---
 .php-cs-fixer.dist.php | 49 ++++++++++++++++++++++++++++++++++++++++++
 psalm.xml              | 15 +++++++++++++
 2 files changed, 64 insertions(+)
 create mode 100644 .php-cs-fixer.dist.php
 create mode 100644 psalm.xml

diff --git a/.php-cs-fixer.dist.php b/.php-cs-fixer.dist.php
new file mode 100644
index 0000000..e755e85
--- /dev/null
+++ b/.php-cs-fixer.dist.php
@@ -0,0 +1,49 @@
+<?php
+
+return (new PhpCsFixer\Config())
+    ->setRules([
+        '@PSR12' => true,
+        'binary_operator_spaces' => true,
+        'blank_line_after_opening_tag' => true,
+        'compact_nullable_typehint' => true,
+        'declare_equal_normalize' => true,
+        'lowercase_cast' => true,
+        'lowercase_static_reference' => true,
+        'new_with_braces' => true,
+        'no_blank_lines_after_class_opening' => true,
+        'no_leading_import_slash' => true,
+        'no_whitespace_in_blank_line' => true,
+        'no_unused_imports' => true,
+        'ordered_class_elements' => [
+            'order' => [
+                'use_trait',
+            ],
+        ],
+        'ordered_imports' => [
+            'imports_order' => [
+                'class',
+                'function',
+                'const',
+            ],
+            'sort_algorithm' => 'none',
+        ],
+        'return_type_declaration' => true,
+        'short_scalar_cast' => true,
+        'single_blank_line_before_namespace' => true,
+        'single_trait_insert_per_statement' => true,
+        'ternary_operator_spaces' => true,
+        'unary_operator_spaces' => true,
+        'visibility_required' => [
+            'elements' => [
+//                'const',
+                'method',
+                'property',
+            ],
+        ],
+    ])
+    ->setFinder(
+        PhpCsFixer\Finder::create()
+            ->exclude('vendor')
+            ->in([__DIR__.'/src/', __DIR__.'/tests/'])
+    )
+;
diff --git a/psalm.xml b/psalm.xml
new file mode 100644
index 0000000..f8edfd3
--- /dev/null
+++ b/psalm.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0"?>
+<psalm
+    errorLevel="6"
+    resolveFromConfigFile="true"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xmlns="https://getpsalm.org/schema/config"
+    xsi:schemaLocation="https://getpsalm.org/schema/config vendor/vimeo/psalm/config.xsd"
+>
+    <projectFiles>
+        <directory name="src" />
+        <ignoreFiles>
+            <directory name="vendor" />
+        </ignoreFiles>
+    </projectFiles>
+</psalm>