@interchained/portal-cli 0.1.4 → 0.1.6
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.
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* portal doctor
|
|
3
|
-
*
|
|
2
|
+
* portal doctor [--fix]
|
|
3
|
+
*
|
|
4
|
+
* Checks the project for health issues. With --fix, auto-repairs what it can:
|
|
5
|
+
* - Route file/directory conflicts (foo.page.tsx + foo/ → foo/index.page.tsx)
|
|
6
|
+
* - Missing routes/ directory
|
|
7
|
+
* - Unreplaced contract tokens
|
|
4
8
|
*/
|
|
5
|
-
export declare function doctorCommand(
|
|
9
|
+
export declare function doctorCommand(opts?: {
|
|
10
|
+
fix?: boolean;
|
|
11
|
+
}): Promise<void>;
|
|
6
12
|
//# sourceMappingURL=doctor.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AA2BH,wBAAsB,aAAa,CAAC,IAAI,GAAE;IAAE,GAAG,CAAC,EAAE,OAAO,CAAA;CAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAuK/E"}
|
package/dist/commands/doctor.js
CHANGED
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* portal doctor
|
|
3
|
-
*
|
|
2
|
+
* portal doctor [--fix]
|
|
3
|
+
*
|
|
4
|
+
* Checks the project for health issues. With --fix, auto-repairs what it can:
|
|
5
|
+
* - Route file/directory conflicts (foo.page.tsx + foo/ → foo/index.page.tsx)
|
|
6
|
+
* - Missing routes/ directory
|
|
7
|
+
* - Unreplaced contract tokens
|
|
4
8
|
*/
|
|
5
|
-
import { access, readdir } from "node:fs/promises";
|
|
6
|
-
import { join } from "node:path";
|
|
9
|
+
import { access, readdir, rename, mkdir } from "node:fs/promises";
|
|
10
|
+
import { join, dirname } from "node:path";
|
|
7
11
|
import pc from "picocolors";
|
|
8
|
-
import { banner, header, success, warn, fail, blank } from "../utils/print.js";
|
|
12
|
+
import { banner, header, success, warn, fail, info, blank } from "../utils/print.js";
|
|
9
13
|
import { loadContract, findContractPath } from "../utils/contract.js";
|
|
10
14
|
async function exists(p) {
|
|
11
15
|
try {
|
|
@@ -16,12 +20,21 @@ async function exists(p) {
|
|
|
16
20
|
return false;
|
|
17
21
|
}
|
|
18
22
|
}
|
|
19
|
-
|
|
23
|
+
async function listFiles(dir) {
|
|
24
|
+
try {
|
|
25
|
+
const entries = await readdir(dir, { recursive: true });
|
|
26
|
+
return entries;
|
|
27
|
+
}
|
|
28
|
+
catch {
|
|
29
|
+
return [];
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
export async function doctorCommand(opts = {}) {
|
|
20
33
|
banner();
|
|
21
|
-
header(
|
|
34
|
+
header(`Portal Doctor${opts.fix ? " (--fix mode)" : ""}`);
|
|
22
35
|
const root = process.cwd();
|
|
23
36
|
const checks = [];
|
|
24
|
-
// Node version
|
|
37
|
+
// ── Node version ──────────────────────────────────────────────────────────
|
|
25
38
|
const nodeVer = process.version;
|
|
26
39
|
const nodeMaj = parseInt(nodeVer.slice(1), 10);
|
|
27
40
|
checks.push({
|
|
@@ -29,52 +42,71 @@ export async function doctorCommand() {
|
|
|
29
42
|
status: nodeMaj >= 18 ? "ok" : "fail",
|
|
30
43
|
detail: nodeMaj < 18 ? "Portal requires Node.js 18 or newer" : undefined,
|
|
31
44
|
});
|
|
32
|
-
//
|
|
45
|
+
// ── Vite / portal config ──────────────────────────────────────────────────
|
|
33
46
|
const hasViteConfig = (await exists(join(root, "vite.config.ts"))) ||
|
|
34
47
|
(await exists(join(root, "vite.config.js"))) ||
|
|
35
48
|
(await exists(join(root, "portal.config.ts")));
|
|
36
49
|
checks.push({
|
|
37
50
|
label: "vite.config.ts",
|
|
38
51
|
status: hasViteConfig ? "ok" : "warn",
|
|
39
|
-
detail: !hasViteConfig ? "No Vite config found — run: npm create portal-app" : undefined,
|
|
52
|
+
detail: !hasViteConfig ? "No Vite config found — run: npm create @interchained/portal-app" : undefined,
|
|
40
53
|
});
|
|
41
|
-
// app.contract
|
|
54
|
+
// ── app.contract ──────────────────────────────────────────────────────────
|
|
42
55
|
const contractPath = await findContractPath(root);
|
|
43
56
|
checks.push({
|
|
44
|
-
label: "app.contract
|
|
57
|
+
label: "app.contract",
|
|
45
58
|
status: contractPath ? "ok" : "warn",
|
|
46
|
-
detail: !contractPath
|
|
47
|
-
? "No contract found — run: portal contract init"
|
|
48
|
-
: undefined,
|
|
59
|
+
detail: !contractPath ? "No contract found — run: portal contract init" : undefined,
|
|
49
60
|
});
|
|
50
|
-
// routes/ directory
|
|
61
|
+
// ── routes/ directory ─────────────────────────────────────────────────────
|
|
51
62
|
const routesDir = join(root, "routes");
|
|
52
63
|
const hasRoutes = await exists(routesDir);
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
try {
|
|
56
|
-
const entries = await readdir(routesDir, { recursive: true });
|
|
57
|
-
routeCount = entries.filter((e) => e.endsWith(".page.tsx") || e.endsWith(".page.jsx")).length;
|
|
58
|
-
}
|
|
59
|
-
catch { /* */ }
|
|
60
|
-
}
|
|
64
|
+
const allFiles = hasRoutes ? await listFiles(routesDir) : [];
|
|
65
|
+
const pageFiles = allFiles.filter((e) => e.endsWith(".page.tsx") || e.endsWith(".page.jsx"));
|
|
61
66
|
checks.push({
|
|
62
|
-
label: `routes/ (${
|
|
63
|
-
status: hasRoutes &&
|
|
67
|
+
label: `routes/ (${pageFiles.length} page${pageFiles.length !== 1 ? "s" : ""})`,
|
|
68
|
+
status: hasRoutes && pageFiles.length > 0 ? "ok" : "warn",
|
|
64
69
|
detail: !hasRoutes
|
|
65
|
-
? "No routes/ directory
|
|
66
|
-
:
|
|
70
|
+
? "No routes/ directory — run: portal contract init"
|
|
71
|
+
: pageFiles.length === 0
|
|
67
72
|
? "routes/ exists but has no *.page.tsx files"
|
|
68
73
|
: undefined,
|
|
69
74
|
});
|
|
70
|
-
//
|
|
75
|
+
// ── Route file / directory conflicts ─────────────────────────────────────
|
|
76
|
+
// Pattern: routes/foo.page.tsx exists AND routes/foo/ directory exists
|
|
77
|
+
// Fix: rename foo.page.tsx → foo/index.page.tsx
|
|
78
|
+
if (hasRoutes) {
|
|
79
|
+
for (const file of pageFiles) {
|
|
80
|
+
const base = file.replace(/\.(page\.tsx|page\.jsx)$/, "");
|
|
81
|
+
// Skip index files — those are already correct
|
|
82
|
+
if (base.endsWith("/index") || base === "index")
|
|
83
|
+
continue;
|
|
84
|
+
const dirPath = join(routesDir, base);
|
|
85
|
+
const filePath = join(routesDir, file);
|
|
86
|
+
const dirExists = await exists(dirPath);
|
|
87
|
+
if (dirExists) {
|
|
88
|
+
const targetPath = join(dirPath, "index.page.tsx");
|
|
89
|
+
checks.push({
|
|
90
|
+
label: `Route conflict: ${file} + ${base}/`,
|
|
91
|
+
status: "warn",
|
|
92
|
+
detail: `"${file}" shadows "${base}/" — should be "${base}/index.page.tsx"`,
|
|
93
|
+
fixLabel: `Rename → ${base}/index.page.tsx`,
|
|
94
|
+
fix: async () => {
|
|
95
|
+
await mkdir(dirname(targetPath), { recursive: true });
|
|
96
|
+
await rename(filePath, targetPath);
|
|
97
|
+
},
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
// ── package.json ──────────────────────────────────────────────────────────
|
|
71
103
|
const hasPkg = await exists(join(root, "package.json"));
|
|
72
104
|
checks.push({
|
|
73
105
|
label: "package.json",
|
|
74
106
|
status: hasPkg ? "ok" : "fail",
|
|
75
107
|
detail: !hasPkg ? "No package.json — are you in the right directory?" : undefined,
|
|
76
108
|
});
|
|
77
|
-
// AI API key
|
|
109
|
+
// ── AI API key ────────────────────────────────────────────────────────────
|
|
78
110
|
const hasApiKey = !!process.env["AIASSIST_API_KEY"] || !!process.env["VITE_AIAS_API_KEY"];
|
|
79
111
|
checks.push({
|
|
80
112
|
label: "AIASSIST_API_KEY",
|
|
@@ -83,29 +115,28 @@ export async function doctorCommand() {
|
|
|
83
115
|
? "Not set — portal audit --ai, portal improve, and portal generate require this"
|
|
84
116
|
: undefined,
|
|
85
117
|
});
|
|
86
|
-
//
|
|
118
|
+
// ── Contract data files + tokens ──────────────────────────────────────────
|
|
87
119
|
if (contractPath) {
|
|
88
120
|
const contract = await loadContract(root);
|
|
89
121
|
for (const [name, filePath] of Object.entries(contract.data ?? {})) {
|
|
90
|
-
const
|
|
91
|
-
const fileExists = await exists(fullPath);
|
|
122
|
+
const fileExists = await exists(join(root, filePath));
|
|
92
123
|
checks.push({
|
|
93
124
|
label: `data.${name} (${filePath})`,
|
|
94
125
|
status: fileExists ? "ok" : "warn",
|
|
95
126
|
detail: !fileExists ? `Data file missing: ${filePath}` : undefined,
|
|
96
127
|
});
|
|
97
128
|
}
|
|
98
|
-
// Check for unreplaced tokens in contract name
|
|
99
129
|
if (contract.name.includes("{{")) {
|
|
100
130
|
checks.push({
|
|
101
131
|
label: "contract.name",
|
|
102
132
|
status: "fail",
|
|
103
|
-
detail: `
|
|
133
|
+
detail: `Unreplaced token in contract name: "${contract.name}"`,
|
|
104
134
|
});
|
|
105
135
|
}
|
|
106
136
|
}
|
|
107
|
-
// Print results
|
|
137
|
+
// ── Print results ─────────────────────────────────────────────────────────
|
|
108
138
|
blank();
|
|
139
|
+
let fixCount = 0;
|
|
109
140
|
for (const check of checks) {
|
|
110
141
|
if (check.status === "ok") {
|
|
111
142
|
success(check.label);
|
|
@@ -114,6 +145,19 @@ export async function doctorCommand() {
|
|
|
114
145
|
warn(check.label);
|
|
115
146
|
if (check.detail)
|
|
116
147
|
console.log(pc.dim(` ${check.detail}`));
|
|
148
|
+
if (opts.fix && check.fix) {
|
|
149
|
+
try {
|
|
150
|
+
await check.fix();
|
|
151
|
+
console.log(pc.green(` ✓ Fixed: ${check.fixLabel ?? check.label}`));
|
|
152
|
+
fixCount++;
|
|
153
|
+
}
|
|
154
|
+
catch (err) {
|
|
155
|
+
console.log(pc.red(` ✗ Fix failed: ${err.message}`));
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
else if (check.fix) {
|
|
159
|
+
console.log(pc.dim(` → Run portal doctor --fix to auto-repair`));
|
|
160
|
+
}
|
|
117
161
|
}
|
|
118
162
|
else {
|
|
119
163
|
fail(check.label);
|
|
@@ -122,14 +166,18 @@ export async function doctorCommand() {
|
|
|
122
166
|
}
|
|
123
167
|
}
|
|
124
168
|
blank();
|
|
169
|
+
if (opts.fix && fixCount > 0) {
|
|
170
|
+
info(`Auto-fixed ${fixCount} issue${fixCount !== 1 ? "s" : ""}`);
|
|
171
|
+
blank();
|
|
172
|
+
}
|
|
125
173
|
const failCount = checks.filter((c) => c.status === "fail").length;
|
|
126
174
|
const warnCount = checks.filter((c) => c.status === "warn").length;
|
|
127
175
|
if (failCount > 0) {
|
|
128
|
-
fail(`${failCount} critical issue${failCount !== 1 ? "s" : ""}
|
|
176
|
+
fail(`${failCount} critical issue${failCount !== 1 ? "s" : ""} — fix before proceeding`);
|
|
129
177
|
process.exit(1);
|
|
130
178
|
}
|
|
131
|
-
else if (warnCount > 0) {
|
|
132
|
-
warn(`${warnCount} warning${warnCount !== 1 ? "s" : ""} —
|
|
179
|
+
else if (warnCount > 0 && !opts.fix) {
|
|
180
|
+
warn(`${warnCount} warning${warnCount !== 1 ? "s" : ""} — run portal doctor --fix to auto-repair`);
|
|
133
181
|
}
|
|
134
182
|
else {
|
|
135
183
|
success("All checks passed — project looks healthy");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -54,7 +54,8 @@ program
|
|
|
54
54
|
program
|
|
55
55
|
.command("doctor")
|
|
56
56
|
.description("Check environment, config, contracts, and routes for issues")
|
|
57
|
-
.
|
|
57
|
+
.option("--fix", "Auto-repair fixable issues (route conflicts, etc.)")
|
|
58
|
+
.action((opts) => doctorCommand({ fix: !!opts.fix }));
|
|
58
59
|
program
|
|
59
60
|
.command("explain <target>")
|
|
60
61
|
.description("Explain a route, component, or contract in plain English")
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,OAAO,EAAE,UAAU,EAAE,MAAmB,mBAAmB,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAiB,qBAAqB,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAe,uBAAuB,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAgB,sBAAsB,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAiB,qBAAqB,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAe,uBAAuB,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAc,wBAAwB,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAe,uBAAuB,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAiB,qBAAqB,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAiB,qBAAqB,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAc,wBAAwB,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,MAAkB,oBAAoB,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAkB,oBAAoB,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAgB,sBAAsB,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAY,uBAAuB,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC5E,OAAO,EACL,uBAAuB,EACvB,mBAAmB,GACpB,MAAM,4BAA4B,CAAC;AAEpC,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAC1D,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CACpB,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,cAAc,CAAC,EAAE,OAAO,CAAC,CACtC,CAAC;AAEzB,OAAO;KACJ,IAAI,CAAC,QAAQ,CAAC;KACd,WAAW,CAAC,qDAAqD,CAAC;KAClE,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;AAEzC,iFAAiF;AAEjF,OAAO;KACJ,OAAO,CAAC,KAAK,CAAC;KACd,WAAW,CAAC,6BAA6B,CAAC;KAC1C,MAAM,CAAC,qBAAqB,EAAE,MAAM,EAAE,QAAQ,CAAC;KAC/C,MAAM,CAAC,YAAY,EAAE,kCAAkC,CAAC;KACxD,MAAM,CAAC,YAAY,EAAE,iBAAiB,CAAC;KACvC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;AAEtC,OAAO;KACJ,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,sBAAsB,CAAC;KACnC,MAAM,CAAC,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,CAAC;KACrD,MAAM,CAAC,eAAe,EAAE,YAAY,EAAE,YAAY,CAAC;KACnD,MAAM,CAAC,OAAO,EAAE,kBAAkB,CAAC;KACnC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;AAExC,OAAO;KACJ,OAAO,CAAC,SAAS,CAAC;KAClB,WAAW,CAAC,kCAAkC,CAAC;KAC/C,MAAM,CAAC,qBAAqB,EAAE,MAAM,EAAE,QAAQ,CAAC;KAC/C,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC;AAE1C,iFAAiF;AAEjF,OAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,6DAA6D,CAAC;KAC1E,MAAM,CAAC,OAAO,EAAE,oDAAoD,CAAC;KACrE,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,aAAa,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;AAExD,OAAO;KACJ,OAAO,CAAC,kBAAkB,CAAC;KAC3B,WAAW,CAAC,0DAA0D,CAAC;KACvE,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;AAE9C,iFAAiF;AAEjF,OAAO;KACJ,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,qEAAqE,CAAC;KAClF,MAAM,CAAC,MAAM,EAAE,iCAAiC,CAAC;KACjD,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;KAClC,MAAM,CAAC,kBAAkB,EAAE,qDAAqD,CAAC;KACjF,MAAM,CAAC,oBAAoB,EAAE,0BAA0B,CAAC;KACxD,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;AAExC,OAAO;KACJ,OAAO,CAAC,kBAAkB,CAAC;KAC3B,WAAW,CAAC,2CAA2C,CAAC;KACxD,MAAM,CAAC,gBAAgB,EAAE,uBAAuB,CAAC;KACjD,MAAM,CAAC,QAAQ,EAAE,yBAAyB,CAAC;KAC3C,MAAM,CAAC,eAAe,EAAE,sBAAsB,CAAC;KAC/C,MAAM,CAAC,oBAAoB,EAAE,0BAA0B,CAAC;KACxD,MAAM,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CACvB,cAAc,CAAC,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,MAAM,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,CAC3D,CAAC;AAEJ,iFAAiF;AAEjF,OAAO;KACJ,OAAO,CAAC,+BAA+B,CAAC;KACxC,WAAW,CAAC,4CAA4C,CAAC;KACzD,MAAM,CAAC,oBAAoB,EAAE,kCAAkC,CAAC;KAChE,MAAM,CAAC,QAAQ,EAAE,oCAAoC,CAAC;KACtD,MAAM,CAAC,eAAe,EAAE,sBAAsB,CAAC;KAC/C,MAAM,CAAC,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,CAClC,eAAe,CACb,IAAgD,EAChD,WAAW,EACX,IAAI,CACL,CACF,CAAC;AAEJ,iFAAiF;AAEjF,OAAO;KACJ,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,sCAAsC,CAAC;KACnD,MAAM,CAAC,SAAS,EAAE,0CAA0C,CAAC;KAC7D,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;AAExC,OAAO;KACJ,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,kDAAkD,CAAC;KAC/D,MAAM,CAAC,GAAG,EAAE,CAAC,YAAY,EAAE,CAAC,CAAC;AAEhC,OAAO;KACJ,OAAO,CAAC,eAAe,CAAC;KACxB,WAAW,CAAC,sCAAsC,CAAC;KACnD,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,eAAe,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;AAE3C,iFAAiF;AAEjF,OAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,8CAA8C,CAAC;KAC3D,MAAM,CAAC,SAAS,EAAE,mBAAmB,CAAC;KACtC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;AAEvC,OAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,kDAAkD,CAAC;KAC/D,MAAM,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;AAE/B,iFAAiF;AAEjF,OAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,uDAAuD,CAAC;KACpE,MAAM,CAAC,kBAAkB,EAAE,wBAAwB,CAAC;KACpD,MAAM,CAAC,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,CAAC;KACrD,MAAM,CAAC,aAAa,EAAE,kBAAkB,CAAC;KACzC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,aAAa,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;AAElG,iFAAiF;AAEjF,MAAM,OAAO,GAAG,OAAO;KACpB,OAAO,CAAC,SAAS,CAAC;KAClB,WAAW,CAAC,4BAA4B,CAAC,CAAC;AAE7C,OAAO;KACJ,OAAO,CAAC,YAAY,CAAC;KACrB,WAAW,CAAC,0DAA0D,CAAC;KACvE,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC;AAE7C,iFAAiF;AAEjF,MAAM,KAAK,GAAG,OAAO;KAClB,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,8BAA8B,CAAC,CAAC;AAE/C,KAAK;KACF,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,kDAAkD,CAAC;KAC/D,MAAM,CAAC,GAAG,EAAE,CAAC,gBAAgB,EAAE,CAAC,CAAC;AAEpC,KAAK;KACF,OAAO,CAAC,YAAY,CAAC;KACrB,WAAW,CAAC,oCAAoC,CAAC;KACjD,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;AAE3C,iFAAiF;AAEjF,MAAM,QAAQ,GAAG,OAAO;KACrB,OAAO,CAAC,UAAU,CAAC;KACnB,WAAW,CAAC,sBAAsB,CAAC,CAAC;AAEvC,QAAQ;KACL,OAAO,CAAC,UAAU,CAAC;KACnB,WAAW,CAAC,yDAAyD,CAAC;KACtE,MAAM,CAAC,GAAG,EAAE,CAAC,uBAAuB,EAAE,CAAC,CAAC;AAE3C,QAAQ;KACL,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,6DAA6D,CAAC;KAC1E,MAAM,CAAC,GAAG,EAAE,CAAC,mBAAmB,EAAE,CAAC,CAAC;AAEvC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@interchained/portal-cli",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.6",
|
|
4
4
|
"description": "Portal CLI — dev, build, audit, improve, generate, guard",
|
|
5
5
|
"license": "GPL-3.0-or-later",
|
|
6
6
|
"author": "Interchained <dev@interchained.org>",
|
|
@@ -21,9 +21,9 @@
|
|
|
21
21
|
"prepublishOnly": "npm run typecheck && npm run build"
|
|
22
22
|
},
|
|
23
23
|
"dependencies": {
|
|
24
|
-
"@interchained/portal-contract": "
|
|
25
|
-
"@interchained/portal-agent": "
|
|
26
|
-
"@interchained/portal-core": "
|
|
24
|
+
"@interchained/portal-contract": "^0.1.0",
|
|
25
|
+
"@interchained/portal-agent": "^0.1.6",
|
|
26
|
+
"@interchained/portal-core": "^0.1.2",
|
|
27
27
|
"commander": "^12.0.0",
|
|
28
28
|
"picocolors": "^1.0.1",
|
|
29
29
|
"ora": "^8.0.1",
|