# Mercury ActivityPub server implementation (hopefully, eventually), currently mostly a way for me to play around with writing an API server in TypeScript. ## Configuration For now, check out `src/config.ts`, the names should be mostly self explanatory. Consider all environment variables required. ## Development commands - Building the server: `pnpm build` - Migrating the database: `pnpm migrate` - Watching for changes and reloading the server automatically: `pnpm dev` - Formatting: `pnpm format` - Linting (if you don't have an ESLint plugin): `pnpm format` ## Creating migrations Creating migrations is a little awkward because TypeORM expects `ts-node`, which uses `tsc`. To create a migration, first run `pnpm build`, then run `pnpm typeorm migration:generate -p -d ./dist/db/index.js ./src/db/migrations/`, replacing `` with the name of the migration you're creating. Then rename the created file to end in `.js` and remove the TypeScript-specific code from it. (Yes, this is incredibly janky, but it works, and it only needs to be done once per migration, actually migrating works flawlessly) ## License Mercury is licensed under the GNU Affero General Public License, version 3 **only**.