Contributing

Getting Started

Clone.

$ git clone git@github.com:umijs/mako.git
$ cd mako

Install tools.

$ cargo install just
$ cargo install cargo-binstall

Compile.

$ cargo build
$ cargo build --release

Build js packages (include packages/mako).

$ pnpm build

Run.

$ cargo run --bin mako examples/normal
# with HMR
$ cargo run --bin mako examples/normal --watch
# in production
$ cargo run --bin mako examples/normal --mode production

Before you push

$ just ready

Test

$ pnpm playwright install # only need to run before the first time
$ just test
# test specified testcase
$ cargo nextest run transformers::transform_try_resolve::tests

Coverage

$ cargo codecov
$ cargo codecov --html && open target/llvm-cov/html/index.html

Format

$ just fmt

Lint

$ just lint

Upgrade Dependencies

$ cargo upgrade
$ cargo upgrade --incompatible
$ cargo upgrade --dry-run