Skip to content

Commit

Permalink
remove wbg jank and dead code
Browse files Browse the repository at this point in the history
  • Loading branch information
r58Playz committed Oct 15, 2024
1 parent c2570c1 commit b31a28a
Show file tree
Hide file tree
Showing 5 changed files with 22 additions and 30 deletions.
9 changes: 5 additions & 4 deletions rewriter/Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions rewriter/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@ serde = "1.0.204"
serde-wasm-bindgen = "0.6.5"
url = "2.5.2"
wasm-bindgen = "0.2.92"
web-sys = { version = "0.3.72", features = ["Url"] }

[dev-dependencies]
boa_engine = "0.19.0"
2 changes: 1 addition & 1 deletion rewriter/build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ else
WASMOPTFLAGS=""
fi

time wasm-opt $WASMOPTFLAGS -O4 --vacuum --dce --enable-threads --enable-bulk-memory --enable-simd "$WASM" -o rewriter/out/optimized.wasm
time wasm-opt $WASMOPTFLAGS -tnh -O4 --vacuum --dce --enable-threads --enable-bulk-memory --enable-simd "$WASM" -o rewriter/out/optimized.wasm

mkdir dist/ || true

Expand Down
27 changes: 10 additions & 17 deletions rewriter/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,10 @@ pub mod rewrite;

use std::{panic, str::FromStr};

use js_sys::{
global, Array, Function, Object,
Reflect::{self, construct},
};
use js_sys::{Function, Object, Reflect};
use rewrite::{rewrite, Config, EncodeFn};
use url::Url;
use wasm_bindgen::{prelude::*, throw_str};
use url::Url;

#[wasm_bindgen]
extern "C" {
Expand Down Expand Up @@ -40,27 +37,23 @@ fn get_obj(obj: &JsValue, k: &str) -> JsValue {
Reflect::get(obj, &k.into()).unwrap()
}

fn get_bool(obj: &JsValue, k: &str) -> bool {
Reflect::get(obj, &k.into()).unwrap().as_bool().unwrap()
}

fn get_str(obj: &JsValue, k: &str) -> String {
Reflect::get(obj, &k.into()).unwrap().as_string().unwrap()
}

fn get_flag(scramjet: &Object, url: &str, flag: &str) -> bool {
let urlconstructor = get_obj(&global(), "URL");
let args = Array::new();
args.push(&JsValue::from_str(url));
let url = construct(&urlconstructor.dyn_into::<Function>().unwrap(), &args).unwrap();
let fenabled = get_obj(scramjet, "flagEnabled")
.dyn_into::<Function>()
.unwrap();
return fenabled
.call2(&JsValue::NULL, &JsValue::from_str(flag), &url)
.unwrap()
fenabled
.call2(
&JsValue::NULL,
&flag.into(),
&web_sys::Url::new(url).expect("invalid url").into(),
)
.expect("error in flagEnabled")
.as_bool()
.unwrap();
.expect("not bool returned from flagEnabled")
}

fn get_config(scramjet: &Object, url: &str) -> Config {
Expand Down
13 changes: 5 additions & 8 deletions rewriter/src/rewrite.rs
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,6 @@ enum JsChange {
},
SourceTag {
tagstart: u32,
tagend: usize,
},
Assignment {
name: String,
Expand Down Expand Up @@ -288,7 +287,6 @@ impl<'a> Visit<'a> for Rewriter {
if self.config.do_sourcemaps {
self.jschanges.push(JsChange::SourceTag {
tagstart: it.span.start,
tagend: it.span.end as usize,
});
}
walk::walk_function_body(self, it);
Expand Down Expand Up @@ -480,7 +478,7 @@ pub fn rewrite(js: &str, url: Url, config: Config) -> Vec<u8> {
rhsspan: _,
op: _,
} => entirespan.start,
JsChange::SourceTag { tagstart, tagend } => *tagstart,
JsChange::SourceTag { tagstart } => *tagstart,
};
let b = match b {
JsChange::GenericChange { span, text: _ } => span.start,
Expand All @@ -490,7 +488,7 @@ pub fn rewrite(js: &str, url: Url, config: Config) -> Vec<u8> {
rhsspan: _,
op: _,
} => entirespan.start,
JsChange::SourceTag { tagstart, tagend } => *tagstart,
JsChange::SourceTag { tagstart } => *tagstart,
};
a.cmp(&b)
});
Expand Down Expand Up @@ -519,7 +517,7 @@ pub fn rewrite(js: &str, url: Url, config: Config) -> Vec<u8> {
let mut sourcemap: Vec<u8> = Vec::new();
if ast_pass.config.do_sourcemaps {
sourcemap.reserve(size_estimate * 2);
sourcemap.extend_from_slice(&format!("{}([", ast_pass.config.pushsourcemapfn).as_bytes());
sourcemap.extend_from_slice(format!("{}([", ast_pass.config.pushsourcemapfn).as_bytes());
}

let mut offset = 0;
Expand Down Expand Up @@ -570,11 +568,10 @@ pub fn rewrite(js: &str, url: Url, config: Config) -> Vec<u8> {

offset = entirespan.end as usize;
}
JsChange::SourceTag { tagstart, tagend } => {
JsChange::SourceTag { tagstart } => {
let start = *tagstart as usize;
buffer.extend_from_slice(unsafe { js.get_unchecked(offset..start) }.as_bytes());

// let inject = format!("/*scramtag {} */", &js[start..*tagend]);
let inject = format!("/*scramtag {} {}*/", start, sourcetag);
buffer.extend_from_slice(inject.as_bytes());

Expand All @@ -587,7 +584,7 @@ pub fn rewrite(js: &str, url: Url, config: Config) -> Vec<u8> {
if ast_pass.config.do_sourcemaps {
sourcemap.extend_from_slice(b"],");
sourcemap.extend_from_slice(b"\"");
sourcemap.extend_from_slice(&sourcetag.as_bytes());
sourcemap.extend_from_slice(sourcetag.as_bytes());
sourcemap.extend_from_slice(b"\");\n");

sourcemap.extend_from_slice(&buffer);
Expand Down

0 comments on commit b31a28a

Please sign in to comment.