./devel/regal, Linter for Rego

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]


Branch: CURRENT, Version: 0.19.0nb1, Package name: regal-0.19.0nb1, Maintainer: leot

Regal is a linter for Rego, with the goal of making your Rego
magnificent!

Regal goals are:

- Identify common mistakes, bugs and inefficiencies in Rego policies,
and suggest better approaches
- Provide advice on best practices, coding style, and tooling
- Allow users, teams and organizations to enforce custom rules on their
policy code

Regal rules are to as large extent as possible written in Rego
themselves, using the JSON representation of the Rego abstract syntax
tree (AST) as input, a few additional custom built-in functions and
some indexed data structures to help with linting.


Master sites:

Filesize: 949.378 KB

Version history: (Expand)


CVS history: (Expand)


   2024-04-05 21:14:14 by Benny Siegert | Files touched by this commit (161) | Package updated
Log message:
Revbump all Go packages after go121 update
   2024-03-24 20:50:29 by Leonardo Taccari | Files touched by this commit (3) | Package updated
Log message:
regal: Update to 0.19.0

Changes:
0.19.0
------
This release adds several new options for setting configuration options
for rules in groups, allowing users to keep a static configuration
across updates, or to ignore certainly classes of rules. v0.19.0 also
includes a number of fixes to both linter rules and the language server
integration, making for an even better experience when using Regal from
VS Code or other LSP clients.

0.18.0
------
Only a week after v0.17.0, this release comes a little earlier than
planned as we found a few issues in the VS Code OPA extension
integration that we wanted to address as soon as possible. Nothing
serious, but having that extension provide a great Regal experience
feels important enough for us to warrant an earlier v0.18.0 release.
That's not all there is to this release though, as we have both a new
linter rule as well as a bunch of fixes included here. Enjoy!
   2024-02-23 23:41:20 by Leonardo Taccari | Files touched by this commit (3) | Package updated
Log message:
regal: Update to 0.17.0

Changes:
v0.17.0
-------
This is a fairly big release, adding 4 new linter rules and a whole
bunch of improvements and fixes.

- New rule: `with-outside-test-context`
- New rule: `circular-import`
- New rule: `rule-name-repeats-package`
- New rule: `double negative`

## Improvements

* The Regal language server now supports client shutdown messages
* The docs on how to ignore rules and files have been greatly improved.

## Bugs Fixed

* Fix false positives in prefer-some-in-iteration
* Fix false positive in external-reference rule when using `=` for
  assignment (although you shouldn't!)
* The Regal language server now correctly handles URIs and paths on Windows

## Ecosystem

The setup-regal GitHub Action has been promoted to v1. This fixes the
warning in pipelines about depending on an old Node version. Make sure
to update your workflows!

v0.16.0
-------
This release adds 2 new linter rules and a language server protocol
(LSP) implementation to Regal.

- New rule: `duplicate-rule`
- New rule: `use-rego-v1`

## New feature: Regal language server

The Language Server Protocol (LSP) provides a way for editors to
integrate support for various programming languages using a common
protocol. Using an LSP server implementation rather than one built
specifically for a single editor allows the same code to be used across
all editors with LSP support. v0.16.0 brings a language server mode to
Regal, allowing diagnostics (i.e. linting) of Rego to be performed
continuously in a workspace rather than as a one-off CLI operation.
This is the first step towards bringing Regal into editors like VS
Code, and having linting of Rego natively supported as you work with
your policies. Expect to see more in this space soon!
   2024-02-07 15:51:04 by Benny Siegert | Files touched by this commit (156) | Package updated
Log message:
Revbump all Go packages after go121 update
   2024-01-10 20:14:43 by Benny Siegert | Files touched by this commit (152) | Package updated
Log message:
Revbump all Go packages after go121 update
   2024-01-07 11:42:23 by Leonardo Taccari | Files touched by this commit (3)
Log message:
regal: Update to 0.15.0

Changes:
0.15.0
------
This release brings 2 new linter rules, and a few improvements and fixes.

- New rule: `deprecated-builtin`
- New rule: `default-over-not`
- Other improvements
    - Ignore directives can now be placed anywhere in a comment, and not
      just at the start of one.
- Several bugs fixes
   2023-12-31 22:19:24 by Leonardo Taccari | Files touched by this commit (3)
Log message:
regal: Update to 0.14.0

Changes:
v0.14.0
-------
This release brings 2 new linter rules, a new output format, and many
improvements and fixes.

- New rule: `boolean-assignment`
- New rule: `redundant-existence-check`
- New SARIF output format
- Several bug fixes
- Several improvements

v0.13.0
-------
This release brings 3 new linter rules, several performance
improvements, and many fixes and tweaks to existing rules.

- New rules: `use-if` and `use-contains`
- New rule: `if-empty-object`
- Performance improvements
- Other improvements
- Several bugs fixed

v0.12.0
-------
This release adds a long-awaited **capabilities** feature to Regal.
v0.12.0 also brings four new linter rules, and the usual improvements
and fixes.

- Capabilities: it is now possible to tell Regal which version of OPA
  (or other project built on top of OPA!) you are targeting For more
  information, see the docs on <https://docs.styra.com/regal#configuration>.
- New rule: `inconsistent-args`
- New rule: `unnecessary-some`
- New rule: `yoda-condition`
- New rule: `one-liner-rule`
- Ignore directives improvement
- Other improvements
- Several bugs fixed

v0.11.0
-------
Regal goes to v0.11.0! This release constitutes a milestone for the
project, as we now ship with 50 built-in rules in total!

Regal now provides a GitHub Action at
<https://github.com/StyraInc/setup-regal> for easily integrating Regal
into your CI pipeline.

The v0.11.0 release contains six new rules, and a number of
improvements and fixes.

- New rule: `import-after-rule`
- New rule: `import-shadows-builtin`
- New rule: `prefer-set-or-object-rule`
- New rule: `equals-pattern-matching`
- New rule: `zero-arity-function`
- New rule: `prefer-value-in-head`
- Other improvements
- Several bugs fixed
   2023-12-05 20:46:19 by Benny Siegert | Files touched by this commit (146) | Package updated
Log message:
Revbump all Go packages after go121 update