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.
- package/dist/commands/list.js +14 -0
- package/dist/commands/rollback.js +5 -1
- package/dist/commands/upload.js +8 -1
- package/dist/index.js +5 -5
- package/package.json +5 -3
|
@@ -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
|
|
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}`);
|
package/dist/commands/upload.js
CHANGED
|
@@ -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 (
|
|
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.
|
|
3
|
+
"version": "0.1.3",
|
|
4
4
|
"description": "CLI for the Packdog package registry",
|
|
5
5
|
"license": "UNLICENSED",
|
|
6
6
|
"private": false,
|
|
7
|
-
"files": [
|
|
7
|
+
"files": [
|
|
8
|
+
"dist"
|
|
9
|
+
],
|
|
8
10
|
"type": "module",
|
|
9
11
|
"bin": {
|
|
10
|
-
"packdog": "
|
|
12
|
+
"packdog": "dist/index.js"
|
|
11
13
|
},
|
|
12
14
|
"scripts": {
|
|
13
15
|
"build": "tsc",
|