@akanjs/cli 0.0.65 → 0.0.66
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/index.js +29 -24
- package/package.json +1 -1
package/index.js
CHANGED
|
@@ -1856,6 +1856,7 @@ var Target = {
|
|
|
1856
1856
|
// pkgs/@akanjs/devkit/src/commandDecorators/command.ts
|
|
1857
1857
|
var import_prompts3 = require("@inquirer/prompts");
|
|
1858
1858
|
var import_commander = require("commander");
|
|
1859
|
+
var import_fs10 = __toESM(require("fs"), 1);
|
|
1859
1860
|
var camelToKebabCase = (str) => str.replace(/([A-Z])/g, "-$1").toLowerCase();
|
|
1860
1861
|
var handleOption = (programCommand, argMeta) => {
|
|
1861
1862
|
const {
|
|
@@ -1945,7 +1946,9 @@ var getArgumentValue = async (argMeta, value, workspace) => {
|
|
|
1945
1946
|
throw new Error(`Invalid system type: ${argMeta.type}`);
|
|
1946
1947
|
};
|
|
1947
1948
|
var runCommands = async (...commands) => {
|
|
1948
|
-
|
|
1949
|
+
const hasPackageJson = import_fs10.default.existsSync("package.json");
|
|
1950
|
+
const version = hasPackageJson ? JSON.parse(import_fs10.default.readFileSync("package.json", "utf8")).version : "0.0.1";
|
|
1951
|
+
import_commander.program.version(version).description("Akan CLI");
|
|
1949
1952
|
for (const command of commands) {
|
|
1950
1953
|
const targetMetas = getTargetMetas(command);
|
|
1951
1954
|
for (const targetMeta of targetMetas) {
|
|
@@ -2138,6 +2141,7 @@ var LibraryScript = class {
|
|
|
2138
2141
|
}
|
|
2139
2142
|
async pullLibrary(lib, branch) {
|
|
2140
2143
|
await this.#runner.pullLibrary(lib, branch);
|
|
2144
|
+
await this.#runner.mergeLibraryDependencies(lib);
|
|
2141
2145
|
}
|
|
2142
2146
|
};
|
|
2143
2147
|
|
|
@@ -2150,7 +2154,7 @@ var import_openai3 = require("@langchain/openai");
|
|
|
2150
2154
|
var import_plugin_react = __toESM(require("@vitejs/plugin-react"));
|
|
2151
2155
|
var import_dotenv = __toESM(require("dotenv"));
|
|
2152
2156
|
var esbuild = __toESM(require("esbuild"));
|
|
2153
|
-
var
|
|
2157
|
+
var import_fs11 = __toESM(require("fs"));
|
|
2154
2158
|
var import_promises2 = __toESM(require("fs/promises"));
|
|
2155
2159
|
var import_js_yaml2 = __toESM(require("js-yaml"));
|
|
2156
2160
|
var import_ora2 = __toESM(require("ora"));
|
|
@@ -3319,7 +3323,7 @@ var ApplicationRunner = class {
|
|
|
3319
3323
|
app.log(`CSR server is running on http://localhost:4201`);
|
|
3320
3324
|
}
|
|
3321
3325
|
async #prepareIos(app) {
|
|
3322
|
-
const isAdded =
|
|
3326
|
+
const isAdded = import_fs11.default.existsSync(`${app.cwdPath}/ios/App/Podfile`);
|
|
3323
3327
|
if (!isAdded) {
|
|
3324
3328
|
await app.spawn("npx", ["cap", "add", "ios"]);
|
|
3325
3329
|
await app.spawn("npx", ["@capacitor/assets", "generate"]);
|
|
@@ -3354,7 +3358,7 @@ var ApplicationRunner = class {
|
|
|
3354
3358
|
await capacitorApp.releaseIos();
|
|
3355
3359
|
}
|
|
3356
3360
|
async #prepareAndroid(app) {
|
|
3357
|
-
const isAdded =
|
|
3361
|
+
const isAdded = import_fs11.default.existsSync(`${app.cwdPath}/android/app/build.gradle`);
|
|
3358
3362
|
if (!isAdded) {
|
|
3359
3363
|
await app.spawn("npx", ["cap", "add", "android"]);
|
|
3360
3364
|
await app.spawn("npx", ["@capacitor/assets", "generate"]);
|
|
@@ -3437,14 +3441,14 @@ var ApplicationRunner = class {
|
|
|
3437
3441
|
const buildRoot = `${app.workspace.workspaceRoot}/releases/builds/${app.name}`;
|
|
3438
3442
|
const appVersionInfo = import_js_yaml2.default.load(app.readFile("config.yaml"));
|
|
3439
3443
|
const platformVersion = appVersionInfo.platforms.android.versionName;
|
|
3440
|
-
if (
|
|
3444
|
+
if (import_fs11.default.existsSync(buildRoot))
|
|
3441
3445
|
await import_promises2.default.rm(buildRoot, { recursive: true, force: true });
|
|
3442
3446
|
await import_promises2.default.mkdir(buildRoot, { recursive: true });
|
|
3443
|
-
if (rebuild || !
|
|
3447
|
+
if (rebuild || !import_fs11.default.existsSync(`${distApp.cwdPath}/backend`))
|
|
3444
3448
|
await this.buildBackend(app, distApp);
|
|
3445
|
-
if (rebuild || !
|
|
3449
|
+
if (rebuild || !import_fs11.default.existsSync(`${distApp.cwdPath}/frontend`))
|
|
3446
3450
|
await this.buildFrontend(app, distApp);
|
|
3447
|
-
if (rebuild || !
|
|
3451
|
+
if (rebuild || !import_fs11.default.existsSync(`${distApp.cwdPath}/csr`))
|
|
3448
3452
|
await this.buildCsr(app, distApp);
|
|
3449
3453
|
const buildVersion = `${platformVersion}-${buildNum}`;
|
|
3450
3454
|
const buildPath = `${buildRoot}/${buildVersion}`;
|
|
@@ -3459,7 +3463,7 @@ var ApplicationRunner = class {
|
|
|
3459
3463
|
buildRoot,
|
|
3460
3464
|
"./"
|
|
3461
3465
|
]);
|
|
3462
|
-
if (
|
|
3466
|
+
if (import_fs11.default.existsSync(`${distApp.cwdPath}/csr`)) {
|
|
3463
3467
|
await import_promises2.default.cp(`${distApp.cwdPath}/csr`, "./csr", { recursive: true });
|
|
3464
3468
|
await app.workspace.spawn("zip", [
|
|
3465
3469
|
"-r",
|
|
@@ -3469,7 +3473,7 @@ var ApplicationRunner = class {
|
|
|
3469
3473
|
await import_promises2.default.rm("./csr", { recursive: true, force: true });
|
|
3470
3474
|
}
|
|
3471
3475
|
const sourceRoot = `${app.workspace.workspaceRoot}/releases/sources/${app.name}`;
|
|
3472
|
-
if (
|
|
3476
|
+
if (import_fs11.default.existsSync(sourceRoot)) {
|
|
3473
3477
|
const MAX_RETRY = 3;
|
|
3474
3478
|
for (let i = 0; i < MAX_RETRY; i++) {
|
|
3475
3479
|
try {
|
|
@@ -3489,7 +3493,7 @@ var ApplicationRunner = class {
|
|
|
3489
3493
|
await Promise.all(
|
|
3490
3494
|
[".next", "ios", "android", "public/libs"].map(async (path7) => {
|
|
3491
3495
|
const targetPath = `${sourceRoot}/apps/${app.name}/${path7}`;
|
|
3492
|
-
if (
|
|
3496
|
+
if (import_fs11.default.existsSync(targetPath))
|
|
3493
3497
|
await import_promises2.default.rm(targetPath, { recursive: true, force: true });
|
|
3494
3498
|
})
|
|
3495
3499
|
);
|
|
@@ -3517,8 +3521,8 @@ var ApplicationRunner = class {
|
|
|
3517
3521
|
[]
|
|
3518
3522
|
)
|
|
3519
3523
|
]);
|
|
3520
|
-
|
|
3521
|
-
|
|
3524
|
+
import_fs11.default.writeFileSync(`${sourceRoot}/tsconfig.json`, JSON.stringify(tsconfig, null, 2));
|
|
3525
|
+
import_fs11.default.writeFileSync(
|
|
3522
3526
|
`${sourceRoot}/README.md`,
|
|
3523
3527
|
`# ${app.name}
|
|
3524
3528
|
\uBCF8 \uD504\uB85C\uC81D\uD2B8\uC758 \uC18C\uC2A4\uCF54\uB4DC \uBC0F \uAD00\uB828\uC790\uB8CC\uB294 \uBAA8\uB450 \uBE44\uBC00\uC815\uBCF4\uB85C \uAD00\uB9AC\uB429\uB2C8\uB2E4.
|
|
@@ -3911,6 +3915,7 @@ ApplicationCommand = __decorateClass([
|
|
|
3911
3915
|
// pkgs/@akanjs/cli/src/package/package.runner.ts
|
|
3912
3916
|
var esbuild2 = __toESM(require("esbuild"));
|
|
3913
3917
|
var import_esbuild_plugin_d = require("esbuild-plugin-d.ts");
|
|
3918
|
+
var import_fs12 = __toESM(require("fs"));
|
|
3914
3919
|
var import_promises3 = __toESM(require("fs/promises"));
|
|
3915
3920
|
var PackageRunner = class {
|
|
3916
3921
|
async version(workspace) {
|
|
@@ -3932,8 +3937,8 @@ var PackageRunner = class {
|
|
|
3932
3937
|
async buildPackage(pkg, distPkg) {
|
|
3933
3938
|
const rootPackageJson = pkg.workspace.readJson("package.json");
|
|
3934
3939
|
const pkgJson = pkg.readJson("package.json");
|
|
3935
|
-
|
|
3936
|
-
|
|
3940
|
+
if (import_fs12.default.existsSync(distPkg.cwdPath))
|
|
3941
|
+
await pkg.workspace.exec(`rm -rf ${distPkg.cwdPath}`);
|
|
3937
3942
|
let buildResult;
|
|
3938
3943
|
if (pkg.name === "@akanjs/config") {
|
|
3939
3944
|
buildResult = await esbuild2.build({
|
|
@@ -4279,14 +4284,14 @@ var import_output_parsers2 = require("@langchain/core/output_parsers");
|
|
|
4279
4284
|
var import_prompts8 = require("@langchain/core/prompts");
|
|
4280
4285
|
var import_runnables3 = require("@langchain/core/runnables");
|
|
4281
4286
|
var import_openai4 = require("@langchain/openai");
|
|
4282
|
-
var
|
|
4287
|
+
var import_fs13 = __toESM(require("fs"));
|
|
4283
4288
|
var ModuleRunner = class {
|
|
4284
4289
|
async createModule(workspace, moduleName) {
|
|
4285
4290
|
const openAIApiKey = process.env.OPENAI_API_KEY;
|
|
4286
4291
|
if (!openAIApiKey)
|
|
4287
4292
|
throw new Error("OPENAI_API_KEY is not set");
|
|
4288
4293
|
const chatModel = new import_openai4.ChatOpenAI({ modelName: "gpt-4o", openAIApiKey });
|
|
4289
|
-
const projectConfig = JSON.parse(
|
|
4294
|
+
const projectConfig = JSON.parse(import_fs13.default.readFileSync(`rootPath/projectConfig.json`, "utf-8"));
|
|
4290
4295
|
const mainPrompt = import_prompts8.PromptTemplate.fromTemplate(requestModule());
|
|
4291
4296
|
const chain = import_runnables3.RunnableSequence.from([mainPrompt, chatModel, new import_output_parsers2.StringOutputParser()]);
|
|
4292
4297
|
const resultOne = await chain.invoke({
|
|
@@ -4340,7 +4345,7 @@ ${paths ? new Array(paths.size).fill(0).map((_, index) => {
|
|
|
4340
4345
|
if (!filePath)
|
|
4341
4346
|
throw new Error("filePath is undefined");
|
|
4342
4347
|
return `${key}
|
|
4343
|
-
\`\`\`${
|
|
4348
|
+
\`\`\`${import_fs13.default.readFileSync(filePath, "utf8")}\`\`\`\`
|
|
4344
4349
|
|
|
4345
4350
|
`;
|
|
4346
4351
|
}) : ""}
|
|
@@ -4355,11 +4360,11 @@ css\uB77C\uC774\uBE0C\uB7EC\uB9AC\uB294 DaisyUI\uB97C \uAE30\uBC18\uC73C\uB85C \
|
|
|
4355
4360
|
${names.Model}.Unit.Card\uC758 \uB9AC\uC561\uD2B8 \uCEF4\uD3EC\uB10C\uD2B8\uB97C \uB514\uC790\uC778\uD574\uC11C \uC791\uC131\uD574\uC918.
|
|
4356
4361
|
`;
|
|
4357
4362
|
try {
|
|
4358
|
-
|
|
4363
|
+
import_fs13.default.writeFileSync("./local/prompt.txt", prompt);
|
|
4359
4364
|
const { content } = await streamAi(prompt, (chunk) => {
|
|
4360
4365
|
process.stdout.write(chunk);
|
|
4361
4366
|
});
|
|
4362
|
-
|
|
4367
|
+
import_fs13.default.writeFileSync("./local/result.txt", content);
|
|
4363
4368
|
} catch (error) {
|
|
4364
4369
|
}
|
|
4365
4370
|
}
|
|
@@ -4386,7 +4391,7 @@ ${names.Model}.Unit.Card\uC758 \uB9AC\uC561\uD2B8 \uCEF4\uD3EC\uB10C\uD2B8\uB97C
|
|
|
4386
4391
|
if (!filePath)
|
|
4387
4392
|
throw new Error("filePath is undefined");
|
|
4388
4393
|
return `${key}
|
|
4389
|
-
\`\`\`${
|
|
4394
|
+
\`\`\`${import_fs13.default.readFileSync(filePath, "utf8")}\`\`\`\`
|
|
4390
4395
|
|
|
4391
4396
|
`;
|
|
4392
4397
|
}) : ""}
|
|
@@ -4401,11 +4406,11 @@ ${names.Model}.Unit.Card\uC758 \uB9AC\uC561\uD2B8 \uCEF4\uD3EC\uB10C\uD2B8\uB97C
|
|
|
4401
4406
|
${names.Model}.View.General \uB9AC\uC561\uD2B8 \uCEF4\uD3EC\uB10C\uD2B8\uB97C \uB514\uC790\uC778\uD574\uC11C \uC791\uC131\uD574\uC918.
|
|
4402
4407
|
`;
|
|
4403
4408
|
try {
|
|
4404
|
-
|
|
4409
|
+
import_fs13.default.writeFileSync("./local/prompt.txt", prompt);
|
|
4405
4410
|
const { content } = await streamAi(prompt, (chunk) => {
|
|
4406
4411
|
process.stdout.write(chunk);
|
|
4407
4412
|
});
|
|
4408
|
-
|
|
4413
|
+
import_fs13.default.writeFileSync("./local/result.txt", content);
|
|
4409
4414
|
} catch (error) {
|
|
4410
4415
|
}
|
|
4411
4416
|
}
|
|
@@ -4727,7 +4732,7 @@ WorkspaceCommand = __decorateClass([
|
|
|
4727
4732
|
], WorkspaceCommand);
|
|
4728
4733
|
|
|
4729
4734
|
// pkgs/@akanjs/cli/index.ts
|
|
4730
|
-
require("dotenv").config();
|
|
4735
|
+
require("dotenv").config({ path: `${process.cwd()}/.env` });
|
|
4731
4736
|
void runCommands(
|
|
4732
4737
|
WorkspaceCommand,
|
|
4733
4738
|
ApplicationCommand,
|