mrmans0n / compose-rules

Lint rules for ktlint/detekt aimed to contribute to a healthier usage of Compose. Actively maintained and evolved fork of the Twitter Compose rules.
https://mrmans0n.github.io/compose-rules
Other
525 stars 19 forks source link

Update ktlint to v1.3.0 #283

Closed renovate[bot] closed 3 weeks ago

renovate[bot] commented 1 month ago

Mend Renovate

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
com.pinterest.ktlint:ktlint-test 1.2.1 -> 1.3.0 age adoption passing confidence
com.pinterest.ktlint:ktlint-cli-ruleset-core 1.2.1 -> 1.3.0 age adoption passing confidence
com.pinterest.ktlint:ktlint-rule-engine 1.2.1 -> 1.3.0 age adoption passing confidence
com.pinterest.ktlint:ktlint-rule-engine-core 1.2.1 -> 1.3.0 age adoption passing confidence

Release Notes

pinterest/ktlint (com.pinterest.ktlint:ktlint-test) ### [`v1.3.0`](https://togithub.com/pinterest/ktlint/blob/HEAD/CHANGELOG.md#130---2024-06-04) [Compare Source](https://togithub.com/pinterest/ktlint/compare/1.2.1...1.3.0) ##### 🆕 Features - Support partial formatting - [#​2631](https://togithub.com/pinterest/ktlint/pull/2631), by [@​paul-dingemans](https://togithub.com/paul-dingemans) - Suppress `property-name` rule for `ObjectPropertyName` or `PrivatePropertyName` - [#​2643](https://togithub.com/pinterest/ktlint/pull/2643), by [@​paul-dingemans](https://togithub.com/paul-dingemans) - Let API Consumer decide whether a LintError has to be autocorrected, or not - [#​2671](https://togithub.com/pinterest/ktlint/pull/2671), by [@​paul-dingemans](https://togithub.com/paul-dingemans) - Promote experimental rules to non-experimental - [#​2674](https://togithub.com/pinterest/ktlint/pull/2674), by [@​paul-dingemans](https://togithub.com/paul-dingemans) - [binary-expression-wrapping](https://pinterest.github.io/ktlint/latest/rules/standard/#backing-property-naming) - [chain-method-continuation](https://pinterest.github.io/ktlint/latest/rules/standard/#chain-method-continuation) - [class-signature](https://pinterest.github.io/ktlint/latest/rules/standard/#class-signature) - [condition-wrapping](https://pinterest.github.io/ktlint/latest/rules/standard/#condition-wrapping) - [function-expression-body](https://pinterest.github.io/ktlint/latest/rules/standard/#function-expression-body) - [function-literal](https://pinterest.github.io/ktlint/latest/rules/standard/#function-literal) - [function-type-modifier-spacing](https://pinterest.github.io/ktlint/latest/rules/standard/#function-type-modifier-spacing) - [multiline-loop](https://pinterest.github.io/ktlint/latest/rules/standard/#multiline-loop) ##### 🔧 Fixes - Do not wrap operation reference after multiline string template - [#​2591](https://togithub.com/pinterest/ktlint/pull/2591), by [@​paul-dingemans](https://togithub.com/paul-dingemans) - Ignore max line length in case the line contains only a string template followed by a comma - [#​2598](https://togithub.com/pinterest/ktlint/pull/2598), by [@​paul-dingemans](https://togithub.com/paul-dingemans) - Ignore nested reference expressions in `chain-method-continuation` - [#​2606](https://togithub.com/pinterest/ktlint/pull/2606), by [@​paul-dingemans](https://togithub.com/paul-dingemans) - Prevent exception in `binary-expression-wrapping` rule - [#​2607](https://togithub.com/pinterest/ktlint/pull/2607), by [@​paul-dingemans](https://togithub.com/paul-dingemans) - Do not merge opening quotes of multiline string template with (single line) function signature - [#​2609](https://togithub.com/pinterest/ktlint/pull/2609), by [@​paul-dingemans](https://togithub.com/paul-dingemans) - Fix replacement of redundant curly braces - [#​2617](https://togithub.com/pinterest/ktlint/pull/2617), by [@​paul-dingemans](https://togithub.com/paul-dingemans) - Set and reset Locale to pass test for non-english contributor. - [#​2622](https://togithub.com/pinterest/ktlint/pull/2622), by [@​Jaehwa-Noh](https://togithub.com/Jaehwa-Noh) - Fix unwanted whitespace between super class constructor and its argument list - [#​2630](https://togithub.com/pinterest/ktlint/pull/2630), by [@​tKe](https://togithub.com/tKe) - Fix typo's - [#​2641](https://togithub.com/pinterest/ktlint/pull/2641), by [@​paul-dingemans](https://togithub.com/paul-dingemans) - Handle trailing space on preceding line in call to `lineLengthWithoutNewlinePrefix` - [#​2644](https://togithub.com/pinterest/ktlint/pull/2644), by [@​paul-dingemans](https://togithub.com/paul-dingemans) - Fix KDoc for RuleSetProviderV3 - [#​2645](https://togithub.com/pinterest/ktlint/pull/2645), by [@​gumimin](https://togithub.com/gumimin) - Fix not checking for spacing around binary operators inside unary expression - [#​2653](https://togithub.com/pinterest/ktlint/pull/2653), by [@​cflee](https://togithub.com/cflee) - Fix `blank line before declarations` rule code example - [#​2657](https://togithub.com/pinterest/ktlint/pull/2657), by [@​k-taro56](https://togithub.com/k-taro56) - Fixed \[{ }] notation for issue [#​2675](https://togithub.com/pinterest/ktlint/issues/2675) - [#​2677](https://togithub.com/pinterest/ktlint/pull/2677), by [@​Jolanrensen](https://togithub.com/Jolanrensen) - Simplify default properties loading - [#​2679](https://togithub.com/pinterest/ktlint/pull/2679), by [@​Goooler](https://togithub.com/Goooler) ##### 📦 Dependencies - Update dependency org.jetbrains.dokka:dokka-gradle-plugin to v1.9.20 - [#​2590](https://togithub.com/pinterest/ktlint/pull/2590), by [@​renovate](https://togithub.com/renovate)\[bot] - Update softprops/action-gh-release action to v2 - [#​2600](https://togithub.com/pinterest/ktlint/pull/2600), by [@​renovate](https://togithub.com/renovate)\[bot] - Update dependency io.github.detekt.sarif4k:sarif4k to v0.6.0 - [#​2605](https://togithub.com/pinterest/ktlint/pull/2605), by [@​renovate](https://togithub.com/renovate)\[bot] - Update dependency gradle to v8.7 - [#​2616](https://togithub.com/pinterest/ktlint/pull/2616), by [@​renovate](https://togithub.com/renovate)\[bot] - Migrate to develocity plugin - [#​2625](https://togithub.com/pinterest/ktlint/pull/2625), by [@​Goooler](https://togithub.com/Goooler) - Update dependency org.slf4j:slf4j-simple to v2.0.13 - [#​2632](https://togithub.com/pinterest/ktlint/pull/2632), by [@​renovate](https://togithub.com/renovate)\[bot] - Update gradle/wrapper-validation-action action to v3 - [#​2633](https://togithub.com/pinterest/ktlint/pull/2633), by [@​renovate](https://togithub.com/renovate)\[bot] - Update dependency io.github.oshai:kotlin-logging-jvm to v6.0.9 - [#​2634](https://togithub.com/pinterest/ktlint/pull/2634), by [@​renovate](https://togithub.com/renovate)\[bot] - Update dependency com.github.ajalt.clikt:clikt to v4.4.0 - [#​2647](https://togithub.com/pinterest/ktlint/pull/2647), by [@​renovate](https://togithub.com/renovate)\[bot] - Update kotlin monorepo to v1.9.24 - [#​2649](https://togithub.com/pinterest/ktlint/pull/2649), by [@​renovate](https://togithub.com/renovate)\[bot] - Update plugin com.gradle.develocity to v3.17.4 - [#​2660](https://togithub.com/pinterest/ktlint/pull/2660), by [@​renovate](https://togithub.com/renovate)\[bot] - Update dependency dev.drewhamilton.poko:poko-gradle-plugin to v0.15.3 - [#​2662](https://togithub.com/pinterest/ktlint/pull/2662), by [@​renovate](https://togithub.com/renovate)\[bot] - Update actions/checkout digest to [`a5ac7e5`](https://togithub.com/pinterest/ktlint/commit/a5ac7e5) - [#​2664](https://togithub.com/pinterest/ktlint/pull/2664), by [@​renovate](https://togithub.com/renovate)\[bot] - Update dependency org.assertj:assertj-core to v3.26.0 - [#​2669](https://togithub.com/pinterest/ktlint/pull/2669), by [@​renovate](https://togithub.com/renovate)\[bot]

Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

