Sharing something I've been working on lately: an AWS IAM Language Server (and VSCode extension). Use it with any editor that supports LSP
It can emit diagnostics for invalid actions, messed up regions/account ids, duplicate sids, etc. It also gives you completion for actions, arns, condition operators, context keys, etc
It also supports policies defined in any YAML, JSON, or Terraform/OpenTofu file, at any nested level, so your policies defined within a CloudFormation resource will be picked up
I'm consistently hitting weird bugs with opencode, like escape codes not being handled correctly so the tui output looks awful, or it hanging on the first startup. Maybe after they migrate to opentui it'll be better
I do like the model selection with opencode though
JSDoc provides the exact same level of type safety as TypeScript, because the TypeScript Language Server/CLI themselves are what does the type checking. Using JSDoc removes the need to transpile your code before executing it. You still want to type-check your code (with a `tsc --noEmit` or similar) in CI, just like you'd run unit tests/a linter/etc.
It can emit diagnostics for invalid actions, messed up regions/account ids, duplicate sids, etc. It also gives you completion for actions, arns, condition operators, context keys, etc
It also supports policies defined in any YAML, JSON, or Terraform/OpenTofu file, at any nested level, so your policies defined within a CloudFormation resource will be picked up
Check out the repo for more, feel free to open an issue if you have issues: https://github.com/mbarneyjr/aws-iam-language-server
If you use vscode you can get the extension here: https://marketplace.visualstudio.com/items?itemName=MichaelB...
Demo video: https://x.com/mbarneyjr/status/2039329871843729809