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.
Why strange? That was the first thing that came to mind when I read “sso” as part of the “enterprise’ offering, and was not surprised to see that someone else linked the sso tax website
Yeah on further reflection maybe the "immutable" part of this is that I never use the Spotify UI to modify my playlist - it only gets changed during terraform apply phases, which may change the playlist in random ways on each re-apply.
It's a handful of commands because git-cam and git-wip referenced other little utility scripts, so hopefully I got them all. Probably it would be easy to rewrite to be standalone.
I'm on a mac, and I have ripgrep installed as "rg". Ymmv, glhf :-)
So:
"git cam" commits everything with message "nt"
"git wip" undoes all the nt commits but leaves the results staged, ready to be commited as a single properly worded commit (or play w/ what's staged and do as several commits)
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