@akanjs/cli 0.0.65 → 0.0.67
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
CHANGED
|
@@ -897,10 +897,29 @@ var TypeScriptDependencyScanner = class {
|
|
|
897
897
|
if (ts2.isStringLiteral(moduleSpecifier))
|
|
898
898
|
imports.push(moduleSpecifier.text);
|
|
899
899
|
}
|
|
900
|
+
if (ts2.isCallExpression(node)) {
|
|
901
|
+
if (node.expression.kind === ts2.SyntaxKind.ImportKeyword) {
|
|
902
|
+
if (node.arguments.length > 0) {
|
|
903
|
+
const arg = node.arguments[0];
|
|
904
|
+
if (ts2.isStringLiteral(arg))
|
|
905
|
+
imports.push(arg.text);
|
|
906
|
+
}
|
|
907
|
+
}
|
|
908
|
+
if (ts2.isArrowFunction(node.expression) && node.expression.body) {
|
|
909
|
+
const body = node.expression.body;
|
|
910
|
+
if (ts2.isCallExpression(body) && body.expression.kind === ts2.SyntaxKind.ImportKeyword) {
|
|
911
|
+
if (body.arguments.length > 0) {
|
|
912
|
+
const arg = body.arguments[0];
|
|
913
|
+
if (ts2.isStringLiteral(arg))
|
|
914
|
+
imports.push(arg.text);
|
|
915
|
+
}
|
|
916
|
+
}
|
|
917
|
+
}
|
|
918
|
+
}
|
|
900
919
|
ts2.forEachChild(node, visit);
|
|
901
920
|
};
|
|
902
921
|
visit(sourceFile);
|
|
903
|
-
return imports;
|
|
922
|
+
return [...new Set(imports)];
|
|
904
923
|
}
|
|
905
924
|
generateDependencyGraph() {
|
|
906
925
|
let graph = "Dependency Graph:\n\n";
|
|
@@ -1856,6 +1875,7 @@ var Target = {
|
|
|
1856
1875
|
// pkgs/@akanjs/devkit/src/commandDecorators/command.ts
|
|
1857
1876
|
var import_prompts3 = require("@inquirer/prompts");
|
|
1858
1877
|
var import_commander = require("commander");
|
|
1878
|
+
var import_fs10 = __toESM(require("fs"), 1);
|
|
1859
1879
|
var camelToKebabCase = (str) => str.replace(/([A-Z])/g, "-$1").toLowerCase();
|
|
1860
1880
|
var handleOption = (programCommand, argMeta) => {
|
|
1861
1881
|
const {
|
|
@@ -1945,7 +1965,9 @@ var getArgumentValue = async (argMeta, value, workspace) => {
|
|
|
1945
1965
|
throw new Error(`Invalid system type: ${argMeta.type}`);
|
|
1946
1966
|
};
|
|
1947
1967
|
var runCommands = async (...commands) => {
|
|
1948
|
-
|
|
1968
|
+
const hasPackageJson = import_fs10.default.existsSync("package.json");
|
|
1969
|
+
const version = hasPackageJson ? JSON.parse(import_fs10.default.readFileSync("package.json", "utf8")).version : "0.0.1";
|
|
1970
|
+
import_commander.program.version(version).description("Akan CLI");
|
|
1949
1971
|
for (const command of commands) {
|
|
1950
1972
|
const targetMetas = getTargetMetas(command);
|
|
1951
1973
|
for (const targetMeta of targetMetas) {
|
|
@@ -2089,7 +2111,7 @@ var LibraryRunner = class {
|
|
|
2089
2111
|
})
|
|
2090
2112
|
);
|
|
2091
2113
|
Object.keys(allDependencies).sort().forEach((dep) => {
|
|
2092
|
-
if (!!
|
|
2114
|
+
if (!!libPackageJson.dependencies?.[dep] || !!rootPackageJson.dependencies?.[dep])
|
|
2093
2115
|
dependencies[dep] = allDependencies[dep];
|
|
2094
2116
|
else
|
|
2095
2117
|
devDependencies[dep] = allDependencies[dep];
|
|
@@ -2138,6 +2160,7 @@ var LibraryScript = class {
|
|
|
2138
2160
|
}
|
|
2139
2161
|
async pullLibrary(lib, branch) {
|
|
2140
2162
|
await this.#runner.pullLibrary(lib, branch);
|
|
2163
|
+
await this.#runner.mergeLibraryDependencies(lib);
|
|
2141
2164
|
}
|
|
2142
2165
|
};
|
|
2143
2166
|
|
|
@@ -2150,7 +2173,7 @@ var import_openai3 = require("@langchain/openai");
|
|
|
2150
2173
|
var import_plugin_react = __toESM(require("@vitejs/plugin-react"));
|
|
2151
2174
|
var import_dotenv = __toESM(require("dotenv"));
|
|
2152
2175
|
var esbuild = __toESM(require("esbuild"));
|
|
2153
|
-
var
|
|
2176
|
+
var import_fs11 = __toESM(require("fs"));
|
|
2154
2177
|
var import_promises2 = __toESM(require("fs/promises"));
|
|
2155
2178
|
var import_js_yaml2 = __toESM(require("js-yaml"));
|
|
2156
2179
|
var import_ora2 = __toESM(require("ora"));
|
|
@@ -3319,7 +3342,7 @@ var ApplicationRunner = class {
|
|
|
3319
3342
|
app.log(`CSR server is running on http://localhost:4201`);
|
|
3320
3343
|
}
|
|
3321
3344
|
async #prepareIos(app) {
|
|
3322
|
-
const isAdded =
|
|
3345
|
+
const isAdded = import_fs11.default.existsSync(`${app.cwdPath}/ios/App/Podfile`);
|
|
3323
3346
|
if (!isAdded) {
|
|
3324
3347
|
await app.spawn("npx", ["cap", "add", "ios"]);
|
|
3325
3348
|
await app.spawn("npx", ["@capacitor/assets", "generate"]);
|
|
@@ -3354,7 +3377,7 @@ var ApplicationRunner = class {
|
|
|
3354
3377
|
await capacitorApp.releaseIos();
|
|
3355
3378
|
}
|
|
3356
3379
|
async #prepareAndroid(app) {
|
|
3357
|
-
const isAdded =
|
|
3380
|
+
const isAdded = import_fs11.default.existsSync(`${app.cwdPath}/android/app/build.gradle`);
|
|
3358
3381
|
if (!isAdded) {
|
|
3359
3382
|
await app.spawn("npx", ["cap", "add", "android"]);
|
|
3360
3383
|
await app.spawn("npx", ["@capacitor/assets", "generate"]);
|
|
@@ -3437,14 +3460,14 @@ var ApplicationRunner = class {
|
|
|
3437
3460
|
const buildRoot = `${app.workspace.workspaceRoot}/releases/builds/${app.name}`;
|
|
3438
3461
|
const appVersionInfo = import_js_yaml2.default.load(app.readFile("config.yaml"));
|
|
3439
3462
|
const platformVersion = appVersionInfo.platforms.android.versionName;
|
|
3440
|
-
if (
|
|
3463
|
+
if (import_fs11.default.existsSync(buildRoot))
|
|
3441
3464
|
await import_promises2.default.rm(buildRoot, { recursive: true, force: true });
|
|
3442
3465
|
await import_promises2.default.mkdir(buildRoot, { recursive: true });
|
|
3443
|
-
if (rebuild || !
|
|
3466
|
+
if (rebuild || !import_fs11.default.existsSync(`${distApp.cwdPath}/backend`))
|
|
3444
3467
|
await this.buildBackend(app, distApp);
|
|
3445
|
-
if (rebuild || !
|
|
3468
|
+
if (rebuild || !import_fs11.default.existsSync(`${distApp.cwdPath}/frontend`))
|
|
3446
3469
|
await this.buildFrontend(app, distApp);
|
|
3447
|
-
if (rebuild || !
|
|
3470
|
+
if (rebuild || !import_fs11.default.existsSync(`${distApp.cwdPath}/csr`))
|
|
3448
3471
|
await this.buildCsr(app, distApp);
|
|
3449
3472
|
const buildVersion = `${platformVersion}-${buildNum}`;
|
|
3450
3473
|
const buildPath = `${buildRoot}/${buildVersion}`;
|
|
@@ -3459,7 +3482,7 @@ var ApplicationRunner = class {
|
|
|
3459
3482
|
buildRoot,
|
|
3460
3483
|
"./"
|
|
3461
3484
|
]);
|
|
3462
|
-
if (
|
|
3485
|
+
if (import_fs11.default.existsSync(`${distApp.cwdPath}/csr`)) {
|
|
3463
3486
|
await import_promises2.default.cp(`${distApp.cwdPath}/csr`, "./csr", { recursive: true });
|
|
3464
3487
|
await app.workspace.spawn("zip", [
|
|
3465
3488
|
"-r",
|
|
@@ -3469,7 +3492,7 @@ var ApplicationRunner = class {
|
|
|
3469
3492
|
await import_promises2.default.rm("./csr", { recursive: true, force: true });
|
|
3470
3493
|
}
|
|
3471
3494
|
const sourceRoot = `${app.workspace.workspaceRoot}/releases/sources/${app.name}`;
|
|
3472
|
-
if (
|
|
3495
|
+
if (import_fs11.default.existsSync(sourceRoot)) {
|
|
3473
3496
|
const MAX_RETRY = 3;
|
|
3474
3497
|
for (let i = 0; i < MAX_RETRY; i++) {
|
|
3475
3498
|
try {
|
|
@@ -3489,7 +3512,7 @@ var ApplicationRunner = class {
|
|
|
3489
3512
|
await Promise.all(
|
|
3490
3513
|
[".next", "ios", "android", "public/libs"].map(async (path7) => {
|
|
3491
3514
|
const targetPath = `${sourceRoot}/apps/${app.name}/${path7}`;
|
|
3492
|
-
if (
|
|
3515
|
+
if (import_fs11.default.existsSync(targetPath))
|
|
3493
3516
|
await import_promises2.default.rm(targetPath, { recursive: true, force: true });
|
|
3494
3517
|
})
|
|
3495
3518
|
);
|
|
@@ -3517,8 +3540,8 @@ var ApplicationRunner = class {
|
|
|
3517
3540
|
[]
|
|
3518
3541
|
)
|
|
3519
3542
|
]);
|
|
3520
|
-
|
|
3521
|
-
|
|
3543
|
+
import_fs11.default.writeFileSync(`${sourceRoot}/tsconfig.json`, JSON.stringify(tsconfig, null, 2));
|
|
3544
|
+
import_fs11.default.writeFileSync(
|
|
3522
3545
|
`${sourceRoot}/README.md`,
|
|
3523
3546
|
`# ${app.name}
|
|
3524
3547
|
\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 +3934,7 @@ ApplicationCommand = __decorateClass([
|
|
|
3911
3934
|
// pkgs/@akanjs/cli/src/package/package.runner.ts
|
|
3912
3935
|
var esbuild2 = __toESM(require("esbuild"));
|
|
3913
3936
|
var import_esbuild_plugin_d = require("esbuild-plugin-d.ts");
|
|
3937
|
+
var import_fs12 = __toESM(require("fs"));
|
|
3914
3938
|
var import_promises3 = __toESM(require("fs/promises"));
|
|
3915
3939
|
var PackageRunner = class {
|
|
3916
3940
|
async version(workspace) {
|
|
@@ -3932,8 +3956,8 @@ var PackageRunner = class {
|
|
|
3932
3956
|
async buildPackage(pkg, distPkg) {
|
|
3933
3957
|
const rootPackageJson = pkg.workspace.readJson("package.json");
|
|
3934
3958
|
const pkgJson = pkg.readJson("package.json");
|
|
3935
|
-
|
|
3936
|
-
|
|
3959
|
+
if (import_fs12.default.existsSync(distPkg.cwdPath))
|
|
3960
|
+
await pkg.workspace.exec(`rm -rf ${distPkg.cwdPath}`);
|
|
3937
3961
|
let buildResult;
|
|
3938
3962
|
if (pkg.name === "@akanjs/config") {
|
|
3939
3963
|
buildResult = await esbuild2.build({
|
|
@@ -4007,12 +4031,22 @@ var PackageRunner = class {
|
|
|
4007
4031
|
plugins: []
|
|
4008
4032
|
});
|
|
4009
4033
|
}
|
|
4034
|
+
const allDependencies = {
|
|
4035
|
+
...rootPackageJson.dependencies,
|
|
4036
|
+
...rootPackageJson.devDependencies,
|
|
4037
|
+
...rootPackageJson.peerDependencies
|
|
4038
|
+
};
|
|
4010
4039
|
const dependencies = buildResult.outputFiles ? extractDependencies(buildResult.outputFiles, rootPackageJson) : {};
|
|
4011
4040
|
const pkgPackageJson = {
|
|
4012
4041
|
...pkgJson,
|
|
4013
4042
|
main: "./index.js",
|
|
4014
4043
|
engines: { node: ">=22" },
|
|
4015
4044
|
dependencies,
|
|
4045
|
+
...pkgJson.peerDependencies ? {
|
|
4046
|
+
peerDependencies: Object.fromEntries(
|
|
4047
|
+
Object.keys(pkgJson.peerDependencies).sort().map((dep) => [dep, allDependencies[dep] ?? pkgJson.peerDependencies?.[dep] ?? "0.0.0"])
|
|
4048
|
+
)
|
|
4049
|
+
} : {},
|
|
4016
4050
|
...["@akanjs/config", "@akanjs/cli"].includes(pkg.name) ? {} : {
|
|
4017
4051
|
exports: {
|
|
4018
4052
|
".": {
|
|
@@ -4026,6 +4060,7 @@ var PackageRunner = class {
|
|
|
4026
4060
|
if (buildResult.outputFiles)
|
|
4027
4061
|
buildResult.outputFiles.map((file) => distPkg.writeFile(file.path, file.text));
|
|
4028
4062
|
distPkg.writeJson("package.json", pkgPackageJson);
|
|
4063
|
+
pkg.writeJson("package.json", pkgPackageJson);
|
|
4029
4064
|
}
|
|
4030
4065
|
};
|
|
4031
4066
|
|
|
@@ -4279,14 +4314,14 @@ var import_output_parsers2 = require("@langchain/core/output_parsers");
|
|
|
4279
4314
|
var import_prompts8 = require("@langchain/core/prompts");
|
|
4280
4315
|
var import_runnables3 = require("@langchain/core/runnables");
|
|
4281
4316
|
var import_openai4 = require("@langchain/openai");
|
|
4282
|
-
var
|
|
4317
|
+
var import_fs13 = __toESM(require("fs"));
|
|
4283
4318
|
var ModuleRunner = class {
|
|
4284
4319
|
async createModule(workspace, moduleName) {
|
|
4285
4320
|
const openAIApiKey = process.env.OPENAI_API_KEY;
|
|
4286
4321
|
if (!openAIApiKey)
|
|
4287
4322
|
throw new Error("OPENAI_API_KEY is not set");
|
|
4288
4323
|
const chatModel = new import_openai4.ChatOpenAI({ modelName: "gpt-4o", openAIApiKey });
|
|
4289
|
-
const projectConfig = JSON.parse(
|
|
4324
|
+
const projectConfig = JSON.parse(import_fs13.default.readFileSync(`rootPath/projectConfig.json`, "utf-8"));
|
|
4290
4325
|
const mainPrompt = import_prompts8.PromptTemplate.fromTemplate(requestModule());
|
|
4291
4326
|
const chain = import_runnables3.RunnableSequence.from([mainPrompt, chatModel, new import_output_parsers2.StringOutputParser()]);
|
|
4292
4327
|
const resultOne = await chain.invoke({
|
|
@@ -4340,7 +4375,7 @@ ${paths ? new Array(paths.size).fill(0).map((_, index) => {
|
|
|
4340
4375
|
if (!filePath)
|
|
4341
4376
|
throw new Error("filePath is undefined");
|
|
4342
4377
|
return `${key}
|
|
4343
|
-
\`\`\`${
|
|
4378
|
+
\`\`\`${import_fs13.default.readFileSync(filePath, "utf8")}\`\`\`\`
|
|
4344
4379
|
|
|
4345
4380
|
`;
|
|
4346
4381
|
}) : ""}
|
|
@@ -4355,11 +4390,11 @@ css\uB77C\uC774\uBE0C\uB7EC\uB9AC\uB294 DaisyUI\uB97C \uAE30\uBC18\uC73C\uB85C \
|
|
|
4355
4390
|
${names.Model}.Unit.Card\uC758 \uB9AC\uC561\uD2B8 \uCEF4\uD3EC\uB10C\uD2B8\uB97C \uB514\uC790\uC778\uD574\uC11C \uC791\uC131\uD574\uC918.
|
|
4356
4391
|
`;
|
|
4357
4392
|
try {
|
|
4358
|
-
|
|
4393
|
+
import_fs13.default.writeFileSync("./local/prompt.txt", prompt);
|
|
4359
4394
|
const { content } = await streamAi(prompt, (chunk) => {
|
|
4360
4395
|
process.stdout.write(chunk);
|
|
4361
4396
|
});
|
|
4362
|
-
|
|
4397
|
+
import_fs13.default.writeFileSync("./local/result.txt", content);
|
|
4363
4398
|
} catch (error) {
|
|
4364
4399
|
}
|
|
4365
4400
|
}
|
|
@@ -4386,7 +4421,7 @@ ${names.Model}.Unit.Card\uC758 \uB9AC\uC561\uD2B8 \uCEF4\uD3EC\uB10C\uD2B8\uB97C
|
|
|
4386
4421
|
if (!filePath)
|
|
4387
4422
|
throw new Error("filePath is undefined");
|
|
4388
4423
|
return `${key}
|
|
4389
|
-
\`\`\`${
|
|
4424
|
+
\`\`\`${import_fs13.default.readFileSync(filePath, "utf8")}\`\`\`\`
|
|
4390
4425
|
|
|
4391
4426
|
`;
|
|
4392
4427
|
}) : ""}
|
|
@@ -4401,11 +4436,11 @@ ${names.Model}.Unit.Card\uC758 \uB9AC\uC561\uD2B8 \uCEF4\uD3EC\uB10C\uD2B8\uB97C
|
|
|
4401
4436
|
${names.Model}.View.General \uB9AC\uC561\uD2B8 \uCEF4\uD3EC\uB10C\uD2B8\uB97C \uB514\uC790\uC778\uD574\uC11C \uC791\uC131\uD574\uC918.
|
|
4402
4437
|
`;
|
|
4403
4438
|
try {
|
|
4404
|
-
|
|
4439
|
+
import_fs13.default.writeFileSync("./local/prompt.txt", prompt);
|
|
4405
4440
|
const { content } = await streamAi(prompt, (chunk) => {
|
|
4406
4441
|
process.stdout.write(chunk);
|
|
4407
4442
|
});
|
|
4408
|
-
|
|
4443
|
+
import_fs13.default.writeFileSync("./local/result.txt", content);
|
|
4409
4444
|
} catch (error) {
|
|
4410
4445
|
}
|
|
4411
4446
|
}
|
|
@@ -4727,7 +4762,7 @@ WorkspaceCommand = __decorateClass([
|
|
|
4727
4762
|
], WorkspaceCommand);
|
|
4728
4763
|
|
|
4729
4764
|
// pkgs/@akanjs/cli/index.ts
|
|
4730
|
-
require("dotenv").config();
|
|
4765
|
+
require("dotenv").config({ path: `${process.cwd()}/.env` });
|
|
4731
4766
|
void runCommands(
|
|
4732
4767
|
WorkspaceCommand,
|
|
4733
4768
|
ApplicationCommand,
|
package/package.json
CHANGED