Conditionally compile JS feature code
This commit is contained in:
parent
b967e338ca
commit
6f3e1254de
|
@ -8,8 +8,11 @@ use crate::proc::MatchMode::*;
|
|||
use crate::proc::range::ProcessorRange;
|
||||
use memchr::memchr;
|
||||
use crate::gen::codepoints::{WHITESPACE, Lookup};
|
||||
#[cfg(feature = "js-esbuild")]
|
||||
use std::sync::{Arc, Mutex};
|
||||
#[cfg(feature = "js-esbuild")]
|
||||
use esbuild_rs::TransformResult;
|
||||
#[cfg(feature = "js-esbuild")]
|
||||
use crossbeam::sync::WaitGroup;
|
||||
|
||||
pub mod checkpoint;
|
||||
|
@ -42,6 +45,7 @@ pub enum MatchAction {
|
|||
MatchOnly,
|
||||
}
|
||||
|
||||
#[cfg(feature = "js-esbuild")]
|
||||
pub struct JsMinSection {
|
||||
pub src_range: ProcessorRange,
|
||||
pub result: TransformResult,
|
||||
|
@ -304,12 +308,15 @@ impl<'d> Processor<'d> {
|
|||
self._shift(count);
|
||||
}
|
||||
|
||||
#[cfg(feature = "js-esbuild")]
|
||||
pub fn new_script_section(&self) -> (WaitGroup, Arc<Mutex<Vec<JsMinSection>>>) {
|
||||
(self.script_wg.clone(), self.script_results.clone())
|
||||
}
|
||||
|
||||
pub fn finish(self) -> usize {
|
||||
debug_assert!(self.at_end());
|
||||
#[cfg(feature = "js-esbuild")]
|
||||
{
|
||||
self.script_wg.wait();
|
||||
let mut results = Arc::try_unwrap(self.script_results)
|
||||
.unwrap_or_else(|_| panic!("failed to acquire script results"))
|
||||
|
@ -329,6 +336,7 @@ impl<'d> Processor<'d> {
|
|||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
self.write_next
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,14 +1,20 @@
|
|||
use crate::err::ProcessingResult;
|
||||
use crate::proc::MatchAction::*;
|
||||
use crate::proc::MatchMode::*;
|
||||
use crate::proc::{Processor, JsMinSection};
|
||||
use crate::proc::Processor;
|
||||
#[cfg(feature = "js-esbuild")]
|
||||
use crate::proc::JsMinSection;
|
||||
use crate::cfg::Cfg;
|
||||
#[cfg(feature = "js-esbuild")]
|
||||
use crate::proc::checkpoint::Checkpoint;
|
||||
#[cfg(feature = "js-esbuild")]
|
||||
use esbuild_rs::{TransformOptionsBuilder, TransformOptions};
|
||||
#[cfg(feature = "js-esbuild")]
|
||||
use std::sync::Arc;
|
||||
#[cfg(feature = "js-esbuild")]
|
||||
use lazy_static::lazy_static;
|
||||
|
||||
#[cfg(feature = "js-esbuild")]
|
||||
lazy_static! {
|
||||
static ref TRANSFORM_OPTIONS: Arc<TransformOptions> = {
|
||||
let mut builder = TransformOptionsBuilder::new();
|
||||
|
|
Loading…
Reference in New Issue