![Renai](resources/logo.png 'Renai') # レンアイ - Hentai Library Thingy ## Development ### Quickstart - `npm install`, the postinstall runs - `npm run rebuild` - might need to install some build tools depending on your platform - `npm run watch` for code transpilation (starts watchers) - `npm run start` ### Git Commits This project uses [Conventional Commits](https://www.conventionalcommits.or) with the following types: - `feat`: features, if any part of your commit implements a new functionality or changes an existing one, use this - `remove`: removal of existing code/functionality - `fix`: bugfixes - `test`: implementation of new tests or fixing/removal of existing tests - `refactor`: code refactoring - `update`: updating dependencies and associated code changes - `config`: changing configuration (linters, build process) - `doc`: documentation, including comments - `reformat`: fixing code formatting Always try to split up your changes into coherent commits, a single commit should do a single thing. If your commit needs to do more than one thing it should be labeled with the type coming first in this list. ### Database Migrations Migrations are stored in [src/main/migrations](src/main/migrations) and handled by typeorm. Migrations are run on app start inside [database.ts](src/main/services/database.ts). To auto-generate a migration: `node_modules/.bin/typeorm migration:generate -n -c ` To create an empty creation which can be filled with custom migration code: `node_modules/.bin/typeorm migration:create -n -c ` To run migrations: `node_modules/.bin/typeorm migration:run -c ` This is also pre-defined in the npm script `typeorm:migrate`. ## Testing `npm run test`