tree-sitter/cli/loader
Steven Kalt d35efd4608
feat(cli): support building WASM via podman
Previously, `tree-sitter build-wasm` had the ability to build WASM
by using docker to pull in an image with a complete emscripten toolchain.
This commit adds the ability to use podman to do the same thing.

Using podman requires two notable changes:
1. Using the fully-qualified image name. Docker defaults to prepending
    `docker.io` to the image name, but podman does not.
2. Podman will mount the `/src/` volume as belonging to root unless
  `--userns=keep-id` is passed. I think podman's different
  volume-ownership is related to podman's daemonless execution and
  `--uidmap` functionality, but I'm not 100% sure.

To test, I ran
```sh
script/fetch-fixtures
script/generate-fixtures
script/generate-fixtures-wasm # <- the important one!
```

which worked as well as the docker version.
2024-01-29 00:50:32 -05:00
..
src feat(cli): support building WASM via podman 2024-01-29 00:50:32 -05:00
build.rs Integrate WASM compilation into the CLI's Loader 2022-11-15 17:14:33 -08:00
Cargo.toml Use upstream wasmtime 2023-10-27 12:43:16 +01:00
emscripten-version Merge branch 'master' into wasm-language 2023-10-27 12:11:43 +01:00
README.md doc: Include README as top-level module documentation for all crates 2023-08-28 23:09:37 +03:00

Tree-sitter Loader

The tree-sitter command-line program will dynamically find and build grammars at runtime, if you have cloned the grammars' repositories to your local filesystem. This helper crate implements that logic, so that you can use it in your own program analysis tools, as well.