use crate::err::ProcessingResult; use crate::proc::MatchAction::*; use crate::proc::MatchMode::*; use crate::proc::Processor; use crate::cfg::Cfg; #[cfg(feature = "js-esbuild")] use crate::proc::checkpoint::Checkpoint; pub fn process_script(proc: &mut Processor, cfg: &Cfg) -> ProcessingResult<()> { #[cfg(feature = "js-esbuild")] let start = Checkpoint::new(proc); loop { proc.require_not_at_end()?; // Use fast memchr. Unfortunately all characters in "" are common in JS code. proc.m(WhileNotChar(b'<'), Keep); // `process_tag` will require closing tag. if proc.m(IsSeq(b"