Show HN: Gatehouse-TS – TypeScript port of Rust's authorization policy framework

TL;DR Gatehouse-TS is a zero-dependencies authorization policy library written in TypeScript, ported from Rust.It allows you to combine different access control policies to check before allowing someone to access a resource.A few weeks ago, I saw a post on HN about Gatehouse, an authorization library written in Rust. Here's the original HN thread: https://news.ycombinator.com/item?id=43466221I looked at their GitHub page, and started reading the source code. I do this for anything posted here that catches my attention, even if it's written in a language I don't understand. The code was relatively easy to follow, even though I'm not a Rust programmer.Why did I decide to try rewriting it in TypeScript? For fun, of course! That was basically the only reason. I had nothing to do on a weekend and wanted to write code. It _did_ help with some challenges I was facing at $day_job, but that came afterwards.I emailed the authors of the Rust version, telling them that I was working in a TypeScript version, and they kindly blessed me to publish it with a similar name.Overall I'm very happy with it. The original authors provided an amazing foundation for a port, I had fun rewriting it and trying to adapt their APIs from Rust to TypeScript. As a bonus, it was immediately useful at work as well.I appreciate any feedback or thoughts on it. Please check out the original project as well, since most of the hard work was done by them: https://github.com/thepartly/gatehouseDocumentation: https://9morello.github.io/gatehouse-ts/ Comments URL: https://news.ycombinator.com/item?id=43674016 Points: 3 # Comments: 0

Avr 13, 2025 - 18:20
 0
Show HN: Gatehouse-TS – TypeScript port of Rust's authorization policy framework

TL;DR Gatehouse-TS is a zero-dependencies authorization policy library written in TypeScript, ported from Rust.

It allows you to combine different access control policies to check before allowing someone to access a resource.

A few weeks ago, I saw a post on HN about Gatehouse, an authorization library written in Rust. Here's the original HN thread: https://news.ycombinator.com/item?id=43466221

I looked at their GitHub page, and started reading the source code. I do this for anything posted here that catches my attention, even if it's written in a language I don't understand. The code was relatively easy to follow, even though I'm not a Rust programmer.

Why did I decide to try rewriting it in TypeScript? For fun, of course! That was basically the only reason. I had nothing to do on a weekend and wanted to write code. It _did_ help with some challenges I was facing at $day_job, but that came afterwards.

I emailed the authors of the Rust version, telling them that I was working in a TypeScript version, and they kindly blessed me to publish it with a similar name.

Overall I'm very happy with it. The original authors provided an amazing foundation for a port, I had fun rewriting it and trying to adapt their APIs from Rust to TypeScript. As a bonus, it was immediately useful at work as well.

I appreciate any feedback or thoughts on it. Please check out the original project as well, since most of the hard work was done by them: https://github.com/thepartly/gatehouse

Documentation: https://9morello.github.io/gatehouse-ts/


Comments URL: https://news.ycombinator.com/item?id=43674016

Points: 3

# Comments: 0