Migrate to using neo-blessed as underlying blessed renderer. #270
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR migrates us to using
neo-blessed
🎉, an actively maintained fork ofblessed
. After doing some experimentation to look at a full rewrite withreact-blessed
orink
, I found significant drawbacks to each.With
react-blessed
, there are some weird behaviors with some of the core styling APIs ofblessed
(for example, usingpadding
breaks layout entirely). Moreover, the attributes supplied to JSX nodes inreact-blessed
just desugar to calls toblessed
anyways, so we don't get any underlying enhancements for what would be a considerable migration.ink
isn't really in the same mold asblessed
and doesn't allow you to commandeer the terminal screen, so it feels like it'd be too much of a departure from what we currently have to justify the migration. We should definitely consider it for future CLIs tho!This PR also adds Prettier to the codebase. We use ESLint to run Prettier, so we shouldn't get any ESLint errors with this setup. We also expose a
format
script for users to run (assuming they don't already have their editor configured to format on save) and aformat:check
script that we run in CI to ensure formatting is consistent across PRs. There are no code changes in this PR, so any changes you see are purely Prettier rewrites.