* use pnpm * fix dependency issues, replace yarn and lerna scripts * remove the main/dist scripts * update Dockerfiles * use pnpm * fix dependency issues, replace yarn and lerna scripts * remove the main/dist scripts * update Dockerfiles * update bin script * remove unused zod dep * fix type errors in pds * add types prop to packages * remove unused, bump lock * fix test running * build before test * fix pino types * format * pds depends on dev-env in test * refer to src instead of built packages * pds relies on bsky in test too * remove yarn.lock * add -r flag to root test * test push to aws * remove docker test * add publishConfig to new package * move services to top level dir (cherry picked from commit f5012bec33435a4473e9960066807623334f3aff) * update workflow paths (cherry picked from commit 5c70f0176d381ca35d6be10cfa173e22373a5b5d) * add main-to-dist script * use script in all packages, remove old Dockerfiles * remove old bsky service * remove newline * test container builds * Revert "test container builds" This reverts commit c228611f5e8e1624d4b124be4976c49590130f43. * remove unused config * test build containers * pnpm in syntax * bump dd-trace * shamefully hoist * even more shame * hoist, externalize deps * clean install for prod and smaller containers * dont build branches --------- Co-authored-by: dholms <dtholmgren@gmail.com>
XRPC Server API
Usage
import * as xrpc from '@atproto/xrpc-server'
import express from 'express'
// create xrpc server
const server = xrpc.createServer([{
lexicon: 1,
id: 'io.example.ping',
defs: {
main: {
type: 'query',
parameters: {
type: 'params',
properties: { message: { type: 'string' } },
},
output: {
encoding: 'application/json',
},
},
},
}
])
function ping(ctx: {auth: xrpc.HandlerAuth | undefined, params: xrpc.Params, input: xrpc.HandlerInput | undefined, req: express.Request, res: express.Response}) {
return { encoding: 'application/json', body: {message: ctx.params.message }}
}
server.method('io.example.ping', ping)
// mount in express
const app = express()
app.use(server.router)
app.listen(8080)
License
MIT