Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/diablomedia/arcanist-extensions
Extensions for Arcanist (linting/unit test engines)
https://github.com/diablomedia/arcanist-extensions
Last synced: 5 days ago
JSON representation
Extensions for Arcanist (linting/unit test engines)
- Host: GitHub
- URL: https://github.com/diablomedia/arcanist-extensions
- Owner: diablomedia
- License: other
- Created: 2024-08-28T20:49:49.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2024-11-28T22:50:33.000Z (29 days ago)
- Last Synced: 2024-12-08T23:48:20.910Z (19 days ago)
- Language: PHP
- Size: 77.1 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Arcanist Extensions
Extensions for [Arcanist](https://github.com/phacility/arcanist) (should also work with any forks of Arcanist, like the one bundled with [Phorge](https://github.com/phorgeit/arcanist))
## Installation
The recommended way to install these extensions is with composer. There are very few dependencies (only one, for the php-cs-fixer linter), so there shouldn't be many dependency conflicts.
`composer require diablomedia/arcanist-extensions --dev`
If composer installation is not possible, you can clone this repo somewhere in your system and point your `.arcconfig` to the path where this is installed. You can also install it in the same location as your `arcanist` and `libphutil` directories, and arcanist should find the extensions there.
## Configuration
To enable all of the extensions in this repository, you just need to add one line to your `.arcconfig` file's "load" section:
```json
{
"load": ["vendor/diablomedia/arcanist-extensions/extensions/"]
}
```If you don't want to enable all of the extensions in your config (technically they're not used until you configure them in your `.arclint` (for linters) or `.arcconfig` (for unit test engines)) you can load each extension individually, for example:
```json
{
"load": [
"vendor/diablomedia/arcanist-extensions/extensions/composer_validate_linter",
"vendor/diablomedia/arcanist-extensions/extensions/phpstan_linter"
]
}
```To configure the extension to run in your arcanist project, please reference each extension's README file (linked below).
## Extensions Included
- Linters
- [Composer Validate](extensions/composer_validate_linter/README.md) - Validate composer.json and composer.lock files (using `composer --validate` command)
- [PHP CS Fixer](extensions/php_cs_fixer_linter/README.md) - Runs [PHP CS Fixer](https://github.com/PHP-CS-Fixer/PHP-CS-Fixer)
- [PHPStan](extensions/phpstan_linter/README.md) - Runs [PHPStan](https://github.com/phpstan/phpstan)
- Unit Test Engines
- [Jest](extensions/jest_unit_test_engine/README.md) - Runs [Jest](https://github.com/jestjs/jest) (for Javascript tests) and processes coverage report
- [Vitest](extensions/vitest_unit_test_engine/README.md) - Runs [Vitest](https://github.com/vitest-dev/vitest) (for Javascript tests) and processes coverage report
- [Multi Test Engine](extensions/multi_test_engine/README.md) - Allows configuration of multiple unit test engines (useful for repositories that contain tests for different languages, i.e. PHP and JS for a repo that contains server-side (PHP) and client side (Javascript) tests)## Acknowledgements
Some of these linters come from forks of other linters found on github that are generally not maintained anymore (or we forked due to some difference in functionality that worked better for us). Check out the README for each linter, which will link back to the original project.