Skip to content

Commit

Permalink
Merge pull request #10 from YouweGit/feature/OTDEVOPS-18-coding-stand…
Browse files Browse the repository at this point in the history
…ards

Updated pathing and composer version of Magento 2 coding standards.
  • Loading branch information
leonhelmus authored Oct 27, 2022
2 parents a6b13b3 + 52a3939 commit 61155f4
Show file tree
Hide file tree
Showing 12 changed files with 187 additions and 29 deletions.
17 changes: 17 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,23 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## 2.14.0
### Added
- New pathing for `phpcs.xml` file.
- Added updated code styling for project type `Magento2`.
- Support for `phtml` in project type `Magento2`.
The phtml files will only be checked based on Magento2 code standards.

### Changed
- Project type `default`/`magento` use correct index replaced `excludes_analyse` with `excludePaths` for `phpstan.neon` file.
- Project type `default` use correct tags for `phpunit_dist.xml`.
- Updated dependency to `youwe/composer-dependency-installer`

### Changed
- Phpcs will now also check files `phtml`. If not preferred behaviour overwrite
parameter `phpcs.triggered_by` in `grumphp.yml` and change back to `[php]`.
- `.eslintrc.json` which was updated coherent to Fisheye configurations.

## 2.13.1 - 2022-08-03
### Fixed
- Github actions are now actually executed.
Expand Down
7 changes: 4 additions & 3 deletions composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -32,9 +32,9 @@
"phpro/grumphp-shim": "^1.13",
"phpstan/phpstan": "@stable",
"phpunit/phpunit": "@stable",
"youwe/coding-standard": "^3.3.0",
"youwe/coding-standard": "^3.5.0",
"youwe/coding-standard-phpstorm": "^2.3.0",
"youwe/composer-dependency-installer": "^1.3.0",
"youwe/composer-dependency-installer": "^1.4.0",
"youwe/composer-file-installer": "^1.2.0"
},
"require-dev": {
Expand Down Expand Up @@ -78,7 +78,8 @@
"sort-packages": true,
"allow-plugins": {
"youwe/coding-standard-phpstorm": true,
"phpro/grumphp-shim": true
"phpro/grumphp-shim": true,
"dealerdirect/phpcodesniffer-composer-installer": true
}
}
}
4 changes: 2 additions & 2 deletions config/default/grumphp.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,13 +20,13 @@ parameters:
yamllint.parse_constant: true

phpcs.standard: ./phpcs.xml
phpcs.triggered_by: [php]
phpcs.triggered_by: [php,phtml]

phplint.exclude: ['vendor']
phplint.jobs: ~
phplint.short_open_tag: false
phplint.ignore_patterns: [ ]
phplint.triggered_by: ['php', 'phtml']
phplint.triggered_by: ['php']

