bytecodealliance / ComponentizeJS

JS -> WebAssembly Component
Apache License 2.0
242 stars 32 forks source link

Create a componentize-js CLI experience #102

Open rylev opened 7 months ago

rylev commented 7 months ago

Instead of requiring componentize-js to be used as a library, it would be nice if there was also a CLI experience. To begin with the CLI could take two mandatory arguments (the path to the wit package and the path to write the encoded component) and one optional argument (the world to be selected).

guybedford commented 7 months ago

jco componentize is designed to be the CLI here - https://github.com/bytecodealliance/jco?tab=readme-ov-file#componentize. For now that is the place to discuss this, although we could split out a ComponentizeJS-specific CLI in future.

rylev commented 7 months ago

That seems fine. Though it did seem more intuitive to me for ComponentizeJS to also have a CLI and be (at least spiritually) the main tool for componentizing JavaScript. I think however this stems from my misunderstanding of what jco is. I wasn't aware that jco was branded as a full toolchain and instead mistakenly thought of it as the runtime support for components in node.

At the very least, would it make sense to point to jco in the README here as the main dev experience for components and JavaScript? Something akin to "use this library if you really need a library for componentizing JavaScript, otherwise you might find more of what you need in the jco project".

guybedford commented 7 months ago

I've included a note about jco componentize in https://github.com/bytecodealliance/ComponentizeJS/commit/519256f5632f48e42cfea54bfd588f383eccb855.