Files
browser/CONTRIBUTING.md
T
Karl Seguin af99e845df dev: support for pre-build shared library
Supports prebuild-v8 shared library and adds a `download-v8-shared` make target.
Depends on: https://github.com/lightpanda-io/zig-v8-fork/pull/198

The auto-discovery of the .so is done in the build.zig, which is different than
the auto-discovery of the .a which is done in the Makefile. This is intentional
and if we inverse -Ddev_fast so that it's on by default, the .a's auto discovery
will be moved to build.zig for consistency and explicitness. As-is, we have no
way to tell whether -Dprebuilt_v8_path=v8.a is being injected by Makefile or
is explicit (which isn't a problem so long as we're not doing dev_fast by
default).
2026-08-13 19:28:21 +08:00

1.3 KiB

Contributing

Lightpanda accepts pull requests through GitHub.

Development

  • Run the tests: make test
  • Check formatting: zig fmt --check ./*.zig ./**/*.zig

See AGENTS.md for the full set of test, formatting, and code conventions (test filters, the leak-detection invariant, @import alias case, struct-init inference).

Skip the V8 source build

By default the build compiles V8 from source, which takes several minutes. Run make download-v8 once to fetch the matching prebuilt archive from the zig-v8-fork releases instead; later make build / make test pick it up automatically.

On Linux x86_64, make download-v8-shared additionally fetches the shared flavor (libc_v8.so) that zig build -Ddev_fast=true picks up automatically for much faster debug rebuilds.

Before opening a PR

  • Tests pass (make test).
  • Formatting is clean (zig fmt --check ./*.zig ./**/*.zig).
  • CLA signed (see below).

CLA

You have to sign our CLA during your first pull request process otherwise we're not able to accept your contributions.

The process signature uses the CLA assistant lite. You can see an example of the process in #303.