Skip to content

Commit

Permalink
WIP
Browse files Browse the repository at this point in the history
  • Loading branch information
mischnic committed Mar 11, 2024
1 parent 4262c95 commit deefd30
Showing 1 changed file with 33 additions and 42 deletions.
75 changes: 33 additions & 42 deletions packages/transformers/js/core/src/env_replacer.rs
Original file line number Diff line number Diff line change
Expand Up @@ -83,54 +83,45 @@ impl<'a> Fold for EnvReplacer<'a> {
return node.fold_children_with(self);
}

let expr: Option<Expr> = match &assign.left {
AssignTarget::Simple(target) => {
// if let expr = target.into() {
// Some(&**expr)
// } else
if let Expr::Member(member) = &*assign.right {
if assign.op == AssignOp::Assign
&& match_member_expr(member, vec!["process", "env"], self.unresolved_mark)
{
// let mut decls = vec![];
// self.collect_pat_bindings(pat, &mut decls);
{
if let Expr::Member(member) = &*assign.right {
if assign.op == AssignOp::Assign
&& match_member_expr(member, vec!["process", "env"], self.unresolved_mark)
{
let mut decls = vec![];
self.collect_pat_bindings(assign.left.into(), &mut decls);

// let mut exprs: Vec<Box<Expr>> = decls
// .iter()
// .map(|decl| {
// Box::new(Expr::Assign(AssignExpr {
// span: DUMMY_SP,
// op: AssignOp::Assign,
// left: PatOrExpr::Pat(Box::new(decl.name.clone())),
// right: Box::new(if let Some(init) = &decl.init {
// *init.clone()
// } else {
// Expr::Ident(get_undefined_ident(self.unresolved_mark))
// }),
// }))
// })
// .collect();
let mut exprs: Vec<Box<Expr>> = decls
.iter()
.map(|decl| {
Box::new(Expr::Assign(AssignExpr {
span: DUMMY_SP,
op: AssignOp::Assign,
left: decl.name.try_into().unwrap(),
right: Box::new(if let Some(init) = &decl.init {
*init.clone()
} else {
Expr::Ident(get_undefined_ident(self.unresolved_mark))
}),
}))
})
.collect();

// exprs.push(Box::new(Expr::Object(ObjectLit {
// span: DUMMY_SP,
// props: vec![],
// })));
exprs.push(Box::new(Expr::Object(ObjectLit {
span: DUMMY_SP,
props: vec![],
})));

return Expr::Seq(SeqExpr {
span: assign.span,
exprs: vec![],
});
}
None
} else {
None
return Expr::Seq(SeqExpr {
span: assign.span,
exprs,
});
}
}
// PatOrExpr::Expr(expr) => Some(&**expr),
_ => unreachable!(),
};
}

if let Some(Expr::Member(MemberExpr { obj, .. })) = &expr {
if let AssignTarget::Simple(SimpleAssignTarget::Member(MemberExpr { obj, .. })) = &assign.left
{
if let Expr::Member(member) = &**obj {
if match_member_expr(member, vec!["process", "env"], self.unresolved_mark) {
self.emit_mutating_error(assign.span);
Expand Down

0 comments on commit deefd30

Please sign in to comment.