Skip to content

Commit 40e73fe

Browse files
committed
[scramjet/core] add disableComputedWrap flag
1 parent 2d9a735 commit 40e73fe

8 files changed

Lines changed: 9 additions & 8 deletions

File tree

packages/scramjet/packages/core/rewriter/js/src/cfg.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,6 @@ pub struct Flags {
4040
pub capture_errors: bool,
4141
pub scramitize: bool,
4242
pub do_sourcemaps: bool,
43-
pub strict_rewrites: bool,
43+
pub disable_computed_wrap: bool,
4444
pub destructure_rewrites: bool,
4545
}

packages/scramjet/packages/core/rewriter/js/src/visitor.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,7 @@ where
7070
}
7171

7272
fn handle_computed_member_expression(&mut self, it: &ComputedMemberExpression<'data>) {
73+
if self.flags.disable_computed_wrap { return };
7374
match &it.expression {
7475
Expression::NullLiteral(_)
7576
| Expression::BigIntLiteral(_)

packages/scramjet/packages/core/rewriter/native/src/main.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,15 +54,15 @@ pub struct RewriterOptions {
5454
sourcetag: String,
5555
#[clap(long, default_value_t = false)]
5656
is_module: bool,
57-
57+
5858
#[clap(long, default_value_t = false)]
5959
capture_errors: bool,
6060
#[clap(long, default_value_t = false)]
6161
do_sourcemaps: bool,
6262
#[clap(long, default_value_t = false)]
6363
scramitize: bool,
6464
#[clap(long, default_value_t = false)]
65-
strict_rewrites: bool,
65+
disable_computed_wrap: bool,
6666
#[clap(long, default_value_t = false)]
6767
destructure_rewrites: bool,
6868
}

packages/scramjet/packages/core/rewriter/native/src/rewriter.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ impl NativeRewriter {
9292
capture_errors: cfg.capture_errors,
9393
do_sourcemaps: cfg.do_sourcemaps,
9494
scramitize: cfg.scramitize,
95-
strict_rewrites: cfg.strict_rewrites,
95+
disable_computed_wrap: cfg.disable_computed_wrap,
9696
destructure_rewrites: cfg.destructure_rewrites,
9797
},
9898
&rewriter

packages/scramjet/packages/core/rewriter/wasm/src/lib.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ fn get_js_flags(obj: &Object, base: String, is_module: bool) -> Result<Flags> {
7171
do_sourcemaps: get_bool(obj, "sourcemaps")?,
7272
capture_errors: get_bool(obj, "captureErrors")?,
7373
scramitize: get_bool(obj, "scramitize")?,
74-
strict_rewrites: get_bool(obj, "strictRewrites")?,
74+
disable_computed_wrap: get_bool(obj, "disableComputedWrap")?,
7575
destructure_rewrites: get_bool(obj, "destructureRewrites")?,
7676

7777
})

packages/scramjet/packages/core/src/index.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ export const defaultConfig: ScramjetConfig = {
3333
},
3434
flags: {
3535
syncxhr: false,
36-
strictRewrites: true,
36+
disableComputedWrap: false,
3737
rewriterLogs: false,
3838
captureErrors: false,
3939
cleanErrors: false,

packages/scramjet/packages/core/src/types.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ export interface ScramjetVersionInfo {
1919
*/
2020
export type ScramjetFlags = {
2121
syncxhr: boolean;
22-
strictRewrites: boolean;
22+
disableComputedWrap: boolean;
2323
rewriterLogs: boolean;
2424
captureErrors: boolean;
2525
cleanErrors: boolean;

packages/scramjet/packages/demo/src/components/FlagEditor.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ const flagStore = createStore<ScramjetFlags>(
1717
// Flag descriptions for better UX
1818
const flagDescriptions: Record<keyof ScramjetFlags, string> = {
1919
syncxhr: "Enable synchronous XMLHttpRequest support",
20-
strictRewrites: "enable extra security in js rewriter at a performance cost",
20+
disableComputedWrap: "Skip deep js interception for better runtime speed",
2121
cleanErrors: "prevent sites from noticing scramjet stack frames",
2222
sourcemaps:
2323
"prevent sites from noticing javascript transformations (at a performance cost)",

0 commit comments

Comments
 (0)