# `Bundlex.Project.Preprocessor`
[🔗](https://github.com/membraneframework/bundlex/blob/v1.5.8/lib/bundlex/project/preprocessor.ex#L1)

Behaviour for preprocessing Bundlex projects.

Precompiling may involve either generating additional resources or altering the project itself.
Currently, preprocessing native configuration (`c:preprocess_native_config/3`)
and parsed natives (`c:preprocess_native/1`) is supported.

# `t`

```elixir
@type t() :: module()
```

# `preprocess_native`

```elixir
@callback preprocess_native(native :: Bundlex.Native.t()) :: Bundlex.Native.t()
```

# `preprocess_native_config`

```elixir
@callback preprocess_native_config(
  name :: atom(),
  app :: atom(),
  config :: Bundlex.Project.native_config()
) :: Bundlex.Project.native_config()
```

---

*Consult [api-reference.md](api-reference.md) for complete listing*
