Browse Source

add 'make watch-frontend' and expand docs (#10931)

* add 'make watch-frontend' and expand docs

* add bindata note

* add .PHONY

Co-authored-by: guillep2k <18600385+guillep2k@users.noreply.github.com>
mj
silverwind 3 years ago
committed by GitHub
parent
commit
cc4da79fb6
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 5
      Makefile
  2. 22
      docs/content/doc/advanced/hacking-on-gitea.en-us.md

5
Makefile

@ -136,6 +136,7 @@ help:
@echo " - lint lint everything"
@echo " - lint-frontend lint frontend files"
@echo " - lint-backend lint backend files"
@echo " - watch-frontend watch frontend files and continuously rebuild"
@echo " - webpack build webpack files"
@echo " - fomantic build fomantic files"
@echo " - generate run \"go generate\""
@ -275,6 +276,10 @@ lint-frontend: node_modules
npx eslint web_src/js webpack.config.js
npx stylelint web_src/less
.PHONY: watch-frontend
watch-frontend: node_modules
NODE_ENV=development npx webpack --hide-modules --display-entrypoints=false --watch
.PHONY: test
test:
$(GO) test $(GOTESTFLAGS) -mod=vendor -tags='sqlite sqlite_unlock_notify' $(GO_PACKAGES)

22
docs/content/doc/advanced/hacking-on-gitea.en-us.md

@ -128,10 +128,28 @@ make revive vet misspell-check
### Working on JS and CSS
Edit files in `web_src` and run the linter and build the files in `public`:
For simple changes, edit files in `web_src`, run the build and start the server to test:
```bash
make webpack
make build && ./gitea
```
For more involved changes use the `watch-frontend` task to continuously rebuild files when their sources change. The `bindata` tag must be absent to ensure the file system will be used for files in `public`. First, build and run the backend:
```bash
make backend && ./gitea
```
With the backend running, open another terminal and run:
```bash
make watch-frontend
```
Before committing, make sure the linters pass:
```bash
make lint-frontend
```
Note: When working on frontend code, it is advisable to set `USE_SERVICE_WORKER` to `false` in `app.ini` which will prevent undesirable caching of frontend assets.

Loading…
Cancel
Save