-
Notifications
You must be signed in to change notification settings - Fork 1
Description
Greeting! I see that this project isn't currently under active development, but I have a couple questions I am hoping you might have time to answer.
Question 1: How can I get this to build
I tried building using cargo build and found that some File::with_options() needed to be replaced with OpenOptions::new(); that was straightforward. Then I found a series of errors related to (probably just out-of-date?) webpack, thread 'main' panicked at 'build artifact libjssatrt.adoes not exist at/path/to/jssat/target/debug/libjssatrt.a`, and one big one roughly of the form:
error: failed to run custom build command for `jssat_frontend_js v0.1.0 (/usr/local/google/Projects/jssat/jssat_frontend_js)`
Caused by:
process didn't exit successfully: `/usr/local/google/Projects/jssat/target/debug/build/jssat_frontend_js-5088213abf4c0837/build-script-build` (exit status: 101)
--- stdout
cargo:rerun-if-changed=./src/ecmascript/ECMA262Methods.lisp
cargo:rerun-if-changed=./src/ast/parse_nodes.json
debuggy:::
Production {
[[lots-of-ast]]
}
Suffice it to say that, if you have the time to do the minimal effort to get things building "out of the box", that would be great. For context, I have:
cargo --version
cargo 1.64.0-nightly (d8d30a753 2022-07-19)
Question 2: Does this project have solid source maps and language feature coverage for ECMAScript?
For my own purposes, I am hoping to use the simplified (JSSAT IR + Lifting BBs) IR to perform code analysis on "modern JavaScript" (which has a constantly changing definition, as I am sure you are aware). For reference, I am trying to improve on the following set up:
- Use SWC to compile "modern JavaScript" down to ECMAScript3 (with sourcemaps);
- Use TAJS to generate flowgraphs from ECMAScript3 code;
- Perform analysis on flowgraph nodes as an IR.
I am interested in cutting out the compile-down-to-ECMAScript3 part, but I need a simple IR that supports newer JavaScript to make the leap to a different IR.
Once I can get it building, would you say that JSSAT is in good enough shape to try programming against its IR in this context?