@akanjs/cli 1.0.7 → 1.0.8
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/cjs/index.js
CHANGED
|
@@ -236,15 +236,15 @@ var Logger = class _Logger {
|
|
|
236
236
|
console.log(`${processMsg} ${timestampMsg} ${logLevelMsg} ${contextMsg} ${contentMsg} ${timeDiffMsg}
|
|
237
237
|
`);
|
|
238
238
|
}
|
|
239
|
-
static rawLog(msg = "", method) {
|
|
239
|
+
static rawLog(msg = "", method, outputStream) {
|
|
240
240
|
this.raw(`${msg}
|
|
241
|
-
`, method);
|
|
241
|
+
`, method, outputStream);
|
|
242
242
|
}
|
|
243
|
-
static raw(msg = "", method) {
|
|
243
|
+
static raw(msg = "", method, outputStream) {
|
|
244
244
|
if (typeof window === "undefined" && method !== "console" && global.process)
|
|
245
|
-
global.process
|
|
245
|
+
global.process[outputStream === "error" ? "stderr" : "stdout"].write(msg);
|
|
246
246
|
else
|
|
247
|
-
console
|
|
247
|
+
console[outputStream === "error" ? "error" : "log"](msg.trim());
|
|
248
248
|
}
|
|
249
249
|
};
|
|
250
250
|
|
|
@@ -3353,13 +3353,186 @@ var Target = {
|
|
|
3353
3353
|
Dev: getTarget("dev")
|
|
3354
3354
|
};
|
|
3355
3355
|
|
|
3356
|
+
// pkgs/@akanjs/devkit/src/commandDecorators/helpFormatter.ts
|
|
3357
|
+
var import_chalk4 = __toESM(require("chalk"));
|
|
3358
|
+
var camelToKebabCase = (str) => str.replace(/([A-Z])/g, "-$1").toLowerCase();
|
|
3359
|
+
var groupCommands = (commands) => {
|
|
3360
|
+
const groups = /* @__PURE__ */ new Map();
|
|
3361
|
+
for (const command of commands) {
|
|
3362
|
+
const className = command.name.replace("Command", "");
|
|
3363
|
+
const groupName = className;
|
|
3364
|
+
if (!groups.has(groupName)) {
|
|
3365
|
+
groups.set(groupName, { name: groupName, commands: [] });
|
|
3366
|
+
}
|
|
3367
|
+
const targetMetas = getTargetMetas(command);
|
|
3368
|
+
for (const targetMeta of targetMetas) {
|
|
3369
|
+
if (targetMeta.targetOption.devOnly)
|
|
3370
|
+
continue;
|
|
3371
|
+
const [allArgMetas] = getArgMetas(command, targetMeta.key);
|
|
3372
|
+
const args = allArgMetas.filter((arg) => arg.type !== "Option").map((arg) => {
|
|
3373
|
+
if (arg.type === "Workspace")
|
|
3374
|
+
return "";
|
|
3375
|
+
if (arg.type === "Module")
|
|
3376
|
+
return "[sys:module]";
|
|
3377
|
+
if (arg.type === "Argument") {
|
|
3378
|
+
return `[${arg.name}]`;
|
|
3379
|
+
}
|
|
3380
|
+
return `[${arg.type.toLowerCase()}]`;
|
|
3381
|
+
}).filter(Boolean);
|
|
3382
|
+
const group = groups.get(groupName);
|
|
3383
|
+
if (group) {
|
|
3384
|
+
group.commands.push({
|
|
3385
|
+
key: camelToKebabCase(targetMeta.key),
|
|
3386
|
+
args,
|
|
3387
|
+
desc: targetMeta.targetOption.desc
|
|
3388
|
+
});
|
|
3389
|
+
}
|
|
3390
|
+
}
|
|
3391
|
+
}
|
|
3392
|
+
return groups;
|
|
3393
|
+
};
|
|
3394
|
+
var formatHelp = (commands, version) => {
|
|
3395
|
+
const groups = groupCommands(commands);
|
|
3396
|
+
const lines = [];
|
|
3397
|
+
lines.push("");
|
|
3398
|
+
lines.push(import_chalk4.default.bold.cyan(" \u2554\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2557"));
|
|
3399
|
+
lines.push(
|
|
3400
|
+
import_chalk4.default.bold.cyan(" \u2551") + import_chalk4.default.bold.white(" Akan.js Framework CLI ") + import_chalk4.default.bold.cyan(" \u2551")
|
|
3401
|
+
);
|
|
3402
|
+
lines.push(import_chalk4.default.bold.cyan(" \u255A\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u255D"));
|
|
3403
|
+
lines.push("");
|
|
3404
|
+
lines.push(import_chalk4.default.gray(` Version: ${version}`));
|
|
3405
|
+
lines.push("");
|
|
3406
|
+
lines.push(import_chalk4.default.bold.yellow(" USAGE"));
|
|
3407
|
+
lines.push("");
|
|
3408
|
+
lines.push(import_chalk4.default.gray(" $ ") + import_chalk4.default.white("akan") + import_chalk4.default.gray(" <command> [options]"));
|
|
3409
|
+
lines.push("");
|
|
3410
|
+
lines.push(import_chalk4.default.bold.yellow(" COMMANDS"));
|
|
3411
|
+
lines.push("");
|
|
3412
|
+
for (const [groupName, group] of groups) {
|
|
3413
|
+
if (group.commands.length === 0)
|
|
3414
|
+
continue;
|
|
3415
|
+
lines.push(import_chalk4.default.bold.magenta(` ${groupName}`));
|
|
3416
|
+
lines.push("");
|
|
3417
|
+
for (const cmd of group.commands) {
|
|
3418
|
+
const cmdName = import_chalk4.default.green(cmd.key);
|
|
3419
|
+
const cmdArgs = cmd.args.length > 0 ? import_chalk4.default.gray(` ${cmd.args.join(" ")}`) : "";
|
|
3420
|
+
if (cmd.desc) {
|
|
3421
|
+
const maxLineLength = 70;
|
|
3422
|
+
const cmdPrefix = ` ${cmdName}${cmdArgs}`;
|
|
3423
|
+
const indent = " ";
|
|
3424
|
+
if (cmdPrefix.length + cmd.desc.length + 3 < maxLineLength) {
|
|
3425
|
+
lines.push(`${cmdPrefix} ${import_chalk4.default.gray(cmd.desc)}`);
|
|
3426
|
+
} else {
|
|
3427
|
+
lines.push(cmdPrefix);
|
|
3428
|
+
lines.push(`${indent}${import_chalk4.default.gray(cmd.desc)}`);
|
|
3429
|
+
}
|
|
3430
|
+
} else {
|
|
3431
|
+
lines.push(` ${cmdName}${cmdArgs}`);
|
|
3432
|
+
}
|
|
3433
|
+
}
|
|
3434
|
+
lines.push("");
|
|
3435
|
+
}
|
|
3436
|
+
lines.push(import_chalk4.default.bold.yellow(" OPTIONS"));
|
|
3437
|
+
lines.push("");
|
|
3438
|
+
lines.push(` ${import_chalk4.default.green("-v, --verbose")} ${import_chalk4.default.gray("Enable verbose output")}`);
|
|
3439
|
+
lines.push(` ${import_chalk4.default.green("-h, --help")} ${import_chalk4.default.gray("Display this help message")}`);
|
|
3440
|
+
lines.push(` ${import_chalk4.default.green("-V, --version")} ${import_chalk4.default.gray("Output version number")}`);
|
|
3441
|
+
lines.push("");
|
|
3442
|
+
lines.push(import_chalk4.default.bold.yellow(" EXAMPLES"));
|
|
3443
|
+
lines.push("");
|
|
3444
|
+
lines.push(import_chalk4.default.gray(" # Create a new workspace"));
|
|
3445
|
+
lines.push(import_chalk4.default.white(" $ akan create-workspace myproject"));
|
|
3446
|
+
lines.push("");
|
|
3447
|
+
lines.push(import_chalk4.default.gray(" # Start development server"));
|
|
3448
|
+
lines.push(import_chalk4.default.white(" $ akan start myapp"));
|
|
3449
|
+
lines.push("");
|
|
3450
|
+
lines.push(import_chalk4.default.gray(" # Create a new module"));
|
|
3451
|
+
lines.push(import_chalk4.default.white(" $ akan create-module userProfile"));
|
|
3452
|
+
lines.push("");
|
|
3453
|
+
lines.push(import_chalk4.default.gray(" Documentation: ") + import_chalk4.default.cyan("https://akanjs.com/docs"));
|
|
3454
|
+
lines.push(import_chalk4.default.gray(" Report issues: ") + import_chalk4.default.cyan("https://github.com/akan-team/akanjs/issues"));
|
|
3455
|
+
lines.push("");
|
|
3456
|
+
return lines.join("\n");
|
|
3457
|
+
};
|
|
3458
|
+
var formatCommandHelp = (command, key) => {
|
|
3459
|
+
const [allArgMetas, argMetas] = getArgMetas(command, key);
|
|
3460
|
+
const kebabKey = camelToKebabCase(key);
|
|
3461
|
+
const lines = [];
|
|
3462
|
+
const targetMetas = getTargetMetas(command);
|
|
3463
|
+
const targetMeta = targetMetas.find((t) => t.key === key);
|
|
3464
|
+
const commandDesc = targetMeta?.targetOption.desc;
|
|
3465
|
+
lines.push("");
|
|
3466
|
+
lines.push(import_chalk4.default.bold.cyan(` Command: ${kebabKey}`));
|
|
3467
|
+
if (commandDesc) {
|
|
3468
|
+
lines.push(import_chalk4.default.gray(` ${commandDesc}`));
|
|
3469
|
+
}
|
|
3470
|
+
lines.push("");
|
|
3471
|
+
const args = allArgMetas.filter((arg) => arg.type !== "Option").map((arg) => {
|
|
3472
|
+
if (arg.type === "Workspace")
|
|
3473
|
+
return "";
|
|
3474
|
+
if (arg.type === "Module")
|
|
3475
|
+
return "[sys:module]";
|
|
3476
|
+
if (arg.type === "Argument") {
|
|
3477
|
+
return `[${camelToKebabCase(arg.name)}]`;
|
|
3478
|
+
}
|
|
3479
|
+
return `[${arg.type.toLowerCase()}]`;
|
|
3480
|
+
}).filter(Boolean).join(" ");
|
|
3481
|
+
lines.push(import_chalk4.default.bold.yellow(" USAGE"));
|
|
3482
|
+
lines.push("");
|
|
3483
|
+
lines.push(import_chalk4.default.gray(" $ ") + import_chalk4.default.white(`akan ${kebabKey}`) + (args ? import_chalk4.default.gray(` ${args}`) : ""));
|
|
3484
|
+
lines.push("");
|
|
3485
|
+
const nonOptionArgs = allArgMetas.filter((arg) => arg.type !== "Option");
|
|
3486
|
+
if (nonOptionArgs.length > 0) {
|
|
3487
|
+
lines.push(import_chalk4.default.bold.yellow(" ARGUMENTS"));
|
|
3488
|
+
lines.push("");
|
|
3489
|
+
for (const arg of nonOptionArgs) {
|
|
3490
|
+
if (arg.type === "Workspace")
|
|
3491
|
+
continue;
|
|
3492
|
+
let argName;
|
|
3493
|
+
let argDesc;
|
|
3494
|
+
let example = "";
|
|
3495
|
+
if (arg.type === "Argument") {
|
|
3496
|
+
argName = camelToKebabCase(arg.name);
|
|
3497
|
+
argDesc = arg.argsOption.desc ?? "";
|
|
3498
|
+
example = arg.argsOption.example ? import_chalk4.default.gray(` (e.g., ${String(arg.argsOption.example)})`) : "";
|
|
3499
|
+
} else if (arg.type === "Module") {
|
|
3500
|
+
argName = "sys:module";
|
|
3501
|
+
argDesc = "Module in format: app-name:module-name or lib-name:module-name";
|
|
3502
|
+
} else {
|
|
3503
|
+
argName = arg.type.toLowerCase();
|
|
3504
|
+
argDesc = `${arg.type} name in this workspace`;
|
|
3505
|
+
}
|
|
3506
|
+
lines.push(` ${import_chalk4.default.green(argName)} ${import_chalk4.default.gray(argDesc)}${example}`);
|
|
3507
|
+
}
|
|
3508
|
+
lines.push("");
|
|
3509
|
+
}
|
|
3510
|
+
const optionArgs = argMetas.filter((a) => a.type === "Option");
|
|
3511
|
+
if (optionArgs.length > 0) {
|
|
3512
|
+
lines.push(import_chalk4.default.bold.yellow(" OPTIONS"));
|
|
3513
|
+
lines.push("");
|
|
3514
|
+
for (const arg of optionArgs) {
|
|
3515
|
+
const opt = arg.argsOption;
|
|
3516
|
+
const flag = opt.flag ? `-${opt.flag}, ` : "";
|
|
3517
|
+
const kebabName = camelToKebabCase(arg.name);
|
|
3518
|
+
const optName = `${flag}--${kebabName}`;
|
|
3519
|
+
const optDesc = opt.desc ?? "";
|
|
3520
|
+
const defaultVal = opt.default !== void 0 ? import_chalk4.default.gray(` [default: ${String(opt.default)}]`) : "";
|
|
3521
|
+
const choices = opt.enum ? import_chalk4.default.gray(` (${opt.enum.join(", ")})`) : "";
|
|
3522
|
+
lines.push(` ${import_chalk4.default.green(optName)} ${import_chalk4.default.gray(optDesc)}${defaultVal}${choices}`);
|
|
3523
|
+
}
|
|
3524
|
+
lines.push("");
|
|
3525
|
+
}
|
|
3526
|
+
return lines.join("\n");
|
|
3527
|
+
};
|
|
3528
|
+
|
|
3356
3529
|
// pkgs/@akanjs/devkit/src/commandDecorators/command.ts
|
|
3357
3530
|
var import_prompts3 = require("@inquirer/prompts");
|
|
3358
|
-
var
|
|
3531
|
+
var import_chalk5 = __toESM(require("chalk"));
|
|
3359
3532
|
var import_commander = require("commander");
|
|
3360
3533
|
var import_fs8 = __toESM(require("fs"));
|
|
3361
3534
|
var import_meta3 = {};
|
|
3362
|
-
var
|
|
3535
|
+
var camelToKebabCase2 = (str) => str.replace(/([A-Z])/g, "-$1").toLowerCase();
|
|
3363
3536
|
var handleOption = (programCommand, argMeta) => {
|
|
3364
3537
|
const {
|
|
3365
3538
|
type,
|
|
@@ -3369,7 +3542,7 @@ var handleOption = (programCommand, argMeta) => {
|
|
|
3369
3542
|
enum: enumChoices,
|
|
3370
3543
|
ask
|
|
3371
3544
|
} = argMeta.argsOption;
|
|
3372
|
-
const kebabName =
|
|
3545
|
+
const kebabName = camelToKebabCase2(argMeta.name);
|
|
3373
3546
|
const choices = enumChoices?.map(
|
|
3374
3547
|
(choice) => typeof choice === "object" ? { value: choice.value, name: choice.label } : { value: choice, name: choice.toString() }
|
|
3375
3548
|
);
|
|
@@ -3380,7 +3553,7 @@ var handleOption = (programCommand, argMeta) => {
|
|
|
3380
3553
|
return programCommand;
|
|
3381
3554
|
};
|
|
3382
3555
|
var handleArgument = (programCommand, argMeta) => {
|
|
3383
|
-
const kebabName =
|
|
3556
|
+
const kebabName = camelToKebabCase2(argMeta.name);
|
|
3384
3557
|
if ((argMeta.argsOption.type ?? "string") !== "string")
|
|
3385
3558
|
throw new Error(`Argument type must be string: ${argMeta.name}`);
|
|
3386
3559
|
programCommand.argument(
|
|
@@ -3540,11 +3713,21 @@ var runCommands = async (...commands) => {
|
|
|
3540
3713
|
const __dirname = getDirname(import_meta3.url);
|
|
3541
3714
|
const hasPackageJson = import_fs8.default.existsSync(`${__dirname}/../package.json`);
|
|
3542
3715
|
process.env.AKAN_VERSION = hasPackageJson ? JSON.parse(import_fs8.default.readFileSync(`${__dirname}/../package.json`, "utf8")).version : "0.0.1";
|
|
3543
|
-
|
|
3716
|
+
const hasHelpFlag = process.argv.includes("--help") || process.argv.includes("-h");
|
|
3717
|
+
const hasCommand = process.argv.length > 2 && !process.argv[2].startsWith("-");
|
|
3718
|
+
if (hasHelpFlag || !hasCommand) {
|
|
3719
|
+
if (process.argv.length === 2 || process.argv.length === 3 && hasHelpFlag) {
|
|
3720
|
+
Logger.rawLog(formatHelp(commands, process.env.AKAN_VERSION));
|
|
3721
|
+
process.exit(0);
|
|
3722
|
+
}
|
|
3723
|
+
}
|
|
3724
|
+
import_commander.program.version(process.env.AKAN_VERSION).description("Akan CLI").configureHelp({
|
|
3725
|
+
helpWidth: 100
|
|
3726
|
+
});
|
|
3544
3727
|
const akanBasePackageJson = import_fs8.default.existsSync("./node_modules/@akanjs/base/package.json") ? JSON.parse(import_fs8.default.readFileSync("./node_modules/@akanjs/base/package.json", "utf8")) : null;
|
|
3545
3728
|
if (akanBasePackageJson && akanBasePackageJson.version !== process.env.AKAN_VERSION) {
|
|
3546
3729
|
Logger.rawLog(
|
|
3547
|
-
|
|
3730
|
+
import_chalk5.default.yellow(
|
|
3548
3731
|
`
|
|
3549
3732
|
Akan CLI version is mismatch with installed package. ${process.env.AKAN_VERSION} (global) vs ${akanBasePackageJson.version} (base)
|
|
3550
3733
|
It may cause unexpected behavior. Run \`akan update\` to update latest akanjs.`
|
|
@@ -3554,7 +3737,7 @@ It may cause unexpected behavior. Run \`akan update\` to update latest akanjs.`
|
|
|
3554
3737
|
for (const command of commands) {
|
|
3555
3738
|
const targetMetas = getTargetMetas(command);
|
|
3556
3739
|
for (const targetMeta of targetMetas) {
|
|
3557
|
-
const kebabKey =
|
|
3740
|
+
const kebabKey = camelToKebabCase2(targetMeta.key);
|
|
3558
3741
|
const commandNames = targetMeta.targetOption.short === true ? [
|
|
3559
3742
|
kebabKey,
|
|
3560
3743
|
typeof targetMeta.targetOption.short === "string" ? targetMeta.targetOption.short : kebabKey.split("-").map((s) => s.slice(0, 1)).join("")
|
|
@@ -3585,6 +3768,9 @@ It may cause unexpected behavior. Run \`akan update\` to update latest akanjs.`
|
|
|
3585
3768
|
}
|
|
3586
3769
|
}
|
|
3587
3770
|
programCommand = programCommand.option(`-v, --verbose [boolean]`, `verbose output`);
|
|
3771
|
+
programCommand.helpInformation = () => {
|
|
3772
|
+
return formatCommandHelp(command, targetMeta.key);
|
|
3773
|
+
};
|
|
3588
3774
|
programCommand.action(async (...args) => {
|
|
3589
3775
|
Logger.rawLog();
|
|
3590
3776
|
const cmdArgs = args.slice(0, args.length - 2);
|
|
@@ -3614,7 +3800,7 @@ It may cause unexpected behavior. Run \`akan update\` to update latest akanjs.`
|
|
|
3614
3800
|
} catch (e) {
|
|
3615
3801
|
const errMsg = e instanceof Error ? e.message : typeof e === "string" ? e : JSON.stringify(e);
|
|
3616
3802
|
Logger.rawLog(`
|
|
3617
|
-
${
|
|
3803
|
+
${import_chalk5.default.red(errMsg)}`);
|
|
3618
3804
|
throw e;
|
|
3619
3805
|
}
|
|
3620
3806
|
});
|
|
@@ -3629,7 +3815,7 @@ var import_prompts4 = require("@inquirer/prompts");
|
|
|
3629
3815
|
var import_messages = require("@langchain/core/messages");
|
|
3630
3816
|
var import_deepseek = require("@langchain/deepseek");
|
|
3631
3817
|
var import_openai2 = require("@langchain/openai");
|
|
3632
|
-
var
|
|
3818
|
+
var import_chalk6 = __toESM(require("chalk"));
|
|
3633
3819
|
var import_fs9 = __toESM(require("fs"));
|
|
3634
3820
|
var MAX_ASK_TRY = 300;
|
|
3635
3821
|
var supportedLlmModels = ["deepseek-chat", "deepseek-reasoner"];
|
|
@@ -3641,11 +3827,11 @@ var AiSession = class _AiSession {
|
|
|
3641
3827
|
const llmConfig2 = this.getLlmConfig();
|
|
3642
3828
|
if (llmConfig2) {
|
|
3643
3829
|
this.#setChatModel(llmConfig2.model, llmConfig2.apiKey);
|
|
3644
|
-
Logger.rawLog(
|
|
3830
|
+
Logger.rawLog(import_chalk6.default.dim(`\u{1F916}akan editor uses existing LLM config (${llmConfig2.model})`));
|
|
3645
3831
|
return this;
|
|
3646
3832
|
}
|
|
3647
3833
|
} else
|
|
3648
|
-
Logger.rawLog(
|
|
3834
|
+
Logger.rawLog(import_chalk6.default.yellow("\u{1F916}akan-editor is not initialized. LLM configuration should be set first."));
|
|
3649
3835
|
const llmConfig = await this.#requestLlmConfig();
|
|
3650
3836
|
const { model, apiKey } = llmConfig;
|
|
3651
3837
|
await this.#validateApiKey(model, apiKey);
|
|
@@ -3689,7 +3875,7 @@ var AiSession = class _AiSession {
|
|
|
3689
3875
|
return true;
|
|
3690
3876
|
} catch (error) {
|
|
3691
3877
|
spinner.fail(
|
|
3692
|
-
|
|
3878
|
+
import_chalk6.default.red(
|
|
3693
3879
|
`LLM API key is invalid. Please check your API key and try again. You can set it again by running "akan set-llm" or reset by running "akan reset-llm"`
|
|
3694
3880
|
)
|
|
3695
3881
|
);
|
|
@@ -3726,7 +3912,7 @@ var AiSession = class _AiSession {
|
|
|
3726
3912
|
}
|
|
3727
3913
|
async ask(question, {
|
|
3728
3914
|
onReasoning = (reasoning) => {
|
|
3729
|
-
Logger.raw(
|
|
3915
|
+
Logger.raw(import_chalk6.default.dim(reasoning));
|
|
3730
3916
|
},
|
|
3731
3917
|
onChunk = (chunk) => {
|
|
3732
3918
|
Logger.raw(chunk);
|
|
@@ -5565,82 +5751,82 @@ var ApplicationCommand = class {
|
|
|
5565
5751
|
}
|
|
5566
5752
|
};
|
|
5567
5753
|
__decorateClass([
|
|
5568
|
-
Target.Public(),
|
|
5754
|
+
Target.Public({ desc: "Create a new application in the workspace" }),
|
|
5569
5755
|
__decorateParam(0, Argument("appName", { desc: "name of application" })),
|
|
5570
5756
|
__decorateParam(1, Option("start", { type: "boolean", desc: "start application", default: false })),
|
|
5571
5757
|
__decorateParam(2, Workspace())
|
|
5572
5758
|
], ApplicationCommand.prototype, "createApplication", 1);
|
|
5573
5759
|
__decorateClass([
|
|
5574
|
-
Target.Public(),
|
|
5760
|
+
Target.Public({ desc: "Remove an application from the workspace" }),
|
|
5575
5761
|
__decorateParam(0, App())
|
|
5576
5762
|
], ApplicationCommand.prototype, "removeApplication", 1);
|
|
5577
5763
|
__decorateClass([
|
|
5578
|
-
Target.Public(),
|
|
5764
|
+
Target.Public({ desc: "Sync dependencies and configuration for an app or library" }),
|
|
5579
5765
|
__decorateParam(0, Sys())
|
|
5580
5766
|
], ApplicationCommand.prototype, "sync", 1);
|
|
5581
5767
|
__decorateClass([
|
|
5582
|
-
Target.Public(),
|
|
5768
|
+
Target.Public({ desc: "Run a custom script in the application" }),
|
|
5583
5769
|
__decorateParam(0, App()),
|
|
5584
5770
|
__decorateParam(1, Argument("filename", { desc: "name of script", nullable: true }))
|
|
5585
5771
|
], ApplicationCommand.prototype, "script", 1);
|
|
5586
5772
|
__decorateClass([
|
|
5587
|
-
Target.Public({ short: true }),
|
|
5773
|
+
Target.Public({ short: true, desc: "Build the application for production (frontend + backend)" }),
|
|
5588
5774
|
__decorateParam(0, App())
|
|
5589
5775
|
], ApplicationCommand.prototype, "build", 1);
|
|
5590
5776
|
__decorateClass([
|
|
5591
|
-
Target.Public({ short: true }),
|
|
5777
|
+
Target.Public({ short: true, desc: "Build only the backend for production" }),
|
|
5592
5778
|
__decorateParam(0, App())
|
|
5593
5779
|
], ApplicationCommand.prototype, "buildBackend", 1);
|
|
5594
5780
|
__decorateClass([
|
|
5595
|
-
Target.Public({ short: true }),
|
|
5781
|
+
Target.Public({ short: true, desc: "Build only the frontend (SSR) for production" }),
|
|
5596
5782
|
__decorateParam(0, App())
|
|
5597
5783
|
], ApplicationCommand.prototype, "buildFrontend", 1);
|
|
5598
5784
|
__decorateClass([
|
|
5599
|
-
Target.Public({ short: true }),
|
|
5785
|
+
Target.Public({ short: true, desc: "Build the CSR (Client-Side Rendering) frontend" }),
|
|
5600
5786
|
__decorateParam(0, App())
|
|
5601
5787
|
], ApplicationCommand.prototype, "buildCsr", 1);
|
|
5602
5788
|
__decorateClass([
|
|
5603
|
-
Target.Public({ short: true }),
|
|
5789
|
+
Target.Public({ short: true, desc: "Build iOS app with Capacitor" }),
|
|
5604
5790
|
__decorateParam(0, App())
|
|
5605
5791
|
], ApplicationCommand.prototype, "buildIos", 1);
|
|
5606
5792
|
__decorateClass([
|
|
5607
|
-
Target.Public({ short: true }),
|
|
5793
|
+
Target.Public({ short: true, desc: "Build Android app with Capacitor" }),
|
|
5608
5794
|
__decorateParam(0, App())
|
|
5609
5795
|
], ApplicationCommand.prototype, "buildAndroid", 1);
|
|
5610
5796
|
__decorateClass([
|
|
5611
|
-
Target.Public({ short: true }),
|
|
5797
|
+
Target.Public({ short: true, desc: "Start development server (frontend SSR + backend)" }),
|
|
5612
5798
|
__decorateParam(0, App()),
|
|
5613
5799
|
__decorateParam(1, Option("open", { type: "boolean", desc: "open web browser?", default: false })),
|
|
5614
5800
|
__decorateParam(2, Option("sync", { type: "boolean", desc: "sync application", default: true }))
|
|
5615
5801
|
], ApplicationCommand.prototype, "start", 1);
|
|
5616
5802
|
__decorateClass([
|
|
5617
|
-
Target.Public({ short: true }),
|
|
5803
|
+
Target.Public({ short: true, desc: "Start only the backend development server" }),
|
|
5618
5804
|
__decorateParam(0, App()),
|
|
5619
5805
|
__decorateParam(1, Option("open", { type: "boolean", desc: "open graphql playground", default: false })),
|
|
5620
5806
|
__decorateParam(2, Option("sync", { type: "boolean", desc: "sync application", default: true }))
|
|
5621
5807
|
], ApplicationCommand.prototype, "startBackend", 1);
|
|
5622
5808
|
__decorateClass([
|
|
5623
|
-
Target.Public({ short: true }),
|
|
5809
|
+
Target.Public({ short: true, desc: "Start only the frontend SSR development server" }),
|
|
5624
5810
|
__decorateParam(0, App()),
|
|
5625
5811
|
__decorateParam(1, Option("open", { type: "boolean", desc: "open web browser", default: false })),
|
|
5626
5812
|
__decorateParam(2, Option("turbo", { type: "boolean", desc: "turbo", default: false })),
|
|
5627
5813
|
__decorateParam(3, Option("sync", { type: "boolean", desc: "sync application", default: true }))
|
|
5628
5814
|
], ApplicationCommand.prototype, "startFrontend", 1);
|
|
5629
5815
|
__decorateClass([
|
|
5630
|
-
Target.Public({ short: true }),
|
|
5816
|
+
Target.Public({ short: true, desc: "Start CSR (Client-Side Rendering) development server" }),
|
|
5631
5817
|
__decorateParam(0, App()),
|
|
5632
5818
|
__decorateParam(1, Option("open", { type: "boolean", desc: "open web browser", default: false })),
|
|
5633
5819
|
__decorateParam(2, Option("sync", { type: "boolean", desc: "sync application", default: true }))
|
|
5634
5820
|
], ApplicationCommand.prototype, "startCsr", 1);
|
|
5635
5821
|
__decorateClass([
|
|
5636
|
-
Target.Public({ short: true }),
|
|
5822
|
+
Target.Public({ short: true, desc: "Start iOS app in simulator or device" }),
|
|
5637
5823
|
__decorateParam(0, App()),
|
|
5638
5824
|
__decorateParam(1, Option("open", { type: "boolean", desc: "open ios simulator", default: false })),
|
|
5639
5825
|
__decorateParam(2, Option("release", { type: "boolean", desc: "release mode", default: false })),
|
|
5640
5826
|
__decorateParam(3, Option("sync", { type: "boolean", desc: "sync application", default: true }))
|
|
5641
5827
|
], ApplicationCommand.prototype, "startIos", 1);
|
|
5642
5828
|
__decorateClass([
|
|
5643
|
-
Target.Public({ short: true }),
|
|
5829
|
+
Target.Public({ short: true, desc: "Start Android app in emulator or device" }),
|
|
5644
5830
|
__decorateParam(0, App()),
|
|
5645
5831
|
__decorateParam(1, Option("host", {
|
|
5646
5832
|
type: "string",
|
|
@@ -5653,16 +5839,16 @@ __decorateClass([
|
|
|
5653
5839
|
__decorateParam(4, Option("sync", { type: "boolean", desc: "sync application", default: true }))
|
|
5654
5840
|
], ApplicationCommand.prototype, "startAndroid", 1);
|
|
5655
5841
|
__decorateClass([
|
|
5656
|
-
Target.Public(),
|
|
5842
|
+
Target.Public({ desc: "Build and package iOS app for release (App Store)" }),
|
|
5657
5843
|
__decorateParam(0, App())
|
|
5658
5844
|
], ApplicationCommand.prototype, "releaseIos", 1);
|
|
5659
5845
|
__decorateClass([
|
|
5660
|
-
Target.Public(),
|
|
5846
|
+
Target.Public({ desc: "Build and package Android app for release (Play Store)" }),
|
|
5661
5847
|
__decorateParam(0, App()),
|
|
5662
5848
|
__decorateParam(1, Option("assembleType", { type: "string", enum: ["apk", "aab"], default: "apk" }))
|
|
5663
5849
|
], ApplicationCommand.prototype, "releaseAndroid", 1);
|
|
5664
5850
|
__decorateClass([
|
|
5665
|
-
Target.Public(),
|
|
5851
|
+
Target.Public({ desc: "Release app source code with OTA update support" }),
|
|
5666
5852
|
__decorateParam(0, App()),
|
|
5667
5853
|
__decorateParam(1, Option("rebuild", { type: "boolean", desc: "rebuild", default: false })),
|
|
5668
5854
|
__decorateParam(2, Option("buildNum", { desc: "build number", default: 0 })),
|
|
@@ -5670,11 +5856,11 @@ __decorateClass([
|
|
|
5670
5856
|
__decorateParam(4, Option("local", { type: "boolean", desc: "local", default: true }))
|
|
5671
5857
|
], ApplicationCommand.prototype, "releaseSource", 1);
|
|
5672
5858
|
__decorateClass([
|
|
5673
|
-
Target.Public(),
|
|
5859
|
+
Target.Public({ desc: "Deploy over-the-air (OTA) update for mobile app" }),
|
|
5674
5860
|
__decorateParam(0, App())
|
|
5675
5861
|
], ApplicationCommand.prototype, "codepush", 1);
|
|
5676
5862
|
__decorateClass([
|
|
5677
|
-
Target.Public(),
|
|
5863
|
+
Target.Public({ desc: "Dump application database to local file" }),
|
|
5678
5864
|
__decorateParam(0, App()),
|
|
5679
5865
|
__decorateParam(1, Option("environment", {
|
|
5680
5866
|
desc: "environment",
|
|
@@ -5684,7 +5870,7 @@ __decorateClass([
|
|
|
5684
5870
|
}))
|
|
5685
5871
|
], ApplicationCommand.prototype, "dumpDatabase", 1);
|
|
5686
5872
|
__decorateClass([
|
|
5687
|
-
Target.Public(),
|
|
5873
|
+
Target.Public({ desc: "Restore application database from local dump" }),
|
|
5688
5874
|
__decorateParam(0, App()),
|
|
5689
5875
|
__decorateParam(1, Option("source", {
|
|
5690
5876
|
desc: "source environment",
|
|
@@ -5698,21 +5884,21 @@ __decorateClass([
|
|
|
5698
5884
|
}))
|
|
5699
5885
|
], ApplicationCommand.prototype, "restoreDatabase", 1);
|
|
5700
5886
|
__decorateClass([
|
|
5701
|
-
Target.Public(),
|
|
5887
|
+
Target.Public({ desc: "Start local database services (MongoDB, Redis, Meilisearch)" }),
|
|
5702
5888
|
__decorateParam(0, Workspace())
|
|
5703
5889
|
], ApplicationCommand.prototype, "dbup", 1);
|
|
5704
5890
|
__decorateClass([
|
|
5705
|
-
Target.Public(),
|
|
5891
|
+
Target.Public({ desc: "Stop local database services" }),
|
|
5706
5892
|
__decorateParam(0, Workspace())
|
|
5707
5893
|
], ApplicationCommand.prototype, "dbdown", 1);
|
|
5708
5894
|
__decorateClass([
|
|
5709
|
-
Target.Public(),
|
|
5895
|
+
Target.Public({ desc: "Pull database from cloud to local" }),
|
|
5710
5896
|
__decorateParam(0, App()),
|
|
5711
5897
|
__decorateParam(1, Option("env", { default: "debug" })),
|
|
5712
5898
|
__decorateParam(2, Option("dump", { default: true }))
|
|
5713
5899
|
], ApplicationCommand.prototype, "pullDatabase", 1);
|
|
5714
5900
|
__decorateClass([
|
|
5715
|
-
Target.Public(),
|
|
5901
|
+
Target.Public({ desc: "Configure application settings interactively" }),
|
|
5716
5902
|
__decorateParam(0, App())
|
|
5717
5903
|
], ApplicationCommand.prototype, "configureApp", 1);
|
|
5718
5904
|
ApplicationCommand = __decorateClass([
|
|
@@ -5803,7 +5989,7 @@ var PackageScript = class {
|
|
|
5803
5989
|
|
|
5804
5990
|
// pkgs/@akanjs/cli/src/cloud/cloud.runner.ts
|
|
5805
5991
|
var import_prompts9 = require("@inquirer/prompts");
|
|
5806
|
-
var
|
|
5992
|
+
var import_chalk7 = __toESM(require("chalk"), 1);
|
|
5807
5993
|
var import_latest_version = __toESM(require("latest-version"), 1);
|
|
5808
5994
|
var import_open2 = __toESM(require("open"), 1);
|
|
5809
5995
|
var QRcode = __toESM(require("qrcode"), 1);
|
|
@@ -5813,17 +5999,17 @@ var CloudRunner = class {
|
|
|
5813
5999
|
const config = getHostConfig();
|
|
5814
6000
|
const self = config.auth ? await getSelf(config.auth.token) : null;
|
|
5815
6001
|
if (self) {
|
|
5816
|
-
Logger.rawLog(
|
|
6002
|
+
Logger.rawLog(import_chalk7.default.green(`
|
|
5817
6003
|
\u2713 Already logged in akan cloud as ${self.nickname}
|
|
5818
6004
|
`));
|
|
5819
6005
|
return true;
|
|
5820
6006
|
}
|
|
5821
6007
|
const remoteId = (0, import_uuid.v4)();
|
|
5822
6008
|
const signinUrl = `${akanCloudClientUrl}/signin?remoteId=${remoteId}`;
|
|
5823
|
-
Logger.rawLog(
|
|
5824
|
-
${
|
|
5825
|
-
Logger.rawLog(
|
|
5826
|
-
Logger.rawLog(
|
|
6009
|
+
Logger.rawLog(import_chalk7.default.bold(`
|
|
6010
|
+
${import_chalk7.default.green("\u27A4")} Authentication Required`));
|
|
6011
|
+
Logger.rawLog(import_chalk7.default.dim("Please visit or click the following URL:"));
|
|
6012
|
+
Logger.rawLog(import_chalk7.default.cyan.underline(signinUrl) + "\n");
|
|
5827
6013
|
try {
|
|
5828
6014
|
const qrcode = await new Promise((resolve, reject) => {
|
|
5829
6015
|
QRcode.toString(signinUrl, { type: "terminal", small: true }, (err, data) => {
|
|
@@ -5834,11 +6020,11 @@ ${import_chalk6.default.green("\u27A4")} Authentication Required`));
|
|
|
5834
6020
|
});
|
|
5835
6021
|
Logger.rawLog(qrcode);
|
|
5836
6022
|
await (0, import_open2.default)(signinUrl);
|
|
5837
|
-
Logger.rawLog(
|
|
6023
|
+
Logger.rawLog(import_chalk7.default.dim("Opening browser..."));
|
|
5838
6024
|
} catch {
|
|
5839
|
-
Logger.rawLog(
|
|
6025
|
+
Logger.rawLog(import_chalk7.default.yellow("Could not open browser. Please visit the URL manually."));
|
|
5840
6026
|
}
|
|
5841
|
-
Logger.rawLog(
|
|
6027
|
+
Logger.rawLog(import_chalk7.default.dim("Waiting for authentication..."));
|
|
5842
6028
|
const MAX_RETRY = 300;
|
|
5843
6029
|
for (let i = 0; i < MAX_RETRY; i++) {
|
|
5844
6030
|
const res = await fetch(`${akanCloudBackendUrl}/user/getRemoteAuthToken/${remoteId}`);
|
|
@@ -5846,28 +6032,28 @@ ${import_chalk6.default.green("\u27A4")} Authentication Required`));
|
|
|
5846
6032
|
const self2 = jwt ? await getSelf(jwt) : null;
|
|
5847
6033
|
if (jwt && self2) {
|
|
5848
6034
|
setHostConfig(akanCloudHost, { auth: { token: jwt, self: self2 } });
|
|
5849
|
-
Logger.rawLog(
|
|
5850
|
-
Logger.rawLog(
|
|
6035
|
+
Logger.rawLog(import_chalk7.default.green(`\r\u2713 Authentication successful!`));
|
|
6036
|
+
Logger.rawLog(import_chalk7.default.green.bold(`
|
|
5851
6037
|
\u2728 Welcome aboard, ${self2.nickname}!`));
|
|
5852
|
-
Logger.rawLog(
|
|
6038
|
+
Logger.rawLog(import_chalk7.default.dim("You're now ready to use Akan CLI!\n"));
|
|
5853
6039
|
return true;
|
|
5854
6040
|
}
|
|
5855
6041
|
await sleep(2e3);
|
|
5856
6042
|
}
|
|
5857
|
-
throw new Error(
|
|
6043
|
+
throw new Error(import_chalk7.default.red("\u2716 Authentication timed out after 10 minutes. Please try again."));
|
|
5858
6044
|
}
|
|
5859
6045
|
logout() {
|
|
5860
6046
|
const config = getHostConfig();
|
|
5861
6047
|
if (config.auth) {
|
|
5862
6048
|
setHostConfig(akanCloudHost, {});
|
|
5863
|
-
Logger.rawLog(
|
|
6049
|
+
Logger.rawLog(import_chalk7.default.magenta.bold(`
|
|
5864
6050
|
\u{1F44B} Goodbye, ${config.auth.self.nickname}!`));
|
|
5865
|
-
Logger.rawLog(
|
|
5866
|
-
Logger.rawLog(
|
|
5867
|
-
Logger.rawLog(
|
|
6051
|
+
Logger.rawLog(import_chalk7.default.dim("\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n"));
|
|
6052
|
+
Logger.rawLog(import_chalk7.default.cyan("You have been successfully logged out."));
|
|
6053
|
+
Logger.rawLog(import_chalk7.default.dim("Thank you for using Akan CLI. Come back soon! \u{1F31F}\n"));
|
|
5868
6054
|
} else {
|
|
5869
|
-
Logger.rawLog(
|
|
5870
|
-
Logger.rawLog(
|
|
6055
|
+
Logger.rawLog(import_chalk7.default.yellow.bold("\n\u26A0\uFE0F No active session found"));
|
|
6056
|
+
Logger.rawLog(import_chalk7.default.dim("You were not logged in to begin with\n"));
|
|
5871
6057
|
}
|
|
5872
6058
|
}
|
|
5873
6059
|
async setLlm() {
|
|
@@ -5875,7 +6061,7 @@ ${import_chalk6.default.green("\u27A4")} Authentication Required`));
|
|
|
5875
6061
|
}
|
|
5876
6062
|
resetLlm() {
|
|
5877
6063
|
AiSession.setLlmConfig(null);
|
|
5878
|
-
Logger.rawLog(
|
|
6064
|
+
Logger.rawLog(import_chalk7.default.green("\u2611\uFE0F LLM model config is cleared. Please run `akan set-llm` to set a new LLM model."));
|
|
5879
6065
|
}
|
|
5880
6066
|
async getAkanPkgs(workspace) {
|
|
5881
6067
|
const pkgs = await workspace.getPkgs();
|
|
@@ -6015,32 +6201,32 @@ var CloudCommand = class {
|
|
|
6015
6201
|
}
|
|
6016
6202
|
};
|
|
6017
6203
|
__decorateClass([
|
|
6018
|
-
Target.Public(),
|
|
6204
|
+
Target.Public({ desc: "Login to Akan Cloud services" }),
|
|
6019
6205
|
__decorateParam(0, Workspace())
|
|
6020
6206
|
], CloudCommand.prototype, "login", 1);
|
|
6021
6207
|
__decorateClass([
|
|
6022
|
-
Target.Public(),
|
|
6208
|
+
Target.Public({ desc: "Logout from Akan Cloud services" }),
|
|
6023
6209
|
__decorateParam(0, Workspace())
|
|
6024
6210
|
], CloudCommand.prototype, "logout", 1);
|
|
6025
6211
|
__decorateClass([
|
|
6026
|
-
Target.Public(),
|
|
6212
|
+
Target.Public({ desc: "Configure LLM (Large Language Model) API key" }),
|
|
6027
6213
|
__decorateParam(0, Workspace())
|
|
6028
6214
|
], CloudCommand.prototype, "setLlm", 1);
|
|
6029
6215
|
__decorateClass([
|
|
6030
|
-
Target.Public(),
|
|
6216
|
+
Target.Public({ desc: "Reset LLM configuration to default" }),
|
|
6031
6217
|
__decorateParam(0, Workspace())
|
|
6032
6218
|
], CloudCommand.prototype, "resetLlm", 1);
|
|
6033
6219
|
__decorateClass([
|
|
6034
|
-
Target.Public(),
|
|
6220
|
+
Target.Public({ desc: "Ask AI assistant a question about your project" }),
|
|
6035
6221
|
__decorateParam(0, Option("question", { ask: "question to ask" })),
|
|
6036
6222
|
__decorateParam(1, Workspace())
|
|
6037
6223
|
], CloudCommand.prototype, "ask", 1);
|
|
6038
6224
|
__decorateClass([
|
|
6039
|
-
Target.Public({ devOnly: true }),
|
|
6225
|
+
Target.Public({ devOnly: true, desc: "Deploy Akan.js framework to cloud (internal use)" }),
|
|
6040
6226
|
__decorateParam(0, Workspace())
|
|
6041
6227
|
], CloudCommand.prototype, "deployAkan", 1);
|
|
6042
6228
|
__decorateClass([
|
|
6043
|
-
Target.Public(),
|
|
6229
|
+
Target.Public({ desc: "Update Akan.js framework to the latest version" }),
|
|
6044
6230
|
__decorateParam(0, Workspace()),
|
|
6045
6231
|
__decorateParam(1, Option("tag", {
|
|
6046
6232
|
desc: "tag of the update",
|
|
@@ -6069,20 +6255,20 @@ var LibraryCommand = class {
|
|
|
6069
6255
|
}
|
|
6070
6256
|
};
|
|
6071
6257
|
__decorateClass([
|
|
6072
|
-
Target.Public(),
|
|
6258
|
+
Target.Public({ desc: "Create a new shared library in the workspace" }),
|
|
6073
6259
|
__decorateParam(0, Argument("libName", { desc: "name of library" })),
|
|
6074
6260
|
__decorateParam(1, Workspace())
|
|
6075
6261
|
], LibraryCommand.prototype, "createLibrary", 1);
|
|
6076
6262
|
__decorateClass([
|
|
6077
|
-
Target.Public(),
|
|
6263
|
+
Target.Public({ desc: "Remove a library from the workspace" }),
|
|
6078
6264
|
__decorateParam(0, Lib())
|
|
6079
6265
|
], LibraryCommand.prototype, "removeLibrary", 1);
|
|
6080
6266
|
__decorateClass([
|
|
6081
|
-
Target.Public(),
|
|
6267
|
+
Target.Public({ desc: "Sync dependencies and configuration for a library" }),
|
|
6082
6268
|
__decorateParam(0, Lib())
|
|
6083
6269
|
], LibraryCommand.prototype, "syncLibrary", 1);
|
|
6084
6270
|
__decorateClass([
|
|
6085
|
-
Target.Public(),
|
|
6271
|
+
Target.Public({ desc: "Install pre-built library templates (shared, util, etc.)" }),
|
|
6086
6272
|
__decorateParam(0, Argument("libName", { desc: "name of library", nullable: true })),
|
|
6087
6273
|
__decorateParam(1, Workspace())
|
|
6088
6274
|
], LibraryCommand.prototype, "installLibrary", 1);
|
|
@@ -6635,25 +6821,25 @@ var ModuleCommand = class {
|
|
|
6635
6821
|
}
|
|
6636
6822
|
};
|
|
6637
6823
|
__decorateClass([
|
|
6638
|
-
Target.Public(),
|
|
6824
|
+
Target.Public({ desc: "Create a new domain module (constant, service, signal, store, UI)" }),
|
|
6639
6825
|
__decorateParam(0, Argument("moduleName", { desc: "name of module" })),
|
|
6640
6826
|
__decorateParam(1, Sys()),
|
|
6641
6827
|
__decorateParam(2, Option("page", { type: "boolean", desc: "create page", default: false }))
|
|
6642
6828
|
], ModuleCommand.prototype, "createModule", 1);
|
|
6643
6829
|
__decorateClass([
|
|
6644
|
-
Target.Public(),
|
|
6830
|
+
Target.Public({ desc: "Remove a module from an app or library" }),
|
|
6645
6831
|
__decorateParam(0, Module())
|
|
6646
6832
|
], ModuleCommand.prototype, "removeModule", 1);
|
|
6647
6833
|
__decorateClass([
|
|
6648
|
-
Target.Public(),
|
|
6834
|
+
Target.Public({ desc: "Create a View component for a module (full page view)" }),
|
|
6649
6835
|
__decorateParam(0, Module())
|
|
6650
6836
|
], ModuleCommand.prototype, "createView", 1);
|
|
6651
6837
|
__decorateClass([
|
|
6652
|
-
Target.Public(),
|
|
6838
|
+
Target.Public({ desc: "Create a Unit component for a module (list/card item)" }),
|
|
6653
6839
|
__decorateParam(0, Module())
|
|
6654
6840
|
], ModuleCommand.prototype, "createUnit", 1);
|
|
6655
6841
|
__decorateClass([
|
|
6656
|
-
Target.Public(),
|
|
6842
|
+
Target.Public({ desc: "Create a Template component for a module (form)" }),
|
|
6657
6843
|
__decorateParam(0, Module())
|
|
6658
6844
|
], ModuleCommand.prototype, "createTemplate", 1);
|
|
6659
6845
|
ModuleCommand = __decorateClass([
|
|
@@ -6680,24 +6866,24 @@ var PackageCommand = class {
|
|
|
6680
6866
|
}
|
|
6681
6867
|
};
|
|
6682
6868
|
__decorateClass([
|
|
6683
|
-
Target.Public(),
|
|
6869
|
+
Target.Public({ desc: "Show version information for all packages" }),
|
|
6684
6870
|
__decorateParam(0, Workspace())
|
|
6685
6871
|
], PackageCommand.prototype, "version", 1);
|
|
6686
6872
|
__decorateClass([
|
|
6687
|
-
Target.Public(),
|
|
6873
|
+
Target.Public({ desc: "Create a new package in pkgs/@akanjs/" }),
|
|
6688
6874
|
__decorateParam(0, Option("name", { desc: "name of package" })),
|
|
6689
6875
|
__decorateParam(1, Workspace())
|
|
6690
6876
|
], PackageCommand.prototype, "createPackage", 1);
|
|
6691
6877
|
__decorateClass([
|
|
6692
|
-
Target.Public(),
|
|
6878
|
+
Target.Public({ desc: "Remove a package from the workspace" }),
|
|
6693
6879
|
__decorateParam(0, Pkg())
|
|
6694
6880
|
], PackageCommand.prototype, "removePackage", 1);
|
|
6695
6881
|
__decorateClass([
|
|
6696
|
-
Target.Public(),
|
|
6882
|
+
Target.Public({ desc: "Sync dependencies and configuration for a package" }),
|
|
6697
6883
|
__decorateParam(0, Pkg())
|
|
6698
6884
|
], PackageCommand.prototype, "syncPackage", 1);
|
|
6699
6885
|
__decorateClass([
|
|
6700
|
-
Target.Public(),
|
|
6886
|
+
Target.Public({ desc: "Build a package for distribution" }),
|
|
6701
6887
|
__decorateParam(0, Pkg())
|
|
6702
6888
|
], PackageCommand.prototype, "buildPackage", 1);
|
|
6703
6889
|
PackageCommand = __decorateClass([
|
|
@@ -6712,7 +6898,7 @@ var PageCommand = class {
|
|
|
6712
6898
|
}
|
|
6713
6899
|
};
|
|
6714
6900
|
__decorateClass([
|
|
6715
|
-
Target.Public(),
|
|
6901
|
+
Target.Public({ desc: "Create CRUD pages for a module (list, detail, create, edit)" }),
|
|
6716
6902
|
__decorateParam(0, App()),
|
|
6717
6903
|
__decorateParam(1, Module()),
|
|
6718
6904
|
__decorateParam(2, Option("basePath", { desc: "base path", nullable: true })),
|
|
@@ -6919,7 +7105,7 @@ var WorkspaceCommand = class {
|
|
|
6919
7105
|
}
|
|
6920
7106
|
};
|
|
6921
7107
|
__decorateClass([
|
|
6922
|
-
Target.Public(),
|
|
7108
|
+
Target.Public({ desc: "Create a new Akan.js workspace" }),
|
|
6923
7109
|
__decorateParam(0, Argument("workspaceName", { desc: "what is the name of your organization?" })),
|
|
6924
7110
|
__decorateParam(1, Option("app", { desc: "what is the codename of your first application? (e.g. myapp)" })),
|
|
6925
7111
|
__decorateParam(2, Option("dir", { desc: "directory of workspace", default: process.env.USE_AKANJS_PKGS === "true" ? "local" : "." })),
|
|
@@ -6941,26 +7127,26 @@ __decorateClass([
|
|
|
6941
7127
|
}))
|
|
6942
7128
|
], WorkspaceCommand.prototype, "createWorkspace", 1);
|
|
6943
7129
|
__decorateClass([
|
|
6944
|
-
Target.Public(),
|
|
7130
|
+
Target.Public({ desc: "Generate MongoDB types and schemas" }),
|
|
6945
7131
|
__decorateParam(0, Workspace())
|
|
6946
7132
|
], WorkspaceCommand.prototype, "generateMongo", 1);
|
|
6947
7133
|
__decorateClass([
|
|
6948
|
-
Target.Public(),
|
|
7134
|
+
Target.Public({ desc: "Lint and fix code in a specific app/lib/pkg" }),
|
|
6949
7135
|
__decorateParam(0, Exec()),
|
|
6950
7136
|
__decorateParam(1, Option("fix", { type: "boolean", default: true })),
|
|
6951
7137
|
__decorateParam(2, Workspace())
|
|
6952
7138
|
], WorkspaceCommand.prototype, "lint", 1);
|
|
6953
7139
|
__decorateClass([
|
|
6954
|
-
Target.Public(),
|
|
7140
|
+
Target.Public({ desc: "Lint and fix code in all apps and libraries" }),
|
|
6955
7141
|
__decorateParam(0, Option("fix", { type: "boolean", default: true })),
|
|
6956
7142
|
__decorateParam(1, Workspace())
|
|
6957
7143
|
], WorkspaceCommand.prototype, "lintAll", 1);
|
|
6958
7144
|
__decorateClass([
|
|
6959
|
-
Target.Public(),
|
|
7145
|
+
Target.Public({ desc: "Sync dependencies and configuration for all apps and libraries" }),
|
|
6960
7146
|
__decorateParam(0, Workspace())
|
|
6961
7147
|
], WorkspaceCommand.prototype, "syncAll", 1);
|
|
6962
7148
|
__decorateClass([
|
|
6963
|
-
Target.Public(),
|
|
7149
|
+
Target.Public({ desc: "Dump all application databases to local files" }),
|
|
6964
7150
|
__decorateParam(0, Option("environment", {
|
|
6965
7151
|
desc: "environment",
|
|
6966
7152
|
default: "debug",
|
|
@@ -6970,7 +7156,7 @@ __decorateClass([
|
|
|
6970
7156
|
__decorateParam(1, Workspace())
|
|
6971
7157
|
], WorkspaceCommand.prototype, "dumpDatabaseAll", 1);
|
|
6972
7158
|
__decorateClass([
|
|
6973
|
-
Target.Public(),
|
|
7159
|
+
Target.Public({ desc: "Restore all application databases from local dump" }),
|
|
6974
7160
|
__decorateParam(0, Option("source", {
|
|
6975
7161
|
desc: "source environment",
|
|
6976
7162
|
enum: ["debug", "develop", "main"],
|
|
@@ -7291,23 +7477,23 @@ var GuidelineCommand = class {
|
|
|
7291
7477
|
}
|
|
7292
7478
|
};
|
|
7293
7479
|
__decorateClass([
|
|
7294
|
-
Target.Public(),
|
|
7480
|
+
Target.Public({ devOnly: true, desc: "Generate AI development guideline/instruction for your project" }),
|
|
7295
7481
|
__decorateParam(0, Argument("name", { ask: "name of the instruction", nullable: true })),
|
|
7296
7482
|
__decorateParam(1, Workspace())
|
|
7297
7483
|
], GuidelineCommand.prototype, "generateInstruction", 1);
|
|
7298
7484
|
__decorateClass([
|
|
7299
|
-
Target.Public(),
|
|
7485
|
+
Target.Public({ devOnly: true, desc: "Update existing AI guideline/instruction" }),
|
|
7300
7486
|
__decorateParam(0, Argument("name", { ask: "name of the instruction", nullable: true })),
|
|
7301
7487
|
__decorateParam(1, Option("request", { ask: "What do you want to update?" })),
|
|
7302
7488
|
__decorateParam(2, Workspace())
|
|
7303
7489
|
], GuidelineCommand.prototype, "updateInstruction", 1);
|
|
7304
7490
|
__decorateClass([
|
|
7305
|
-
Target.Public(),
|
|
7491
|
+
Target.Public({ devOnly: true, desc: "Generate documentation from guideline/instruction" }),
|
|
7306
7492
|
__decorateParam(0, Argument("name", { ask: "name of the instruction", nullable: true })),
|
|
7307
7493
|
__decorateParam(1, Workspace())
|
|
7308
7494
|
], GuidelineCommand.prototype, "generateDocument", 1);
|
|
7309
7495
|
__decorateClass([
|
|
7310
|
-
Target.Public(),
|
|
7496
|
+
Target.Public({ devOnly: true, desc: "Re-apply guideline/instruction to codebase" }),
|
|
7311
7497
|
__decorateParam(0, Argument("name", { ask: "name of the instruction", nullable: true })),
|
|
7312
7498
|
__decorateParam(1, Workspace())
|
|
7313
7499
|
], GuidelineCommand.prototype, "reapplyInstruction", 1);
|
|
@@ -7504,13 +7690,13 @@ var ScalarCommand = class {
|
|
|
7504
7690
|
}
|
|
7505
7691
|
};
|
|
7506
7692
|
__decorateClass([
|
|
7507
|
-
Target.Public(),
|
|
7693
|
+
Target.Public({ desc: "Create a new scalar type (simple data model without DB)" }),
|
|
7508
7694
|
__decorateParam(0, Argument("scalarName", { desc: "name of scalar" })),
|
|
7509
7695
|
__decorateParam(1, Option("ai", { type: "boolean", default: false, desc: "use ai to create scalar" })),
|
|
7510
7696
|
__decorateParam(2, Sys())
|
|
7511
7697
|
], ScalarCommand.prototype, "createScalar", 1);
|
|
7512
7698
|
__decorateClass([
|
|
7513
|
-
Target.Public(),
|
|
7699
|
+
Target.Public({ desc: "Remove a scalar type from an app or library" }),
|
|
7514
7700
|
__decorateParam(0, Argument("scalarName", { desc: "name of scalar" })),
|
|
7515
7701
|
__decorateParam(1, Sys())
|
|
7516
7702
|
], ScalarCommand.prototype, "removeScalar", 1);
|