@drops-it/dpm 1.0.4 → 1.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +170 -0
- package/package.json +2 -3
package/README.md
ADDED
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
# dpm
|
|
2
|
+
|
|
3
|
+
**Drops Package Manager** — a fast, privacy-minded CLI for installing, publishing, and auditing Node packages on [dpm.drops-it.com](https://dpm.drops-it.com), with automatic npm fallback for anything not on the registry.
|
|
4
|
+
|
|
5
|
+
```text
|
|
6
|
+
┌─────────────────────────────────────────┐
|
|
7
|
+
│ dpm i lodash │
|
|
8
|
+
│ → resolving 1 top-level dependency │
|
|
9
|
+
│ ✔ added 1 package in 0.4s │
|
|
10
|
+
│ found 0 vulnerabilities │
|
|
11
|
+
└─────────────────────────────────────────┘
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
Requires **Node.js 22+**.
|
|
15
|
+
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
## Install
|
|
19
|
+
|
|
20
|
+
**From DPM (recommended)**
|
|
21
|
+
|
|
22
|
+
```bash
|
|
23
|
+
# after you already have any dpm binary once:
|
|
24
|
+
dpm i -g dpm
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
**From npm**
|
|
28
|
+
|
|
29
|
+
```bash
|
|
30
|
+
npm i -g @drops-it/dpm
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
**Windows launcher**
|
|
34
|
+
|
|
35
|
+
Download [`dpm.exe`](https://dpm.drops-it.com/download/dpm.exe) — it boots the CLI if Node is installed.
|
|
36
|
+
|
|
37
|
+
Verify:
|
|
38
|
+
|
|
39
|
+
```bash
|
|
40
|
+
dpm --version
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
---
|
|
44
|
+
|
|
45
|
+
## Quick start
|
|
46
|
+
|
|
47
|
+
```bash
|
|
48
|
+
dpm login # browser device flow (Drops-IT)
|
|
49
|
+
dpm init # create package.json
|
|
50
|
+
dpm i lodash # add + install
|
|
51
|
+
dpm i # install from package.json
|
|
52
|
+
dpm publish --access public
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
Config lives in `~/.dpmrc` (registry + token). Defaults to `https://dpm.drops-it.com`.
|
|
56
|
+
|
|
57
|
+
```bash
|
|
58
|
+
dpm config registry https://dpm.drops-it.com
|
|
59
|
+
dpm whoami
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
---
|
|
63
|
+
|
|
64
|
+
## Commands
|
|
65
|
+
|
|
66
|
+
| Command | What it does |
|
|
67
|
+
| --- | --- |
|
|
68
|
+
| `dpm login` / `logout` / `whoami` | Auth via Drops-IT |
|
|
69
|
+
| `dpm init` | Scaffold `package.json` |
|
|
70
|
+
| `dpm i` / `dpm install` | Install deps (or add packages then install) |
|
|
71
|
+
| `dpm i -g <pkg>` | Global install (counts as a DPM download) |
|
|
72
|
+
| `dpm add <pkg…>` | Add to `package.json` and install |
|
|
73
|
+
| `dpm rm` / `remove` / `uninstall` | Remove a local dependency |
|
|
74
|
+
| `dpm rm -g` | Remove the global **dpm** CLI + bin shims |
|
|
75
|
+
| `dpm rm -g <pkg>` | Uninstall a global package |
|
|
76
|
+
| `dpm update` | Re-resolve and reinstall |
|
|
77
|
+
| `dpm search <q>` | Search the registry |
|
|
78
|
+
| `dpm view <name>` | Show package metadata |
|
|
79
|
+
| `dpm publish [--access public\|private]` | Publish the current package |
|
|
80
|
+
| `dpm audit` | Report known vulnerabilities |
|
|
81
|
+
| `dpm audit fix` | Apply non-breaking fixes |
|
|
82
|
+
| `dpm audit fix --force` | Allow breaking upgrades |
|
|
83
|
+
| `dpm config [key] [value]` | Read/write CLI config |
|
|
84
|
+
|
|
85
|
+
---
|
|
86
|
+
|
|
87
|
+
## Install experience
|
|
88
|
+
|
|
89
|
+
- One live status line with a spinner while packages resolve / download / extract
|
|
90
|
+
- Colorized success, warnings, and severity
|
|
91
|
+
- Post-install **advisory report** (npm-compatible bulk advisories)
|
|
92
|
+
- Fix hints: `dpm audit fix` / `dpm audit fix --force`
|
|
93
|
+
- Transitive fixes can land in `package.json` `overrides` so they stick
|
|
94
|
+
|
|
95
|
+
```bash
|
|
96
|
+
dpm i lodash@4.17.20
|
|
97
|
+
dpm audit
|
|
98
|
+
dpm audit fix
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
---
|
|
102
|
+
|
|
103
|
+
## Updates
|
|
104
|
+
|
|
105
|
+
On the **first `dpm` command in a new terminal**, dpm checks the DPM registry for a newer CLI.
|
|
106
|
+
|
|
107
|
+
```text
|
|
108
|
+
▲ dpm update available: 1.0.3 → 1.0.4
|
|
109
|
+
Update with: dpm i -g dpm
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
No daily nag. No npm noise — updates are driven by the DPM package `dpm`.
|
|
113
|
+
|
|
114
|
+
---
|
|
115
|
+
|
|
116
|
+
## Registry behavior
|
|
117
|
+
|
|
118
|
+
1. Resolve on **DPM** first (`dpm` packages you publish, public or private).
|
|
119
|
+
2. Missing public packages fall through to **npm** and are cached by the registry.
|
|
120
|
+
3. Private scoped packages are free on DPM — use your `@username` or org scope after login.
|
|
121
|
+
|
|
122
|
+
```bash
|
|
123
|
+
dpm publish --access private # scoped private packages
|
|
124
|
+
dpm publish --access public
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
---
|
|
128
|
+
|
|
129
|
+
## Global CLI lifecycle
|
|
130
|
+
|
|
131
|
+
```bash
|
|
132
|
+
dpm i -g dpm # install / update the CLI from DPM
|
|
133
|
+
dpm rm -g # remove dpm + Windows/Unix shims
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
`dpm i -g @drops-it/dpm` is accepted and mapped to the DPM package `dpm`.
|
|
137
|
+
|
|
138
|
+
---
|
|
139
|
+
|
|
140
|
+
## Development
|
|
141
|
+
|
|
142
|
+
```bash
|
|
143
|
+
cd cli
|
|
144
|
+
npm install
|
|
145
|
+
npm run build
|
|
146
|
+
npm link # puts `dpm` on your PATH from this checkout
|
|
147
|
+
npm run dev -- --help
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
Windows native binary:
|
|
151
|
+
|
|
152
|
+
```bash
|
|
153
|
+
npm run build:windows --prefix cli
|
|
154
|
+
# optional Authenticode:
|
|
155
|
+
# npm run sign:windows --prefix cli
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
---
|
|
159
|
+
|
|
160
|
+
## Links
|
|
161
|
+
|
|
162
|
+
- Website / registry: [dpm.drops-it.com](https://dpm.drops-it.com)
|
|
163
|
+
- npm package: [`@drops-it/dpm`](https://www.npmjs.com/package/@drops-it/dpm)
|
|
164
|
+
- DPM package: `dpm`
|
|
165
|
+
|
|
166
|
+
---
|
|
167
|
+
|
|
168
|
+
## License
|
|
169
|
+
|
|
170
|
+
MIT © Drops-IT
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@drops-it/dpm",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.5",
|
|
4
4
|
"description": "Drops Package Manager CLI",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -26,8 +26,7 @@
|
|
|
26
26
|
"commander": "^12.1.0",
|
|
27
27
|
"semver": "^7.6.3",
|
|
28
28
|
"tar": "^7.4.3",
|
|
29
|
-
"yaml": "^2.7.0"
|
|
30
|
-
"magmastream": "^2.10.2"
|
|
29
|
+
"yaml": "^2.7.0"
|
|
31
30
|
},
|
|
32
31
|
"devDependencies": {
|
|
33
32
|
"@types/node": "^22.10.5",
|