bsky-app/bskyweb
bnewbold 2789d5c056 Basic golang CI setup (#360)
* bskyweb: Makefile and dev env

This matches the setup for local dev testing in atproto and indigo
repos.

* gitignore: don't ignore self and .github/

* CI: golang build+test and lint actions

* bskyweb: better use of godotenv

A recent change from indigo.

* prettier: ignore top-level app.json

* CI: bump from golang 1.19 to 1.20

* bskyweb: update to golang 1.20
2023-03-27 10:16:17 -05:00
..
cmd/bskyweb Basic golang CI setup (#360) 2023-03-27 10:16:17 -05:00
static bskyweb additions (#296) 2023-03-20 14:41:15 -07:00
templates bskyweb additions (#296) 2023-03-20 14:41:15 -07:00
.gitignore Basic golang CI setup (#360) 2023-03-27 10:16:17 -05:00
Makefile Basic golang CI setup (#360) 2023-03-27 10:16:17 -05:00
README.md Basic golang CI setup (#360) 2023-03-27 10:16:17 -05:00
example.dev.env Basic golang CI setup (#360) 2023-03-27 10:16:17 -05:00
example.env bskyweb: proof-of-concept golang daemon to serve SPA (#275) 2023-03-14 15:00:44 -05:00
go.mod Basic golang CI setup (#360) 2023-03-27 10:16:17 -05:00
go.sum bskyweb additions (#296) 2023-03-20 14:41:15 -07:00
static.go bskyweb additions (#296) 2023-03-20 14:41:15 -07:00
templates.go bskyweb additions (#296) 2023-03-20 14:41:15 -07:00

README.md

Build / Develop

SPA Bundle (monolithic static javascript file)

To build the SPA bundle (bundle.web.js), first get a Javascript development environment set up. Either follow the top-level README, or something quick like:

# install nodejs 18 (specifically)
nvm install 18
nvm use 18
npm install --global yarn

# setup tools and deps (in top level of this repo)
yarn install --frozen-lockfile

# run yarn web dev server, if you wanted
yarn web

Then build and copy over the big 'ol bundle.web.js file:

# in the top level of this repo
yarn build-web

Golang Daemon

Install golang. We are generally using v1.20+.

In this directory (bskyweb/):

# re-build and run daemon
go run ./cmd/bskyweb serve

# build and output a binary
go build -o bskyweb ./cmd/bskyweb/

The easiest way to configure the daemon is to copy example.env to .env and fill in auth values there.