Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

JSCT Initial Migration #1

Merged
merged 73 commits into from
Dec 21, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
73 commits
Select commit Hold shift + click to select a range
8b2453d
Start to reorganize tests
alexcrichton Sep 22, 2021
7fe582b
Create a `numbers` test for moving numbers around
alexcrichton Sep 22, 2021
dfcad8d
Split records into their own test
alexcrichton Sep 22, 2021
16a0f94
Extract out a variants test
alexcrichton Sep 22, 2021
bfd72d1
Extract lists into a standalone test
alexcrichton Sep 22, 2021
026c692
Move handles to their own test
alexcrichton Sep 22, 2021
862c24e
Split buffers into their own tests
alexcrichton Sep 22, 2021
eddee8f
Move 'flavorful' tests to their own test
alexcrichton Sep 22, 2021
e8b4cb3
Move invalid tests to their own tests
alexcrichton Sep 22, 2021
7a69750
Fix names defining resource intrinsics in Wasmtime
alexcrichton Sep 24, 2021
93b79a0
Add initial support for `async` functions in witx
alexcrichton Sep 21, 2021
313bd36
Add list lowering tests
ospencer Jan 26, 2022
4047ca5
feat(TS): make nullable fields use option `?` (#150)
willemneal Feb 15, 2022
eff1dbb
Drop support for old-style `*.witx` files (#195)
alexcrichton Apr 19, 2022
8171d85
Rename f32/f64 to float32/float64 (#198)
alexcrichton Apr 20, 2022
7fb8bfa
Add support for params passed indirectly (#208)
alexcrichton Apr 28, 2022
237f350
Split out the `Option` and `Expected` types from `Variant` (#215)
alexcrichton May 5, 2022
de2a064
Split out a `Union` type from `Variant` (#219)
alexcrichton May 9, 2022
82c7de2
Update JS enum representation (#253)
Liamolucko Jun 21, 2022
3474963
wit-bindgen-rust: fix lowering and lifting of zero-length lists. (#296)
peterhuene Aug 4, 2022
422e00d
Reorganize folder structure (#301)
esoterra Aug 24, 2022
9f3c0f3
Update JS integer lowering (#256)
Liamolucko Sep 1, 2022
567deea
Remove `async func` support. (#307)
sunfishcode Sep 2, 2022
e12fb49
Update JS flags representation (#254)
Liamolucko Sep 7, 2022
276d33d
Canonical ABI name mangling (#309)
sunfishcode Sep 12, 2022
78009af
chore: bump edition to 2021 (#319)
Mossaka Sep 22, 2022
98f2995
Synchronize the wit-bindgen type AST with the component model (#318)
alexcrichton Sep 22, 2022
26dc91c
Initial work towards getting post-return functions (#310)
alexcrichton Sep 22, 2022
b9db6bd
remove Canonical ABI name mangling (#334)
pchickey Oct 3, 2022
77d8b78
Leverage Cargo's workspace inheritance feature (#340)
alexcrichton Oct 3, 2022
2209f0c
Update to clap 4.0.9 (#344)
kulakowski-wasm Oct 4, 2022
2f1ead4
Remove support for handles and resources (#346)
alexcrichton Oct 5, 2022
2a148e5
Encode component types in canonical ABI module custom sections (#331)
pchickey Oct 5, 2022
7168ddc
Remove obsolete test exclusions. (#353)
sunfishcode Oct 5, 2022
cbf5115
Update all crates to heck 0.4 (#360)
kulakowski-wasm Oct 6, 2022
5db553b
Refactor and reorganize how testing works (#363)
alexcrichton Oct 7, 2022
b1859b7
rewrite gen-host-wasmtime-rust to use Wasmtime's component runtime (#…
pchickey Oct 13, 2022
451c2ea
js: Take a component as input, not interfaces (#373)
alexcrichton Oct 13, 2022
1a82bc7
Update unaligned tests for Rust hosts (#377)
alexcrichton Oct 17, 2022
8beba3f
Add `testwasi` to invalid JS test again
alexcrichton Oct 17, 2022
332acb0
Integrate worlds into the Rust & JS generators (#381)
alexcrichton Oct 18, 2022
335504e
Reimplement the host Python generator with worlds (#386)
alexcrichton Oct 24, 2022
fd85ad7
gen-host-js: utf16 support (#392)
guybedford Oct 25, 2022
aefd1ce
Update the guest C generator for world-based generation (#396)
alexcrichton Oct 25, 2022
e27adf8
JS host formatting (#400)
guybedford Oct 26, 2022
1c7a099
gen-host-js: support undefined values in lowering for nullable option…
guybedford Oct 27, 2022
87954f1
gen-host-js: instance ESM output by default (#406)
guybedford Oct 28, 2022
d3bc773
Emit component name in core Wasm file names (#408)
guybedford Oct 31, 2022
207571e
gen-host-js: base64 option (#411)
guybedford Nov 3, 2022
ae71095
gen-guest-c: weak attribute on post-return abi functions (#412)
guybedford Nov 3, 2022
695354f
gen-host-js: Error wrapping and unwrapping for singular Result types …
guybedford Nov 4, 2022
3bdd3b7
gen-host-js: Top-level await compatibility via $init promise (#414)
guybedford Nov 7, 2022
3d6dd37
gen-host-js: --valid-lifting-optimization (#415)
guybedford Nov 8, 2022
4e1e3d7
Fix some test-related issues (#419)
alexcrichton Nov 8, 2022
6db10e2
gen-host-js: --load flag support (#418)
guybedford Nov 8, 2022
8bcf66d
gen-host-js: support direct ArrayBuffer for Uint8Array lists (#423)
guybedford Nov 9, 2022
1eabf67
gen-host-js: make ComponentError string payload non-enumerable (#426)
guybedford Nov 10, 2022
e28ca64
gen-host-js: --nodejs-compat default / --no-nodejs-compat (#427)
guybedford Nov 10, 2022
7025be1
gen-host-js: auto loading behaviour, based on --base64-cutoff for inl…
guybedford Nov 10, 2022
359ae48
gen-host-js: Fix typo in ComponentError constructor, -b short flag (#…
guybedford Nov 13, 2022
6010f5a
Migrate all tests to using world-file-syntax (#432)
alexcrichton Nov 15, 2022
59912d8
Bump version of dependency crates (#438)
alexcrichton Nov 22, 2022
8e12a0b
gen-guest-c: define OK constant for scalar enum results (#440)
guybedford Nov 28, 2022
20f5100
migration
guybedford Dec 16, 2022
52cdf39
jsct CLI wrapper
guybedford Dec 17, 2022
940d8ff
full wit bingen separation
guybedford Dec 17, 2022
67ba91f
setup tests
guybedford Dec 20, 2022
6799bb3
finish up tests, add CI
guybedford Dec 21, 2022
d2f7d43
setup eslint
guybedford Dec 21, 2022
bc84a3f
add readme and coc
guybedford Dec 21, 2022
8ec1520
complete self-build
guybedford Dec 21, 2022
4fe8b0c
fixup tests & asm.js cases
guybedford Dec 21, 2022
0cf4cba
fix ci
guybedford Dec 21, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
78 changes: 78 additions & 0 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
name: CI

on:
push:
branches: [main]
pull_request:
branches: [main]
defaults:
run:
shell: bash

# Cancel any in-flight jobs for the same PR/branch so there's only one active
# at a time
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

jobs:
test:
name: Test
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v2
- name: Install Rust
run: rustup update stable --no-self-update && rustup default stable
- name: Install wasm32-unknown-unknown target
run: rustup target add wasm32-unknown-unknown
- name: Install wasm32-wasi target
run: rustup target add wasm32-wasi

- run: |
curl https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-16/wasi-sdk-16.0-linux.tar.gz -L | tar xzvf -
echo "WASI_SDK_PATH=`pwd`/wasi-sdk-16.0" >> $GITHUB_ENV
if : matrix.os == 'ubuntu-latest'
- run: |
curl https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-16/wasi-sdk-16.0-macos.tar.gz -L | tar xzvf -
echo "WASI_SDK_PATH=`pwd`/wasi-sdk-16.0" >> $GITHUB_ENV
if : matrix.os == 'macos-latest'
- run: |
curl https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-16/wasi-sdk-16.0-mingw.tar.gz -L | tar xzvf -
echo "WASI_SDK_PATH=`pwd`/wasi-sdk-16.0" >> $GITHUB_ENV
if : matrix.os == 'windows-latest'

- uses: actions/setup-node@v2
with:
node-version: '16'
- name: Install NPM packages
run: npm install

- name: Build
run: npm run build

- name: Test
run: npm run test

eslint:
name: ESLint
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Install NPM packages
run: npm install
- name: Lint
run: npm run lint

rustfmt:
name: Rustfmt
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Install Rust
run: rustup update stable && rustup default stable && rustup component add rustfmt
- name: Format source code
run: cargo fmt -- --check
6 changes: 6 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
/node_modules
/target
/package-lock.json
/obj
/dist
/test/output
49 changes: 49 additions & 0 deletions CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
# Contributor Covenant Code of Conduct

*Note*: this Code of Conduct pertains to individuals' behavior. Please also see the [Organizational Code of Conduct][OCoC].

## Our Pledge

In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation.

## Our Standards

Examples of behavior that contributes to creating a positive environment include:

* Using welcoming and inclusive language
* Being respectful of differing viewpoints and experiences
* Gracefully accepting constructive criticism
* Focusing on what is best for the community
* Showing empathy towards other community members

Examples of unacceptable behavior by participants include:

* The use of sexualized language or imagery and unwelcome sexual attention or advances
* Trolling, insulting/derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing others' private information, such as a physical or electronic address, without explicit permission
* Other conduct which could reasonably be considered inappropriate in a professional setting

## Our Responsibilities

Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior.

Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful.

## Scope

This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers.

## Enforcement

Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the Bytecode Alliance CoC team at [report@bytecodealliance.org](mailto:report@bytecodealliance.org). The CoC team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The CoC team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately.

Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the Bytecode Alliance's leadership.

## Attribution

This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version]

[OCoC]: https://github.com/bytecodealliance/wasmtime/blob/main/ORG_CODE_OF_CONDUCT.md
[homepage]: https://www.contributor-covenant.org
[version]: https://www.contributor-covenant.org/version/1/4/
Loading