Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

JavaScript toolchain for working with WebAssembly Components

License

NotificationsYou must be signed in to change notification settings

bytecodealliance/jco

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Overview

Jco (jco) provides aJavascript-native toolchain for working withWebAssembly Components.

Jco aims to be a convenient multi-tool for the JS WebAssembly ecosystem.

With Jco (and related projects in this repository), you can:

  • Build WebAssembly components from Javascript/Typescript with the help ofcomponentize-js
  • "Transpile" WebAssembly components into ES modules that can run in environments like NodeJS and the browser, combining platform-native WebAssembly core support with the advanced features of WebAssembly Components
  • Run WebAssembly components whether single-shot applications or web servers (similar towasmtime run/wasmtime serve)
  • Reuse WebAssembly component workflows (e.g. building components, tranpsiling, etc) from your own JS projects
  • Utilizewasm-tools as a library from JS

Organization

As Jco aims to do many things, it contains many subprojects that are organized in this repository:

SubprojectLanguageDirectoryDescription
jcoJavascriptpackages/jcoThejco CLI
jco-transpileJavascriptpackages/jco-transpileWebAssembly Component Transpilation functionaltiy
preview2-shimJavascriptpackages/preview2-shimLibrary that provides a mapping ofWASI Preview 2 for NodeJS and Browsers
preview3-shimJavascriptpackages/preview3-shimLibrary that provides a mapping of WASI Preview 3 for NodeJS
js-component-bindgenRustcrates/js-component-bindgenEnablesjco transpile and other features, reusing the Rust WebAssembly ecosystem
js-component-bindgen-componentRustcrates/js-component-bindgen-componentWebAssembly component that (when transipled) makesjs-component-bindgen available in JSjco
wasm-tools-componentRustcrates/wasm-tools-componentWebAssembly component containing pieces ofwasm-tools used byjco

Quickstart

Jco can be used as either a library import or as a CLI via thejco command.

To install it, usenpm (or your favoritenpm equivalent):

npm install @bytecodealliance/jco

Note

If you're using jco to build components, you should also installcomponentize-js, which is dynamically imported:

npm install @bytecodealliance/componentize-js

Building an example component

For instructions on how to build an example component, see theComponent model section on Javascript.

To see examples of common patterns, check out theexample components folder (examples/components).

Learn more

For a deeper guide on the intricacies of Jco, read theJco Book.

License

This project is licensed under the Apache 2.0 license with the LLVM exception.SeeLICENSE for more details.

Contributing

See theContributing chapter of the Jco book.

Unless you explicitly state otherwise, any contribution intentionally submittedfor inclusion in this project by you, as defined in the Apache-2.0 license,shall be licensed as above, without any additional terms or conditions.


[8]ページ先頭

©2009-2025 Movatter.jp