google / google/json_serializable.dart
The `page_width` option in the analysis_options.yaml is ignored
- Dominant language
- Dart
- Stars
- 1.6k
- Forks
- 461
- Avg merge
- 45m
- Merged PRs (30d)
- 1
Description
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.
1. Set a `page_width` value other than 80 in `/analysis_options.yaml`:
```yaml
formatter:
page_width: 120
```
2. Navigate to the `/example`.
3. Run `dart run build_runner build -d`.
* The generated code is formatted with page_width `80`.
4. Run `dart format lib/`.
* The generated code is formatted with page_width `120`.
5. Run `dart run build_runner build -d`.
* The generated code is formatted with page_width `80`.
### 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.
Contributor guide
Assessment
This issue has not been assessed yet.