perry
oauth
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
perry
-
Perry Compiles TypeScript directly to executables using SWC and LLVM
On other sites, like github and reddit. This exchange was funny though. He eventually gets called out by the other commenter to stop responding with an LLM: https://github.com/PerryTS/perry/issues/139#issuecomment-429...
- I am worried about Bun
- Perry compiles TypeScript to native GUI and CLI apps on 10 platforms
- Perry – TypeScript → Native
- PerryTS: Compile TypeScript to native executables with LLVM
-
Show HN: Pry – TypeScript compiled to native code, no Electron or V8
Hey HN — I've been building Perry, a compiler that takes TypeScript and emits native binaries. No V8, no runtime, no Electron. It maps to platform-native UI widgets: AppKit on macOS, UIKit on iOS, Android Views on Android, GTK4 on Linux, Win32 on Windows.
Pry is the first real app built with it — a JSON viewer, deliberately small.
It's in the iOS/macOS App Store and Google Play right now. Linux build works, Windows is waiting on code signing.
The compiler itself is written in Rust. It handles TypeScript parsing, type checking, and lowers to native code. The UI bindings aren't a wrapper library — the compiler generates the actual platform API calls.
This is a building-in-public thing. Pry is the proof-of-concept. The bigger goal is a full IDE. Happy to answer questions about the compiler architecture, the app store submission process, or anything else.
Compiler repo: https://github.com/PerryTS/perry
oauth
-
Perry Compiles TypeScript directly to executables using SWC and LLVM
'curl -s -X POST "https://github.com/login/oauth/access_token" -H "Accept: application/json" -d "client_id=' + GITHUB_CLIENT_ID + '&client_secret=' + GITHUB_CLIENT_SECRET + '&code=' + code + '"'
-
Show HN: Sifter – Does your CV stand out to LLMs?
Sounds intriguing but is GitHub login broken? It leads me to a 404 at
https://github.com/login/oauth/authorize?client_id=[redacted...
-
Building LoopSignal Part 3: Closing the Loop with GitHub Issues and Status Notifications
const state = Buffer.from( JSON.stringify({ projectId, userId: user.id }) ).toString("base64url"); const githubAuthUrl = new URL("https://github.com/login/oauth/authorize"); githubAuthUrl.searchParams.set("client_id", clientId); githubAuthUrl.searchParams.set("redirect_uri", redirectUri); githubAuthUrl.searchParams.set("scope", "repo"); githubAuthUrl.searchParams.set("state", state);
-
OAuth 2.0 Flows Demystified: Authorization Code, PKCE, and Client Credentials
// Step 1: Redirect user to provider app.get('/auth/github', (req, res) => { const state = generateRandomString(16); // CSRF protection req.session.oauthState = state; const params = new URLSearchParams({ client_id: process.env.GITHUB_CLIENT_ID!, redirect_uri: `${process.env.APP_URL}/auth/github/callback`, scope: 'read:user user:email', state, }); res.redirect(`https://github.com/login/oauth/authorize?${params}`); }); // Step 2: Handle callback with code app.get('/auth/github/callback', async (req, res) => { const { code, state } = req.query; // Verify state to prevent CSRF if (state !== req.session.oauthState) { return res.status(400).send('Invalid state'); } // Exchange code for token (server-to-server) const tokenResponse = await fetch('https://github.com/login/oauth/access_token', { method: 'POST', headers: { 'Content-Type': 'application/json', 'Accept': 'application/json' }, body: JSON.stringify({ client_id: process.env.GITHUB_CLIENT_ID, client_secret: process.env.GITHUB_CLIENT_SECRET, // never exposed to browser code, }), }).then(r => r.json()); const { access_token } = tokenResponse; // Fetch user info const user = await fetch('https://api.github.com/user', { headers: { Authorization: `Bearer ${access_token}` }, }).then(r => r.json()); // Create or find user in your DB const dbUser = await upsertUser({ githubId: user.id, email: user.email, name: user.name }); // Create your own session req.session.userId = dbUser.id; res.redirect('/dashboard'); });
-
Your Pull Requests Are Being Ignored. Fix It with This Simple Bot
Name: GITHUB_PR_BOT Client ID: your GitHub App client ID Client Secret: your GitHub App client secret Scope: leave empty Authorization URL: https://github.com/login/oauth/authorize Token URL: https://github.com/login/oauth/access_token
-
OAuth Explained Like You're 5
const express = require('express'); const axios = require('axios'); const app = express(); // Step 1: Redirect user to GitHub app.get('/login', (req, res) => { const githubAuthUrl = `https://github.com/login/oauth/authorize?client_id=${process.env.GITHUB_CLIENT_ID}&scope=read:user`; res.redirect(githubAuthUrl); }); // Step 3: Handle the callback app.get('/callback', async (req, res) => { const { code } = req.query; // Step 4: Exchange code for token const tokenResponse = await axios.post( 'https://github.com/login/oauth/access_token', { client_id: process.env.GITHUB_CLIENT_ID, client_secret: process.env.GITHUB_CLIENT_SECRET, code, }, { headers: { Accept: 'application/json' } } ); const accessToken = tokenResponse.data.access_token; // Step 5: Use the token const userResponse = await axios.get('https://api.github.com/user', { headers: { Authorization: `Bearer ${accessToken}` }, }); res.json(userResponse.data); }); app.listen(3000);
-
Designing an Authentication System: OAuth and SSO
class SocialAuthProvider { constructor(config) { this.providers = { google: { authUrl: 'https://accounts.google.com/o/oauth2/v2/auth', tokenUrl: 'https://oauth2.googleapis.com/token', userInfoUrl: 'https://www.googleapis.com/oauth2/v2/userinfo', scope: 'openid email profile' }, github: { authUrl: 'https://github.com/login/oauth/authorize', tokenUrl: 'https://github.com/login/oauth/access_token', userInfoUrl: 'https://api.github.com/user', scope: 'user:email' } }; } async authenticateUser(provider, code) { const config = this.providers[provider]; if (!config) throw new Error(`Provider ${provider} not supported`); // Exchange code for token const tokenResponse = await fetch(config.tokenUrl, { method: 'POST', headers: { 'Accept': 'application/json' }, body: new URLSearchParams({ client_id: process.env[`${provider.toUpperCase()}_CLIENT_ID`], client_secret: process.env[`${provider.toUpperCase()}_CLIENT_SECRET`], code: code, grant_type: 'authorization_code' }) }); const tokens = await tokenResponse.json(); // Get user info const userResponse = await fetch(config.userInfoUrl, { headers: { 'Authorization': `Bearer ${tokens.access_token}` } }); return await userResponse.json(); } }
-
Supply Chain Security: A Deep Dive into SBOM and Code Signing
# (Replace `` with the email you used to log in) cosign verify \ --certificate-identity="" \ --certificate-oidc-issuer="https://github.com/login/oauth" \ $IMAGE_NAME # Verification for ttl.sh/09dc8b35-cabd-4bd8-885f-.../my-signed-image:1h -- # The following checks were performed on each of these signatures: # - The cosign claims were validated # - Existence of the claims in the transparency log was verified offline # - The code-signing certificate was verified using trusted certificate authority certificates # [{"critical":{"identity":{"docker-reference":"ttl.sh/09dc8b35-cabd-4bd8-885f-.../my-signed-image:1h"},"image":{"docker-manifest-digest":"sha256:410dabcd6f1d53f1f4e5c1ce9553efa298ca6bcdd086dfc976b8f659d58b46d2"},"type":"https://sigstore.dev/cosign/sign/v1"},"optional":{}}]
-
Show HN: Fanfa – Interactive and animated Mermaid diagrams
it says 404:
https://github.com/login/oauth/authorize?access_type=offline...
- SvelteKit SurrealDB Login with GitHub
What are some alternatives?
rustc_codegen_cranelift - Cranelift based backend for rustc
react-coding-challenges - A series of ReactJS coding challenges with a variety of difficulties.
lumina - Lumina is an eager-by-default natively compiled functional programming language with the core goals of readibility, practicality, compiler-driven development and simplicity.
node-oauth2-server - Complete, compliant and well tested module for implementing an OAuth2 Server/Provider with express in node.js
wasmtime - A lightweight WebAssembly runtime that is fast, secure, and standards-compliant
react-github-login - :octocat: A React Component for GitHub Login