-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
fix: reflection, lazy imports, esmodule interop and others
- Loading branch information
Showing
24 changed files
with
1,579 additions
and
505 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
[target.wasm32-unknown-unknown] | ||
rustflags = [ | ||
"-C", "link-args=-z stack-size=4194304", | ||
] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,91 +1,91 @@ | ||
name: Test Suite | ||
|
||
on: | ||
push: | ||
branches: | ||
- develop | ||
pull_request_target: | ||
push: | ||
branches: | ||
- develop | ||
pull_request_target: | ||
|
||
jobs: | ||
test_rust: | ||
name: Test Rust | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v4 | ||
name: Checkout source | ||
test_rust: | ||
name: Test Rust | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v4 | ||
name: Checkout source | ||
|
||
- uses: actions/cache@v3 | ||
name: Setup Cache | ||
with: | ||
path: | | ||
~/.cargo/bin/ | ||
~/.cargo/registry/index/ | ||
~/.cargo/registry/cache/ | ||
~/.cargo/git/db/ | ||
target/ | ||
simd-target/ | ||
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} | ||
- uses: actions/cache@v3 | ||
name: Setup Cache | ||
with: | ||
path: | | ||
~/.cargo/bin/ | ||
~/.cargo/registry/index/ | ||
~/.cargo/registry/cache/ | ||
~/.cargo/git/db/ | ||
target/ | ||
simd-target/ | ||
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} | ||
|
||
- name: Run Rust tests | ||
run: | | ||
cargo install grcov | ||
npm install -g mocha | ||
npm ci | ||
cargo clean | ||
cargo test | ||
grcov . --binary-path ./target/debug -s . -t lcov --branch -o ./coverage.lcov | ||
env: | ||
RUSTFLAGS: -Cinstrument-coverage | ||
LLVM_PROFILE_FILE: "%p-%m.profraw" | ||
- name: Run Rust tests | ||
run: | | ||
cargo install grcov | ||
npm install -g mocha | ||
npm ci | ||
cargo clean | ||
cargo test | ||
grcov . --binary-path ./target/debug -s . -t lcov --branch -o ./coverage.lcov | ||
env: | ||
RUSTFLAGS: -Cinstrument-coverage | ||
LLVM_PROFILE_FILE: '%p-%m.profraw' | ||
|
||
- name: Publish coverage report | ||
uses: codecov/codecov-action@v3 | ||
with: | ||
file: ./coverage.lcov | ||
- name: Publish coverage report | ||
uses: codecov/codecov-action@v3 | ||
with: | ||
file: ./coverage.lcov | ||
|
||
test_node: | ||
name: Test (Node.JS ${{ matrix.node_version }}) | ||
runs-on: ubuntu-latest | ||
strategy: | ||
matrix: | ||
node_version: [16, 18, 20] | ||
fail-fast: false | ||
test_node: | ||
name: Test (Node.JS ${{ matrix.node_version }}) | ||
runs-on: ubuntu-latest | ||
strategy: | ||
matrix: | ||
node_version: [16, 18, 20] | ||
fail-fast: false | ||
|
||
steps: | ||
- uses: actions/checkout@v4 | ||
name: Checkout source | ||
steps: | ||
- uses: actions/checkout@v4 | ||
name: Checkout source | ||
|
||
- uses: actions/cache@v3 | ||
name: Setup Cache | ||
with: | ||
path: | | ||
~/.cargo/bin/ | ||
~/.cargo/registry/index/ | ||
~/.cargo/registry/cache/ | ||
~/.cargo/git/db/ | ||
target/ | ||
simd-target/ | ||
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} | ||
- uses: actions/cache@v3 | ||
name: Setup Cache | ||
with: | ||
path: | | ||
~/.cargo/bin/ | ||
~/.cargo/registry/index/ | ||
~/.cargo/registry/cache/ | ||
~/.cargo/git/db/ | ||
target/ | ||
simd-target/ | ||
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} | ||
|
||
- name: Get npm cache directory | ||
id: npm-cache-dir | ||
shell: bash | ||
run: echo "dir=$(npm config get cache)" >> ${GITHUB_OUTPUT} | ||
- name: Get npm cache directory | ||
id: npm-cache-dir | ||
shell: bash | ||
run: echo "dir=$(npm config get cache)" >> ${GITHUB_OUTPUT} | ||
|
||
- uses: actions/cache@v3 | ||
with: | ||
path: ${{ steps.npm-cache-dir.outputs.dir }} | ||
key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }} | ||
- uses: actions/cache@v3 | ||
with: | ||
path: ${{ steps.npm-cache-dir.outputs.dir }} | ||
key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }} | ||
|
||
- uses: actions/setup-node@v3 | ||
name: Setup Node.JS | ||
with: | ||
node-version: ${{ matrix.node_version }} | ||
- uses: actions/setup-node@v3 | ||
name: Setup Node.JS | ||
with: | ||
node-version: ${{ matrix.node_version }} | ||
|
||
- name: Run WASM tests | ||
run: | | ||
cargo install wasm-pack --force | ||
cargo clean | ||
npm install -g mocha | ||
npm ci | ||
npm test | ||
- name: Run WASM tests | ||
run: | | ||
cargo install wasm-pack --force | ||
cargo clean | ||
npm install -g mocha | ||
npm ci | ||
npm test |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1,34 @@ | ||
export * from './pkg/compiler'; | ||
export { compile, start, prepareStackTrace } from './pkg/compiler'; | ||
|
||
declare interface JsMethodParameter { | ||
name?: String; | ||
index: number; | ||
hasDefault: boolean; | ||
isObjectPattern: boolean; | ||
isArrayPattern: boolean; | ||
isRestElement: boolean; | ||
} | ||
|
||
declare interface JsMemberData { | ||
memberIndex: number; | ||
kind: 'method' | 'field' | 'accessor' | 'getter' | 'setter'; | ||
name: string | symbol; | ||
static?: boolean; | ||
private?: boolean; | ||
access?: { get?: () => any; set?: (v: any) => void }; | ||
parameters?: JsMethodParameter[]; | ||
docblock?: String; | ||
} | ||
|
||
declare interface JsReflectionData { | ||
fqcn: String; | ||
className: String; | ||
namespace?: String; | ||
filename?: String; | ||
members: JsMemberData[]; | ||
docblock?: String; | ||
} | ||
|
||
export function getReflectionData( | ||
classIdOrValue: any, | ||
): JsReflectionData | undefined; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,6 +1,6 @@ | ||
{ | ||
"name": "@jymfony/compiler", | ||
"version": "0.5.0-alpha.1", | ||
"version": "0.5.0-alpha.2", | ||
"type": "commonjs", | ||
"author": "Alessandro Chitolina <[email protected]>", | ||
"license": "MIT", | ||
|
@@ -22,6 +22,8 @@ | |
"files": [ | ||
"index.js", | ||
"index.d.ts", | ||
"lib/_apply_decs_2203_r.js", | ||
"lib/reflection.js", | ||
"pkg/compiler.js", | ||
"pkg/compiler.d.ts", | ||
"pkg/compiler_bg.wasm", | ||
|
Oops, something went wrong.