Warning: This page has not been updated in over over a year and may be outdated or deprecated.
development:recommended_tools
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
vufind2:recommended_tools [2015/12/10 19:51] – [Meeting Project Standards] demiankatz | development:recommended_tools [2023/03/22 18:32] – [Grunt] demiankatz | ||
---|---|---|---|
Line 1: | Line 1: | ||
====== Recommended Tools ====== | ====== Recommended Tools ====== | ||
- | Developers are free to use whatever tools they prefer, but this page provides some suggestions that may help newcomers make the most of VuFind | + | Developers are free to use whatever tools they prefer, but this page provides some suggestions that may help newcomers make the most of VuFind® |
===== Editors / IDEs ===== | ===== Editors / IDEs ===== | ||
Line 7: | Line 7: | ||
Some developers prefer to use a simple text editor to quickly and easily edit individual files. Others prefer a full-fledged IDE (Integrated Development Environment) which imposes a "whole project" | Some developers prefer to use a simple text editor to quickly and easily edit individual files. Others prefer a full-fledged IDE (Integrated Development Environment) which imposes a "whole project" | ||
- | At Villanova, Demian uses the [[https://netbeans.org/|Netbeans IDE]] for most of his work, while Chris uses the [[https:// | + | At Villanova, Demian uses the free, open source |
===== Version Control ===== | ===== Version Control ===== | ||
- | It is strongly recommended that you use some sort of version control software to keep track of revisions while programming. This provides a valuable safety net for reverting bad changes, remembering why particular adjustments were made, etc. In the case of [[Git]], the tool used by VuFind, it also offers powerful collaboration and sharing capabilities. Whether you plan to work locally or share with the local community, [[Git]] is a tool worth learning more about, as is the [[http:// | + | It is strongly recommended that you use some sort of version control software to keep track of revisions while programming. This provides a valuable safety net for reverting bad changes, remembering why particular adjustments were made, etc. In the case of [[development: |
+ | ===== Dependency Management ===== | ||
+ | |||
+ | VuFind® loads its external dependencies using [[development: | ||
+ | |||
+ | ===== NPM Scripts / Grunt ===== | ||
+ | |||
+ | VuFind®, as of version 9.0, uses [[development: | ||
===== Meeting Project Standards ===== | ===== Meeting Project Standards ===== | ||
- | The VuFind | + | The VuFind® |
+ | |||
+ | ==== Checking Everything ==== | ||
+ | |||
+ | While you can open a pull request and check for problems after the fact through GitHub' | ||
+ | |||
+ | < | ||
+ | vendor/ | ||
+ | </ | ||
==== Tests ==== | ==== Tests ==== | ||
- | The [[unit tests]] page talks about how to run tests locally. | + | The [[development: |
==== Style ==== | ==== Style ==== | ||
- | For style compliance, | + | For style compliance, |
- | To test style compliance with PHP_CodeSniffer, | + | To test style compliance with PHP_CodeSniffer |
< | < | ||
- | phpcs --standard=PEAR [file] | + | vendor/bin/phpcs --standard=PEAR [file] |
+ | </ | ||
+ | |||
+ | Or, through [[https:// | ||
+ | |||
+ | < | ||
+ | vendor/ | ||
</ | </ | ||
Line 34: | Line 55: | ||
< | < | ||
- | phpcbf | + | vendor/ |
</ | </ | ||
- | To automatically fix additional issues with php-cs-fixer, you can install [[https:// | + | To automatically fix additional issues with php-cs-fixer, |
< | < | ||
- | phing php-cs-fixer | + | vendor/bin/phing php-cs-fixer |
</ | </ | ||
- | (Note that this assumes | + | If you are unwilling or unable to run these tools locally, note that if you open a pull request against |
- | If you are unwilling or unable to run these tools locally, note that if you open a pull request against the [[https://github.com/vufind-org/vufind|main VuFind repo]], they will be automatically | + | ==== Static Analysis ==== |
+ | |||
+ | VuFind® uses [[https://phpstan.org/|PHPStan]] for static code analysis; it helps detect common programming errors like incorrect types, unused variables, etc. Paying attention to PHPStan reports can help you write better-quality code and avoid subtle bugs. To run a PHPStan test, you can use this command: | ||
+ | |||
+ | < | ||
+ | vendor/ | ||
+ | </ | ||
---- struct data ---- | ---- struct data ---- | ||
+ | properties.Page Owner : | ||
---- | ---- | ||
development/recommended_tools.txt · Last modified: 2023/10/20 12:02 by demiankatz