packdog 0.1.1 → 0.1.3

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.
@@ -0,0 +1,14 @@
1
+ import { getToken } from "../config.js";
2
+ import { fetchJson } from "../api.js";
3
+ export async function listCmd() {
4
+ const token = getToken();
5
+ const packages = await fetchJson("/packages", token);
6
+ if (packages.length === 0) {
7
+ console.log("No packages (or none you own when using a customer API key).");
8
+ return;
9
+ }
10
+ console.log("Packages:");
11
+ for (const p of packages) {
12
+ console.log(` ${p.name}\t${p.id}`);
13
+ }
14
+ }
@@ -1,9 +1,13 @@
1
1
  import { getToken, getPackConfig } from "../config.js";
2
2
  import { fetchJson, fetchPackageName } from "../api.js";
3
3
  export async function rollback(channel) {
4
+ if (!channel) {
5
+ console.error("Error: --channel is required. Example: packdog rollback --channel=stable");
6
+ process.exit(1);
7
+ }
4
8
  const token = getToken();
5
9
  const config = await getPackConfig();
6
- const ch = channel ?? "stable";
10
+ const ch = channel;
7
11
  const name = await fetchPackageName(config.packageId, token);
8
12
  console.log(`Package: ${name}`);
9
13
  console.log(` Channel: ${ch}`);
@@ -1,7 +1,7 @@
1
1
  import { readdir, readFile, stat } from "node:fs/promises";
2
2
  import { join, relative } from "node:path";
3
3
  import { getToken, getPackConfig } from "../config.js";
4
- import { fetchApi, fetchPackageName } from "../api.js";
4
+ import { fetchApi, fetchJson, fetchPackageName } from "../api.js";
5
5
  async function getAllFiles(dir, baseDir = dir) {
6
6
  const files = [];
7
7
  const entries = await readdir(dir, { withFileTypes: true });
@@ -61,4 +61,11 @@ export async function upload() {
61
61
  const data = result;
62
62
  console.log(`\nUploaded: ${data.versionId}`);
63
63
  console.log(`Files: ${data.filesUploaded}, Size: ${(data.totalSize / 1024).toFixed(2)} KB`);
64
+ // Auto-publish to stage
65
+ const publishResult = await fetchJson(`/packages/${config.packageId}/channels/stage`, token, {
66
+ method: "POST",
67
+ headers: { "Content-Type": "application/json" },
68
+ body: JSON.stringify({ versionId: data.versionId })
69
+ });
70
+ console.log(`Published to ${publishResult.channel}: ${publishResult.versionId}`);
64
71
  }
package/dist/index.js CHANGED
@@ -17,19 +17,19 @@ const HELP = `packdog — CLI for the Packdog package registry
17
17
  Commands:
18
18
  init Register a new pack and create packdog.json
19
19
  info Show pack name, versions and channels
20
- upload Upload dist/ as a new version
21
- publish Publish latest version to a channel
22
- rollback Roll back a channel to its previous version
20
+ upload Upload dist/ as a new version (auto-publishes to stage)
21
+ publish Publish latest version to a channel (default: stable)
22
+ rollback Roll back a channel to its previous version (--channel required)
23
23
  versions List all versions
24
24
  channels List all channels
25
25
 
26
26
  Options:
27
- --channel=<name> Channel name (default: stable)
27
+ --channel=<name> Channel name (default: stable for publish; required for rollback)
28
28
  --version=<id> Specific version ID (for publish)
29
29
  --name=<name> Pack name (for init)
30
30
 
31
31
  Environment (set in .env or .env.development):
32
- PACKDOG_TOKEN API token (required)
32
+ PACKDOG_TOKEN API token — admin token or developer token (dev_...)
33
33
  PACKDOG_URL API URL (default: https://packdog.dev)
34
34
  `;
35
35
  async function main() {
package/package.json CHANGED
@@ -1,13 +1,15 @@
1
1
  {
2
2
  "name": "packdog",
3
- "version": "0.1.1",
3
+ "version": "0.1.3",
4
4
  "description": "CLI for the Packdog package registry",
5
5
  "license": "UNLICENSED",
6
6
  "private": false,
7
- "files": ["dist"],
7
+ "files": [
8
+ "dist"
9
+ ],
8
10
  "type": "module",
9
11
  "bin": {
10
- "packdog": "./dist/index.js"
12
+ "packdog": "dist/index.js"
11
13
  },
12
14
  "scripts": {
13
15
  "build": "tsc",