30 lines
1.1 KiB
Markdown
30 lines
1.1 KiB
Markdown
|
# authsrv
|
||
|
|
||
|
A **prototype** authentication/identity server for Longmont.
|
||
|
|
||
|
## 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)
|
||
|
|
||
|
## License
|
||
|
|
||
|
`authsrv` is dual-licensed under the Apache License, 2.0 and the MIT license.
|