Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
45 changes: 10 additions & 35 deletions src/install/PackageManager/UpdateRequest.rs
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
use crate::lockfile::package::PackageColumns as _;
use std::io::Write as _;

use bun_ast::{Loc, Log};
use bun_ast::Log;
use bun_core::strings;
use bun_core::{Global, Output};
use bun_js_parser as js_ast;
Expand Down Expand Up @@ -138,16 +138,14 @@ impl UpdateRequest {
}
}

// NOTE: `from_js` lives on an extension trait in the `*_jsc` crate.

pub fn parse<'a>(
pm: Option<&mut PackageManager>,
log: &mut Log,
positionals: &[&[u8]],
update_requests: &'a mut Array,
subcommand: Subcommand,
) -> &'a mut [UpdateRequest] {
Self::parse_with_error(pm, log, positionals, update_requests, subcommand, true)
Self::parse_with_error(pm, log, positionals, update_requests, subcommand)
.unwrap_or_else(|_| Global::crash())
}
pub fn parse_with_error<'a>(
Expand All @@ -156,7 +154,6 @@ impl UpdateRequest {
positionals: &[&[u8]],
update_requests: &'a mut Array,
subcommand: Subcommand,
fatal: bool,
) -> crate::Result<&'a mut [UpdateRequest]> {
// first one is always either:
// add
Expand Down Expand Up @@ -223,21 +220,10 @@ impl UpdateRequest {
Some(&mut *log),
pm.as_deref_mut(),
) else {
if fatal {
Output::err_generic(
"unrecognised dependency format: {}",
format_args!("{}", bstr::BStr::new(positional)),
);
} else {
log.add_error_fmt(
None,
Loc::EMPTY,
format_args!(
"unrecognised dependency format: {}",
bstr::BStr::new(positional)
),
);
}
Output::err_generic(
"unrecognised dependency format: {}",
format_args!("{}", bstr::BStr::new(positional)),
);

return Err(crate::Error::UnrecognizedDependencyFormat);
};
Expand All @@ -262,21 +248,10 @@ impl UpdateRequest {
dependency::version::Tag::Npm => version.npm().name.eql(placeholder, input, input),
_ => false,
} {
if fatal {
Output::err_generic(
"unrecognised dependency format: {}",
format_args!("{}", bstr::BStr::new(positional)),
);
} else {
log.add_error_fmt(
None,
Loc::EMPTY,
format_args!(
"unrecognised dependency format: {}",
bstr::BStr::new(positional)
),
);
}
Output::err_generic(
"unrecognised dependency format: {}",
format_args!("{}", bstr::BStr::new(positional)),
);

return Err(crate::Error::UnrecognizedDependencyFormat);
}
Expand Down
27 changes: 3 additions & 24 deletions src/io/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1471,14 +1471,7 @@ pub enum Flags {
/// Poll for writable events
PollWritable,

/// Poll for process-related events
PollProcess,

// What did the event loop tell us?
Process,

OneShot,
NeedsRearm,

WasEverRegistered,

Expand Down Expand Up @@ -1707,7 +1700,7 @@ impl Poll {
};

let flags: u32 = match flag {
Flags::Process | Flags::PollReadable => {
Flags::PollReadable => {
linux::EPOLL_IN | linux::EPOLL_HUP | linux::EPOLL_ERR | one_shot_flag
}
Flags::PollWritable => {
Expand All @@ -1721,9 +1714,7 @@ impl Poll {
u64: Pollable::init(tag, std::ptr::from_mut::<Poll>(self)).ptr(),
};

let op: i32 = if self.flags.contains(Flags::WasEverRegistered)
|| self.flags.contains(Flags::NeedsRearm)
{
let op: i32 = if self.flags.contains(Flags::WasEverRegistered) {
linux::EPOLL_CTL_MOD
} else {
linux::EPOLL_CTL_ADD
Expand All @@ -1749,19 +1740,7 @@ impl Poll {
self.flags.insert(Flags::Registered);
self.flags.insert(Flags::WasEverRegistered);

self.flags.insert(match flag {
Flags::PollReadable => Flags::PollReadable,
Flags::PollProcess => {
if cfg!(any(target_os = "linux", target_os = "android")) {
Flags::PollReadable
} else {
Flags::PollProcess
}
}
Flags::PollWritable => Flags::PollWritable,
_ => unreachable!(),
});
self.flags.remove(Flags::NeedsRearm);
self.flags.insert(flag);

Ok(())
}
Expand Down
51 changes: 6 additions & 45 deletions src/js_printer/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2004,14 +2004,10 @@ pub(crate) mod __gated_printer {
if !IS_BUN_PLATFORM {
unreachable!();
}
self.print_internal_bun_import(import, Some(b"globalThis.Bun"));
self.print_internal_bun_import(import, b"globalThis.Bun");
}

fn print_internal_bun_import(
&mut self,
import: &S::Import,
statement: Option<&'static [u8]>,
) {
fn print_internal_bun_import(&mut self, import: &S::Import, statement: &'static [u8]) {
if !IS_BUN_PLATFORM {
unreachable!();
}
Expand All @@ -2022,17 +2018,7 @@ pub(crate) mod __gated_printer {
self.print_space();
self.print(b"=");
self.print_space_before_identifier();
match statement {
None => self.print_require_or_import_expr(
import.import_record_index,
false,
&[],
Expr::EMPTY,
Level::Lowest,
ExprFlag::none(),
),
Some(s) => self.print(s),
}
self.print(statement);
self.print_semicolon_after_statement();
self.print_indent();
}
Expand All @@ -2041,23 +2027,8 @@ pub(crate) mod __gated_printer {
self.print_semicolon_if_needed();
self.print(b"var ");
self.print_symbol(default.ref_);
match statement {
None => {
self.print_equals();
self.print_require_or_import_expr(
import.import_record_index,
false,
&[],
Expr::EMPTY,
Level::Lowest,
ExprFlag::none(),
);
}
Some(s) => {
self.print_equals();
self.print(s);
}
}
self.print_equals();
self.print(statement);
self.print_semicolon_after_statement();
}

Expand Down Expand Up @@ -2093,17 +2064,7 @@ pub(crate) mod __gated_printer {
self.print_whitespacer(ws!(b"} = "));

if import.star_name_loc.is_empty() && import.default_name.is_none() {
match statement {
None => self.print_require_or_import_expr(
import.import_record_index,
false,
&[],
Expr::EMPTY,
Level::Lowest,
ExprFlag::none(),
),
Some(s) => self.print(s),
}
self.print(statement);
} else if let Some(name) = &import.default_name {
self.print_symbol(name.ref_);
} else {
Expand Down
Loading