Skip to content

Commit 4e3bc52

Browse files
committed
fix(package_json): keep all fields in raw json api
The package_json_raw_json_api feature exposes the parsed package.json to consumers, but try_new stripped description, keywords, scripts and the dependency maps before storing them. Stop removing those fields so the raw JSON API returns the complete document.
1 parent b9e212a commit 4e3bc52

1 file changed

Lines changed: 2 additions & 17 deletions

File tree

src/package_json/simd.rs

Lines changed: 2 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -33,20 +33,7 @@ impl JSONCell {
3333
pub fn try_new(mut buf: Vec<u8>) -> Result<Self, SimdParseError> {
3434
let value = to_borrowed_value(&mut buf)?;
3535
// SAFETY: This is safe because `buf` is owned by the `JSONCell` struct,
36-
#[allow(unused_mut)]
37-
let mut value =
38-
unsafe { std::mem::transmute::<BorrowedValue<'_>, BorrowedValue<'static>>(value) };
39-
40-
#[cfg(feature = "package_json_raw_json_api")]
41-
if let Some(json_object) = value.as_object_mut() {
42-
json_object.remove("description");
43-
json_object.remove("keywords");
44-
json_object.remove("scripts");
45-
json_object.remove("dependencies");
46-
json_object.remove("devDependencies");
47-
json_object.remove("peerDependencies");
48-
json_object.remove("optionalDependencies");
49-
}
36+
let value = unsafe { std::mem::transmute::<BorrowedValue<'_>, BorrowedValue<'static>>(value) };
5037

5138
Ok(Self {
5239
value,
@@ -209,9 +196,7 @@ impl PackageJson {
209196
/// * getting the `sideEffects` field
210197
/// * query in <https://www.rspack.dev/config/module.html#ruledescriptiondata> - search on GitHub indicates query on the `type` field.
211198
///
212-
/// To reduce overall memory consumption, large fields that useless for pragmatic use are removed.
213-
/// They are: `description`, `keywords`, `scripts`,
214-
/// `dependencies` and `devDependencies`, `peerDependencies`, `optionalDependencies`.
199+
/// The full `package.json` is retained; no fields are stripped.
215200
#[cfg(feature = "package_json_raw_json_api")]
216201
pub fn raw_json(&self) -> &std::sync::Arc<serde_json::Value> {
217202
&self.serde_json

0 commit comments

Comments
 (0)