2022-06-28 12:14:15 +00:00
|
|
|
## Stack
|
2022-10-10 12:55:48 +00:00
|
|
|
|
|
|
|
Silver Bullet is written in [TypeScript](https://www.typescriptlang.org/) and
|
|
|
|
built on top of the excellent [CodeMirror 6](https://codemirror.net/) editor
|
|
|
|
component. Additional UI is built using Preact.
|
|
|
|
[ES Build](https://esbuild.github.io) is used to build both the front-end and
|
|
|
|
back-end bundles. The server backend runs as a HTTP server on Deno using Oak.
|
2022-06-28 12:14:15 +00:00
|
|
|
|
|
|
|
## Development
|
|
|
|
|
2022-10-10 12:55:48 +00:00
|
|
|
Requirements: [Deno](https://deno.land/) 1.26.
|
2022-06-28 12:14:15 +00:00
|
|
|
|
|
|
|
To run, after clone:
|
|
|
|
|
|
|
|
```shell
|
2022-10-10 12:55:48 +00:00
|
|
|
deno task install
|
2022-06-28 12:14:15 +00:00
|
|
|
```
|
|
|
|
|
2022-10-10 12:55:48 +00:00
|
|
|
To prepare the initial web and plug build run:
|
|
|
|
|
|
|
|
```shell
|
|
|
|
deno task build
|
|
|
|
```
|
2022-06-28 12:14:15 +00:00
|
|
|
|
2022-10-10 12:55:48 +00:00
|
|
|
You can then run the server in “watch mode” (automatically restarting when you
|
|
|
|
change source files) with:
|
|
|
|
|
|
|
|
```shell
|
|
|
|
deno task watch-server -- <PATH-TO-YOUR-SPACE>
|
|
|
|
```
|
2022-06-28 12:14:15 +00:00
|
|
|
|
2022-10-10 12:55:48 +00:00
|
|
|
After this initial build, it's convenient to run three commands in parallel (in
|
|
|
|
separate terminals):
|
2022-06-28 12:14:15 +00:00
|
|
|
|
|
|
|
```shell
|
2022-10-10 12:55:48 +00:00
|
|
|
deno task watch-web
|
|
|
|
deno task watch-server -- <PATH-TO-YOUR-SPACE>
|
|
|
|
deno task watch-plugs
|
2022-06-28 12:14:15 +00:00
|
|
|
```
|