The `page_width` option in the analysis_options.yaml is ignored
json_serializable disregards the page_width setting in analysis_options.yaml and uses the default value of 80. Therefore, if a different page_width is specified in the project's analysis_options.yaml, a separate formatting step is required after running build_runner build.
https://github.com/google/json_serializable.dart/blob/83e79058f3da3f912965dd9356796f25c41ae1b3/json_serializable/lib/src/json_part_builder.dart#L113-L114
Steps to Reproduce
This behavior can be reproduced in the json_serializable.dart project.
- Set a
page_widthvalue other than 80 in/analysis_options.yaml:formatter: page_width: 120 - Navigate to the
/example. - Run
dart run build_runner build -d.- The generated code is formatted with page_width
80.
- The generated code is formatted with page_width
- Run
dart format lib/.- The generated code is formatted with page_width
120.
- The generated code is formatted with page_width
- Run
dart run build_runner build -d.- The generated code is formatted with page_width
80.
- The generated code is formatted with page_width
Proposal
How about adding the line // dart format width=80 to the generated code?
https://github.com/dart-lang/dart_style/blob/bacc9bf8fcec6fffc15ad7e9257b7faba5298ea9/CHANGELOG.md#300
Trailing comma
As reported in https://github.com/google/json_serializable.dart/issues/1486, the trailing commas option is also not reflected. However, since commas are removed when formatted with TrailingCommas.automate, I cannot think of any cases where additional formatting would be necessary.
This should be solved in build_runner https://github.com/dart-lang/build/issues/3887