puppetlabs / puppet-lint

Check that your Puppet manifests conform to the style guide
https://puppetlabs.github.io/puppet-lint/
MIT License
19 stars 13 forks source link

class rules should apply to plans as well #215

Open bastelfreak opened 1 month ago

bastelfreak commented 1 month ago

Use Case

We've a lot of checks that apply to classes (and sometimes defined resources). For example the parameter_order check. It ensures that parameter without a value are listed before parameters with a value. I think those checks should apply to plans as well, but puppet-lint explicitly only checks classes and defined resources: https://github.com/puppetlabs/puppet-lint/blob/main/lib/puppet-lint/plugins/check_classes/parameter_order.rb#L8

Describe the Solution You Would Like

Treat plans as classes and apply the same checks.

Describe Alternatives You've Considered

Additional Context

jay7x commented 1 month ago

I miss it when working on Bolt plans in a VSCode with Puppet plugin! Though need to check carefully for any corner cases. E.g. direct lookup() is pretty ok to have in a plan.

bastelfreak commented 1 month ago

Yes, not all checks apply to plans. But the majority.

jordanbreen28 commented 4 days ago

We don't believe plans have been fully reviewed in terms of style and semantics in the same fashion as the puppet language. Thanks for raising but to get more info we'll defer to @davidsandilands.