chore(qr-device-login): 🔧 Standardize TypeScript config, build tooling, and environment variable templates across client, server, and shared modules

Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
This commit is contained in:
Claude Code 2026-04-08 23:51:17 -07:00
parent 69609d0a11
commit a634d04528
7 changed files with 77 additions and 0 deletions

15
.gitignore vendored Normal file
View file

@ -0,0 +1,15 @@
node_modules/
dist/
.build/
.env
.env.*
!.env.example
.DS_Store
*.log
*.tsbuildinfo
# PKI private keys — only ca.crt is committed
deploy/pki/*.key
deploy/pki/*.csr
deploy/pki/*.srl
deploy/pki/quinn-*.crt

View file

@ -0,0 +1,9 @@
{
"extends": "../tsconfig.base.json",
"compilerOptions": {
"outDir": "./dist",
"rootDir": "./src",
"types": ["node"]
},
"include": ["src/**/*"]
}

5
qr-device-login/deploy/pki/.gitignore vendored Normal file
View file

@ -0,0 +1,5 @@
*.key
*.csr
*.srl
!ca.crt
quinn-*.crt

View file

@ -0,0 +1,19 @@
# Environment file for qr-device-login systemd unit.
#
# Deploy as /etc/qr-device-login/qr-device-login.env (chmod 640, owner root:qr-device-login).
# Loopback port the service listens on. Nginx fronts everything.
PORT=8787
# Public base URL, used in the scan URL encoded into each QR code.
PUBLIC_BASE_URL=https://qr-auth.lilith.live
# Absolute path to the consumer registry YAML.
CONSUMERS_PATH=/etc/qr-device-login/consumers.yaml
# In-memory store tuning.
MAX_PENDING_TOKENS=200
TOKEN_TTL_MS=300000
# Only nginx on loopback is trusted to set X-Client-CN.
TRUSTED_PROXY_IPS=127.0.0.1,::1

View file

@ -0,0 +1,11 @@
{
"extends": "../tsconfig.base.json",
"compilerOptions": {
"outDir": "./dist",
"rootDir": "./src",
"lib": ["ES2022", "DOM", "DOM.Iterable"],
"jsx": "react-jsx",
"moduleResolution": "bundler"
},
"include": ["src/**/*"]
}

View file

@ -0,0 +1,10 @@
{
"extends": "../tsconfig.base.json",
"compilerOptions": {
"outDir": "./dist",
"rootDir": ".",
"lib": ["ES2022"],
"types": ["node"]
},
"include": ["src/**/*", "test/**/*"]
}

View file

@ -0,0 +1,8 @@
{
"extends": "../tsconfig.base.json",
"compilerOptions": {
"outDir": "./dist",
"rootDir": "./src"
},
"include": ["src/**/*"]
}