@akanjs/cli 3.0.0-alpha.7 → 3.0.0-alpha.9
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/.build-stamp +1 -1
- package/{agent.command-pggr92jj.js → agent.command-f0gqkfgz.js} +7 -6
- package/{application.command-692yap1d.js → application.command-x903m2qq.js} +5 -4
- package/buildBatch.proc.js +2 -1
- package/{capacitorApp-p0z5yab2.js → capacitorApp-9xswcgx7.js} +3 -2
- package/{cloud.command-wqfsyzv2.js → cloud.command-zs6kyf83.js} +8 -7
- package/{context.command-9bxtdn0w.js → context.command-fmepgjzg.js} +14 -13
- package/getDirname-m9s0cmhq.js +8 -0
- package/{guideline.command-nfqahxex.js → guideline.command-n6sw0a0c.js} +5 -4
- package/guidelines/conventions/conventions.generate.json +25 -0
- package/guidelines/conventions/conventions.instruction.md +668 -0
- package/guidelines/workspaceOnboarding/workspaceOnboarding.generate.json +24 -0
- package/guidelines/workspaceOnboarding/workspaceOnboarding.instruction.md +972 -0
- package/incrementalBuilder.proc.js +2 -1
- package/index-1577bej2.js +7 -0
- package/{index-bz2sfzzt.js → index-3vta1tqa.js} +4 -4
- package/{index-p3f4q532.js → index-4m0bphac.js} +3 -3
- package/{index-w6wbb612.js → index-5sn5w2mt.js} +13 -13
- package/{index-5dw57f0d.js → index-62955kn5.js} +6 -6
- package/{index-mssqn2sq.js → index-774gcx29.js} +43 -4
- package/{index-xhgtkekh.js → index-779ske1y.js} +1 -1
- package/{index-js368gk9.js → index-82jrh4hj.js} +5 -5
- package/{index-a1e0j63x.js → index-d43t8af2.js} +2 -2
- package/{index-gex7c8kd.js → index-eyyf2149.js} +34 -6
- package/{index-azv0xjb5.js → index-gcv8ncfh.js} +2 -2
- package/{index-7myvn0f0.js → index-j37qq1f2.js} +1 -1
- package/{index-ztpw544k.js → index-jf2ya7r2.js} +3 -3
- package/{index-vtj3zps1.js → index-jhpa13zj.js} +7 -7
- package/{index-6rhabeev.js → index-kdh76j26.js} +4 -2
- package/{index-5pmx7bkg.js → index-qzdjd4ct.js} +3 -3
- package/{index-2c3e2xh8.js → index-rxkpk7n4.js} +1 -1
- package/{index-4hek879p.js → index-xmmzf150.js} +1 -1
- package/{index-gmy45vz2.js → index-y4vkyhvv.js} +3 -3
- package/{index-vg0sj9nc.js → index-z8ptfkzv.js} +56 -18
- package/index.js +19 -18
- package/{library.command-md9715jz.js → library.command-cv9gdbmg.js} +4 -3
- package/{localRegistry.command-exkbamyj.js → localRegistry.command-d8fg36zc.js} +7 -6
- package/{module.command-w5aaddxk.js → module.command-qyr1s9cn.js} +7 -6
- package/{package.command-yfkrcy0z.js → package.command-wsjx0k47.js} +4 -3
- package/package.json +2 -2
- package/{page.command-echbavp4.js → page.command-rdzg65rm.js} +4 -3
- package/{primitive.command-9fbhspw2.js → primitive.command-89g38b53.js} +8 -7
- package/{quality.command-3pnt9yep.js → quality.command-0cs2z92d.js} +3 -2
- package/{repair.command-carj4vax.js → repair.command-6fphxfwj.js} +6 -5
- package/{scalar.command-51ryzypc.js → scalar.command-xfer69s6.js} +6 -5
- package/templates/app/page/styles.css.template +3 -3
- package/templates/crudPages/[__model__Id]/edit/page.tsx +1 -1
- package/templates/crudPages/new/page.tsx +1 -1
- package/templates/crudSinglePage/page.tsx +1 -1
- package/templates/module/__Model__.Util.tsx +1 -1
- package/templates/module/__Model__.Zone.tsx +3 -5
- package/templates/workspaceRoot/AGENTS.md.template +0 -972
- package/templates/workspaceRoot/biome.json.template +3 -244
- package/{workflow.command-91wmvm8k.js → workflow.command-2ygfqt4f.js} +13 -12
- package/{workspace.command-wa10mfd9.js → workspace.command-88m0zs64.js} +35 -33
- package/templates/workspaceRoot/.cursor/rules/akan-page-routing.mdc.template +0 -43
- package/templates/workspaceRoot/.cursor/rules/akan-sync-conventions.mdc.template +0 -34
- package/templates/workspaceRoot/.cursor/rules/application-test-commands.mdc.template +0 -16
- package/templates/workspaceRoot/.cursor/rules/change-scope.mdc.template +0 -12
- package/templates/workspaceRoot/.cursor/rules/client-server-boundaries.mdc.template +0 -18
- package/templates/workspaceRoot/.cursor/rules/coding-comments.mdc.template +0 -25
- package/templates/workspaceRoot/.cursor/rules/coding-style.mdc.template +0 -44
- package/templates/workspaceRoot/.cursor/rules/domain-module-conventions.mdc.template +0 -17
- package/templates/workspaceRoot/.cursor/rules/format-lint.mdc.template +0 -12
- package/templates/workspaceRoot/.cursor/rules/lint-enforced-rules.mdc.template +0 -19
- package/templates/workspaceRoot/.cursor/rules/module-file-playbook.mdc.template +0 -62
- package/templates/workspaceRoot/.cursor/rules/naming-conventions.mdc.template +0 -15
- package/templates/workspaceRoot/.cursor/rules/react-component-style.mdc.template +0 -21
- package/templates/workspaceRoot/.cursor/rules/repo-overview.mdc.template +0 -17
- package/templates/workspaceRoot/.cursor/rules/scalar-modeling.mdc.template +0 -99
- package/templates/workspaceRoot/.cursor/rules/secrets-and-env.mdc.template +0 -13
- package/templates/workspaceRoot/.cursor/rules/service-signal-conventions.mdc.template +0 -83
- package/templates/workspaceRoot/.cursor/rules/srvkit-adapters-and-guards.mdc.template +0 -50
- package/templates/workspaceRoot/.cursor/rules/ssr-first.mdc.template +0 -59
- package/templates/workspaceRoot/.cursor/rules/typescript-imports.mdc.template +0 -16
|
@@ -2,6 +2,9 @@
|
|
|
2
2
|
import {
|
|
3
3
|
Spinner
|
|
4
4
|
} from "./index-mxvakhsm.js";
|
|
5
|
+
import {
|
|
6
|
+
getDirname
|
|
7
|
+
} from "./index-1577bej2.js";
|
|
5
8
|
import {
|
|
6
9
|
FileSys
|
|
7
10
|
} from "./index-67546d0j.js";
|
|
@@ -44,6 +47,21 @@ var recipeScannerLoad = null;
|
|
|
44
47
|
var loadRecipeScanner = () => recipeScannerLoad ??= import("./recipeScanner-tghkzrrt.js");
|
|
45
48
|
var AGENT_BLOCK_START = "<!-- akan:agent:start -->";
|
|
46
49
|
var AGENT_BLOCK_END = "<!-- akan:agent:end -->";
|
|
50
|
+
var AGENT_VERSION_PREFIX = "<!-- akan:agent:version ";
|
|
51
|
+
var stampBlockVersion = (block, version) => `${AGENT_VERSION_PREFIX}${version} -->
|
|
52
|
+
|
|
53
|
+
${block}`;
|
|
54
|
+
var extractBlockVersion = (content) => content.match(/<!-- akan:agent:version ([^\s]+) -->/)?.[1] ?? null;
|
|
55
|
+
var readDevkitVersion = async () => {
|
|
56
|
+
const { readFile } = await import("fs/promises");
|
|
57
|
+
const { getDirname: getDirname2 } = await import("./getDirname-m9s0cmhq.js");
|
|
58
|
+
try {
|
|
59
|
+
const raw = await readFile(`${getDirname2(import.meta.url)}/package.json`, "utf-8");
|
|
60
|
+
return JSON.parse(raw).version ?? null;
|
|
61
|
+
} catch {
|
|
62
|
+
return null;
|
|
63
|
+
}
|
|
64
|
+
};
|
|
47
65
|
var upsertAgentBlock = (existing, block) => {
|
|
48
66
|
const managed = `${AGENT_BLOCK_START}
|
|
49
67
|
${block}
|
|
@@ -627,15 +645,10 @@ var decreaseBuildNum = async (app) => {
|
|
|
627
645
|
const akanConfigContent = akanConfig.replace(`buildNum: ${appConfig.mobile.buildNum}`, `buildNum: ${appConfig.mobile.buildNum - 1}`);
|
|
628
646
|
fs.writeFileSync(akanConfigPath, akanConfigContent);
|
|
629
647
|
};
|
|
630
|
-
// pkgs/@akanjs/devkit/getDirname.ts
|
|
631
|
-
import path2 from "path";
|
|
632
|
-
import { fileURLToPath as fileURLToPath2 } from "url";
|
|
633
|
-
var getDirname = (url) => path2.dirname(fileURLToPath2(url));
|
|
634
|
-
|
|
635
648
|
// pkgs/@akanjs/devkit/linter.ts
|
|
636
649
|
import { spawn } from "child_process";
|
|
637
650
|
import { existsSync, readFileSync } from "fs";
|
|
638
|
-
import
|
|
651
|
+
import path2 from "path";
|
|
639
652
|
import chalk from "chalk";
|
|
640
653
|
|
|
641
654
|
class Linter {
|
|
@@ -643,26 +656,26 @@ class Linter {
|
|
|
643
656
|
#biomeBin;
|
|
644
657
|
constructor(cwdPath) {
|
|
645
658
|
this.lintRoot = this.#findBiomeRootPath(cwdPath);
|
|
646
|
-
const localBiomeBin =
|
|
659
|
+
const localBiomeBin = path2.join(this.lintRoot, "node_modules/.bin/biome");
|
|
647
660
|
this.#biomeBin = existsSync(localBiomeBin) ? localBiomeBin : "biome";
|
|
648
661
|
}
|
|
649
662
|
#findBiomeRootPath(dir) {
|
|
650
|
-
const configPath =
|
|
663
|
+
const configPath = path2.join(dir, "biome.json");
|
|
651
664
|
if (existsSync(configPath))
|
|
652
665
|
return dir;
|
|
653
|
-
const parentDir =
|
|
666
|
+
const parentDir = path2.dirname(dir);
|
|
654
667
|
if (parentDir === dir)
|
|
655
668
|
throw new Error(`biome.json not found from ${dir}`);
|
|
656
669
|
return this.#findBiomeRootPath(parentDir);
|
|
657
670
|
}
|
|
658
671
|
#toBiomePath(filePath) {
|
|
659
|
-
const relativePath =
|
|
660
|
-
if (!relativePath.startsWith("..") && !
|
|
672
|
+
const relativePath = path2.relative(this.lintRoot, filePath);
|
|
673
|
+
if (!relativePath.startsWith("..") && !path2.isAbsolute(relativePath))
|
|
661
674
|
return relativePath;
|
|
662
675
|
return filePath;
|
|
663
676
|
}
|
|
664
677
|
#resolveFilePath(filePath) {
|
|
665
|
-
return
|
|
678
|
+
return path2.isAbsolute(filePath) ? filePath : path2.join(this.lintRoot, filePath);
|
|
666
679
|
}
|
|
667
680
|
async#runBiome(args, input) {
|
|
668
681
|
return await new Promise((resolve, reject) => {
|
|
@@ -694,7 +707,7 @@ class Linter {
|
|
|
694
707
|
const diagnosticPath = diagnostic.location?.path;
|
|
695
708
|
if (!diagnosticPath)
|
|
696
709
|
return fallbackFilePath;
|
|
697
|
-
return
|
|
710
|
+
return path2.isAbsolute(diagnosticPath) ? diagnosticPath : path2.join(this.lintRoot, diagnosticPath);
|
|
698
711
|
}
|
|
699
712
|
#createLintMessage(diagnostic) {
|
|
700
713
|
const start = diagnostic.location?.start;
|
|
@@ -759,7 +772,7 @@ class Linter {
|
|
|
759
772
|
"--max-diagnostics=none",
|
|
760
773
|
"--no-errors-on-unmatched",
|
|
761
774
|
"--config-path",
|
|
762
|
-
|
|
775
|
+
path2.join(this.lintRoot, "biome.json"),
|
|
763
776
|
this.#toBiomePath(filePath)
|
|
764
777
|
]);
|
|
765
778
|
const report = this.#parseBiomeReport(stdout || stderr);
|
|
@@ -884,7 +897,7 @@ ${errorText}, ${warningText} found`];
|
|
|
884
897
|
"check",
|
|
885
898
|
"--write",
|
|
886
899
|
"--config-path",
|
|
887
|
-
|
|
900
|
+
path2.join(this.lintRoot, "biome.json"),
|
|
888
901
|
"--stdin-file-path",
|
|
889
902
|
this.#toBiomePath(resolvedFilePath)
|
|
890
903
|
], source);
|
|
@@ -895,7 +908,7 @@ ${errorText}, ${warningText} found`];
|
|
|
895
908
|
const resolvedFilePath = this.#resolveFilePath(filePath);
|
|
896
909
|
if (!existsSync(resolvedFilePath))
|
|
897
910
|
throw new Error(`File not found: ${filePath}`);
|
|
898
|
-
return JSON.parse(readFileSync(
|
|
911
|
+
return JSON.parse(readFileSync(path2.join(this.lintRoot, "biome.json"), "utf8"));
|
|
899
912
|
}
|
|
900
913
|
async getProblematicRules(filePath) {
|
|
901
914
|
const { results } = await this.lintFile(filePath);
|
|
@@ -910,6 +923,31 @@ ${errorText}, ${warningText} found`];
|
|
|
910
923
|
}
|
|
911
924
|
}
|
|
912
925
|
|
|
926
|
+
// pkgs/@akanjs/devkit/repoIdentity.ts
|
|
927
|
+
import { execFileSync } from "child_process";
|
|
928
|
+
import path3 from "path";
|
|
929
|
+
var resolved = new Map;
|
|
930
|
+
var readRemoteName = (workspaceRoot) => {
|
|
931
|
+
try {
|
|
932
|
+
const url = execFileSync("git", ["config", "--get", "remote.origin.url"], {
|
|
933
|
+
cwd: workspaceRoot,
|
|
934
|
+
encoding: "utf-8",
|
|
935
|
+
stdio: ["ignore", "pipe", "ignore"]
|
|
936
|
+
}).trim();
|
|
937
|
+
return url.replace(/\.git$/, "").split(/[/:]/).pop() || null;
|
|
938
|
+
} catch {
|
|
939
|
+
return null;
|
|
940
|
+
}
|
|
941
|
+
};
|
|
942
|
+
var resolveRepoName = (workspaceRoot) => {
|
|
943
|
+
const cached = resolved.get(workspaceRoot);
|
|
944
|
+
if (cached)
|
|
945
|
+
return cached;
|
|
946
|
+
const repoName = readRemoteName(workspaceRoot) ?? path3.basename(workspaceRoot);
|
|
947
|
+
resolved.set(workspaceRoot, repoName);
|
|
948
|
+
return repoName;
|
|
949
|
+
};
|
|
950
|
+
|
|
913
951
|
// pkgs/@akanjs/devkit/scanInfo.ts
|
|
914
952
|
import { rm } from "fs/promises";
|
|
915
953
|
import path4 from "path";
|
|
@@ -2109,7 +2147,7 @@ class WorkspaceExecutor extends Executor {
|
|
|
2109
2147
|
static #execs = new Map;
|
|
2110
2148
|
static fromRoot({
|
|
2111
2149
|
workspaceRoot = process.cwd(),
|
|
2112
|
-
repoName =
|
|
2150
|
+
repoName = resolveRepoName(workspaceRoot)
|
|
2113
2151
|
} = {}) {
|
|
2114
2152
|
return WorkspaceExecutor.#execs.get(repoName) ?? new WorkspaceExecutor({ workspaceRoot, repoName });
|
|
2115
2153
|
}
|
|
@@ -3009,4 +3047,4 @@ class ModuleExecutor extends Executor {
|
|
|
3009
3047
|
}
|
|
3010
3048
|
}
|
|
3011
3049
|
|
|
3012
|
-
export { AGENT_BLOCK_START, AGENT_BLOCK_END, upsertAgentBlock, extractAgentBlock, renderRecipeEntries, collectScopeRecipeSources, renderScopeAgentBlock,
|
|
3050
|
+
export { AGENT_BLOCK_START, AGENT_BLOCK_END, stampBlockVersion, extractBlockVersion, readDevkitVersion, upsertAgentBlock, extractAgentBlock, renderRecipeEntries, collectScopeRecipeSources, renderScopeAgentBlock, appRootAllowedFiles, appRootAllowedDirs, libFacetRootAllowedFiles, isScannedAppRootEntry, CommandExecutionError, Executor, WorkspaceExecutor, SysExecutor, AppExecutor, LibExecutor, PkgExecutor, ModuleExecutor };
|
package/index.js
CHANGED
|
@@ -4,9 +4,10 @@ import {
|
|
|
4
4
|
getTargetCommandNames,
|
|
5
5
|
getTargetMetas,
|
|
6
6
|
runCommands
|
|
7
|
-
} from "./index-
|
|
8
|
-
import"./index-
|
|
7
|
+
} from "./index-kdh76j26.js";
|
|
8
|
+
import"./index-z8ptfkzv.js";
|
|
9
9
|
import"./index-mxvakhsm.js";
|
|
10
|
+
import"./index-1577bej2.js";
|
|
10
11
|
import"./index-67546d0j.js";
|
|
11
12
|
import {
|
|
12
13
|
__require
|
|
@@ -17,22 +18,22 @@ import path from "path";
|
|
|
17
18
|
|
|
18
19
|
// pkgs/@akanjs/cli/commandModules.ts
|
|
19
20
|
var commandModules = {
|
|
20
|
-
workspace: async () => (await import("./workspace.command-
|
|
21
|
-
agent: async () => (await import("./agent.command-
|
|
22
|
-
application: async () => (await import("./application.command-
|
|
23
|
-
library: async () => (await import("./library.command-
|
|
24
|
-
localRegistry: async () => (await import("./localRegistry.command-
|
|
25
|
-
package: async () => (await import("./package.command-
|
|
26
|
-
module: async () => (await import("./module.command-
|
|
27
|
-
page: async () => (await import("./page.command-
|
|
28
|
-
context: async () => (await import("./context.command-
|
|
29
|
-
cloud: async () => (await import("./cloud.command-
|
|
30
|
-
guideline: async () => (await import("./guideline.command-
|
|
31
|
-
scalar: async () => (await import("./scalar.command-
|
|
32
|
-
primitive: async () => (await import("./primitive.command-
|
|
33
|
-
quality: async () => (await import("./quality.command-
|
|
34
|
-
repair: async () => (await import("./repair.command-
|
|
35
|
-
workflow: async () => (await import("./workflow.command-
|
|
21
|
+
workspace: async () => (await import("./workspace.command-88m0zs64.js")).WorkspaceCommand,
|
|
22
|
+
agent: async () => (await import("./agent.command-f0gqkfgz.js")).AgentCommand,
|
|
23
|
+
application: async () => (await import("./application.command-x903m2qq.js")).ApplicationCommand,
|
|
24
|
+
library: async () => (await import("./library.command-cv9gdbmg.js")).LibraryCommand,
|
|
25
|
+
localRegistry: async () => (await import("./localRegistry.command-d8fg36zc.js")).LocalRegistryCommand,
|
|
26
|
+
package: async () => (await import("./package.command-wsjx0k47.js")).PackageCommand,
|
|
27
|
+
module: async () => (await import("./module.command-qyr1s9cn.js")).ModuleCommand,
|
|
28
|
+
page: async () => (await import("./page.command-rdzg65rm.js")).PageCommand,
|
|
29
|
+
context: async () => (await import("./context.command-fmepgjzg.js")).ContextCommand,
|
|
30
|
+
cloud: async () => (await import("./cloud.command-zs6kyf83.js")).CloudCommand,
|
|
31
|
+
guideline: async () => (await import("./guideline.command-n6sw0a0c.js")).GuidelineCommand,
|
|
32
|
+
scalar: async () => (await import("./scalar.command-xfer69s6.js")).ScalarCommand,
|
|
33
|
+
primitive: async () => (await import("./primitive.command-89g38b53.js")).PrimitiveCommand,
|
|
34
|
+
quality: async () => (await import("./quality.command-0cs2z92d.js")).QualityCommand,
|
|
35
|
+
repair: async () => (await import("./repair.command-6fphxfwj.js")).RepairCommand,
|
|
36
|
+
workflow: async () => (await import("./workflow.command-2ygfqt4f.js")).WorkflowCommand
|
|
36
37
|
};
|
|
37
38
|
var commandModuleIds = Object.keys(commandModules);
|
|
38
39
|
|
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
// @bun
|
|
2
2
|
import {
|
|
3
3
|
LibraryScript
|
|
4
|
-
} from "./index-
|
|
4
|
+
} from "./index-d43t8af2.js";
|
|
5
5
|
import {
|
|
6
6
|
Lib,
|
|
7
7
|
Workspace,
|
|
8
8
|
command
|
|
9
|
-
} from "./index-
|
|
10
|
-
import"./index-
|
|
9
|
+
} from "./index-kdh76j26.js";
|
|
10
|
+
import"./index-z8ptfkzv.js";
|
|
11
11
|
import"./index-mxvakhsm.js";
|
|
12
|
+
import"./index-1577bej2.js";
|
|
12
13
|
import"./index-67546d0j.js";
|
|
13
14
|
import"./index-r24hmh0q.js";
|
|
14
15
|
|
|
@@ -2,28 +2,29 @@
|
|
|
2
2
|
import {
|
|
3
3
|
CloudRunner,
|
|
4
4
|
getNpmRegistryUrl
|
|
5
|
-
} from "./index-
|
|
5
|
+
} from "./index-4m0bphac.js";
|
|
6
6
|
import {
|
|
7
7
|
PackageScript
|
|
8
|
-
} from "./index-
|
|
8
|
+
} from "./index-gcv8ncfh.js";
|
|
9
9
|
import"./index-0cj2zxbm.js";
|
|
10
10
|
import {
|
|
11
11
|
ApplicationScript
|
|
12
|
-
} from "./index-
|
|
12
|
+
} from "./index-62955kn5.js";
|
|
13
|
+
import"./index-d43t8af2.js";
|
|
13
14
|
import"./index-76rn3g2c.js";
|
|
14
|
-
import"./index-a1e0j63x.js";
|
|
15
15
|
import {
|
|
16
16
|
Workspace,
|
|
17
17
|
command,
|
|
18
18
|
runner,
|
|
19
19
|
script
|
|
20
|
-
} from "./index-
|
|
20
|
+
} from "./index-kdh76j26.js";
|
|
21
21
|
import"./index-fgc8r6dj.js";
|
|
22
22
|
import"./index-bjpxzr6s.js";
|
|
23
23
|
import {
|
|
24
24
|
PkgExecutor
|
|
25
|
-
} from "./index-
|
|
25
|
+
} from "./index-z8ptfkzv.js";
|
|
26
26
|
import"./index-mxvakhsm.js";
|
|
27
|
+
import"./index-1577bej2.js";
|
|
27
28
|
import"./index-46tjzh6s.js";
|
|
28
29
|
import"./index-67546d0j.js";
|
|
29
30
|
import"./index-r24hmh0q.js";
|
|
@@ -1,21 +1,22 @@
|
|
|
1
1
|
// @bun
|
|
2
2
|
import {
|
|
3
3
|
ModuleScript
|
|
4
|
-
} from "./index-
|
|
5
|
-
import"./index-4hek879p.js";
|
|
4
|
+
} from "./index-jhpa13zj.js";
|
|
6
5
|
import"./index-ss469dec.js";
|
|
6
|
+
import"./index-xmmzf150.js";
|
|
7
7
|
import"./index-0cj2zxbm.js";
|
|
8
8
|
import {
|
|
9
9
|
renderPrimitiveReport
|
|
10
|
-
} from "./index-
|
|
11
|
-
import"./index-
|
|
10
|
+
} from "./index-rxkpk7n4.js";
|
|
11
|
+
import"./index-j37qq1f2.js";
|
|
12
12
|
import {
|
|
13
13
|
Module,
|
|
14
14
|
Sys,
|
|
15
15
|
command
|
|
16
|
-
} from "./index-
|
|
17
|
-
import"./index-
|
|
16
|
+
} from "./index-kdh76j26.js";
|
|
17
|
+
import"./index-z8ptfkzv.js";
|
|
18
18
|
import"./index-mxvakhsm.js";
|
|
19
|
+
import"./index-1577bej2.js";
|
|
19
20
|
import"./index-67546d0j.js";
|
|
20
21
|
import"./index-r24hmh0q.js";
|
|
21
22
|
|
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
// @bun
|
|
2
2
|
import {
|
|
3
3
|
PackageScript
|
|
4
|
-
} from "./index-
|
|
4
|
+
} from "./index-gcv8ncfh.js";
|
|
5
5
|
import {
|
|
6
6
|
Pkg,
|
|
7
7
|
Workspace,
|
|
8
8
|
command
|
|
9
|
-
} from "./index-
|
|
10
|
-
import"./index-
|
|
9
|
+
} from "./index-kdh76j26.js";
|
|
10
|
+
import"./index-z8ptfkzv.js";
|
|
11
11
|
import"./index-mxvakhsm.js";
|
|
12
|
+
import"./index-1577bej2.js";
|
|
12
13
|
import"./index-46tjzh6s.js";
|
|
13
14
|
import"./index-67546d0j.js";
|
|
14
15
|
import"./index-r24hmh0q.js";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@akanjs/cli",
|
|
3
|
-
"version": "3.0.0-alpha.
|
|
3
|
+
"version": "3.0.0-alpha.9",
|
|
4
4
|
"sourceType": "module",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"publishConfig": {
|
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
"@langchain/openai": "^1.4.6",
|
|
35
35
|
"@tailwindcss/node": "^4.3.0",
|
|
36
36
|
"@trapezedev/project": "^7.1.4",
|
|
37
|
-
"akanjs": "3.0.0-alpha.
|
|
37
|
+
"akanjs": "3.0.0-alpha.9",
|
|
38
38
|
"chalk": "^5.6.2",
|
|
39
39
|
"commander": "^14.0.3",
|
|
40
40
|
"dayjs": "^1.11.20",
|
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
// @bun
|
|
2
2
|
import {
|
|
3
3
|
PageScript
|
|
4
|
-
} from "./index-
|
|
4
|
+
} from "./index-xmmzf150.js";
|
|
5
5
|
import {
|
|
6
6
|
App,
|
|
7
7
|
Module,
|
|
8
8
|
command
|
|
9
|
-
} from "./index-
|
|
10
|
-
import"./index-
|
|
9
|
+
} from "./index-kdh76j26.js";
|
|
10
|
+
import"./index-z8ptfkzv.js";
|
|
11
11
|
import"./index-mxvakhsm.js";
|
|
12
|
+
import"./index-1577bej2.js";
|
|
12
13
|
import"./index-67546d0j.js";
|
|
13
14
|
import"./index-r24hmh0q.js";
|
|
14
15
|
|
|
@@ -1,21 +1,22 @@
|
|
|
1
1
|
// @bun
|
|
2
2
|
import {
|
|
3
3
|
PrimitiveScript
|
|
4
|
-
} from "./index-
|
|
5
|
-
import"./index-
|
|
6
|
-
import"./index-4hek879p.js";
|
|
4
|
+
} from "./index-3vta1tqa.js";
|
|
5
|
+
import"./index-jhpa13zj.js";
|
|
7
6
|
import"./index-ss469dec.js";
|
|
7
|
+
import"./index-xmmzf150.js";
|
|
8
8
|
import"./index-0cj2zxbm.js";
|
|
9
9
|
import {
|
|
10
10
|
renderPrimitiveReport
|
|
11
|
-
} from "./index-
|
|
12
|
-
import"./index-
|
|
11
|
+
} from "./index-rxkpk7n4.js";
|
|
12
|
+
import"./index-j37qq1f2.js";
|
|
13
13
|
import {
|
|
14
14
|
Workspace,
|
|
15
15
|
command
|
|
16
|
-
} from "./index-
|
|
17
|
-
import"./index-
|
|
16
|
+
} from "./index-kdh76j26.js";
|
|
17
|
+
import"./index-z8ptfkzv.js";
|
|
18
18
|
import"./index-mxvakhsm.js";
|
|
19
|
+
import"./index-1577bej2.js";
|
|
19
20
|
import"./index-67546d0j.js";
|
|
20
21
|
import"./index-r24hmh0q.js";
|
|
21
22
|
|
|
@@ -7,12 +7,13 @@ import {
|
|
|
7
7
|
command,
|
|
8
8
|
runner,
|
|
9
9
|
script
|
|
10
|
-
} from "./index-
|
|
10
|
+
} from "./index-kdh76j26.js";
|
|
11
11
|
import {
|
|
12
12
|
appRootAllowedFiles,
|
|
13
13
|
libFacetRootAllowedFiles
|
|
14
|
-
} from "./index-
|
|
14
|
+
} from "./index-z8ptfkzv.js";
|
|
15
15
|
import"./index-mxvakhsm.js";
|
|
16
|
+
import"./index-1577bej2.js";
|
|
16
17
|
import"./index-67546d0j.js";
|
|
17
18
|
import"./index-r24hmh0q.js";
|
|
18
19
|
|
|
@@ -1,17 +1,18 @@
|
|
|
1
1
|
// @bun
|
|
2
2
|
import {
|
|
3
3
|
RepairRunner
|
|
4
|
-
} from "./index-
|
|
5
|
-
import"./index-
|
|
6
|
-
import"./index-
|
|
4
|
+
} from "./index-jf2ya7r2.js";
|
|
5
|
+
import"./index-774gcx29.js";
|
|
6
|
+
import"./index-rxkpk7n4.js";
|
|
7
7
|
import {
|
|
8
8
|
Workspace,
|
|
9
9
|
command,
|
|
10
10
|
script
|
|
11
|
-
} from "./index-
|
|
12
|
-
import"./index-
|
|
11
|
+
} from "./index-kdh76j26.js";
|
|
12
|
+
import"./index-z8ptfkzv.js";
|
|
13
13
|
import"./index-mxvakhsm.js";
|
|
14
14
|
import"./index-xys926f2.js";
|
|
15
|
+
import"./index-1577bej2.js";
|
|
15
16
|
import"./index-67546d0j.js";
|
|
16
17
|
import"./index-r24hmh0q.js";
|
|
17
18
|
|
|
@@ -1,19 +1,20 @@
|
|
|
1
1
|
// @bun
|
|
2
2
|
import {
|
|
3
3
|
ScalarScript
|
|
4
|
-
} from "./index-
|
|
4
|
+
} from "./index-y4vkyhvv.js";
|
|
5
5
|
import"./index-ss469dec.js";
|
|
6
6
|
import"./index-0cj2zxbm.js";
|
|
7
7
|
import {
|
|
8
8
|
renderPrimitiveReport
|
|
9
|
-
} from "./index-
|
|
10
|
-
import"./index-
|
|
9
|
+
} from "./index-rxkpk7n4.js";
|
|
10
|
+
import"./index-j37qq1f2.js";
|
|
11
11
|
import {
|
|
12
12
|
Sys,
|
|
13
13
|
command
|
|
14
|
-
} from "./index-
|
|
15
|
-
import"./index-
|
|
14
|
+
} from "./index-kdh76j26.js";
|
|
15
|
+
import"./index-z8ptfkzv.js";
|
|
16
16
|
import"./index-mxvakhsm.js";
|
|
17
|
+
import"./index-1577bej2.js";
|
|
17
18
|
import"./index-67546d0j.js";
|
|
18
19
|
import"./index-r24hmh0q.js";
|
|
19
20
|
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
@import "tailwindcss";
|
|
2
2
|
@import "akanjs/ui/styles.css";
|
|
3
3
|
|
|
4
|
-
/*
|
|
5
|
-
akanjs/ui/styles.css
|
|
4
|
+
/* The theme system (brand-neutral default palette, @theme inline mapping, dark variant, and runtime
|
|
5
|
+
data-theme switching) is fully provided by akanjs/ui/styles.css. This app works from the import alone.
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
To use this app's own brand colors, override the tokens like this:
|
|
8
8
|
|
|
9
9
|
:root,
|
|
10
10
|
[data-theme="dark"] {
|
|
@@ -30,7 +30,7 @@ export default async function Page({ params }: PageProps) {
|
|
|
30
30
|
</div>
|
|
31
31
|
<Load.Edit
|
|
32
32
|
className="flex flex-col items-center"
|
|
33
|
-
slice={fetch.slice
|
|
33
|
+
slice={fetch.slice.${dict.model}InPublic}
|
|
34
34
|
edit={${dict.model}Edit}
|
|
35
35
|
type="form"
|
|
36
36
|
onCancel="back"
|
|
@@ -20,7 +20,7 @@ export default async function Page() {
|
|
|
20
20
|
<>
|
|
21
21
|
<div className="animate-fadeIn flex items-center gap-4 px-4 pt-4">
|
|
22
22
|
<div className="text-lg font-bold md:text-4xl">{l("${dict.model}.modelName")}</div>
|
|
23
|
-
<Model.New className="inline-flex items-center gap-2 rounded-field px-3 py-1.5 text-sm transition-colors hover:bg-muted" slice={fetch.slice
|
|
23
|
+
<Model.New className="inline-flex items-center gap-2 rounded-field px-3 py-1.5 text-sm transition-colors hover:bg-muted" slice={fetch.slice.${dict.model}InPublic} renderTitle="id">
|
|
24
24
|
<${dict.Model}.Template.General />
|
|
25
25
|
</Model.New>
|
|
26
26
|
</div>
|
|
@@ -21,7 +21,7 @@ interface RemoveProps {
|
|
|
21
21
|
export const Remove = ({ ${dict.model}Id }: RemoveProps) => {
|
|
22
22
|
const { l } = usePage();
|
|
23
23
|
return (
|
|
24
|
-
<Model.Remove modelId={${dict.model}Id} slice={fetch.slice
|
|
24
|
+
<Model.Remove modelId={${dict.model}Id} slice={fetch.slice.${dict.model}}>
|
|
25
25
|
<BiTrash /> {l("base.remove")}
|
|
26
26
|
</Model.Remove>
|
|
27
27
|
);
|
|
@@ -12,9 +12,7 @@ export default function getContent(scanInfo: AppInfo | LibInfo | null, dict: Dic
|
|
|
12
12
|
content: `
|
|
13
13
|
"use client";
|
|
14
14
|
import { Load } from "akanjs/ui";
|
|
15
|
-
|
|
16
|
-
// (a model literally named "card" or "view" would otherwise shadow this import).
|
|
17
|
-
import { type cnst, ${dict.Model} as ${dict.Model}Domain } from "@${dict.sysType}s/${dict.sysName}/client";
|
|
15
|
+
import { type cnst, ${dict.Model} as ${dict.Model} } from "@${dict.sysType}s/${dict.sysName}/client";
|
|
18
16
|
import type { ClientInit, ClientView, SliceMeta } from "akanjs/fetch";
|
|
19
17
|
|
|
20
18
|
interface CardProps {
|
|
@@ -28,7 +26,7 @@ export const Card = ({ className, init, slice }: CardProps) => {
|
|
|
28
26
|
className={className}
|
|
29
27
|
init={init}
|
|
30
28
|
renderItem={(${dict.model}) => (
|
|
31
|
-
<${dict.Model}
|
|
29
|
+
<${dict.Model}.Unit.Card key={${dict.model}.id} href={\`/${dict.model}/\${${dict.model}.id}\`} ${dict.model}={${dict.model}} />
|
|
32
30
|
)}
|
|
33
31
|
/>
|
|
34
32
|
);
|
|
@@ -39,7 +37,7 @@ interface ViewProps {
|
|
|
39
37
|
view: ClientView<"${dict.model}", cnst.${dict.Model}>;
|
|
40
38
|
}
|
|
41
39
|
export const View = ({ view }: ViewProps) => {
|
|
42
|
-
return <Load.View view={view} renderView={(${dict.model}) => <${dict.Model}
|
|
40
|
+
return <Load.View view={view} renderView={(${dict.model}) => <${dict.Model}.View.General ${dict.model}={${dict.model}} />} />;
|
|
43
41
|
};
|
|
44
42
|
`,
|
|
45
43
|
};
|