phpmd.exclude: []
phpmd.ruleset:
Expand Down
17 changes: 11 additions & 6 deletions src/Installer/FilesInstaller.php
Original file line number Diff line number Diff line change
Expand Up @@ -86,18 +86,20 @@ private function resolveYouwePathing(FileMappingInterface $unixFileMapping): voi
$unixFileMapping->getDestination(),
[
'./vendor/mediact/coding-standard-magento2/src/MediactMagento2',
'./vendor/mediact/coding-standard/src/MediaCT'
'./vendor/mediact/coding-standard/src/MediaCT',
'./vendor/youwe/coding-standard-magento2/src/Magento2'
],
'./vendor/youwe/coding-standard-magento2/src/Magento2'
'YouweMagento2'
);
} elseif ($name === "phpmd.xml") {
$this->updatePath(
$unixFileMapping->getDestination(),
[
'./vendor/mediact/coding-standard-magento2/src/MediactMagento2/phpmd.xml',
'./vendor/mediact/coding-standard/src/MediaCT/phpmd.xml'
'./vendor/mediact/coding-standard/src/MediaCT/phpmd.xml',
'./vendor/youwe/coding-standard-magento2/src/Magento2/phpmd.xml'
],
'./vendor/youwe/coding-standard-magento2/src/Magento2/phpmd.xml'
'./vendor/youwe/coding-standard-magento2/src/YouweMagento2/phpmd.xml'
);
}
} elseif ($this->mappingResolver->getTypeResolver()->resolve() === 'magento') {
Expand All @@ -118,8 +120,11 @@ private function resolveYouwePathing(FileMappingInterface $unixFileMapping): voi
} elseif ($name === "phpmd.xml") {
$this->updatePath(
$unixFileMapping->getDestination(),
['./vendor/mediact/coding-standard/src/MediaCT/phpmd.xml'],
'./vendor/youwe/coding-standard-magento2/src/Magento2/phpmd.xml'
[
'./vendor/mediact/coding-standard/src/MediaCT/phpmd.xml',
'./vendor/youwe/coding-standard-magento2/src/Magento2/phpmd.xml'
],
'./vendor/youwe/coding-standard/src/Global/phpmd.xml'
);
} elseif ($name === "grumphp.yml") {
$this->updatePath(
Expand Down
2 changes: 1 addition & 1 deletion src/Installer/PackagesInstaller.php
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ class PackagesInstaller implements InstallerInterface
'magento2' => [
[
'name' => 'youwe/coding-standard-magento2',
'version' => '^1.7.0',
'version' => '^2.0.0',
'dev' => true
]
],
Expand Down
2 changes: 1 addition & 1 deletion templates/files/default/phpcs.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
xsi:noNamespaceSchemaLocation="http://pmd.sf.net/ruleset_xml_schema.xsd">
<description>PHPCS</description>
<!--<exclude-pattern>path/to/exclude/*</exclude-pattern>-->
<rule ref="./vendor/youwe/coding-standard/src/Global"/>
<rule ref="./vendor/youwe/coding-standard/src/Youwe"/>
<!-- Append arg -s to phpcs to display the name of failed sniffs -->
<arg value="s"/>
</ruleset>
2 changes: 1 addition & 1 deletion templates/files/default/phpstan.neon
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
parameters:
excludes_analyse:
excludePaths:
# - %rootDir%/../../../path/to/exclude/*
8 changes: 4 additions & 4 deletions templates/files/default/phpunit_dist.xml
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@
xsi:noNamespaceSchemaLocation="vendor/phpunit/phpunit/phpunit.xsd"
bootstrap="vendor/autoload.php"
cacheResult="false">
<coverage processUncoveredFilesFromWhitelist="true">
<include>
<filter>
<whitelist processUncoveredFilesFromWhitelist="true">
<directory suffix=".php">src</directory>
<include>
</coverage>
</whitelist>
</filter>
</phpunit>
149 changes: 142 additions & 7 deletions templates/files/magento2/.eslintrc.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,40 +2,140 @@
"env": {
"amd": true,
"browser": true,
"jasmine": true
"es6": true,
"es2016": true,
"es2017": true,
"es2018": true,
"es2019": true,
"es2020": true,
"es2021": true,
"es2022": true,
"jquery": true,
"prototypejs": true
},
"rules": {
"array-bracket-spacing": [2, "never"],
"arrow-parens": 2,
"arrow-spacing": [2, {"after": true, "before": true}],
"block-spacing": [2, "always"],
"brace-style": [2, "1tbs", {"allowSingleLine": true}],
"comma-dangle": [ 2, "always-multiline" ],
"comma-spacing": [2, {"after": true, "before": false}],
"comma-style": [2, "last"],
"consistent-return": 2,
"constructor-super": 2,
"curly": [2, "all"],
"dot-location": [2, "property"],
"dot-notation": [2, {"allowKeywords": true}],
"eol-last": 2,
"eqeqeq": [2, "smart"],
"func-call-spacing": [2, "never"],
"func-style": [2, "expression"],
"generator-star-spacing": [2, {"after": true, "before": true}],
"guard-for-in": 2,
"indent": [2, 4],
"key-spacing": [2, {"afterColon": true, "beforeColon": false}],
"keyword-spacing": [2, {"after": true, "before": true}],
"linebreak-style": [2, "unix"],
"lines-around-comment": [
2,
{
"beforeBlockComment": true
"beforeBlockComment": true,
"allowBlockStart": true,
"allowObjectStart": true
}
],
"lines-between-class-members": [2, "always", {"exceptAfterSingleLine": true}],
"max-depth": [2, 2],
"max-len": [2, 120, 4],
"max-nested-callbacks": [2, 3],
"multiline-ternary": [2, "always-multiline"],
"new-cap": [2, {"capIsNew": false, "newIsCap": true, "properties": true}],
"new-parens": 2,
"newline-after-var": 2,
"no-alert": 2,
"no-array-constructor": 2,
"no-caller": 2,
"no-case-declarations": 2,
"no-catch-shadow": 2,
"no-class-assign": 2,
"no-compare-neg-zero": 2,
"no-cond-assign": 2,
"no-console": 2,
"no-const-assign": 2,
"no-constant-condition": 2,
"no-control-regex": 2,
"no-debugger": 2,
"no-delete-var": 2,
"no-dupe-args": 2,
"no-dupe-class-members": 2,
"no-dupe-keys": 2,
"no-duplicate-case": 2,
"no-else-return": 2,
"no-empty-character-class": 2,
"no-empty-pattern": 2,
"no-empty": [2, {"allowEmptyCatch": true}],
"no-eval": 2,
"no-ex-assign": 2,
"no-extend-native": 2,
"no-extra-bind": 2,
"no-extra-boolean-cast": 2,
"no-extra-parens": 2,
"no-extra-semi": 2,
"no-fallthrough": 2,
"no-floating-decimal": 2,
"no-func-assign": 2,
"no-global-assign": 2,
"no-implied-eval": 2,
"no-inner-declarations": 2,
"no-invalid-regexp": 2,
"no-irregular-whitespace": 2,
"no-iterator": 2,
"no-labels": [2, {"allowLoop": false, "allowSwitch": false}],
"no-lone-blocks": 2,
"no-lonely-if": 2,
"no-loop-func": 2,
"no-mixed-operators": [2, {"allowSamePrecedence": true, "groups": [["==", "!=", "===", "!==", ">", ">=", "<", "<="], ["&&", "||"], ["in", "instanceof"]]}],
"no-mixed-spaces-and-tabs": 2,
"no-multi-spaces": 2,
"no-multi-str": 2,
"no-multiple-empty-lines": [2, {"max": 1, "maxEOF": 0}],
"no-native-reassign": 2,
"no-negated-in-lhs": 2,
"no-new-func": 2,
"no-new-object": 2,
"no-new-symbol": 2,
"no-new-wrappers": 2,
"no-new": 2,
"no-obj-calls": 2,
"no-octal-escape": 2,
"no-octal": 2,
"no-proto": 2,
"no-prototype-builtins": 2,
"no-redeclare": 2,
"no-regex-spaces": 2,
"no-return-assign": 2,
"no-self-assign": [2, {"props": true}],
"no-self-compare": 2,
"no-sequences": 2,
"no-shadow": 2,
"no-shadow-restricted-names": 2,
"no-sparse-arrays": 2,
"no-tabs": 2,
"no-template-curly-in-string": 2,
"no-this-before-super": 2,
"no-throw-literal": 2,
"no-trailing-spaces": 2,
"no-undef": 2,
"no-undef-init": 2,
"no-unexpected-multiline": 2,
"no-unmodified-loop-condition": 2,
"no-unneeded-ternary": [2, {"defaultAssignment": false}],
"no-unreachable": 2,
"no-unsafe-finally": 2,
"no-unsafe-negation": 2,
"no-unused-expressions": [2, {"allowShortCircuit": true, "allowTaggedTemplates": true, "allowTernary": true}],
"no-unused-labels": 2,
"no-unused-vars": [
2,
{
Expand All @@ -44,14 +144,49 @@
"varsIgnorePattern": "^config$"
}
],
"no-use-before-define": 2,
"no-useless-call": 2,
"no-useless-computed-key": 2,
"no-useless-constructor": 2,
"no-useless-escape": 2,
"no-useless-rename": 2,
"no-useless-return": 2,
"no-var": 2,
"no-void": 2,
"no-whitespace-before-property": 2,
"no-with": 2,
"object-curly-newline": [2, {"consistent": true, "multiline": true}],
"object-curly-spacing": [2, "always"],
"object-property-newline": [2, {"allowMultiplePropertiesPerLine": true}],
"one-var": [2, {"initialized": "never"}],
"operator-assignment": [2, "always"],
"operator-linebreak": [2, "after", {"overrides": {":": "before", "?": "before", "|>": "before"}}],
"padded-blocks": [2, {"blocks": "never", "classes": "never", "switches": "never"}],
"prefer-const": [2, {"destructuring": "all"}],
"prefer-promise-reject-errors": 2,
"quote-props": [2, "as-needed"],
"quotes": [2, "single", {"allowTemplateLiterals": true, "avoidEscape": true}],
"radix": 2,
"require-yield": 2,
"rest-spread-spacing": [2, "never"],
"semi": [2, "always"],
"semi-spacing": 2,
"space-before-blocks": "error",
"space-before-function-paren":"error",
"func-style": [2, "expression"],
"eol-last":"error"
"space-before-blocks": [2, "always"],
"space-before-function-paren": [2, "always"],
"space-in-parens": [2, "never"],
"space-infix-ops": 2,
"space-unary-ops": [2, {"nonwords": false, "words": true}],
"spaced-comment": [2, "always", {"block": {"balanced": true, "exceptions": ["*"], "markers": ["*package", "!", ",", ":", "::", "flow-include"]}, "line": {"markers": ["*package", "!", "/", ",", "="]}}],
"strict": ["error", "function"],
"symbol-description": 2,
"template-curly-spacing": [2, "never"],
"template-tag-spacing": [2, "never"],
"unicode-bom": [2, "never"],
"use-isnan": 2,
"valid-typeof": 2,
"vars-on-top": 2,
"wrap-iife": [2, "any", {"functionPrototypeMethods": true}],
"yield-star-spacing": [2, "both"],
"yoda": [2, "never"]
}
}
}
4 changes: 1 addition & 3 deletions templates/files/magento2/phpcs.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,5 @@
xsi:noNamespaceSchemaLocation="http://pmd.sf.net/ruleset_xml_schema.xsd">
<description>PHPCS</description>
<!--<exclude-pattern>path/to/exclude/*</exclude-pattern>-->
<rule ref="./vendor/youwe/coding-standard-magento2/src/Magento2"/>
<!-- Append arg -s to phpcs to display the name of failed sniffs -->
<arg value="s"/>
<rule ref="YouweMagento2"/>
</ruleset>
2 changes: 1 addition & 1 deletion templates/files/magento2/phpmd.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,5 +6,5 @@
xsi:noNamespaceSchemaLocation="http://pmd.sf.net/ruleset_xml_schema.xsd">
<description>PHPMD</description>
<!--<exclude-pattern>path/to/exclude/*</exclude-pattern>-->
<rule ref="./vendor/youwe/coding-standard-magento2/src/Magento2/phpmd.xml" />
<rule ref="./vendor/youwe/coding-standard-magento2/src/YouweMagento2/phpmd.xml" />
</ruleset>
2 changes: 2 additions & 0 deletions templates/files/magento2/phpstan.neon
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
parameters:
excludePaths:
# - %rootDir%/../../../path/to/exclude/*
ignoreErrors:
- '#(class|type) [A-z]*\\TestFramework#i'
- '#(class|type) [A-z]*\\\S*Factory#i'

0 comments on commit 61155f4

Please sign in to comment.