Browse Source

Reestructure repo and CI improvements (#3505)

* Reestructure repo

* cargo update & fmt

* Fix CI

* Add newline

* Fix playground CI

* Fix CI

* Fix CI (for real this time)

* Fix CI (fr fr)
pull/3509/head
José Julián Espina 12 months ago committed by GitHub
parent
commit
47351efa53
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 50
      .github/dependabot.yml
  2. 2
      .github/workflows/pull_request.yml
  3. 4
      .github/workflows/release.yml
  4. 28
      .github/workflows/rust.yml
  5. 17
      .github/workflows/webassembly.yml
  6. 4
      .gitignore
  7. 7
      .prettierignore
  8. 24
      .vscode/launch.json
  9. 23
      .vscode/tasks.json
  10. 204
      Cargo.lock
  11. 52
      Cargo.toml
  12. 0
      cli/ABOUT.md
  13. 0
      cli/Cargo.toml
  14. 0
      cli/src/debug/function.rs
  15. 0
      cli/src/debug/gc.rs
  16. 0
      cli/src/debug/limits.rs
  17. 0
      cli/src/debug/mod.rs
  18. 0
      cli/src/debug/object.rs
  19. 0
      cli/src/debug/optimizer.rs
  20. 0
      cli/src/debug/realm.rs
  21. 0
      cli/src/debug/shape.rs
  22. 0
      cli/src/helper.rs
  23. 0
      cli/src/main.rs
  24. 0
      core/ast/ABOUT.md
  25. 0
      core/ast/Cargo.toml
  26. 0
      core/ast/src/declaration/export.rs
  27. 0
      core/ast/src/declaration/import.rs
  28. 0
      core/ast/src/declaration/mod.rs
  29. 0
      core/ast/src/declaration/variable.rs
  30. 0
      core/ast/src/expression/access.rs
  31. 0
      core/ast/src/expression/await.rs
  32. 0
      core/ast/src/expression/call.rs
  33. 0
      core/ast/src/expression/identifier.rs
  34. 0
      core/ast/src/expression/literal/array.rs
  35. 0
      core/ast/src/expression/literal/mod.rs
  36. 0
      core/ast/src/expression/literal/object.rs
  37. 0
      core/ast/src/expression/literal/template.rs
  38. 0
      core/ast/src/expression/mod.rs
  39. 0
      core/ast/src/expression/new.rs
  40. 0
      core/ast/src/expression/operator/assign/mod.rs
  41. 0
      core/ast/src/expression/operator/assign/op.rs
  42. 0
      core/ast/src/expression/operator/binary/mod.rs
  43. 0
      core/ast/src/expression/operator/binary/op.rs
  44. 0
      core/ast/src/expression/operator/conditional.rs
  45. 0
      core/ast/src/expression/operator/mod.rs
  46. 0
      core/ast/src/expression/operator/unary/mod.rs
  47. 0
      core/ast/src/expression/operator/unary/op.rs
  48. 0
      core/ast/src/expression/operator/update/mod.rs
  49. 0
      core/ast/src/expression/operator/update/op.rs
  50. 0
      core/ast/src/expression/optional.rs
  51. 0
      core/ast/src/expression/parenthesized.rs
  52. 0
      core/ast/src/expression/regexp.rs
  53. 0
      core/ast/src/expression/spread.rs
  54. 0
      core/ast/src/expression/tagged_template.rs
  55. 0
      core/ast/src/expression/yield.rs
  56. 0
      core/ast/src/function/arrow_function.rs
  57. 0
      core/ast/src/function/async_arrow_function.rs
  58. 0
      core/ast/src/function/async_function.rs
  59. 0
      core/ast/src/function/async_generator.rs
  60. 0
      core/ast/src/function/class.rs
  61. 0
      core/ast/src/function/generator.rs
  62. 0
      core/ast/src/function/mod.rs
  63. 0
      core/ast/src/function/parameters.rs
  64. 0
      core/ast/src/keyword/mod.rs
  65. 0
      core/ast/src/keyword/tests.rs
  66. 0
      core/ast/src/lib.rs
  67. 0
      core/ast/src/module_item_list/mod.rs
  68. 0
      core/ast/src/operations.rs
  69. 0
      core/ast/src/pattern.rs
  70. 0
      core/ast/src/position.rs
  71. 0
      core/ast/src/property.rs
  72. 0
      core/ast/src/punctuator/mod.rs
  73. 0
      core/ast/src/punctuator/tests.rs
  74. 0
      core/ast/src/source.rs
  75. 0
      core/ast/src/statement/block.rs
  76. 0
      core/ast/src/statement/if.rs
  77. 0
      core/ast/src/statement/iteration/break.rs
  78. 0
      core/ast/src/statement/iteration/continue.rs
  79. 0
      core/ast/src/statement/iteration/do_while_loop.rs
  80. 0
      core/ast/src/statement/iteration/for_in_loop.rs
  81. 0
      core/ast/src/statement/iteration/for_loop.rs
  82. 0
      core/ast/src/statement/iteration/for_of_loop.rs
  83. 0
      core/ast/src/statement/iteration/mod.rs
  84. 0
      core/ast/src/statement/iteration/while_loop.rs
  85. 0
      core/ast/src/statement/labelled.rs
  86. 0
      core/ast/src/statement/mod.rs
  87. 0
      core/ast/src/statement/return.rs
  88. 0
      core/ast/src/statement/switch.rs
  89. 0
      core/ast/src/statement/throw.rs
  90. 0
      core/ast/src/statement/try.rs
  91. 0
      core/ast/src/statement/with.rs
  92. 0
      core/ast/src/statement_list.rs
  93. 0
      core/ast/src/visitor.rs
  94. 0
      core/engine/ABOUT.md
  95. 0
      core/engine/Cargo.toml
  96. 0
      core/engine/benches/README.md
  97. 0
      core/engine/benches/bench_scripts/arithmetic_operations.js
  98. 0
      core/engine/benches/bench_scripts/array_access.js
  99. 0
      core/engine/benches/bench_scripts/array_create.js
  100. 0
      core/engine/benches/bench_scripts/array_pop.js
  101. Some files were not shown because too many files have changed in this diff Show More

50
.github/dependabot.yml

@ -12,39 +12,67 @@ updates:
directory: /
schedule:
interval: daily
# CLI
- package-ecosystem: cargo
directory: /boa_cli/
directory: /cli/
schedule:
interval: daily
# CORE
- package-ecosystem: cargo
directory: /boa_engine/
directory: /core/ast/
schedule:
interval: daily
- package-ecosystem: cargo
directory: /boa_gc/
directory: /core/engine/
schedule:
interval: daily
- package-ecosystem: cargo
directory: /boa_interner/
directory: /core/gc/
schedule:
interval: daily
- package-ecosystem: cargo
directory: /boa_profiler/
directory: /core/icu_provider/
schedule:
interval: daily
- package-ecosystem: cargo
directory: /boa_tester/
directory: /core/interner/
schedule:
interval: daily
- package-ecosystem: cargo
directory: /boa_wasm/
directory: /core/macros/
schedule:
interval: daily
- package-ecosystem: cargo
directory: /fuzz/
directory: /core/parser/
schedule:
interval: daily
- package-ecosystem: gitsubmodule
directory: /
- package-ecosystem: cargo
directory: /core/profiler/
schedule:
interval: daily
- package-ecosystem: cargo
directory: /core/runtime/
schedule:
interval: daily
- package-ecosystem: cargo
directory: /core/temporal/
schedule:
interval: daily
# TESTS
- package-ecosystem: cargo
directory: /tests/tester/
schedule:
interval: weekly
interval: daily
- package-ecosystem: cargo
directory: /tests/macros/
schedule:
interval: daily
- package-ecosystem: cargo
directory: /tests/fuzz/
schedule:
interval: daily
# FFI
- package-ecosystem: cargo
directory: /ffi/wasm/
schedule:
interval: daily

2
.github/workflows/pull_request.yml

@ -32,4 +32,4 @@ jobs:
with:
token: ${{ secrets.GITHUB_TOKEN }}
branchName: ${{ github.base_ref }}
cwd: ./boa_engine
cwd: ./core/engine

4
.github/workflows/release.yml

@ -67,11 +67,11 @@ jobs:
path: |
node_modules
target
boa_wasm/pkg
ffi/wasm/pkg
~/.cargo/git
~/.cargo/registry
key: ${{ runner.os }}-npm-build-target-${{ hashFiles('**/package-lock.json') }}
- run: wasm-pack build ./boa_wasm
- run: wasm-pack build ./ffi/wasm
- run: npm run build:prod
- name: Deploy
uses: peaceiris/actions-gh-pages@v3

28
.github/workflows/rust.yml

@ -25,13 +25,13 @@ jobs:
toolchain: stable
override: true
profile: minimal
- uses: Swatinem/rust-cache@v2
with:
key: tarpaulin
- name: Install cargo-tarpaulin
uses: baptiste0928/cargo-install@v2.2.0
with:
crate: cargo-tarpaulin
- uses: Swatinem/rust-cache@v2
with:
key: tarpaulin
- name: Run tarpaulin
uses: actions-rs/cargo@v1
with:
@ -114,13 +114,13 @@ jobs:
override: true
profile: minimal
components: clippy
- uses: Swatinem/rust-cache@v2
with:
key: clippy
- name: Install cargo-workspaces
uses: actions-rs/install@v0.1
with:
crate: cargo-workspaces
- uses: Swatinem/rust-cache@v2
with:
key: clippy
- name: Clippy (All features)
run: cargo workspaces exec cargo clippy --all-features --all-targets
- name: Clippy (No features)
@ -162,16 +162,16 @@ jobs:
toolchain: stable
override: true
profile: minimal
- uses: Swatinem/rust-cache@v2
with:
key: build-fuzz
- name: Install cargo-fuzz
uses: actions-rs/install@v0.1
with:
crate: cargo-fuzz
version: latest
- uses: Swatinem/rust-cache@v2
with:
key: build-fuzz
- name: Build fuzz
run: cargo fuzz build -s none
run: cd tests/fuzz && cargo fuzz build -s none --dev
build-run-examples:
name: Build & run examples
@ -184,13 +184,13 @@ jobs:
toolchain: stable
override: true
profile: minimal
- uses: Swatinem/rust-cache@v2
with:
key: build-run-examples
- name: Install cargo-workspaces
uses: actions-rs/install@v0.1
with:
crate: cargo-workspaces
- uses: Swatinem/rust-cache@v2
with:
key: build-run-examples
- name: Build (All features)
run: cargo workspaces exec cargo build --all-features --all-targets --profile ci
@ -199,7 +199,7 @@ jobs:
- name: Run examples
run: |
cd boa_examples
cd examples
cargo run -p boa_examples --bin 2>&1 \
| grep -E '^ ' \
| xargs -n1 sh -c 'cargo run -p boa_examples --profile ci --bin $0 || exit 255'

17
.github/workflows/webassembly.yml

@ -35,24 +35,25 @@ jobs:
toolchain: stable
override: true
profile: minimal
- name: Install wasm-pack
run: curl https://rustwasm.github.io/wasm-pack/installer/init.sh -sSf | sh
- uses: Swatinem/rust-cache@v2
- name: Cache npm build
uses: actions/cache@v3
with:
path: |
node_modules
target
~/.cargo/git
~/.cargo/registry
boa_wasm/pkg
key: ${{ runner.os }}-npm-build-target-${{ hashFiles('**/package-lock.json') }}
- name: Install wasm-pack
uses: baptiste0928/cargo-install@v2.2.0
with:
crate: wasm-pack
- uses: actions/setup-node@v4
with:
node-version: "16"
- run: npm ci
- run: cd boa_wasm && wasm-pack --verbose build --out-name index --out-dir ./pkg
- run: npm run build
- name: Build Playground
run: |
wasm-pack build ./ffi/wasm --verbose
npm run build
- name: Install Playwright Browsers
run: npx playwright install --with-deps
- name: Run Playwright test

4
.gitignore vendored

@ -15,8 +15,8 @@ node_modules
yarn-error.log
.vscode/settings.json
# tests/js is used for testing changes locally
tests/js
# debug is used for testing changes locally
/debug
.boa_history
# test262 testing suite

7
.prettierignore

@ -3,11 +3,10 @@
*.yml
target
node_modules
boa_engine/benches/bench_scripts/mini_js.js
boa_engine/benches/bench_scripts/clean_js.js
boa_wasm/pkg
core/engine/benches/bench_scripts/mini_js.js
core/engine/benches/bench_scripts/clean_js.js
ffi/wasm/pkg
dist
test262
tests/js/test.js
playwright-report
test-results

24
.vscode/launch.json vendored

@ -7,32 +7,46 @@
{
"type": "lldb",
"request": "launch",
"name": "Launch (Script)",
"name": "Debug Boa (Script mode)",
"windows": {
"program": "${workspaceFolder}/target/debug/boa.exe"
},
"program": "${workspaceFolder}/target/debug/boa",
"args": ["${workspaceFolder}/tests/js/test.js", "--debug-object"],
"args": ["${workspaceFolder}/${input:filePath}", "--debug-object"],
"sourceLanguages": ["rust"],
"preLaunchTask": "Cargo Build boa_cli"
},
{
"type": "lldb",
"request": "launch",
"name": "Launch (Module)",
"name": "Debug Boa (Module mode)",
"windows": {
"program": "${workspaceFolder}/target/debug/boa.exe"
},
"program": "${workspaceFolder}/target/debug/boa",
"args": [
"${workspaceFolder}/tests/js/test.js",
"${workspaceFolder}/${input:filePath}",
"--debug-object",
"-m",
"-r",
"tests/js"
"${workspaceFolder}/${input:modulePath}"
],
"sourceLanguages": ["rust"],
"preLaunchTask": "Cargo Build boa_cli"
}
],
"inputs": [
{
"id": "filePath",
"description": "Relative path to the file to run",
"default": "debug/script.js",
"type": "promptString"
},
{
"id": "modulePath",
"description": "Relative path to the module root directory",
"default": "debug",
"type": "promptString"
}
]
}

