@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.
Files changed (2) hide show
  1. package/README.md +170 -0
  2. 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.4",
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",