Skip to content

remove --mod option#36

Open
dicej wants to merge 3 commits intobytecodealliance:mainfrom
dicej:remove-mod-option
Open

remove --mod option#36
dicej wants to merge 3 commits intobytecodealliance:mainfrom
dicej:remove-mod-option

Conversation

@dicej
Copy link
Copy Markdown

@dicej dicej commented Mar 27, 2026

This was only used for the build subcommand, but all subcommands potentially
need to know where the go module is e.g. to locate componentize-go.toml files,
so we should either promote it to be a subcommand-independent option or drop it
and require that componentize-go be run in the directory containing the module
of interest. I chose the latter in this case, but we could certainly revisit
that.

Note that this builds on #35 and shouldn't be merged until that one is merged.

dicej added 3 commits March 26, 2026 10:58
This adds two new features:

- Multiple `--world` options are accepted, in which case the worlds will be
  merged into a single world for building, testing, or bindings generation.

- In addition to any worlds and/or WIT paths specified explicitly via CLI
  options, `componentize-go` will use `go list` to scan the current module and
  its dependencies, looking for files named `componentize-go.toml` in their
  source trees.  For each such file found, any worlds and/or WIT paths
  referenced therein will be added to the respective lists.  This behavior can
  be disabled using the `--ignore-toml-files` option if desired.

In combination, these options make it easier to use multiple SDKs or other
libraries which contain `wit-bindgen-go`-generated code.

Note that I've also removed the `wat` dependency because `go build` always
generates a binary Wasm file, so no need to check for or parse WAT.

Fixes bytecodealliance#28
…via CLI

Previously, we'd union all the worlds specifiec via the CLI _and_ via
`componentize-go.toml` files, but that can get very confusing for the user.  Now
we'll only use the toml file ones as a default if none are specified via the
CLI.
This was only used for the build subcommand, but all subcommands potentially
need to know where the go module is e.g. to locate `componentize-go.toml` files,
so we should either promote it to be a subcommand-independent option or drop it
and require that `componentize-go` be run in the directory containing the module
of interest.  I chose the latter in this case, but we could certainly revisit
that.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant