From 794f9a8a469e16f27771d39a99e6e1eb3fe80f15 Mon Sep 17 00:00:00 2001 From: wearrrrr Date: Wed, 2 Oct 2024 15:29:31 -0500 Subject: [PATCH] set up infrastructure for having the original code above each function for debugging --- rewriter/src/rewrite.rs | 9 ++++++--- src/controller/index.ts | 2 +- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/rewriter/src/rewrite.rs b/rewriter/src/rewrite.rs index d546958..949bcbc 100644 --- a/rewriter/src/rewrite.rs +++ b/rewriter/src/rewrite.rs @@ -22,6 +22,7 @@ enum JsChange { }, SourceTag { tagstart: u32, + tagend: usize, }, Assignment { name: String, @@ -260,6 +261,7 @@ 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); @@ -450,7 +452,7 @@ pub fn rewrite(js: &str, url: Url, config: Config) -> Vec { rhsspan: _, op: _, } => entirespan.start, - JsChange::SourceTag { tagstart } => *tagstart, + JsChange::SourceTag { tagstart, tagend } => *tagstart, }; let b = match b { JsChange::GenericChange { span, text: _ } => span.start, @@ -460,7 +462,7 @@ pub fn rewrite(js: &str, url: Url, config: Config) -> Vec { rhsspan: _, op: _, } => entirespan.start, - JsChange::SourceTag { tagstart } => *tagstart, + JsChange::SourceTag { tagstart,tagend } => *tagstart, }; a.cmp(&b) }); @@ -540,10 +542,11 @@ pub fn rewrite(js: &str, url: Url, config: Config) -> Vec { offset = entirespan.end as usize; } - JsChange::SourceTag { tagstart } => { + JsChange::SourceTag { tagstart, tagend } => { 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()); diff --git a/src/controller/index.ts b/src/controller/index.ts index 6dfafd9..936aed9 100644 --- a/src/controller/index.ts +++ b/src/controller/index.ts @@ -33,7 +33,7 @@ export class ScramjetController { captureErrors: true, syncxhr: false, cleanerrors: false, - sourcemaps: false, + sourcemaps: true, }, };