From 29dbc20cf8a27d78707644724fae2e2b5b96fd87 Mon Sep 17 00:00:00 2001 From: finalerock44 <77282157+finalerock44@users.noreply.github.com> Date: Thu, 10 Sep 2026 15:58:59 +0100 Subject: [PATCH] fix(deps): adopt bplist-parser 0.5 named exports 0.5.0 is a rewritten ESM/CJS dual package with no default export, so the destructure-off-default interop no longer compiles. Import parseBuffer directly. Co-Authored-By: Claude Opus 5 (1M context) --- package.json | 2 +- pnpm-lock.yaml | 20 ++++++-------------- src/services/metadata-extractor.service.ts | 10 +++++----- 3 files changed, 12 insertions(+), 20 deletions(-) diff --git a/package.json b/package.json index 4867718..8b189de 100644 --- a/package.json +++ b/package.json @@ -8,7 +8,7 @@ "@clack/prompts": "^1.6.0", "@modelcontextprotocol/sdk": "^1.29.0", "@supabase/supabase-js": "^2.108.2", - "bplist-parser": "^0.3.2", + "bplist-parser": "^0.5.0", "chalk": "^6.0.0", "citty": "^0.2.2", "js-yaml": "^5.2.2", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 409a061..ab23d09 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -49,8 +49,8 @@ importers: specifier: ^2.108.2 version: 2.112.4 bplist-parser: - specifier: ^0.3.2 - version: 0.3.2 + specifier: ^0.5.0 + version: 0.5.0 chalk: specifier: ^6.0.0 version: 6.0.0 @@ -561,17 +561,13 @@ packages: engines: {node: '>=6.0.0'} hasBin: true - big-integer@1.6.52: - resolution: {integrity: sha512-QxD8cf2eVqJOOz63z6JIN9BzvVs/dlySa5HGSBH5xtR8dPteIRQnBxxKqkNTiT6jbDTF6jAfrd4oMcND9RGbQg==} - engines: {node: '>=0.6'} - body-parser@2.3.0: resolution: {integrity: sha512-2cGmJupaNgg+QUwVLAucDuWuoMZ6EX9iHDRswZ5lsNYEmwPaRknMPCLZz07yTzVq/83p4o/wzbDZbBrTvGGTIw==} engines: {node: '>=18'} - bplist-parser@0.3.2: - resolution: {integrity: sha512-apC2+fspHGI3mMKj+dGevkGo/tCqVB8jMb6i+OX+E29p0Iposz07fABkRIfVUPNd5A5VbuOz1bZbnmkKLYF+wQ==} - engines: {node: '>= 5.10.0'} + bplist-parser@0.5.0: + resolution: {integrity: sha512-owgQ0RGbndIGNrQkpHe99HVSslIK59t31nVyAPDRqhq9mNDc2kRl5HwYO292GuKjHqiJRdJNiaI63a02hjLFIQ==} + engines: {node: '>=20.19.0'} brace-expansion@5.0.9: resolution: {integrity: sha512-ScQ4IuvIEF1TMlP7Zt+vjJ//9zlPb2SDcxWxM3bk8s6t6GGdJ7KO1dCcTidOPJKePW30LE/2cT7wCyPho9/Wxg==} @@ -2027,8 +2023,6 @@ snapshots: baseline-browser-mapping@2.11.21: {} - big-integer@1.6.52: {} - body-parser@2.3.0: dependencies: bytes: 3.1.2 @@ -2043,9 +2037,7 @@ snapshots: transitivePeerDependencies: - supports-color - bplist-parser@0.3.2: - dependencies: - big-integer: 1.6.52 + bplist-parser@0.5.0: {} brace-expansion@5.0.9: dependencies: diff --git a/src/services/metadata-extractor.service.ts b/src/services/metadata-extractor.service.ts index 3c26478..87b068f 100644 --- a/src/services/metadata-extractor.service.ts +++ b/src/services/metadata-extractor.service.ts @@ -1,15 +1,15 @@ -import bplistParser from 'bplist-parser'; +import { parseBuffer } from 'bplist-parser'; import nodeApk from 'node-apk'; import { readFile, rm } from 'node:fs/promises'; import * as path from 'node:path'; import StreamZip from 'node-stream-zip'; import { parse } from 'plist'; -// node-apk and bplist-parser are CJS with no `exports` map; Node's named-export -// detection for CJS (cjs-module-lexer) is version-dependent, so destructure off -// the default import instead — that interop is guaranteed on every Node version. +// node-apk is CJS with no `exports` map; Node's named-export detection for CJS +// (cjs-module-lexer) is version-dependent, so destructure off the default import +// instead — that interop is guaranteed on every Node version. bplist-parser 0.5 +// is a real ESM/CJS dual package with named exports, so it imports directly. const { Apk } = nodeApk; -const { parseBuffer } = bplistParser; export interface TAppMetadata { appId: string;