mercury/README.md

31 lines
1.2 KiB
Markdown
Raw Permalink Normal View History

2023-07-20 18:00:46 +02:00
# Mercury
2023-07-21 01:27:24 +02:00
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/<name>`,
replacing `<name>` 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)
2023-07-21 01:27:24 +02:00
## License
Mercury is licensed under the GNU Affero General Public License, version 3 **only**.