zyrk 0.7.7 → 0.7.9

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 CHANGED
@@ -45,6 +45,13 @@ zyrk --help
45
45
  zyrk --version
46
46
  ```
47
47
 
48
+ Native commands also provide focused help without starting an install or
49
+ initializing the store. For example, use `zyrk install --help`,
50
+ `zyrk docker init --help`, or `zyrk store --help`. Registry publishing and
51
+ account commands are delegated to npm, so their help remains npm's own. The
52
+ `zyrk <script>` shortcut is listed by `zyrk run --help` and is equivalent to
53
+ `zyrk run <script>`.
54
+
48
55
  Requires **Node.js 24 or newer**. Published packages contain compiled JavaScript. A checkout runs TypeScript
49
56
  through Node's native type stripping; the check gate also builds and tests the
50
57
  source-free package layout. Installing zyrk requires no native toolchain.
package/VERSION CHANGED
@@ -1 +1 @@
1
- v0.7.7
1
+ v0.7.9
@@ -1 +1 @@
1
- {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../src/cli/main.ts"],"names":[],"mappings":"AAoCA,OAAO,EAAe,SAAS,EAAe,MAAM,cAAc,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,CAAC;AACrB,OAAO,EAAoB,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAExE,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAM3C,OAAO,EAAqC,KAAK,UAAU,EAAE,MAAM,YAAY,CAAC;AAEhF,eAAO,MAAM,uBAAuB,IAAI,CAAC;AAmFzC,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CA0BhD;AAED,MAAM,MAAM,SAAS,GAAG;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AA6EF;;;GAGG;AACH,wBAAgB,QAAQ,CACtB,MAAM,EAAE,UAAU,EAClB,OAAO,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC,UAAU,CAAA;CAAE,GACnD,SAAS,CAgDX;AAmBD,MAAM,MAAM,eAAe,GAAG;IAC5B,KAAK,EAAE,KAAK,CAAC;IACb,QAAQ,EAAE,cAAc,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;IACxB,GAAG,EAAE,MAAM,CAAC,UAAU,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IAC1B,MAAM,EAAE;QAAE,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IAC3D,MAAM,EAAE;QAAE,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IAC3D,WAAW,CAAC,EAAE,MAAM,MAAM,CAAC;IAC3B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,OAAO,CAAC,eAAe,CAAC,CAAC;CACxC,CAAC;AAuDF,gFAAgF;AAChF,wBAAsB,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,CAiiBpE"}
1
+ {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../src/cli/main.ts"],"names":[],"mappings":"AAoCA,OAAO,EAAe,SAAS,EAAe,MAAM,cAAc,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,CAAC;AACrB,OAAO,EAAoB,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAExE,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAM3C,OAAO,EAAqC,KAAK,UAAU,EAAE,MAAM,YAAY,CAAC;AAEhF,eAAO,MAAM,uBAAuB,IAAI,CAAC;AAmFzC,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CA0BhD;AA0MD,MAAM,MAAM,SAAS,GAAG;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AA6EF;;;GAGG;AACH,wBAAgB,QAAQ,CACtB,MAAM,EAAE,UAAU,EAClB,OAAO,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC,UAAU,CAAA;CAAE,GACnD,SAAS,CAgDX;AAmBD,MAAM,MAAM,eAAe,GAAG;IAC5B,KAAK,EAAE,KAAK,CAAC;IACb,QAAQ,EAAE,cAAc,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;IACxB,GAAG,EAAE,MAAM,CAAC,UAAU,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IAC1B,MAAM,EAAE;QAAE,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IAC3D,MAAM,EAAE;QAAE,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IAC3D,WAAW,CAAC,EAAE,MAAM,MAAM,CAAC;IAC3B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,OAAO,CAAC,eAAe,CAAC,CAAC;CACxC,CAAC;AAuDF,gFAAgF;AAChF,wBAAsB,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,CAqiBpE"}
package/dist/cli/main.js CHANGED
@@ -127,6 +127,195 @@ export function helpText(version) {
127
127
  lines.push("", "Install timeouts: ZYRK_RESOLVE_TIMEOUT_MS and ZYRK_EXTRACT_TIMEOUT_MS (1..900000 ms); ZYRK_REQUEST_TIMEOUT_MS (1..3600000 ms); ZYRK_FETCH_TIMEOUT_MS (1..3600000 ms).", "zyrk never installs packages globally and never runs npm to do it.", "Need a global package? Run npm directly: npm install --global <package-spec>");
128
128
  return `${lines.join("\n")}\n`;
129
129
  }
130
+ const COMMAND_HELP = {
131
+ install: `Usage: zyrk install [package[@version] ...] [options]
132
+
133
+ Install the project graph, or add the supplied packages. A portable package-lock.json records selections; the user store path stays machine-local.
134
+
135
+ Options:
136
+ --frozen-lockfile Fail if the lock does not match the project
137
+ --offline Use verified local sources only
138
+ --ignore-scripts Skip dependency lifecycle scripts
139
+ --lockfile-only Write selections without linking dependencies
140
+ --omit=dev Omit development dependencies
141
+ -D, --save-dev Save added packages as development dependencies
142
+ -E, --save-exact Save exact versions when adding packages
143
+ --registry=URL Use the selected registry for this operation
144
+
145
+ Examples:
146
+ zyrk install
147
+ zyrk install --frozen-lockfile
148
+ zyrk install prettier -D`,
149
+ i: `Usage: zyrk i [package[@version] ...] [options]
150
+
151
+ Alias for zyrk install. See zyrk install --help for supported options and examples.`,
152
+ add: `Usage: zyrk add <package[@version] ...> [options]
153
+
154
+ Add packages and install the updated project graph.
155
+
156
+ Options:
157
+ -D, --save-dev Save as development dependencies
158
+ -O, --save-optional Save as optional dependencies
159
+ -E, --save-exact Save exact versions
160
+ --ignore-scripts Skip dependency lifecycle scripts
161
+ --lockfile-only Update the lock without linking dependencies
162
+
163
+ Example: zyrk add prettier -D`,
164
+ remove: `Usage: zyrk remove <package ...> [--ignore-scripts] [--lockfile-only]
165
+
166
+ Remove direct dependencies and install the resulting graph.
167
+
168
+ Example: zyrk remove prettier`,
169
+ update: `Usage: zyrk update [package ...] [options]
170
+
171
+ Update selected packages, or all direct dependencies when no package is named.
172
+
173
+ Options:
174
+ --latest Select the latest versions, ignoring declared ranges
175
+ -E, --save-exact Save exact versions
176
+ --ignore-scripts Skip dependency lifecycle scripts
177
+ --lockfile-only Update the lock without linking dependencies
178
+
179
+ Example: zyrk update typescript`,
180
+ import: `Usage: zyrk import --from npm [--ignore-scripts] [--lockfile-only]
181
+
182
+ Import supported selections from package-lock.json and install the graph.
183
+
184
+ Example: zyrk import --from npm`,
185
+ run: `Usage: zyrk run [--workspace <name-or-path>] <script> [-- <args...>]
186
+ zyrk <script> [args...]
187
+
188
+ Run a declared package script with local executable paths. The script runs in its package directory.
189
+
190
+ Examples:
191
+ zyrk run build
192
+ zyrk dev
193
+ zyrk run --workspace web dev`,
194
+ exec: `Usage: zyrk exec [--workspace <name-or-path>] <executable> [args...]
195
+
196
+ Run an executable already installed in the project. This command never fetches packages.
197
+
198
+ Example: zyrk exec tsc --noEmit`,
199
+ list: `Usage: zyrk list [--workspace <name-or-path>] [--json]
200
+
201
+ Show the installed project dependency graph. Use --json for machine-readable output.`,
202
+ why: `Usage: zyrk why [--workspace <name-or-path>] <package> [--json]
203
+
204
+ Show the selected installed instances for a package. Use --json for machine-readable output.`,
205
+ doctor: `Usage: zyrk doctor [--workspace <name-or-path>] [--json]
206
+
207
+ Read-only diagnostics for project files, installed links, policy, and installation state.`,
208
+ fetch: `Usage: zyrk fetch --frozen-lockfile [--offline]
209
+
210
+ Fetch and verify the locked source closure without linking project dependencies.
211
+
212
+ Example: zyrk fetch --frozen-lockfile --offline`,
213
+ audit: `Usage: zyrk audit [--audit-level <severity>] [--offline]
214
+
215
+ Report advisories using the configured privacy policy. Severity is info, low, moderate, high, or critical.
216
+
217
+ Example: zyrk audit --audit-level high`,
218
+ repair: `Usage: zyrk repair [--offline]
219
+
220
+ Reconstruct project links from verified sources selected by the existing lockfile.`,
221
+ "approve-builds": `Usage: zyrk approve-builds [package ... | --all]
222
+
223
+ Review build candidates without running package code. Select exact candidates to persist approval, or use --all to approve every candidate shown.
224
+
225
+ Example: zyrk approve-builds`,
226
+ rebuild: `Usage: zyrk rebuild [--offline]
227
+
228
+ Run previously approved dependency builds for the complete locked project graph.`,
229
+ next: `Usage: zyrk next --turbopack
230
+
231
+ Explicitly configure the supported Next.js Turbopack adapter. The command preserves the existing configuration and writes a backup.
232
+
233
+ Example: zyrk next --turbopack`,
234
+ dlx: `Usage: zyrk dlx <package[@version]> [args...]
235
+
236
+ Fetch a temporary tool environment and run its executable. Tool arguments after the package are passed to that executable.
237
+
238
+ Example: zyrk dlx vite --help`,
239
+ create: `Usage: zyrk create <initializer[@version]> [args...]
240
+
241
+ Run a supported project initializer. Next.js scaffolds install dependencies with Zyrk; initializer arguments are passed through.
242
+
243
+ Example: zyrk create next-app web`,
244
+ patch: `Usage: zyrk patch <package>
245
+
246
+ Create a private editing area for a selected installed package source.
247
+
248
+ Example: zyrk patch left-pad`,
249
+ "patch-commit": `Usage: zyrk patch-commit <package>
250
+
251
+ Validate edits in a private package editing area and record the project patch.
252
+
253
+ Example: zyrk patch-commit left-pad`,
254
+ store: `Usage: zyrk store <action>
255
+
256
+ Actions:
257
+ path Print the configured store path
258
+ status Show store initialization and counts
259
+ verify --full Verify stored objects and realizations
260
+ gc [--dry-run] Collect eligible unreferenced data
261
+ pin <project> Retain a project closure
262
+ unpin <pin-id> Remove a retention pin
263
+
264
+ Use zyrk store gc --dry-run to preview collection.`,
265
+ projects: `Usage: zyrk projects <list | forget> [project-id]
266
+
267
+ List registered projects or explicitly drop a retention root.
268
+
269
+ Examples:
270
+ zyrk projects list
271
+ zyrk projects forget <project-id>`,
272
+ deploy: `Usage: zyrk deploy --out <new-directory> [options]
273
+
274
+ Create a self-contained production output from an installed, verified project. The output directory's parent must already exist and the output directory must be new.
275
+
276
+ Options:
277
+ --omit=dev Omit development dependencies
278
+ --files <path> Include a runtime file (repeatable), or declare package.json files
279
+ --entry <path> Select the direct Node entry point
280
+
281
+ Example: zyrk deploy --out release --files dist --entry dist/server.js`,
282
+ docker: `Usage: zyrk docker <init | build | run> [options]
283
+
284
+ Generate a pinned Docker setup, build its image, or run it locally.
285
+
286
+ Examples:
287
+ zyrk docker init --help
288
+ zyrk docker build --tag app:local
289
+ zyrk docker run --tag app:local`,
290
+ };
291
+ function commandHelpText(command) {
292
+ const help = COMMAND_HELP[command];
293
+ return help === undefined ? undefined : `${help}\n`;
294
+ }
295
+ function requestedCommandHelp(command, args) {
296
+ if (command === "docker" &&
297
+ args[1] !== undefined &&
298
+ ["-h", "--help"].includes(args[1])) {
299
+ const action = args[0];
300
+ if (action === "init")
301
+ return `Usage: zyrk docker init --node-image <image@sha256:digest> --cli-artifact <path> --cli-sha512 <digest> [options]\n\nGenerate reviewable Docker setup files. The pinned Node image and Zyrk CLI artifact are required.\n\nOptions: --build-script <script> --entry <file> --files <file>... --port <1..65535>\n`;
302
+ if (action === "build")
303
+ return `Usage: zyrk docker build --tag <local-image>\n\nBuild the generated Dockerfile with the explicit local image tag.\n`;
304
+ if (action === "run")
305
+ return `Usage: zyrk docker run --tag <local-image> [--port <host-port>]\n\nRun the generated application container and publish its configured port.\n`;
306
+ }
307
+ if (command === "store" &&
308
+ args[1] !== undefined &&
309
+ ["-h", "--help"].includes(args[1]))
310
+ return commandHelpText("store");
311
+ if (command === "projects" &&
312
+ args[1] !== undefined &&
313
+ ["-h", "--help"].includes(args[1]))
314
+ return commandHelpText("projects");
315
+ if (args[0] !== "--help" && args[0] !== "-h")
316
+ return undefined;
317
+ return commandHelpText(command);
318
+ }
130
319
  function ok(stdout, parsed) {
131
320
  if (!parsed.json)
132
321
  return { exitCode: 0, stdout, stderr: "" };
@@ -332,6 +521,11 @@ export async function runCli(options) {
332
521
  return emit(fail(toZyrkError(error, "zyrk failed while delegating to npm."), parsed));
333
522
  }
334
523
  }
524
+ if (!parsed.help && !parsed.version && parsed.command !== undefined) {
525
+ const help = requestedCommandHelp(parsed.command, parsed.commandArgs);
526
+ if (help !== undefined)
527
+ return emit(ok(help, parsed));
528
+ }
335
529
  if (!parsed.help &&
336
530
  !parsed.version &&
337
531
  parsed.command &&
@@ -1 +1 @@
1
- {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../src/install/run.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../src/install/run.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAK9D,OAAO,EAOL,KAAK,cAAc,EACpB,MAAM,cAAc,CAAC;AAYtB,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAG9D,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AA+B3C,MAAM,MAAM,eAAe,GAAG;IAC5B,KAAK,EACD,UAAU,GACV,WAAW,GACX,UAAU,GACV,WAAW,GACX,UAAU,GACV,SAAS,GACT,UAAU,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE;QACR,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,aAAa,GAAG,YAAY,GAAG,QAAQ,GAAG,QAAQ,CAAC;QAC3D,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;CACH,CAAC;AACF,MAAM,MAAM,cAAc,GAAG;IAC3B,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,CAAC;IAC9C,UAAU,EAAE,MAAM,CAAC;IACnB,sEAAsE;IACtE,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B,KAAK,EAAE,KAAK,CAAC;IACb,QAAQ,EAAE,cAAc,CAAC;IACzB,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE;QACT,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;QAC3B,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;QAC3B,MAAM,CAAC,EAAE,OAAO,CAAC;KAClB,CAAC;IACF,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,aAAa,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,oBAAoB,CAAC,EAAE,CACrB,MAAM,EAAE,SAAS,cAAc,EAAE,KAC9B,OAAO,CAAC,SAAS,MAAM,EAAE,CAAC,CAAC;IAChC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,aAAa,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;IACxC,aAAa,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAC1C,WAAW,CAAC,EAAE;QACZ,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;CACH,CAAC;AACF,MAAM,MAAM,aAAa,GAAG;IAC1B,SAAS,EACL,OAAO,GACP,uBAAuB,GACvB,eAAe,GACf,SAAS,GACT,cAAc,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,MAAM,CAAC,EAAE,cAAc,EAAE,CAAC;CAC3B,CAAC;AAuHF,wBAAsB,cAAc,CAClC,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,aAAa,CAAC,CAq0BxB"}
@@ -37,8 +37,15 @@ import { sha512Hex } from "../util/hash.js";
37
37
  import { canonicalJson } from "../util/json.js";
38
38
  import { lockedGraph, packageName, cleanUrl, lockMismatch } from "./lock.js";
39
39
  function error(code, message) {
40
+ const remedy = {
41
+ ZYRK_MANIFEST_INVALID: "Correct the package.json syntax or dependency declarations, then run zyrk install again.",
42
+ ZYRK_NOT_IMPLEMENTED: "Remove the unsupported project setting or use a supported workflow; run zyrk --help to review available commands.",
43
+ ZYRK_POLICY_DENIED: "Review the project and user policy settings involved in this operation, then retry with an explicitly supported configuration.",
44
+ ZYRK_USAGE: "Run zyrk install --help to review supported install options and correct the invocation.",
45
+ ZYRK_OFFLINE_MISSING: "Connect to the configured registry and run zyrk install to verify and cache the required sources; retry offline after that succeeds.",
46
+ }[code];
40
47
  return new ZyrkError(code, message, {
41
- remedy: "Review package.json and the documented zyrk install options, then retry.",
48
+ remedy,
42
49
  });
43
50
  }
44
51
  function object(value) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zyrk",
3
- "version": "0.7.7",
3
+ "version": "0.7.9",
4
4
  "description": "Storage-efficient Node package manager: one verified store per user, shared across projects through links.",
5
5
  "license": "MIT",
6
6
  "type": "module",