118 lines
2.6 KiB
Markdown
118 lines
2.6 KiB
Markdown
# Developer Guide
|
|
|
|
## Contents
|
|
|
|
- [Developer Guide](#developer-guide)
|
|
- [Contents](#contents)
|
|
- [Setup](#setup)
|
|
- [Linux](#linux)
|
|
- [Mac OS](#mac-os)
|
|
- [Checking Out the Project](#checking-out-the-project)
|
|
- [Build](#build)
|
|
- [Compiling Typescript](#compiling-typescript)
|
|
- [Running Mocha Tests](#running-mocha-tests)
|
|
- [Running Bundled Code](#running-bundled-code)
|
|
|
|
## Setup
|
|
|
|
### Linux
|
|
|
|
Install NodeSource repository and `node`:
|
|
|
|
```shell
|
|
> curl -sL https://deb.nodesource.com/setup_12.x | sudo -E bash -
|
|
> sudo apt-get install -y nodejs
|
|
```
|
|
|
|
- https://github.com/nodesource/distributions/blob/master/README.md#installation-instructions
|
|
|
|
Install yarnpkg repository and `yarn`:
|
|
|
|
```shell
|
|
> curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
|
|
> echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
|
|
> sudo apt update && sudo apt install yarn
|
|
```
|
|
|
|
- https://classic.yarnpkg.com/en/docs/install/#debian-stable
|
|
|
|
### Mac OS
|
|
|
|
Install `brew`:
|
|
|
|
```shell
|
|
> /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
|
|
```
|
|
|
|
- https://brew.sh/
|
|
|
|
Install `make`, `node`, and `yarn`:
|
|
|
|
```shell
|
|
> brew install make
|
|
> brew install node yarn
|
|
```
|
|
|
|
- https://www.gnu.org/software/make/
|
|
- https://formulae.brew.sh/formula/node
|
|
- https://classic.yarnpkg.com/en/docs/install/#mac-stable
|
|
|
|
## Checking Out the Project
|
|
|
|
Clone the repository:
|
|
|
|
```shell
|
|
> git clone git@github.com:ssube/cautious-journey.git
|
|
```
|
|
|
|
You can also clone the repository through Github Desktop:
|
|
|
|
- [x-github-client://openRepo/https://github.com/ssube/cautious-journey](x-github-client://openRepo/https://github.com/ssube/cautious-journey)
|
|
|
|
Change the directory:
|
|
|
|
```shell
|
|
> cd ~/Documents/GitHub/cautious-journey/
|
|
```
|
|
|
|
## Build
|
|
|
|
Building the app is done through `make` and its targets. To see a list of available targets:
|
|
|
|
```shell
|
|
> make help
|
|
|
|
Makefile:all builds, bundles, and tests the application
|
|
Makefile:build builds, bundles, and tests the application
|
|
Makefile:build-docs generate html docs
|
|
Makefile:build-image build a docker image
|
|
Makefile:clean clean up everything added by the default target
|
|
Makefile:clean-deps clean up the node_modules directory
|
|
Makefile:clean-target clean up the target directory
|
|
...
|
|
```
|
|
|
|
### Compiling Typescript
|
|
|
|
```shell
|
|
> make
|
|
# or
|
|
> make ci
|
|
```
|
|
|
|
This will compile the code and run tests.
|
|
|
|
### Running Mocha Tests
|
|
|
|
Tests use Mocha: https://mochajs.org/#getting-started
|
|
|
|
```shell
|
|
> make test
|
|
```
|
|
|
|
### Running Bundled Code
|
|
|
|
```shell
|
|
> node ./out/index.js --help
|
|
```
|