Skip to content

Commit f2040e4

Browse files
committed
Add flag feature to json parsing
1 parent 05be83f commit f2040e4

File tree

3 files changed

+17
-0
lines changed

3 files changed

+17
-0
lines changed

rewatch/src/build/packages.rs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -839,6 +839,10 @@ impl Package {
839839
self.config.get_jsx_module_args()
840840
}
841841

842+
pub fn get_jsx_preserve_args(&self) -> Vec<String> {
843+
self.config.get_jsx_preserve_args()
844+
}
845+
842846
pub fn get_uncurried_args(&self, version: &str, root_package: &packages::Package) -> Vec<String> {
843847
root_package.config.get_uncurried_args(version)
844848
}

rewatch/src/build/parse.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -272,6 +272,7 @@ pub fn parser_args(
272272
let jsx_args = root_config.get_jsx_args();
273273
let jsx_module_args = root_config.get_jsx_module_args();
274274
let jsx_mode_args = root_config.get_jsx_mode_args();
275+
let jsx_preserve_args = root_config.get_jsx_preserve_args();
275276
let uncurried_args = root_config.get_uncurried_args(version);
276277
let bsc_flags = config::flatten_flags(&config.bsc_flags);
277278

@@ -285,6 +286,7 @@ pub fn parser_args(
285286
jsx_args,
286287
jsx_module_args,
287288
jsx_mode_args,
289+
jsx_preserve_args,
288290
uncurried_args,
289291
bsc_flags,
290292
vec![

rewatch/src/config.rs

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -184,6 +184,7 @@ pub struct JsxSpecs {
184184
pub mode: Option<JsxMode>,
185185
#[serde(rename = "v3-dependencies")]
186186
pub v3_dependencies: Option<Vec<String>>,
187+
pub preserve: Option<bool>,
187188
}
188189

189190
/// We do not care about the internal structure because the gentype config is loaded by bsc.
@@ -434,6 +435,16 @@ impl Config {
434435
}
435436
}
436437

438+
pub fn get_jsx_preserve_args(&self) -> Vec<String> {
439+
match self.jsx.to_owned() {
440+
Some(jsx) => match jsx.preserve {
441+
Some(true) => vec!["-bs-jsx-preserve".to_string()],
442+
_ => vec![],
443+
},
444+
_ => vec![],
445+
}
446+
}
447+
437448
pub fn get_uncurried_args(&self, version: &str) -> Vec<String> {
438449
match check_if_rescript11_or_higher(version) {
439450
Ok(true) => match self.uncurried.to_owned() {

0 commit comments

Comments
 (0)