â™» Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about these updates again.



This PR has been generated by Mend Renovate. View repository job log here.

paul-dingemans commented 1 month ago

May I ask your special attention for https://pinterest.github.io/ktlint/latest/api/custom-integration/#rule-ruleautocorrectapprovehandler when upgrading to Ktlint 1.3.0? The compose ruleset is the most used custom ruleset in the ktlint-intellij-plugin that I am aware of. Users have requested many time that the plugin would support fixing of individual violation when using the plugin in manual mode. This is now possible for rule that implement a new interface.

paul-dingemans commented 1 month ago

Currently, I am also investigating why the Compose rulesets no longer works in the development version of the plugin after upgrade to ktlint 1.3.0. I might need some additional change. I will let you know in a couple of days. If possible, it would be best no to release a version with the ktlint 1.3.0 upgrade.

paul-dingemans commented 1 month ago

Currently, I am also investigating why the Compose rulesets no longer works in the development version of the plugin after upgrade to ktlint 1.3.0. I might need some additional change. I will let you know in a couple of days. If possible, it would be best no to release a version with the ktlint 1.3.0 upgrade.

Compose-rules starting from version 0.3.11 are working again in development (0.23.0) version of ktlint-intellij-plugin which is based on Ktlint 1.3.0. No change is needed from your side.

If compose-rules also do support autocorrect then please implement the interface as mentioned below:

May I ask your special attention for https://pinterest.github.io/ktlint/latest/api/custom-integration/#rule-ruleautocorrectapprovehandler when upgrading to Ktlint 1.3.0? The compose ruleset is the most used custom ruleset in the ktlint-intellij-plugin that I am aware of. Users have requested many time that the plugin would support fixing of individual violation when using the plugin in manual mode. This is now possible for rule that implement a new interface.

mrmans0n commented 3 weeks ago

Updated the rules infra to support this new style of fine grained fixes.