23
.vscode/tasks.json vendored

@ -25,9 +25,9 @@
},
{
"type": "process",
"label": "Cargo Run",
"label": "Run JS file",
"command": "cargo",
"args": ["run", "--bin", "boa", "./tests/js/test.js"],
"args": ["run", "--bin", "boa", "${file}"],
"group": {
"kind": "build",
"isDefault": true
@ -44,20 +44,15 @@
},
{
"type": "process",
"label": "Cargo Run (Profiler)",
"label": "Run JS file (Profiler)",
"command": "cargo",
"args": [
"run",
"--features",
"boa_engine/profiler",
"../tests/js/test.js"
],
"args": ["run", "--features", "profiler", "${file}"],
"group": "build",
"options": {
"env": {
"RUST_BACKTRACE": "full"
},
"cwd": "${workspaceFolder}/boa_cli"
"cwd": "${workspaceFolder}/cli"
},
"presentation": {
"clear": true
@ -66,9 +61,9 @@
},
{
"type": "process",
"label": "Run with VM trace",
"label": "Run JS file with VM trace",
"command": "cargo",
"args": ["run", "--bin", "boa", "--", "-t", "./tests/js/test.js"],
"args": ["run", "--bin", "boa", "--", "-t", "${file}"],
"group": "build",
"presentation": {
"clear": true
@ -77,9 +72,9 @@
},
{
"type": "process",
"label": "Get AST",
"label": "Get AST for JS file",
"command": "cargo",
"args": ["run", "--bin", "boa", "--", "-a=Debug", "./tests/js/test.js"],
"args": ["run", "--bin", "boa", "--", "-a=Debug", "${file}"],
"group": "build",
"presentation": {
"clear": true

204
Cargo.lock generated

@ -8,7 +8,7 @@ version = "0.21.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb"
dependencies = [
"gimli 0.28.0",
"gimli 0.28.1",
]
[[package]]
@ -92,30 +92,30 @@ checksum = "7079075b41f533b8c61d2a4d073c4676e1f8b249ff94a393b0595db304e0dd87"
[[package]]
name = "anstyle-parse"
version = "0.2.2"
version = "0.2.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "317b9a89c1868f5ea6ff1d9539a69f45dffc21ce321ac1fd1160dfa48c8e2140"
checksum = "c75ac65da39e5fe5ab759307499ddad880d724eed2f6ce5b5e8a26f4f387928c"
dependencies = [
"utf8parse",
]
[[package]]
name = "anstyle-query"
version = "1.0.0"
version = "1.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5ca11d4be1bab0c8bc8734a9aa7bf4ee8316d462a08c6ac5052f888fef5b494b"
checksum = "a3a318f1f38d2418400f8209655bfd825785afd25aa30bb7ba6cc792e4596748"
dependencies = [
"windows-sys 0.48.0",
"windows-sys 0.52.0",
]
[[package]]
name = "anstyle-wincon"
version = "3.0.1"
version = "3.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f0699d10d2f4d628a98ee7b57b289abbc98ff3bad977cb3152709d4bf2330628"
checksum = "1cd54b81ec8d6180e24654d0b371ad22fc3dd083b6ff8ba325b72e00c87660a7"
dependencies = [
"anstyle",
"windows-sys 0.48.0",
"windows-sys 0.52.0",
]
[[package]]
@ -146,12 +146,12 @@ dependencies = [
[[package]]
name = "async-channel"
version = "2.1.0"
version = "2.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d37875bd9915b7d67c2f117ea2c30a0989874d0b2cb694fe25403c85763c0c9e"
checksum = "1ca33f4bc4ed1babef42cad36cc1f51fa88be00420404e5b1e80ab1b18f7678c"
dependencies = [
"concurrent-queue",
"event-listener 3.1.0",
"event-listener 4.0.0",
"event-listener-strategy",
"futures-core",
"pin-project-lite",
@ -159,15 +159,15 @@ dependencies = [
[[package]]
name = "async-executor"
version = "1.6.0"
version = "1.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4b0c4a4f319e45986f347ee47fef8bf5e81c9abc3f6f58dc2391439f30df65f0"
checksum = "17ae5ebefcc48e7452b4987947920dac9450be1110cadf34d1b8c116bdbaf97c"
dependencies = [
"async-lock 2.8.0",
"async-lock 3.2.0",
"async-task",
"concurrent-queue",
"fastrand 2.0.1",
"futures-lite 1.13.0",
"futures-lite 2.1.0",
"slab",
]
@ -205,22 +205,21 @@ dependencies = [
[[package]]
name = "async-io"
version = "2.2.0"
version = "2.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "41ed9d5715c2d329bf1b4da8d60455b99b187f27ba726df2883799af9af60997"
checksum = "d6d3b15875ba253d1110c740755e246537483f152fa334f91abd7fe84c88b3ff"
dependencies = [
"async-lock 3.1.0",
"async-lock 3.2.0",
"cfg-if",
"concurrent-queue",
"futures-io",
"futures-lite 2.1.0",
"parking",
"polling 3.3.0",
"rustix 0.38.24",
"polling 3.3.1",
"rustix 0.38.26",
"slab",
"tracing",
"waker-fn",
"windows-sys 0.48.0",
"windows-sys 0.52.0",
]
[[package]]
@ -234,11 +233,11 @@ dependencies = [
[[package]]
name = "async-lock"
version = "3.1.0"
version = "3.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "deb2ab2aa8a746e221ab826c73f48bc6ba41be6763f0855cb249eb6d154cf1d7"
checksum = "7125e42787d53db9dd54261812ef17e937c95a51e4d291373b670342fa44310c"
dependencies = [
"event-listener 3.1.0",
"event-listener 4.0.0",
"event-listener-strategy",
"pin-project-lite",
]
@ -267,7 +266,7 @@ dependencies = [
"cfg-if",
"event-listener 3.1.0",
"futures-lite 1.13.0",
"rustix 0.38.24",
"rustix 0.38.26",
"windows-sys 0.48.0",
]
@ -277,13 +276,13 @@ version = "0.2.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9e47d90f65a225c4527103a8d747001fc56e375203592b25ad103e1ca13124c5"
dependencies = [
"async-io 2.2.0",
"async-io 2.2.1",
"async-lock 2.8.0",
"atomic-waker",
"cfg-if",
"futures-core",
"futures-io",
"rustix 0.38.24",
"rustix 0.38.26",
"signal-hook-registry",
"slab",
"windows-sys 0.48.0",
@ -385,8 +384,8 @@ version = "1.5.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6a37913e8dc4ddcc604f0c6d3bf2887c995153af3611de9e23c352b44c1b9118"
dependencies = [
"async-channel 2.1.0",
"async-lock 3.1.0",
"async-channel 2.1.1",
"async-lock 3.2.0",
"async-task",
"fastrand 2.0.1",
"futures-io",
@ -864,9 +863,9 @@ dependencies = [
[[package]]
name = "color-spantrace"
version = "0.2.0"
version = "0.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1ba75b3d9449ecdccb27ecbc479fdc0b87fa2dd43d2f8298f9bf0e59aacc8dce"
checksum = "cd6be1b2a7e382e2b98b43b2adcca6bb0e465af0bdd38123873ae61eb17a72c2"
dependencies = [
"once_cell",
"owo-colors",
@ -905,9 +904,9 @@ dependencies = [
[[package]]
name = "concurrent-queue"
version = "2.3.0"
version = "2.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f057a694a54f12365049b0958a1685bb52d567f5593b355fbf685838e873d400"
checksum = "d16048cd947b08fa32c24458a22f5dc5e835264f689f4f5653210c69fd107363"
dependencies = [
"crossbeam-utils",
]
@ -930,9 +929,9 @@ checksum = "fbdcdcb6d86f71c5e97409ad45898af11cbc995b4ee8112d59095a28d376c935"
[[package]]
name = "core-foundation-sys"
version = "0.8.4"
version = "0.8.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa"
checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f"
[[package]]
name = "core_maths"
@ -1153,9 +1152,9 @@ dependencies = [
[[package]]
name = "deranged"
version = "0.3.9"
version = "0.3.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0f32d04922c60427da6f9fef14d042d9edddef64cb9d4ce0d64d0685fbeb1fd3"
checksum = "8eb30d70a07a3b04884d2677f06bec33509dc67ca60d92949e5535352d3191dc"
dependencies = [
"powerfmt",
]
@ -1315,12 +1314,12 @@ dependencies = [
[[package]]
name = "errno"
version = "0.3.7"
version = "0.3.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f258a7194e7f7c2a7837a8913aeab7fd8c383457034fa20ce4dd3dcb813e8eb8"
checksum = "a258e46cdc063eb8519c00b9fc845fc47bcfca4130e2f08e88665ceda8474245"
dependencies = [
"libc",
"windows-sys 0.48.0",
"windows-sys 0.52.0",
]
[[package]]
@ -1346,21 +1345,32 @@ dependencies = [
"pin-project-lite",
]
[[package]]
name = "event-listener"
version = "4.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "770d968249b5d99410d61f5bf89057f3199a077a04d087092f58e7d10692baae"
dependencies = [
"concurrent-queue",
"parking",
"pin-project-lite",
]
[[package]]
name = "event-listener-strategy"
version = "0.3.0"
version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d96b852f1345da36d551b9473fa1e2b1eb5c5195585c6c018118bc92a8d91160"
checksum = "958e4d70b6d5e81971bebec42271ec641e7ff4e170a6fa605f2b8a8b65cb97d3"
dependencies = [
"event-listener 3.1.0",
"event-listener 4.0.0",
"pin-project-lite",
]
[[package]]
name = "eyre"
version = "0.6.8"
version = "0.6.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4c2b6b5a29c02cdc822728b7d7b8ae1bab3e3b05d44522770ddd49722eeac7eb"
checksum = "80f656be11ddf91bd709454d15d5bd896fbaf4cc3314e69349e4d1569f5b46cd"
dependencies = [
"indenter",
"once_cell",
@ -1400,7 +1410,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b93f7a0db71c99f68398f80653ed05afb0b00e062e1a20c7ff849c4edfabbbcc"
dependencies = [
"cfg-if",
"rustix 0.38.24",
"rustix 0.38.26",
"windows-sys 0.52.0",
]
@ -1443,9 +1453,9 @@ checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
[[package]]
name = "form_urlencoded"
version = "1.2.0"
version = "1.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a62bc1cf6f830c2ec14a513a9fb124d0a213a629668a4186f329db21fe045652"
checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456"
dependencies = [
"percent-encoding",
]
@ -1571,9 +1581,9 @@ dependencies = [
[[package]]
name = "gimli"
version = "0.28.0"
version = "0.28.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6fb8d784f27acf97159b40fc4db5ecd8aa23b9ad5ef69cdd136d3bc80665f0c0"
checksum = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253"
[[package]]
name = "glob"
@ -2053,9 +2063,9 @@ checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39"
[[package]]
name = "idna"
version = "0.4.0"
version = "0.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7d20d6b07bfbc108882d88ed8e37d39636dcc260e15e30c45e6ba089610b917c"
checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6"
dependencies = [
"unicode-bidi",
"unicode-normalization",
@ -2130,7 +2140,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cb0889898416213fab133e1d33a0e5858a48177452750691bde3666d0fdbaf8b"
dependencies = [
"hermit-abi",
"rustix 0.38.24",
"rustix 0.38.26",
"windows-sys 0.48.0",
]
@ -2180,9 +2190,9 @@ dependencies = [
[[package]]
name = "js-sys"
version = "0.3.65"
version = "0.3.66"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "54c0c35952f67de54bb584e9fd912b3023117cbafc0a77d8f3dee1fb5f572fe8"
checksum = "cee9c64da59eae3b50095c18d3e74f8b73c0b86d2792824ff01bbce68ba229ca"
dependencies = [
"wasm-bindgen",
]
@ -2229,9 +2239,9 @@ checksum = "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519"
[[package]]
name = "linux-raw-sys"
version = "0.4.11"
version = "0.4.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "969488b55f8ac402214f3f5fd243ebb7206cf82de60d3172994707a4bcc2b829"
checksum = "c4cd1a83af159aa67994778be9070f0ae1bd732942279cabb14f86f986a21456"
[[package]]
name = "litemap"
@ -2633,9 +2643,9 @@ checksum = "de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c"
[[package]]
name = "percent-encoding"
version = "2.3.0"
version = "2.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9b2a4787296e9989611394c33f193f676704af1686e70b8f8033ab5ba9a35a94"
checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e"
[[package]]
name = "perf-event-open-sys"
@ -2757,16 +2767,16 @@ dependencies = [
[[package]]
name = "polling"
version = "3.3.0"
version = "3.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e53b6af1f60f36f8c2ac2aad5459d75a5a9b4be1e8cdd40264f315d78193e531"
checksum = "cf63fa624ab313c11656b4cda960bfc46c410187ad493c41f6ba2d8c1e991c9e"
dependencies = [
"cfg-if",
"concurrent-queue",
"pin-project-lite",
"rustix 0.38.24",
"rustix 0.38.26",
"tracing",
"windows-sys 0.48.0",
"windows-sys 0.52.0",
]
[[package]]
@ -3049,9 +3059,9 @@ dependencies = [
[[package]]
name = "ring"
version = "0.17.5"
version = "0.17.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fb0205304757e5d899b9c2e448b867ffd03ae7f988002e47cd24954391394d0b"
checksum = "688c63d65483050968b2a8937f7995f443e27041a0f7700aa59b0822aedebb74"
dependencies = [
"cc",
"getrandom",
@ -3126,15 +3136,15 @@ dependencies = [
[[package]]
name = "rustix"
version = "0.38.24"
version = "0.38.26"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9ad981d6c340a49cdc40a1028d9c6084ec7e9fa33fcb839cab656a267071e234"
checksum = "9470c4bf8246c8daf25f9598dca807fb6510347b1e1cfa55749113850c79d88a"
dependencies = [
"bitflags 2.4.1",
"errno",
"libc",
"linux-raw-sys 0.4.11",
"windows-sys 0.48.0",
"linux-raw-sys 0.4.12",
"windows-sys 0.52.0",
]
[[package]]
@ -3268,9 +3278,9 @@ dependencies = [
[[package]]
name = "serde-aux"
version = "4.2.0"
version = "4.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c3dfe1b7eb6f9dcf011bd6fad169cdeaae75eda0d61b1a99a3f015b41b0cae39"
checksum = "184eba62ebddb71658697c8b08822edee89970bf318c5362189f0de27f85b498"
dependencies = [
"serde",
"serde_json",
@ -3629,7 +3639,7 @@ dependencies = [
"cfg-if",
"fastrand 2.0.1",
"redox_syscall 0.4.1",
"rustix 0.38.24",
"rustix 0.38.26",
"windows-sys 0.48.0",
]
@ -3936,9 +3946,9 @@ dependencies = [
[[package]]
name = "unicode-bidi"
version = "0.3.13"
version = "0.3.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460"
checksum = "6f2528f27a9eb2b21e69c95319b30bd0efd85d09c379741b0f78ea1d86be2416"
[[package]]
name = "unicode-ident"
@ -3993,9 +4003,9 @@ checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1"
[[package]]
name = "ureq"
version = "2.8.0"
version = "2.9.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f5ccd538d4a604753ebc2f17cd9946e89b77bf87f6a8e2309667c6f2e87855e3"
checksum = "f8cdd25c339e200129fe4de81451814e5228c9b771d57378817d6117cc2b3f97"
dependencies = [
"base64",
"flate2",
@ -4009,9 +4019,9 @@ dependencies = [
[[package]]
name = "url"
version = "2.4.1"
version = "2.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "143b538f18257fac9cad154828a57c6bf5157e1aa604d4816b5995bf6de87ae5"
checksum = "31e6302e3bb753d46e83516cae55ae196fc0c309407cf11ab35cc51a4c2a4633"
dependencies = [
"form_urlencoded",
"idna",
@ -4020,15 +4030,15 @@ dependencies = [
[[package]]
name = "utf16_iter"
version = "1.0.4"
version = "1.0.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "52df8b7fb78e7910d776fccf2e42ceaf3604d55e8e7eb2dbd183cb1441d8a692"
checksum = "c8232dd3cdaed5356e0f716d285e4b40b932ac434100fe9b7e0e8e935b9e6246"
[[package]]
name = "utf8_iter"
version = "1.0.3"
version = "1.0.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "64a8922555b9500e3d865caed19330172cd67cbf82203f1a3311d8c305cc9f33"
checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be"
[[package]]
name = "utf8parse"
@ -4038,9 +4048,9 @@ checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a"
[[package]]
name = "uuid"
version = "1.5.0"
version = "1.6.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "88ad59a7560b41a70d191093a945f0b87bc1deeda46fb237479708a1d6b6cdfc"
checksum = "5e395fcf16a7a3d8127ec99782007af141946b4795001f876d54fb0d55978560"
[[package]]
name = "valuable"
@ -4408,9 +4418,9 @@ checksum = "718ed7c55c2add6548cca3ddd6383d738cd73b892df400e96b9aa876f0141d7a"
[[package]]
name = "web-sys"
version = "0.3.65"
version = "0.3.66"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5db499c5f66323272151db0e666cd34f78617522fb0c1604d31a27c50c206a85"
checksum = "50c24a44ec86bb68fbecd1b3efed7e85ea5621b39b35ef2766b66cd984f8010f"
dependencies = [
"js-sys",
"wasm-bindgen",
@ -4428,9 +4438,9 @@ dependencies = [
[[package]]
name = "webpki-roots"
version = "0.25.2"
version = "0.25.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "14247bb57be4f377dfb94c72830b8ce8fc6beac03cf4bf7b9732eadd414123fc"
checksum = "1778a42e8b3b90bff8d0f5032bf22250792889a5cdc752aa0020c84abe3aaf10"
[[package]]
name = "which"
@ -4441,7 +4451,7 @@ dependencies = [
"either",
"home",
"once_cell",
"rustix 0.38.24",
"rustix 0.38.26",
]
[[package]]
@ -4661,9 +4671,9 @@ checksum = "dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04"
[[package]]
name = "winnow"
version = "0.5.19"
version = "0.5.25"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "829846f3e3db426d4cee4510841b71a8e58aa2a76b1132579487ae430ccd9c7b"
checksum = "b7e87b8dfbe3baffbe687eef2e164e32286eff31a5ee16463ce03d991643ec94"
dependencies = [
"memchr",
]
@ -4715,18 +4725,18 @@ dependencies = [
[[package]]
name = "zerocopy"
version = "0.7.26"
version = "0.7.29"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e97e415490559a91254a2979b4829267a57d2fcd741a98eee8b722fb57289aa0"
checksum = "5d075cf85bbb114e933343e087b92f2146bac0d55b534cbb8188becf0039948e"
dependencies = [
"zerocopy-derive",
]
[[package]]
name = "zerocopy-derive"
version = "0.7.26"
version = "0.7.29"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "dd7e48ccf166952882ca8bd778a43502c64f33bf94c12ebe2a7f08e5a0f6689f"
checksum = "86cd5ca076997b97ef09d3ad65efe811fa68c9e874cb636ccb211223a813b0c2"
dependencies = [
"proc-macro2",
"quote",

52
Cargo.toml

@ -1,21 +1,23 @@
[workspace]
resolver = "2"
members = [
"boa_ast",
"boa_cli",
"boa_engine",
"boa_examples",
"boa_gc",
"boa_icu_provider",
"boa_interner",
"boa_macros",
"boa_macros_tests",
"boa_parser",
"boa_profiler",
"boa_runtime",
"boa_temporal",
"boa_tester",
"boa_wasm",
# CORE
"core/*",
# FFI
"ffi/*",
# TESTS
"tests/*",
# OTHERS
"examples",
"cli",
]
exclude = [
"tests/fuzz", # Does weird things on Windows tests
"tests/src" # Just a hack to have fuzz inside tests
]
[workspace.package]
@ -30,16 +32,16 @@ description = "Boa is a Javascript lexer, parser and compiler written in Rust. C
[workspace.dependencies]
# Repo Crates
boa_ast = { version = "~0.17.0", path = "boa_ast" }
boa_engine = { version = "~0.17.0", path = "boa_engine" }
boa_gc = { version = "~0.17.0", path = "boa_gc" }
boa_icu_provider = { version = "~0.17.0", path = "boa_icu_provider" }
boa_interner = { version = "~0.17.0", path = "boa_interner" }
boa_macros = { version = "~0.17.0", path = "boa_macros" }
boa_parser = { version = "~0.17.0", path = "boa_parser" }
boa_profiler = { version = "~0.17.0", path = "boa_profiler" }
boa_runtime = { version = "~0.17.0", path = "boa_runtime" }
boa_temporal = {version = "~0.17.0", path = "boa_temporal" }
boa_ast = { version = "~0.17.0", path = "core/ast" }
boa_engine = { version = "~0.17.0", path = "core/engine" }
boa_gc = { version = "~0.17.0", path = "core/gc" }
boa_icu_provider = { version = "~0.17.0", path = "core/icu_provider" }
boa_interner = { version = "~0.17.0", path = "core/interner" }
boa_macros = { version = "~0.17.0", path = "core/macros" }
boa_parser = { version = "~0.17.0", path = "core/parser" }
boa_profiler = { version = "~0.17.0", path = "core/profiler" }
boa_runtime = { version = "~0.17.0", path = "core/runtime" }
boa_temporal = { version = "~0.17.0", path = "core/temporal" }
# Shared deps
arbitrary = "1"

0
boa_ast/ABOUT.md → cli/ABOUT.md

0
boa_cli/Cargo.toml → cli/Cargo.toml

0
boa_cli/src/debug/function.rs → cli/src/debug/function.rs

0
boa_cli/src/debug/gc.rs → cli/src/debug/gc.rs

0
boa_cli/src/debug/limits.rs → cli/src/debug/limits.rs

0
boa_cli/src/debug/mod.rs → cli/src/debug/mod.rs

0
boa_cli/src/debug/object.rs → cli/src/debug/object.rs

0
boa_cli/src/debug/optimizer.rs → cli/src/debug/optimizer.rs

0
boa_cli/src/debug/realm.rs → cli/src/debug/realm.rs

0
boa_cli/src/debug/shape.rs → cli/src/debug/shape.rs

0
boa_cli/src/helper.rs → cli/src/helper.rs

0
boa_cli/src/main.rs → cli/src/main.rs

0
boa_cli/ABOUT.md → core/ast/ABOUT.md

0
boa_ast/Cargo.toml → core/ast/Cargo.toml

0
boa_ast/src/declaration/export.rs → core/ast/src/declaration/export.rs

0
boa_ast/src/declaration/import.rs → core/ast/src/declaration/import.rs

0
boa_ast/src/declaration/mod.rs → core/ast/src/declaration/mod.rs

0
boa_ast/src/declaration/variable.rs → core/ast/src/declaration/variable.rs

0
boa_ast/src/expression/access.rs → core/ast/src/expression/access.rs

0
boa_ast/src/expression/await.rs → core/ast/src/expression/await.rs

0
boa_ast/src/expression/call.rs → core/ast/src/expression/call.rs

0
boa_ast/src/expression/identifier.rs → core/ast/src/expression/identifier.rs

0
boa_ast/src/expression/literal/array.rs → core/ast/src/expression/literal/array.rs

0
boa_ast/src/expression/literal/mod.rs → core/ast/src/expression/literal/mod.rs

0
boa_ast/src/expression/literal/object.rs → core/ast/src/expression/literal/object.rs

0
boa_ast/src/expression/literal/template.rs → core/ast/src/expression/literal/template.rs

0
boa_ast/src/expression/mod.rs → core/ast/src/expression/mod.rs

0
boa_ast/src/expression/new.rs → core/ast/src/expression/new.rs

0
boa_ast/src/expression/operator/assign/mod.rs → core/ast/src/expression/operator/assign/mod.rs

0
boa_ast/src/expression/operator/assign/op.rs → core/ast/src/expression/operator/assign/op.rs

0
boa_ast/src/expression/operator/binary/mod.rs → core/ast/src/expression/operator/binary/mod.rs

0
boa_ast/src/expression/operator/binary/op.rs → core/ast/src/expression/operator/binary/op.rs

0
boa_ast/src/expression/operator/conditional.rs → core/ast/src/expression/operator/conditional.rs

0
boa_ast/src/expression/operator/mod.rs → core/ast/src/expression/operator/mod.rs

0
boa_ast/src/expression/operator/unary/mod.rs → core/ast/src/expression/operator/unary/mod.rs

0
boa_ast/src/expression/operator/unary/op.rs → core/ast/src/expression/operator/unary/op.rs

0
boa_ast/src/expression/operator/update/mod.rs → core/ast/src/expression/operator/update/mod.rs

0
boa_ast/src/expression/operator/update/op.rs → core/ast/src/expression/operator/update/op.rs

0
boa_ast/src/expression/optional.rs → core/ast/src/expression/optional.rs

0
boa_ast/src/expression/parenthesized.rs → core/ast/src/expression/parenthesized.rs

0
boa_ast/src/expression/regexp.rs → core/ast/src/expression/regexp.rs

0
boa_ast/src/expression/spread.rs → core/ast/src/expression/spread.rs

0
boa_ast/src/expression/tagged_template.rs → core/ast/src/expression/tagged_template.rs

0
boa_ast/src/expression/yield.rs → core/ast/src/expression/yield.rs

0
boa_ast/src/function/arrow_function.rs → core/ast/src/function/arrow_function.rs

0
boa_ast/src/function/async_arrow_function.rs → core/ast/src/function/async_arrow_function.rs

0
boa_ast/src/function/async_function.rs → core/ast/src/function/async_function.rs

0
boa_ast/src/function/async_generator.rs → core/ast/src/function/async_generator.rs

0
boa_ast/src/function/class.rs → core/ast/src/function/class.rs

0
boa_ast/src/function/generator.rs → core/ast/src/function/generator.rs

0
boa_ast/src/function/mod.rs → core/ast/src/function/mod.rs

0
boa_ast/src/function/parameters.rs → core/ast/src/function/parameters.rs

0
boa_ast/src/keyword/mod.rs → core/ast/src/keyword/mod.rs

0
boa_ast/src/keyword/tests.rs → core/ast/src/keyword/tests.rs

0
boa_ast/src/lib.rs → core/ast/src/lib.rs

0
boa_ast/src/module_item_list/mod.rs → core/ast/src/module_item_list/mod.rs

0
boa_ast/src/operations.rs → core/ast/src/operations.rs

0
boa_ast/src/pattern.rs → core/ast/src/pattern.rs

0
boa_ast/src/position.rs → core/ast/src/position.rs

0
boa_ast/src/property.rs → core/ast/src/property.rs

0
boa_ast/src/punctuator/mod.rs → core/ast/src/punctuator/mod.rs

0
boa_ast/src/punctuator/tests.rs → core/ast/src/punctuator/tests.rs

0
boa_ast/src/source.rs → core/ast/src/source.rs

0
boa_ast/src/statement/block.rs → core/ast/src/statement/block.rs

0
boa_ast/src/statement/if.rs → core/ast/src/statement/if.rs

0
boa_ast/src/statement/iteration/break.rs → core/ast/src/statement/iteration/break.rs

0
boa_ast/src/statement/iteration/continue.rs → core/ast/src/statement/iteration/continue.rs

0
boa_ast/src/statement/iteration/do_while_loop.rs → core/ast/src/statement/iteration/do_while_loop.rs

0
boa_ast/src/statement/iteration/for_in_loop.rs → core/ast/src/statement/iteration/for_in_loop.rs

0
boa_ast/src/statement/iteration/for_loop.rs → core/ast/src/statement/iteration/for_loop.rs

0
boa_ast/src/statement/iteration/for_of_loop.rs → core/ast/src/statement/iteration/for_of_loop.rs

0
boa_ast/src/statement/iteration/mod.rs → core/ast/src/statement/iteration/mod.rs

0
boa_ast/src/statement/iteration/while_loop.rs → core/ast/src/statement/iteration/while_loop.rs

0
boa_ast/src/statement/labelled.rs → core/ast/src/statement/labelled.rs

0
boa_ast/src/statement/mod.rs → core/ast/src/statement/mod.rs

0
boa_ast/src/statement/return.rs → core/ast/src/statement/return.rs

0
boa_ast/src/statement/switch.rs → core/ast/src/statement/switch.rs

0
boa_ast/src/statement/throw.rs → core/ast/src/statement/throw.rs

0
boa_ast/src/statement/try.rs → core/ast/src/statement/try.rs

0
boa_ast/src/statement/with.rs → core/ast/src/statement/with.rs

0
boa_ast/src/statement_list.rs → core/ast/src/statement_list.rs

0
boa_ast/src/visitor.rs → core/ast/src/visitor.rs

0
boa_engine/ABOUT.md → core/engine/ABOUT.md

0
boa_engine/Cargo.toml → core/engine/Cargo.toml

0
boa_engine/benches/README.md → core/engine/benches/README.md

0
boa_engine/benches/bench_scripts/arithmetic_operations.js → core/engine/benches/bench_scripts/arithmetic_operations.js

0
boa_engine/benches/bench_scripts/array_access.js → core/engine/benches/bench_scripts/array_access.js

0
boa_engine/benches/bench_scripts/array_create.js → core/engine/benches/bench_scripts/array_create.js

0
boa_engine/benches/bench_scripts/array_pop.js → core/engine/benches/bench_scripts/array_pop.js

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save