apheleia/scripts
Ed Slocomb 54a192c345
Add support for formatters locally installed via yarn 2+ pnp mode (#200)
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>
2023-11-05 12:08:58 -08:00
..
formatters Add support for formatters locally installed via yarn 2+ pnp mode (#200) 2023-11-05 12:08:58 -08:00
apheleia-indent.el Add emacs-lisp formatting (#102) 2022-09-03 11:22:35 -07:00
check-line-length.bash Add support for formatters locally installed via yarn 2+ pnp mode (#200) 2023-11-05 12:08:58 -08:00
docker-install.bash Migrate from Semaphore CI to CircleCI 2019-11-16 22:01:04 -08:00
docker-pid1.bash Add formatter tests (#72) 2022-01-05 15:35:12 -08:00
docker-run.bash Add formatter tests (#72) 2022-01-05 15:35:12 -08:00
docker.bash Add formatter tests (#72) 2022-01-05 15:35:12 -08:00
pnp-bin.js Add support for formatters locally installed via yarn 2+ pnp mode (#200) 2023-11-05 12:08:58 -08:00