Shopify/packwerk

[Bug Report] Improve strict mode

gmcgibbon opened this issue · 2 comments

Description
Strict mode is a great feature for zero violation packages, but I think it could be better.

To Reproduce
Enable strict mode for a package and run packwerk check.

Expected Behaviour
There are two problems:

  • It should raise when you run check / update without having the violation already recorded in your package_todo.yml.
  • It should clearly indicates that the text is an error (add emojis or text colour or something to make it look like an error).

Screenshots

% bin/packwerk check
Running via Spring preloader in process 629777
running spring after_fork
📦 Packwerk is inspecting 58252 files
....[etc.]
📦 Finished in 13.49 seconds

No offenses detected
No stale violations detected
strict_package cannot have dependency violations on other_package because strict mode is enabled for dependency violations in the enforcing package's package.yml

Version Information

  • Packwerk: 3.0.0 / edge
  • Ruby 3.2.1

Additional Context
Add better error formatting and make the error happen sooner (without having to record it).

Is there an update on this? It would be great if strict mode only stopped you adding new violations, but allowed existing violations to exist. We have only just implemented packwerk, and have a lot of cleaning up to do in terms of existing violations, but we want to ensure no new ones are added.

The docs also imply strict mode is only for new violations, so if this behaviour isnt going to change perhaps they could be updated to better reflect what strict mode does?