Gets all non-elisp dependencies into a single directory,
`scripts/formatters`
<!--
To expedite the pull request process, please see the contributor guide
for my projects:
<https://github.com/raxod502/contributor-guide>
-->
This adds support for formatters installed locally in project
directories via yarn 2's "zero install" [pnp
mode](https://yarnpkg.com/features/pnp).
It's quite similar to the support for formatters installed locally in a
project's `node_modules` via npm, and leverages the `npx` symbol, so
existing formatter definitions should work without modification.
This checks for a `.pnp.cjs` file (expected in the project root for yarn
pnp projects), then looks for a yarn executable, and checks the version
of yarn to make sure it supports pnp. If that works, we just push
`"yarn"` onto the front of `command`.
I've only tested this with a locally installed `prettier.js`. It's very
much a works-for-me draft, I'm putting in a PR to make sure this is a
workable approach before going any further with it.
---------
Co-authored-by: Radon Rosborough <radon@intuitiveexplanations.com>
* feat: add phpcs & introduce scripts/formatters
Add phpcs as a supported formatter, and include support for
apheleia-defined scripts for more troublesome formatters
* Revert Emacs version requirement
* More quoting
* Adjust language in documentation
* Thanks checkdoc, lol
Co-authored-by: Radon Rosborough <radon.neon@gmail.com>