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.
What is the previous behavior before this PR?
The options of
Settings
were repeated incli.js
,type SettingsOptions
,class Settings
, andSettings::constructor()
. This caused some options missing in the CLI, #2237, #2428, andminRuleThickness
.What is the new behavior after this PR?
DRY options in
cli.js
,Settings::constructor()
, andtype SettingsOptions
. UseSETTINGS_SCHEMA
and$Shape<Settings>
, respectively.This adds
-f, --format <type>
and--min-rule-thickness <size>
to the CLI. Fixes #2237 and closes #2241. It also exportsSETTINGS_SCHEMA
, so developers and users could use.Currently, Flow checks if a non-existent property on Settings exists on the schema.
In the future, we could
options
against the schema, throwing on unknown values or type mismatches (this would be a breaking change)Settings
exist on the schemaSettings
matches the schema (I'd like to do these two after Consider using TypeScript instead of Flow #2110)