File: development.md

package info (click to toggle)
golang-github-evanw-esbuild 0.25.10-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 10,184 kB
  • sloc: javascript: 28,602; makefile: 856; sh: 17
file content (33 lines) | stat: -rw-r--r-- 1,488 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# Development

Here are some quick notes about how I develop esbuild.

## Primary workflow

My development workflow revolves around the top-level [`Makefile`](../Makefile), which I use as a script runner.

1. **Build**

Assuming you have [Go](https://go.dev/) installed, you can compile esbuild by running `make` in the top-level directory (or `go build ./cmd/esbuild` if you don't have `make` installed). This creates an executable called `esbuild` (or `esbuild.exe` on Windows).

2. **Test**

You can run the tests written in Go by running `make test-go` in the top-level directory (or `go test ./internal/... ./pkg/...` if you don't have `make` installed).

If you want to run more kinds of tests, you can run `make test` instead. This requires installing [node](https://nodejs.org/). And it's possible to run even more tests than that with additional `make` commands (read the [`Makefile`](../Makefile) for details).

3. **Publish**

Here's what I do to publish a new release:

1. Bump the version in [`version.txt`](../version.txt)
2. Copy that version into [`CHANGELOG.md`](../CHANGELOG.md)
3. Run `make publish-all` and follow the prompts

## Running in the browser

If you want to test esbuild in the browser (lets you try out lots of things rapidly), you can:

1. Run `make platform-wasm` to build the WebAssembly version of esbuild
2. Serve the repo directory over HTTP (such as with `./esbuild --servedir=.`)
3. Visit [`/scripts/try.html`](../scripts/try.html) in your browser