Skip to content

Commit e36f465

Browse files
waldyrious43081j
andauthored
feat: add detect-package-manager to the docs and manifest (#275)
* feat: add `detect-package-manager` to the docs and manifest * docs(detect-package-manager): replace maintenance info with ESM vs CJS note * docs(detect-package-manager): use note admonition syntax Co-authored-by: James Garbutt <[email protected]> --------- Co-authored-by: James Garbutt <[email protected]>
1 parent 0b50a32 commit e36f465

File tree

3 files changed

+38
-0
lines changed

3 files changed

+38
-0
lines changed

docs/modules/README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ ESLint plugin.
2727
- [`crypto-js`](./crypto-js.md)
2828
- [`deep-equal`](./deep-equal.md)
2929
- [`depcheck`](./depcheck.md)
30+
- [`detect-package-manager`](./detect-package-manager.md)
3031
- [`dot-prop`](./dot-prop.md)
3132
- [`dotenv`](./dotenv.md)
3233
- [`emoji-regex`](./emoji-regex.md)
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
---
2+
description: Lightweight alternative to detect-package-manager for detecting the package manager with zero subdependencies
3+
---
4+
5+
# Replacements for `detect-package-manager`
6+
7+
## `package-manager-detector`
8+
9+
[`package-manager-detector`](https://www.npmjs.com/package/package-manager-detector) is a lightweight alternative for detecting the package manager being used in a project.
10+
11+
### Key differences
12+
13+
- **Zero subdependencies** compared to 16 in `detect-package-manager`
14+
- **ESM-only**, while `detect-package-manager` is primarily CJS (with ESM support)
15+
- **Smaller bundle size** due to the lack of dependencies
16+
17+
### Migration example
18+
19+
```ts
20+
import { detect } from 'detect-package-manager' // [!code --]
21+
import { detect } from 'package-manager-detector' // [!code ++]
22+
23+
const pm = await detect() // [!code --]
24+
const result = await detect() // [!code ++]
25+
const pm = result?.name // [!code ++]
26+
```
27+
28+
> [!NOTE]
29+
> `package-manager-detector` returns an object with `name` and `agent` properties, while `detect-package-manager` returns a string directly.
30+
31+
Both packages can detect npm, yarn, pnpm, and bun package managers in your project by analyzing lock files. Additionally, `package-manager-detector` also supports deno.

manifests/preferred.json

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,12 @@
9696
"docPath": "depcheck",
9797
"category": "preferred"
9898
},
99+
{
100+
"type": "documented",
101+
"moduleName": "detect-package-manager",
102+
"docPath": "detect-package-manager",
103+
"category": "preferred"
104+
},
99105
{
100106
"type": "documented",
101107
"moduleName": "dot-prop",

0 commit comments

Comments
 (0)