Dedicated to
...beneath the waves, a Raven's spirit tamed,
by bald Kraken's care, their destinies named.
Ambition's lure, a betrayal's cruel rhyme,
dreams embraced, yet Kraken's love the true treasure of time...
An open-source fanatasy pirate based ORPG game. The purposes of this repository:
This repository is the 8th generatorion of the previous platform larvas (raptyle
, vampyre
, silver-arrow
, dnf
, dnf-mono
, dnf2
, nexus-reunion
). Some of the code has been merged from them, but most of the current codebase was written inside the repository.
Build |
---|
Build | Lint | Tests |
---|---|---|
JSON Schema | Knip |
---|---|
Requirements
The section will explain all the required steps to set up your local/dev environment. Please follow the steps propely.
Since most of the applicaions are using valid URLs instead IP addresses/localhost we have to set up our mock DNS server on the machine itself. This is being done by modifying the hosts
file.
# Initialize local environment
gh repo clone wraithlight/wraithlight-mono
cd wraithlight
sudo node .scripts/patch-hosts.mjs
Currently all of the databases are running in docker containers. The databases are using MySQL and there is a way to setup a phpmyadmin instance for utility. See the related documentation here.
# To run everything locally
gh repo clone wraithlight/wraithlight-mono
cd wraithlight/database
sh ./build.sh # to build the databases
sh ./run.sh # to run them in docker
# Set up the local environment
gh repo clone wraithlight/wraithlight-mono
cd wraithlight/applications
yarn
/applications
nx - Utility script to add `nx` to the cli.
knip - Runs KNIP on the project.
lerna - Utility script to add `lerna` to the cli.
lint - Runs ESLint on the project.
lint:quiet - Runs ESLint on the project. Prints errors only.
build - Build everything.
build:changes - Build the changes since the local main only.
build:tools - Build the `tools.*` packages only.
build:prod - DEPRECATED - Production build.
build:guid - Build `core.guid` only.
postinstall - Utility script to build some packages after yarn install.
graph - Draw NX graph.
test - Runs jest on the project.
test:coverage - Runs jest on the project. Collect coverage per package.
test:mono - Runs jest on the monorepo.
validate-package-json - Validates `package.json` files.
validate-swagger-json - Validates `swagger.json` files.
guid - Generates a new guid.
test-report:collect - Utility script for test-reporting. Runs jest.
test-report:generate - Utility script for test-reporting. Runs custom parsing.
test-report:open - Utility script for test-reporting. Opens the default browser.
test-report - Collects test-coverage, then opens the result in your browser.
precommit - Runs `yarn`, `lint`, `knip`, `build` and `test` on the repo.
apply-patches - Runs `node_modules` patches.
deplist - Checks for duplicate 3rd party dependencies. Optional flag: --silent
readme-check - Checks if the readmes are there and has proper title. Optional flag: --silent
This section lists all the technologies that are included in this repository.
Status | Application | Technology |
---|---|---|
:recycle: | Website | Angular |
:recycle: | Forum | React |
:recycle: | Content | Mithril |
:recycle: | Editor | Vue |
:recycle: | Game rich client | Electron |
:recycle: | Game thin client | Knockout |
:recycle: | Logs | Aurelia |
:recycle: | Auth | Svelte |
:recycle: | Notifier | QWIK |
:recycle: | Remote Config | Lit |
Most of the backend libraries/applications are written in NodeJS with some custom utility libraries such as node.core . |
Status | Application | Technology |
---|---|---|---|
:recycle: | Website | Node | |
:recycle: | Forum | Node | |
:recycle: | Content | Node | |
:recycle: | Editor | Node | |
:recycle: | Game rich client | Node | |
:recycle: | Game thin client | Node | |
:recycle: | Logs | Node | |
:recycle: | Auth | Node | |
:white_check_mark: | Notifier | Node | |
:recycle: | Remote Config | Node |
All of the databases are using MySQL, with a custom ORM, called core.orm
.