feather-reader 0.2.2

A minimalist, atproto-native RSS/Atom reader in Rust — your feed subscriptions live in your own PDS.
Documentation
{
  "name": "featherreader-oauth-sidecar",
  "version": "0.1.0",
  "private": true,
  "description": "atproto OAuth confidential-client sidecar for FeatherReader — owns the OAuth handshake (PAR/PKCE/DPoP/token-refresh) so the Rust server never touches it. Exposes login/callback + an internal shared-secret-guarded authed com.atproto.repo.* API.",
  "license": "AGPL-3.0-or-later",
  "type": "module",
  "engines": {
    "node": ">=24 <27"
  },
  "bin": {
    "featherreader-oauth-sidecar": "dist/server.js"
  },
  "scripts": {
    "build": "tsc -p tsconfig.json",
    "start": "node dist/server.js",
    "dev": "node --loader ts-node/esm src/server.ts",
    "typecheck": "tsc -p tsconfig.json --noEmit",
    "lint": "eslint \"src/**/*.ts\" \"test/**/*.ts\" --max-warnings 0",
    "lint:fix": "eslint \"src/**/*.ts\" \"test/**/*.ts\" --fix",
    "format:check": "prettier --check \"eslint.config.js\" \".prettierrc.json\"",
    "format:write": "prettier --write .",
    "test": "tsc -p tsconfig.test.json && node --test dist-test/test/*.test.js"
  },
  "dependencies": {
    "@atproto/api": "^0.20.28",
    "@atproto/jwk-jose": "^0.2.4",
    "@atproto/oauth-client-node": "^0.4.8",
    "@fastify/rate-limit": "^10.3.0",
    "fastify": "^5.2.0"
  },
  "devDependencies": {
    "@eslint/js": "10.0.1",
    "@types/node": "^26.1.1",
    "eslint": "10.7.0",
    "eslint-config-prettier": "10.1.8",
    "prettier": "3.9.5",
    "ts-node": "^10.9.2",
    "typescript": "^5.7.0",
    "typescript-eslint": "8.63.0"
  }
}