void 0.10.3 → 0.10.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 (37) hide show
  1. package/dist/{auth-cmd-CblKzAdD.mjs → auth-cmd-UoCwfDQv.mjs} +2 -2
  2. package/dist/{build-cmd-CJQSRupz.mjs → build-cmd-CVyuBHjP.mjs} +1 -1
  3. package/dist/{cache-CMzjhxHh.mjs → cache-ACORQCIq.mjs} +1 -1
  4. package/dist/{cancel-deploy-S2N8NSv6.mjs → cancel-deploy-Gi8zmoZC.mjs} +1 -1
  5. package/dist/cli/cli.mjs +102 -39
  6. package/dist/{client-YIzxv2ZO.mjs → client-BlbnA92X.mjs} +44 -0
  7. package/dist/{config--wXmVOoe.mjs → config-CbJS4Krx.mjs} +3 -3
  8. package/dist/{create-project-pLQdzEPe.mjs → create-project-LjvkYziS.mjs} +1 -1
  9. package/dist/{db-hAmBumot.mjs → db-C00yjN01.mjs} +17 -14
  10. package/dist/{delete-CfSe3EJO.mjs → delete-CplfvTgU.mjs} +1 -1
  11. package/dist/{deploy-DpOdwtla.mjs → deploy-CISNL5uK.mjs} +28 -30
  12. package/dist/{discover-C8N1I4tK.mjs → discover-ZWuBvt22.mjs} +1 -1
  13. package/dist/{domain-CkowysQx.mjs → domain-B4HpcgNG.mjs} +1 -1
  14. package/dist/{env-CIwG2y7G.mjs → env-DNMJpeVF.mjs} +3 -3
  15. package/dist/{env-types-CaJaIRXU.mjs → env-types-BS8cZead.mjs} +1 -1
  16. package/dist/{env-validation-LH6eoyW-.mjs → env-validation-BxbtBbjh.mjs} +1 -1
  17. package/dist/{gen-q6McxXgE.mjs → gen-C0pV2gRQ.mjs} +2 -2
  18. package/dist/{github-cmd-D3L0f93X.mjs → github-cmd-CwtLD1yI.mjs} +273 -15
  19. package/dist/index.mjs +11 -11
  20. package/dist/{init-CZP69LJu.mjs → init-D58GxCtt.mjs} +7 -7
  21. package/dist/{link-BKLElphS.mjs → link-ZFmboqY3.mjs} +2 -2
  22. package/dist/{list-B7qXBBjo.mjs → list-CbNNjXTm.mjs} +1 -1
  23. package/dist/{login-B3l_sDwT.mjs → login-CvxxF_9z.mjs} +1 -1
  24. package/dist/{logs-AXm660MB.mjs → logs-BDZ9AuhM.mjs} +1 -1
  25. package/dist/{mcp-D2plINxM.mjs → mcp-C8BjRt_z.mjs} +1 -1
  26. package/dist/{plugin-inference-C3fLzFvP.mjs → plugin-inference-D04iL1mW.mjs} +1 -1
  27. package/dist/{prepare-DRRboRqH.mjs → prepare-DUo9q8cM.mjs} +6 -6
  28. package/dist/{preset-B7ZQZn0u.mjs → preset-D0My64KQ.mjs} +1 -1
  29. package/dist/{project-cmd-InegJruy.mjs → project-cmd-Dd1gNRdd.mjs} +8 -8
  30. package/dist/{project-tsconfig-BTNuNoJ0.mjs → project-tsconfig-DMBV55K2.mjs} +2 -2
  31. package/dist/{rollback-CHVE-DeT.mjs → rollback-DzmCCrFg.mjs} +1 -1
  32. package/dist/{route-types-D03ryMXz.mjs → route-types-BpSJEW20.mjs} +1 -1
  33. package/dist/{scan-DGEp1-1Q.mjs → scan---8wfN58.mjs} +1 -1
  34. package/dist/{secret-CVKwIOm3.mjs → secret-CMLYWkE-.mjs} +1 -1
  35. package/dist/sveltekit.mjs +1 -1
  36. package/package.json +2 -2
  37. package/skills/void/docs/reference/cli.md +37 -1
@@ -1,5 +1,5 @@
1
1
  import { i as dim, l as tablePrefix, n as cliTitle, s as import_picocolors } from "./output-DeiS4oEX.mjs";
2
- import { d as getSiteDomain, f as getToken, n as PlatformClient } from "./client-YIzxv2ZO.mjs";
2
+ import { d as getSiteDomain, f as getToken, n as PlatformClient } from "./client-BlbnA92X.mjs";
3
3
  import { c as R, g as ge, y as ye } from "./dist-abzUneor.mjs";
