From f581ae7ac335d6c399873c8f07103cefdec7fcbc Mon Sep 17 00:00:00 2001 From: Anthony Fu Date: Tue, 17 Mar 2026 14:05:37 +0900 Subject: [PATCH 1/2] refactor: migrate nypm to package-manager-detector Replace nypm with package-manager-detector for package manager detection, reducing bundled code size. package-manager-detector is a lighter, more focused package that provides the same detection capability. Since inlineDependencies is enabled, this removes unnecessary bundled functionality. Co-Authored-By: Claude Haiku 4.5 --- packages/devtools/package.json | 2 +- packages/devtools/src/server-rpc/npm.ts | 8 ++++---- pnpm-lock.yaml | 13 +++++++------ pnpm-workspace.yaml | 3 ++- 4 files changed, 14 insertions(+), 12 deletions(-) diff --git a/packages/devtools/package.json b/packages/devtools/package.json index c04b80bb57..558b5c894b 100644 --- a/packages/devtools/package.json +++ b/packages/devtools/package.json @@ -69,8 +69,8 @@ "launch-editor": "catalog:prod", "local-pkg": "catalog:prod", "magicast": "catalog:prod", - "nypm": "catalog:prod", "ohash": "catalog:frontend", + "package-manager-detector": "catalog:inlined", "pathe": "catalog:frontend", "perfect-debounce": "catalog:frontend", "pkg-types": "catalog:prod", diff --git a/packages/devtools/src/server-rpc/npm.ts b/packages/devtools/src/server-rpc/npm.ts index f695de1e44..6f78d0cf73 100644 --- a/packages/devtools/src/server-rpc/npm.ts +++ b/packages/devtools/src/server-rpc/npm.ts @@ -1,19 +1,19 @@ -import type { PackageManager } from 'nypm' +import type { DetectResult } from 'package-manager-detector/detect' import type { NpmCommandOptions, NpmCommandType, NuxtDevtoolsServerContext, PackageUpdateInfo, ServerFunctions } from '../types' import fs from 'node:fs/promises' import { startSubprocess } from '@nuxt/devtools-kit' import { parseModule } from 'magicast' import { addNuxtModule, getDefaultExportOptions } from 'magicast/helpers' -import { detectPackageManager } from 'nypm' +import { detect } from 'package-manager-detector/detect' import { checkForUpdateOf } from '../npm' import { magicastGuard } from '../utils/magicast' export function setupNpmRPC({ nuxt, ensureDevAuthToken }: NuxtDevtoolsServerContext) { - let detectPromise: Promise | undefined + let detectPromise: Promise | undefined const updatesPromise = new Map>() function getPackageManager() { - detectPromise ||= detectPackageManager(nuxt.options.rootDir) + detectPromise ||= detect({ cwd: nuxt.options.rootDir }) return detectPromise } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index a9a0c90d61..e7ee4d9d5b 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -276,6 +276,10 @@ catalogs: '@iconify-json/tabler': specifier: ^1.2.31 version: 1.2.31 + inlined: + package-manager-detector: + specifier: ^1.6.0 + version: 1.6.0 playground: '@exampledev/new.css': specifier: ^1.1.3 @@ -314,9 +318,6 @@ catalogs: magicast: specifier: ^0.5.2 version: 0.5.2 - nypm: - specifier: ^0.6.5 - version: 0.6.5 pkg-types: specifier: ^2.3.0 version: 2.3.0 @@ -535,12 +536,12 @@ importers: magicast: specifier: catalog:prod version: 0.5.2 - nypm: - specifier: catalog:prod - version: 0.6.5 ohash: specifier: catalog:frontend version: 2.0.11 + package-manager-detector: + specifier: catalog:inlined + version: 1.6.0 pathe: specifier: catalog:frontend version: 2.0.3 diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index bcd2a68fff..98143591ea 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -110,6 +110,8 @@ catalogs: '@iconify-json/ri': ^1.2.10 '@iconify-json/simple-icons': ^1.2.74 '@iconify-json/tabler': ^1.2.31 + inlined: + package-manager-detector: ^1.6.0 playground: '@exampledev/new.css': ^1.1.3 prod: @@ -124,7 +126,6 @@ catalogs: launch-editor: ^2.13.1 local-pkg: ^1.1.2 magicast: ^0.5.2 - nypm: ^0.6.5 pkg-types: ^2.3.0 semver: ^7.7.4 sirv: ^3.0.2 From c84b79d5e6ccbbd5a56703766ddb04b848934eb3 Mon Sep 17 00:00:00 2001 From: Anthony Fu Date: Tue, 17 Mar 2026 14:21:29 +0900 Subject: [PATCH 2/2] chore: inline --- packages/devtools/package.json | 2 +- pnpm-lock.yaml | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/devtools/package.json b/packages/devtools/package.json index 558b5c894b..856930a171 100644 --- a/packages/devtools/package.json +++ b/packages/devtools/package.json @@ -70,7 +70,6 @@ "local-pkg": "catalog:prod", "magicast": "catalog:prod", "ohash": "catalog:frontend", - "package-manager-detector": "catalog:inlined", "pathe": "catalog:frontend", "perfect-debounce": "catalog:frontend", "pkg-types": "catalog:prod", @@ -120,6 +119,7 @@ "nitropack": "catalog:buildtools", "nuxt": "catalog:buildtools", "ofetch": "catalog:frontend", + "package-manager-detector": "catalog:inlined", "quicktype-core": "catalog:frontend", "scule": "catalog:frontend", "shiki": "catalog:frontend", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e7ee4d9d5b..e3bf36f3e3 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -539,9 +539,6 @@ importers: ohash: specifier: catalog:frontend version: 2.0.11 - package-manager-detector: - specifier: catalog:inlined - version: 1.6.0 pathe: specifier: catalog:frontend version: 2.0.3 @@ -687,6 +684,9 @@ importers: ofetch: specifier: catalog:frontend version: 1.5.1 + package-manager-detector: + specifier: catalog:inlined + version: 1.6.0 quicktype-core: specifier: catalog:frontend version: 22.0.0