{"id":18668147,"url":"https://github.com/eonx-com/standards","last_synced_at":"2025-09-08T09:40:05.551Z","repository":{"id":56978345,"uuid":"127977953","full_name":"eonx-com/standards","owner":"eonx-com","description":"Coding standard related files and checks","archived":false,"fork":false,"pushed_at":"2020-03-17T06:18:50.000Z","size":103,"stargazers_count":1,"open_issues_count":1,"forks_count":0,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-07-19T02:12:17.203Z","etag":null,"topics":["library"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/eonx-com.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-04-03T22:55:23.000Z","updated_at":"2022-09-08T23:23:10.000Z","dependencies_parsed_at":"2022-08-21T11:50:27.971Z","dependency_job_id":null,"html_url":"https://github.com/eonx-com/standards","commit_stats":null,"previous_names":["loyaltycorp/standards"],"tags_count":10,"template":false,"template_full_name":null,"purl":"pkg:github/eonx-com/standards","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eonx-com%2Fstandards","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eonx-com%2Fstandards/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eonx-com%2Fstandards/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eonx-com%2Fstandards/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/eonx-com","download_url":"https://codeload.github.com/eonx-com/standards/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eonx-com%2Fstandards/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":274166483,"owners_count":25233957,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-08T02:00:09.813Z","response_time":121,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["library"],"created_at":"2024-11-07T08:41:33.849Z","updated_at":"2025-09-08T09:40:05.436Z","avatar_url":"https://github.com/eonx-com.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# EoneoPay Standards Library\n\nThis library provides the tools required to check a codebase against the EoneoPay coding standards.\n\n## Installation\n\nThis library is installed via composer:\n\n    composer require --dev eonx-com/standards dev-master\n    \n### Requirements\n\nThis library requires a minimum of PHP 5.6.\n    \n### Compatible tools\n    \nThis library will automatically run the following packages if they are found on the system. They can be installed via composer or available globally, e.g. installed via brew.\n\n| Package | Purpose |\n|---------|---------|\n| [Copy/Paste Detector](https://github.com/sebastianbergmann/phpcpd) | Detect code duplication |\n| [Paratest](https://github.com/paratestphp/paratest) | Run unit tests in parallel |\n| [PHP CodeSniffer](https://github.com/squizlabs/PHP_CodeSniffer) | Check code style |\n| [PHP CS Fixer](https://github.com/FriendsOfPHP/PHP-CS-Fixer) | Standardise code style |\n| [PHP Mess Detector](https://phpmd.org) | Check coding best practices |\n| [PHPStan](https://github.com/phpstan/phpstan) | Static analysis of code to detect potential errors |\n| [PHPUnit](https://phpunit.de) | Run unit tests |\n| [Security Checker](https://security.symfony.com/) | Check project's dependencies for known vulnerabilities |\n\n### Recommended extensions\n\nIt's recommended you also install the following extensions for PHP.\n\n| Extension | Purpose |\n|-----------|---------|\n| [Xdebug](https://xdebug.org) | Calculate code coverage of unit tests |\n\n## Checking your codebase\n\nYou can simply run `es` from the vendor directory to check your code base, any packages which are installed will be run automatically.\n\n    bash vendor/bin/es\n    \nAny php files in the `app/`, `src/` or `tests/` directories of your application or library will be checked by default. If change detection is used a partial scan will be performed where possible.\n\n### Forcing a full scan\n\nYou may want to run a full scan while using change detection. You can pass the `-f` flag to force a full scan.\n\n    bash vendor/bin/es -f\n\n### Running a verbose scan\n\nYou may want to run a scan which shows all actions taken and their outcomes. You can pass the `-v` flag to force a verbose scan.\n\n    bash vendor/bin/es -v\n\n## Configuration\n\nYou can fine tune the configuration by adding an `standards.cfg` file to the root directory of your application or library and adjusting the following variables:\n\n```\n# Comma separated paths to files to check, absolute or relative to working directory\nPATHS=app,src,tests\n\n########## CHANGE DETECTION CONFIGURATION ##########\n# The primary branch for your repository which feature branches are merged into\nCD_PRIMARY_BRANCH=development\n# Branches which a full scan of the paths above should be performed\nCD_FULL_SCAN_BRANCHES=master,${CD_PRIMARY_BRANCH}\n\n########## PHP COPY/PASTE DETECTOR CONFIGURATION ##########\n# Whether or not to run php copy/paste detector, will run if phpcpd binary is found\nPHPCPD_ENABLED=true\n# A comma seperated list of regexes to exclude from copy/paste detection\nPHPCPD_EXCLUDE_REGEX=\n# The minimum number of lines which need to be duplicated to count as copy/paste\nPHPCPD_MIN_LINES=5\n# The minimum number of duplicated tokens within a line to count as copy/paste\nPHPCPD_MIN_TOKENS=70\n\n########## PHP CODE SNIFFER CONFIGURATION ##########\n# Whether or not to run php code sniffer, will run if phpcs binary is found\nPHPCS_ENABLED=true\n# The standards to compare code against, will be ignored if phpcs.xml exists\nPHPCS_STANDARDS=vendor/eoneopay/standards/php-code-sniffer/EoneoPay\n# Whether to show the code sniffs name on report output\nPHPCS_SHOW_SNIFF_NAME=true\n\n########## PHP CS FIXER CONFIGURATION ##########\n# Whether or not to run php code sniffer, will run if phpcs binary is found\nPHPCS_FIXER_ENABLED=true\n# Default rules to be used when no .php_cs file exists in the project\nPHPCS_FIXER_RULES='@PSR2,trailing_comma_in_multiline_array'\n\n########## PHP MESS DETECTOR CONFIGURATION ##########\n# Whether or not to run php mess destector, will run if phpmd binary is found\nPHPMD_ENABLED=true\n# The rulesets to use to determine issues, will be ignored if phpmd.xml exists\nPHPMD_RULESETS=cleancode,codesize,controversial,design,naming,unusedcode\n\n########## PHPSTAN CONFIGURATION ##########\n# Whether or not to run phpstan, will run if phpstan binary is found\nPHPSTAN_ENABLED=true\n# The reporting level, 1 = loose, 7 = strict\nPHPSTAN_REPORTING_LEVEL=7\n\n########## PHPUNIT CONFIGURATION ##########\n# Whether or not to run phpunit, will run if paratest or phpunit binary is found\nPHPUNIT_ENABLED=true\n# Whether or not to enable code coverage checks\nPHPUNIT_ENABLE_CODE_COVERAGE=true\n# The minimum percentage of coverage to have, will be ignored if coverage check is disabled\nPHPUNIT_COVERAGE_MINIMUM_LEVEL=90\n# The testsuites to run with coverage\nPHPUNIT_COVERAGE_TEST_SUITES=\n# The path to output junit parseable log file, can be relative, will be ignored if left blank\nPHPUNIT_JUNIT_LOG_PATH=\n# The directory containing tests, will be ignored it phpunit.xml exists in working directory\nPHPUNIT_TEST_DIRECTORY=tests\n# The test suites to run, will run all tests if not specified\nPHPUNIT_TEST_SUITES=\n\n########## SECURITY CHECKER CONFIGURATION ##########\n# Whether or not to run security-checker, will run if security-checker binary is found\nSECURITY_CHECKER_ENABLED=true\n```\n\n### Tool configuration\n\nYou can also configure individual tools by adding configuration files to the root directory of your application or library.\n\n| Package | Filename |\n|---------|----------|\n| [Paratest](https://phpunit.de/manual/current/en/appendixes.configuration.html) | phpunit.xml |\n| [PHP CodeSniffer](https://github.com/squizlabs/PHP_CodeSniffer/wiki/Annotated-ruleset.xml) | phpcs.xml |\n| [PHP CS Fixer](https://github.com/FriendsOfPHP/PHP-CS-Fixer#usage) | .php_cs |\n| [PHP Mess Detector](https://phpmd.org/documentation/creating-a-ruleset.html) | phpmd.xml |\n| [PHPStan](https://github.com/phpstan/phpstan#configuration) | phpstan.neon |\n| [PHPUnit](https://phpunit.de/manual/current/en/appendixes.configuration.html) | phpunit.xml |\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feonx-com%2Fstandards","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Feonx-com%2Fstandards","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feonx-com%2Fstandards/lists"}