4
4
  //#region src/cli/projects.ts
5
5
  async function runProjectsCommand(root) {
@@ -34,32 +34,32 @@ async function runProjectsCommand(root) {
34
34
  //#region src/cli/project-cmd.ts
35
35
  async function runProjectCommand(root, args) {
36
36
  if (args.subcommand === "status") {
37
- const { runListCommand } = await import("./list-B7qXBBjo.mjs");
37
+ const { runListCommand } = await import("./list-CbNNjXTm.mjs");
38
38
  return runListCommand(root, args.name || void 0);
39
39
  }
40
40
  if (args.subcommand === "link") {
41
- const { runLink } = await import("./link-BKLElphS.mjs");
41
+ const { runLink } = await import("./link-ZFmboqY3.mjs");
42
42
  return runLink(root, args.name || void 0);
43
43
  }
44
44
  if (args.subcommand === "list") return runProjectsCommand(root);
45
45
  if (args.subcommand === "logs") {
46
- const { runLogsCommand } = await import("./logs-AXm660MB.mjs");
46
+ const { runLogsCommand } = await import("./logs-BDZ9AuhM.mjs");
47
47
  return runLogsCommand(root, args.filter, args.range, args.deployment || void 0, args.level || void 0);
48
48
  }
49
49
  if (args.subcommand === "rollback") {
50
- const { runRollbackCommand } = await import("./rollback-CHVE-DeT.mjs");
50
+ const { runRollbackCommand } = await import("./rollback-DzmCCrFg.mjs");
51
51
  return runRollbackCommand(root, args.deployId || void 0);
52
52
  }
53
53
  if (args.subcommand === "cancel") {
54
- const { runCancelDeployCommand } = await import("./cancel-deploy-S2N8NSv6.mjs");
54
+ const { runCancelDeployCommand } = await import("./cancel-deploy-Gi8zmoZC.mjs");
55
55
  return runCancelDeployCommand(root, args.deployId || void 0);
56
56
  }
57
57
  if (args.subcommand === "delete") {
58
- const { runDeleteCommand } = await import("./delete-CfSe3EJO.mjs");
58
+ const { runDeleteCommand } = await import("./delete-CplfvTgU.mjs");
59
59
  return runDeleteCommand(root, args.name || void 0, { force: args.force });
60
60
  }
61
61
  if (args.subcommand === "purge-cache") {
62
- const { runPurgeCacheCommand } = await import("./cache-CMzjhxHh.mjs");
62
+ const { runPurgeCacheCommand } = await import("./cache-ACORQCIq.mjs");
63
63
  return runPurgeCacheCommand(root, args.projectSlug || void 0);
64
64
  }
65
65
  }
@@ -45,8 +45,8 @@ function createProjectTsconfig(root, hasRouteTypes, hasDb, hasSchema, options =
45
45
  if (options.redirectDbModule !== false) paths["void/db"] = ["./db.d.ts"];
46
46
  if (hasSchema) {
47
47
  const isDir = existsSync(pathsConfig.schemaDir) && !existsSync(pathsConfig.schemaFile);
48
- const schemaRel = relative(outDir, pathsConfig.schemaDir).replace(/\\/g, "/");
49
- const schemaFileRel = relative(outDir, pathsConfig.schemaFile).replace(/\\/g, "/");
48
+ const schemaRel = relative(outDir, pathsConfig.schemaDir);
49
+ const schemaFileRel = relative(outDir, pathsConfig.schemaFile);
50
50
  paths["@schema"] = [isDir ? `${schemaRel}/index.ts` : schemaFileRel];
51
51
  paths["@schema/*"] = [`${schemaRel}/*`];
52
52
  }
@@ -1,5 +1,5 @@
1
1
  import { a as ensureUtc, i as dim, n as cliTitle, r as createSpinner, s as import_picocolors } from "./output-DeiS4oEX.mjs";
2
- import { f as getToken, n as PlatformClient } from "./client-YIzxv2ZO.mjs";
2
+ import { f as getToken, n as PlatformClient } from "./client-BlbnA92X.mjs";
3
3
  import { _ as me, c as R, g as ge, i as Ee, v as ue, x as q, y as ye } from "./dist-abzUneor.mjs";
4
4
  import { r as readProjectConfig } from "./project-CH9pdo16.mjs";
5
5
  //#region src/cli/rollback.ts
@@ -1,5 +1,5 @@
1
1
  import { a as join, s as relative } from "./pathe.M-eThtNZ-BrPhGF_K.mjs";
2
- import { r as writeFileIfChanged } from "./project-tsconfig-BTNuNoJ0.mjs";
2
+ import { r as writeFileIfChanged } from "./project-tsconfig-DMBV55K2.mjs";
3
3
  import { mkdirSync } from "node:fs";
4
4
  //#region src/codegen/db-types.ts
5
5
  const DRIZZLE_OPERATORS = "sql, eq, ne, gt, gte, lt, lte, and, or, not, desc, asc, like, ilike, notLike, inArray, notInArray, isNull, isNotNull, between, notBetween, exists, notExists, count, sum, avg, min, max";
@@ -1,7 +1,7 @@
1
1
  import { a as join, i as isAbsolute, t as basename } from "./pathe.M-eThtNZ-BrPhGF_K.mjs";
2
2
  import { n as readProjectPaths } from "./project-paths-CCMrHYQm.mjs";
3
3
  import { n as globSync, t as glob } from "./dist-5cGIJHQQ.mjs";
4
- import { d as isCallExpression, f as isIdentifier, h as isObjectExpression, p as isLiteral } from "./plugin-inference-C3fLzFvP.mjs";
4
+ import { d as isCallExpression, f as isIdentifier, h as isObjectExpression, p as isLiteral } from "./plugin-inference-D04iL1mW.mjs";
5
5
  import { o as parseRouteFilename, s as parseWebSocketFilename, t as scanPages } from "./scan-VCAM1oh3.mjs";
6
6
  import { readFileSync } from "node:fs";
7
7
  import { parseSync } from "vite";
@@ -1,5 +1,5 @@
1
1
  import { n as cliTitle } from "./output-DeiS4oEX.mjs";
2
- import { f as getToken, n as PlatformClient } from "./client-YIzxv2ZO.mjs";
2
+ import { f as getToken, n as PlatformClient } from "./client-BlbnA92X.mjs";
3
3
  import { _ as me, c as R, g as ge, n as Ce, u as Se, v as ue, x as q, y as ye } from "./dist-abzUneor.mjs";
4
4
  import { r as readProjectConfig } from "./project-CH9pdo16.mjs";
5
5
  import { r as resolveProjectBySlug, t as getRequestedProjectSlug } from "./resolve-project-D4O1_fZz.mjs";
@@ -51,7 +51,7 @@ function resolveTsconfigEntry(baseDir, entry) {
51
51
  return isAbsolute(entry) ? entry : resolve(baseDir, entry);
52
52
  }
53
53
  function relativeFrom(fromDir, target) {
54
- const value = relative(fromDir, target).replace(/\\/g, "/");
54
+ const value = relative(fromDir, target);
55
55
  return value.startsWith(".") ? value : `./${value}`;
56
56
  }
57
57
  function uniqueStrings(values) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "void",
3
- "version": "0.10.3",
3
+ "version": "0.10.5",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "git+https://github.com/voidzero-dev/void.git",
@@ -353,7 +353,7 @@
353
353
  "valibot": ">=1.0.0-beta.7",
354
354
  "vite": "^8.0.0",
355
355
  "zod": "^3.25.0 || ^4.0.0",
356
- "@void/md": "0.10.3"
356
+ "@void/md": "0.10.5"
357
357
  },
358
358
  "peerDependenciesMeta": {
359
359
  "@void/md": {
@@ -597,6 +597,16 @@ void github installations
597
597
 
598
598
  List all GitHub App installations linked to your account. Each entry includes the `[id: <installation_id>]` needed for `--installation` in non-interactive use.
599
599
 
600
+ ### `void github join`
601
+
602
+ ```
603
+ void github join
604
+ ```
605
+
606
+ Join the GitHub App installations your organization already has. If a teammate installed the Void GitHub App on a shared GitHub organization, run `void github join` to gain access to those installations without re-installing. Void opens your browser to authorize (a localhost + PKCE handshake, the same mechanics as `void github link`), confirms with GitHub which installations you can manage, and records your membership. Afterwards `void github installations` lists them and `void github connect` can connect your own projects to their repositories.
607
+
608
+ Requires an authenticated CLI (`void auth login` first) and organization-installation sharing enabled on your Void instance; when it is not enabled the command fails closed with a clear message. You can only join installations your GitHub authorization actually returns — you cannot name or join one you cannot access on GitHub.
609
+
600
610
  ### `void github connect`
601
611
 
602
612
  ```
@@ -618,6 +628,8 @@ Connect a GitHub repository to a Void project for automatic deploys. On every pu
618
628
 
619
629
  The `--workflow` path is the workflow file the GitHub OIDC exchange authorizes to mint this project's deploy token. It defaults to the scaffolded `.github/workflows/void-deploy.yml`; set it only if your deploy step lives in a different workflow file (it must be under `.github/workflows/` and end in `.yml`/`.yaml`). Because the exchange is secretless, **only this one workflow** can mint a deploy token — any other workflow in the repo (including an unsafe `pull_request_target`) is rejected. Pointing it at a broad, multi-purpose workflow widens that trust, so prefer a dedicated file.
620
630
 
631
+ Interactively (TTY), after resolving the repository and branch, `void github connect` prompts for the **build executor** (defaulting to `container`). If you pick `github_actions`, it then prompts for the **deploy workflow file**, defaulting to `.github/workflows/void-deploy.yml` and validated locally before it is sent. Pass `--executor` and/or `--workflow` to skip the respective prompt. The workflow prompt is skipped entirely for the `container` executor, which does not use a workflow file.
632
+
621
633
  **Non-interactive use (CI)**
622
634
 
623
635
  When stdin is not a TTY, `void github connect` never prompts — it fails closed and names any flag it needs. `--branch` is always required. `--project` must be resolvable (positional / `--project` / `VOID_PROJECT` / linked `.void/project.json`). `--installation` is required only when your account has more than one installation; otherwise the sole installation is used. `--repo` is required when the installation grants access to all repos or to more than one selected repo; when it grants exactly one repo that repo is used automatically. Use `void github installations` to discover the `installation_id`.
@@ -631,6 +643,10 @@ void github connect my-app \
631
643
 
632
644
  **Project resolution** follows the same order as deploy: positional / `--project`, `VOID_PROJECT`, linked project (`.void/project.json`).
633
645
 
646
+ **Connecting as an organization member**
647
+
648
+ If you are a member of a GitHub organization but not the person who installed the App, `void github connect` first confirms that you personally have access to the specific repository. When it detects this, it opens your browser once to authorize access to that repo on GitHub (a localhost + PKCE handshake), then completes the connection automatically — no extra flags. Run `void github join` first so the installation appears in `void github installations`. You can only connect repositories you can access on GitHub; one you cannot see is refused with a clear message.
649
+
634
650
  ### `void github update`
635
651
 
636
652
  ```
@@ -648,7 +664,7 @@ Update an existing connection's deploy **branch**, **build executor**, and/or au
648
664
  | `--executor <type>` | New build executor: `container` or `github_actions` |
649
665
  | `--workflow <path>` | New authorized deploy workflow file (under `.github/workflows/`) |
650
666
 
651
- Interactively (TTY), `void github update` shows the current branch and executor and prompts for new values, defaulting each to the current setting. `--workflow` is flag-only — it is never prompted for; pass it explicitly to change the authorized workflow file. When stdin is not a TTY, it never prompts: pass at least one of `--branch` / `--executor` / `--workflow`, or it fails closed. If nothing actually changes, the command reports "no changes" and does not call the API.
667
+ Interactively (TTY), `void github update` shows the current branch and executor and prompts for new values, defaulting each to the current setting. If the resulting executor is `github_actions`, it then prompts for the **deploy workflow file**, defaulting to the current path and validated locally; pass `--workflow` to skip that prompt. The workflow prompt is skipped when the executor is `container`, which does not use a workflow file. When stdin is not a TTY, it never prompts: pass at least one of `--branch` / `--executor` / `--workflow`, or it fails closed. If nothing actually changes, the command reports "no changes" and does not call the API.
652
668
 
653
669
  ```
654
670
  void github update my-app --executor github_actions
@@ -656,6 +672,26 @@ void github update my-app --executor github_actions
656
672
 
657
673
  **Project resolution** follows the same order as deploy: positional / `--project`, `VOID_PROJECT`, linked project (`.void/project.json`).
658
674
 
675
+ ### `void github status`
676
+
677
+ ```
678
+ void github status [project]
679
+ ```
680
+
681
+ Show a project's current GitHub connection: the connected **repository**, the deploy **branch**, the **build executor** (`container` or `github_actions`), and the authorized **deploy workflow file**. Read-only — it never changes anything. The workflow file is the OIDC pin used only for `github_actions` builds; on a `container` connection it is still shown but marked unused. The project must already be connected (run `void github connect` first, otherwise it reports that and exits).
682
+
683
+ **Options**
684
+
685
+ | Flag | Description |
686
+ | ------------------ | ------------------------------------------------ |
687
+ | `--project <name>` | Project name (alias for the positional argument) |
688
+
689
+ ```
690
+ void github status my-app
691
+ ```
692
+
693
+ **Project resolution** follows the same order as deploy: positional / `--project`, `VOID_PROJECT`, linked project (`.void/project.json`).
694
+
659
695
  ## Build
660
696
 
661
697
  Inspect Deploy-on-GitHub builds.