@akanjs/cli 3.1.0-rc.0 → 3.1.0-rc.10
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/{CodeAgent-q7a4srt6.js → CodeAgent-rkjyxgec.js} +2 -2
- package/{CodeTui-ak23dxc9.js → CodeTui-h7pyj6xa.js} +1 -1
- package/TunnelShare-661cxz5e.js +14 -0
- package/{agent.command-f3gsc1gd.js → agent.command-3qxf4xcj.js} +5 -5
- package/akanCode.js +2 -2
- package/{application.command-3v2d53gd.js → application.command-m1kcd7jf.js} +54 -42
- package/{applicationBuildRunner-1yaqsrdq.js → applicationBuildRunner-dj0xkrep.js} +26 -33
- package/buildBatch.proc.js +24 -15
- package/{cloud.command-kk2rwkvw.js → cloud.command-9cp1t0f5.js} +63 -65
- package/cloud.script-dgstqt1m.js +24 -0
- package/{code.command-30sca09d.js → code.command-0ad6gw2a.js} +6 -6
- package/{context.command-k7eqacq6.js → context.command-0qx447mb.js} +17 -13
- package/context.runner-1vsjztjg.js +25 -0
- package/{dependencyScanner-06z2dmrr.js → dependencyScanner-3afj2vt1.js} +1 -1
- package/{guideline.command-dtczrqpf.js → guideline.command-cv5bmrx2.js} +2 -2
- package/guidelines/agentRule/agentRule.instruction.md +3 -3
- package/guidelines/conventions/conventions.instruction.md +457 -1069
- package/guidelines/cssRule/cssRule.instruction.md +28 -7
- package/guidelines/fieldRule/fieldRule.instruction.md +62 -0
- package/guidelines/framework/framework.instruction.md +4 -7
- package/guidelines/mcpRule/mcpRule.instruction.md +48 -20
- package/guidelines/modelConstant/modelConstant.instruction.md +2 -1
- package/guidelines/modelStore/modelStore.instruction.md +9 -0
- package/guidelines/pageRule/pageRule.instruction.md +80 -0
- package/guidelines/queryRule/queryRule.instruction.md +44 -11
- package/guidelines/runtimeRule/runtimeRule.instruction.md +113 -17
- package/guidelines/ssrRule/ssrRule.instruction.md +13 -0
- package/guidelines/transportRule/transportRule.instruction.md +135 -13
- package/guidelines/workspaceOnboarding/workspaceOnboarding.instruction.md +4 -4
- package/guidelines/workspaceRecipes/workspaceRecipes.instruction.md +68 -7
- package/incrementalBuilder.proc.js +10 -7
- package/index-192ha4xh.js +1173 -0
- package/{index-c76k723e.js → index-1p98exm2.js} +2 -2
- package/{index-rwq3ekqc.js → index-1xj2t7cb.js} +7 -7
- package/{index-nz15k0b6.js → index-20bxxyvn.js} +80 -80
- package/{index-qt22xstj.js → index-35hc95h5.js} +5 -3
- package/{index-jyv387qw.js → index-4mhy6qme.js} +4 -4
- package/{index-ww9bhp67.js → index-4pf8g7ff.js} +1 -1
- package/{index-2mx692qq.js → index-5edzv8fn.js} +5 -5
- package/{index-k9rrten6.js → index-5nd1wtkv.js} +92 -94
- package/index-62md4dwy.js +260 -0
- package/index-665zp9rs.js +271 -0
- package/{index-2etcv0sc.js → index-86jt2a0e.js} +1 -1
- package/{index-2t4tqd1c.js → index-8fp3b47h.js} +419 -418
- package/{index-c2yrsxdh.js → index-9z426msb.js} +109 -328
- package/{index-ctanya41.js → index-awbdfcf2.js} +4 -4
- package/{index-3hx1z96c.js → index-bqbf654f.js} +1 -1
- package/{index-tn4rpqp1.js → index-bspm21y1.js} +73 -49
- package/index-cpb3nvma.js +667 -0
- package/{index-p9ystjrp.js → index-d47ypebv.js} +97 -55
- package/{index-0bm04n5g.js → index-d72hfmdm.js} +15 -13
- package/{index-e0cvze1s.js → index-fmzcs8v6.js} +4 -4
- package/{index-y8q31011.js → index-fyq1z6kt.js} +68 -177
- package/{index-kjvrq3nc.js → index-g1mbppa9.js} +331 -250
- package/{index-gnyf1fqy.js → index-j237xtew.js} +6 -6
- package/{index-fm46xrf1.js → index-j4mkhz93.js} +3 -3
- package/{index-6jjtnhkw.js → index-jw1zm273.js} +74 -34
- package/{index-q958tqqg.js → index-m9jj544v.js} +1 -1
- package/index-mdjc93e1.js +33 -0
- package/{index-c1x0be5j.js → index-pydbnfez.js} +2 -2
- package/{index-7bymavqk.js → index-qwa5k1j8.js} +1 -1
- package/{index-v29746vb.js → index-tamvyvj3.js} +3 -3
- package/{index-05g3jayg.js → index-trpasv9q.js} +260 -259
- package/{index-2ahj896a.js → index-tvehn2sp.js} +1 -1
- package/{index-55mynnqs.js → index-va06nr10.js} +1434 -1173
- package/index-vk0pa0mn.js +240 -0
- package/{index-aprt7pkz.js → index-w44cy4vs.js} +2271 -3369
- package/index.js +22 -22
- package/{library.command-gaga5bmq.js → library.command-erp2f56n.js} +3 -3
- package/{localRegistry.command-9e84e32q.js → localRegistry.command-y176p558.js} +15 -11
- package/{module.command-7vpf6db4.js → module.command-gs2r615e.js} +5 -5
- package/{package.command-twmvvf69.js → package.command-j10r76ax.js} +4 -4
- package/package.json +21 -21
- package/{page.command-5asq7fdf.js → page.command-4h4a8pnh.js} +3 -3
- package/{pipeline.command-d0v38572.js → pipeline.command-a2nrk26m.js} +221 -220
- package/{primitive.command-dyrs2fm8.js → primitive.command-w6t0asqz.js} +6 -6
- package/{projectTypecheck-cvtkrzp2.js → projectTypecheck-f534enqj.js} +1 -1
- package/{quality.command-6emsqpbg.js → quality.command-77x7vbbx.js} +4 -4
- package/{repair.command-8t6aegv5.js → repair.command-y6sstev7.js} +5 -5
- package/{scalar.command-bnggy1x7.js → scalar.command-20b8cy0k.js} +4 -4
- package/{subspace.command-f02j5tge.js → subspace.command-5c7yasd7.js} +424 -364
- package/templates/app/env/env.client.type.ts +2 -3
- package/templates/app/page/styles.css.template +8 -0
- package/templates/appSample/lib/task/Task.Util.tsx +7 -7
- package/templates/appSample/lib/task/Task.Zone.tsx +1 -1
- package/templates/appSample/ui/QuantityControl.tsx +2 -2
- package/templates/crudSinglePage/page.tsx +1 -1
- package/templates/lib/cnst.ts +0 -1
- package/templates/workspaceRoot/.gitignore.template +23 -52
- package/templates/workspaceRoot/biome.json.template +1 -1
- package/{tunnel.command-9x8nfn75.js → tunnel.command-2kw8vt9g.js} +8 -4
- package/{workflow.command-jx0wag5r.js → workflow.command-2djwmpqf.js} +10 -10
- package/{workspace.command-cmj6mqyk.js → workspace.command-6qfgq4b4.js} +38 -34
- package/TunnelShare-21mm6dr5.js +0 -9
- package/cloud.script-r7eyfey4.js +0 -20
- package/context.runner-hqd1ppqe.js +0 -21
- package/index-6w0rbr9d.js +0 -68
- package/index-n68jx79w.js +0 -120
- package/index-r2tpeb3n.js +0 -392
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
// @bun
|
|
2
2
|
import {
|
|
3
3
|
script
|
|
4
|
-
} from "./index-
|
|
4
|
+
} from "./index-jw1zm273.js";
|
|
5
5
|
import {
|
|
6
6
|
AppExecutor,
|
|
7
7
|
LibExecutor,
|
|
8
8
|
ModuleExecutor
|
|
9
|
-
} from "./index-
|
|
9
|
+
} from "./index-va06nr10.js";
|
|
10
10
|
import {
|
|
11
11
|
workflowStatus,
|
|
12
12
|
compactDiagnostics,
|
|
@@ -41,10 +41,10 @@ import {
|
|
|
41
41
|
hasSignalFactoryEntry,
|
|
42
42
|
insertSignalFactoryEntry,
|
|
43
43
|
addFieldUiPolicyForType
|
|
44
|
-
} from "./index-
|
|
44
|
+
} from "./index-trpasv9q.js";
|
|
45
45
|
import {
|
|
46
46
|
ModuleScript
|
|
47
|
-
} from "./index-
|
|
47
|
+
} from "./index-fmzcs8v6.js";
|
|
48
48
|
|
|
49
49
|
// pkgs/@akanjs/cli/primitive/primitive.script.ts
|
|
50
50
|
import { capitalize, lowerlize } from "akanjs/common";
|
|
@@ -26,7 +26,7 @@ class ConfigLock {
|
|
|
26
26
|
}
|
|
27
27
|
static async#take(lockPath) {
|
|
28
28
|
const handle = await open(lockPath, "wx", 384).catch((error) => {
|
|
29
|
-
if (error.code === "EEXIST")
|
|
29
|
+
if (error.code === "EEXIST" || process.platform === "win32" && error.code === "EPERM")
|
|
30
30
|
return null;
|
|
31
31
|
throw error;
|
|
32
32
|
});
|
|
@@ -1,23 +1,29 @@
|
|
|
1
1
|
// @bun
|
|
2
2
|
import {
|
|
3
3
|
GlobalConfig,
|
|
4
|
-
CloudApi
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
} from "./index-6jjtnhkw.js";
|
|
4
|
+
CloudApi,
|
|
5
|
+
CloudUpdates,
|
|
6
|
+
PipelineSecrets
|
|
7
|
+
} from "./index-cpb3nvma.js";
|
|
9
8
|
import {
|
|
10
9
|
PkgExecutor
|
|
11
|
-
} from "./index-
|
|
10
|
+
} from "./index-va06nr10.js";
|
|
11
|
+
import {
|
|
12
|
+
NativePublicEnv,
|
|
13
|
+
UpdatePackFolder
|
|
14
|
+
} from "./index-g1mbppa9.js";
|
|
15
|
+
import {
|
|
16
|
+
script
|
|
17
|
+
} from "./index-jw1zm273.js";
|
|
12
18
|
import {
|
|
13
19
|
ApplicationScript
|
|
14
|
-
} from "./index-
|
|
20
|
+
} from "./index-d47ypebv.js";
|
|
15
21
|
import {
|
|
16
22
|
PackageScript
|
|
17
|
-
} from "./index-
|
|
23
|
+
} from "./index-j237xtew.js";
|
|
18
24
|
import {
|
|
19
25
|
CloudRunner
|
|
20
|
-
} from "./index-
|
|
26
|
+
} from "./index-fyq1z6kt.js";
|
|
21
27
|
|
|
22
28
|
// pkgs/@akanjs/cli/cloud/cloud.script.ts
|
|
23
29
|
import { Logger } from "akanjs/common";
|
|
@@ -28,12 +34,14 @@ class CloudScript2 extends script("cloud", [CloudRunner, ApplicationScript, Pack
|
|
|
28
34
|
async logout(workspace, host) {
|
|
29
35
|
await this.cloudRunner.logout(await GlobalConfig.hostFor(workspace, host));
|
|
30
36
|
}
|
|
37
|
+
async#cloudApi(workspace, given) {
|
|
38
|
+
const host = await GlobalConfig.hostFor(workspace, given);
|
|
39
|
+
await this.login(workspace, host);
|
|
40
|
+
return await CloudApi.fromHost(workspace, host);
|
|
41
|
+
}
|
|
31
42
|
async downloadEnv(workspace, workspaceId = workspace.getWorkspaceId({ allowEmpty: true }), { host: given } = {}) {
|
|
32
43
|
if (workspaceId) {
|
|
33
|
-
|
|
34
|
-
await this.login(workspace, host);
|
|
35
|
-
const cloudApi = await CloudApi.fromHost(workspace, host);
|
|
36
|
-
await this.cloudRunner.downloadEnv(cloudApi, workspace, workspaceId);
|
|
44
|
+
await this.cloudRunner.downloadEnv(await this.#cloudApi(workspace, given), workspace, workspaceId);
|
|
37
45
|
return;
|
|
38
46
|
}
|
|
39
47
|
await this.cloudRunner.downloadEnvByScp(workspace);
|
|
@@ -48,10 +56,7 @@ class CloudScript2 extends script("cloud", [CloudRunner, ApplicationScript, Pack
|
|
|
48
56
|
throw new Error("A scoped env upload needs a cloud workspace id \u2014 the scp target is workspace-wide.");
|
|
49
57
|
const { files, path } = await this.cloudRunner.gatherEnvFiles(workspace, { scope, archivePath });
|
|
50
58
|
if (workspaceId) {
|
|
51
|
-
|
|
52
|
-
await this.login(workspace, host);
|
|
53
|
-
const cloudApi = await CloudApi.fromHost(workspace, host);
|
|
54
|
-
await this.cloudRunner.uploadEnv(cloudApi, workspaceId, path);
|
|
59
|
+
await this.cloudRunner.uploadEnv(await this.#cloudApi(workspace, given), workspaceId, path);
|
|
55
60
|
return { workspaceId, files };
|
|
56
61
|
}
|
|
57
62
|
await this.cloudRunner.uploadEnvByScp(workspace, path);
|
|
@@ -64,19 +69,16 @@ class CloudScript2 extends script("cloud", [CloudRunner, ApplicationScript, Pack
|
|
|
64
69
|
subspace,
|
|
65
70
|
host: given
|
|
66
71
|
}) {
|
|
67
|
-
|
|
72
|
+
PipelineSecrets.assertName(name);
|
|
73
|
+
PipelineSecrets.assertBranch(branch);
|
|
74
|
+
const devProjectId = await this.cloudRunner.projectOf(workspace, subspace);
|
|
68
75
|
const value = await this.cloudRunner.readSecretValue(name, file);
|
|
69
|
-
|
|
70
|
-
await this.login(workspace, host);
|
|
71
|
-
const cloudApi = await CloudApi.fromHost(workspace, host);
|
|
72
|
-
await this.cloudRunner.uploadSecret(cloudApi, devProjectId, { name, branch, value });
|
|
76
|
+
await this.cloudRunner.uploadSecret(await this.#cloudApi(workspace, given), devProjectId, { name, branch, value });
|
|
73
77
|
}
|
|
74
78
|
async listSecrets(workspace, { branch, subspace, host: given }) {
|
|
75
|
-
|
|
76
|
-
const
|
|
77
|
-
await this.
|
|
78
|
-
const cloudApi = await CloudApi.fromHost(workspace, host);
|
|
79
|
-
await this.cloudRunner.listSecrets(cloudApi, devProjectId, branch);
|
|
79
|
+
PipelineSecrets.assertBranch(branch);
|
|
80
|
+
const devProjectId = await this.cloudRunner.projectOf(workspace, subspace);
|
|
81
|
+
await this.cloudRunner.listSecrets(await this.#cloudApi(workspace, given), devProjectId, branch);
|
|
80
82
|
}
|
|
81
83
|
async removeSecret(workspace, {
|
|
82
84
|
name,
|
|
@@ -84,11 +86,10 @@ class CloudScript2 extends script("cloud", [CloudRunner, ApplicationScript, Pack
|
|
|
84
86
|
subspace,
|
|
85
87
|
host: given
|
|
86
88
|
}) {
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
await this.
|
|
90
|
-
|
|
91
|
-
await this.cloudRunner.removeSecret(cloudApi, devProjectId, { name, branch });
|
|
89
|
+
PipelineSecrets.assertName(name);
|
|
90
|
+
PipelineSecrets.assertBranch(branch);
|
|
91
|
+
const devProjectId = await this.cloudRunner.projectOf(workspace, subspace);
|
|
92
|
+
await this.cloudRunner.removeSecret(await this.#cloudApi(workspace, given), devProjectId, { name, branch });
|
|
92
93
|
}
|
|
93
94
|
async pushUpdate(workspace, app, {
|
|
94
95
|
platform,
|
|
@@ -99,22 +100,43 @@ class CloudScript2 extends script("cloud", [CloudRunner, ApplicationScript, Pack
|
|
|
99
100
|
subspace,
|
|
100
101
|
host: given,
|
|
101
102
|
write,
|
|
102
|
-
allowLocalRelease
|
|
103
|
+
allowLocalRelease,
|
|
104
|
+
pack: packDir,
|
|
105
|
+
publicEnv
|
|
103
106
|
}) {
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
await this.login(workspace, host);
|
|
113
|
-
return await this.cloudRunner.pushUpdate(await CloudApi.fromHost(workspace, host), devProjectId, pack, {
|
|
107
|
+
if (packDir && publicEnv)
|
|
108
|
+
throw new Error("--public-env picks what a pack is built with, and --pack uploads one already built: give one.");
|
|
109
|
+
const devProjectId = await this.cloudRunner.projectOf(workspace, subspace, app.name);
|
|
110
|
+
const pack = await this.#packToPush(app, { platform, target, env, write, allowLocalRelease, packDir, publicEnv });
|
|
111
|
+
const verdict = UpdatePackFolder.storeBuildVerdict(pack);
|
|
112
|
+
if (verdict)
|
|
113
|
+
throw verdict;
|
|
114
|
+
return await this.cloudRunner.pushUpdate(await this.#cloudApi(workspace, given), devProjectId, pack, {
|
|
114
115
|
channel,
|
|
115
116
|
notes
|
|
116
117
|
});
|
|
117
118
|
}
|
|
119
|
+
async#packToPush(app, {
|
|
120
|
+
platform,
|
|
121
|
+
target,
|
|
122
|
+
env,
|
|
123
|
+
write,
|
|
124
|
+
allowLocalRelease,
|
|
125
|
+
packDir,
|
|
126
|
+
publicEnv
|
|
127
|
+
}) {
|
|
128
|
+
if (packDir)
|
|
129
|
+
return await this.cloudRunner.readPack(app, packDir, { platform, target, env, allowLocalRelease });
|
|
130
|
+
if (!platform)
|
|
131
|
+
throw new Error("push-update needs --platform ios or android to pack, or --pack <dir> to upload what `akan pack-update` wrote.");
|
|
132
|
+
return await this.applicationScript.packUpdate(app, platform, {
|
|
133
|
+
target: target ?? undefined,
|
|
134
|
+
env: env ?? "main",
|
|
135
|
+
write,
|
|
136
|
+
allowLocalRelease,
|
|
137
|
+
publicEnv: publicEnv ?? undefined
|
|
138
|
+
});
|
|
139
|
+
}
|
|
118
140
|
async registerBinary(workspace, app, {
|
|
119
141
|
platform,
|
|
120
142
|
distribution,
|
|
@@ -123,18 +145,20 @@ class CloudScript2 extends script("cloud", [CloudRunner, ApplicationScript, Pack
|
|
|
123
145
|
subspace,
|
|
124
146
|
host: given,
|
|
125
147
|
write,
|
|
126
|
-
allowLocalRelease
|
|
148
|
+
allowLocalRelease,
|
|
149
|
+
publicEnv
|
|
127
150
|
}) {
|
|
128
|
-
const devProjectId = await this.cloudRunner.
|
|
151
|
+
const devProjectId = await this.cloudRunner.projectOf(workspace, subspace, app.name);
|
|
152
|
+
const storeBundle = await CloudUpdates.storeBundlePath(app, target, platform);
|
|
153
|
+
const recorded = !publicEnv && await NativePublicEnv.recordedIn(storeBundle);
|
|
129
154
|
const pack = await this.applicationScript.packUpdate(app, platform, {
|
|
130
155
|
target,
|
|
131
156
|
env,
|
|
132
157
|
write,
|
|
133
|
-
allowLocalRelease
|
|
158
|
+
allowLocalRelease,
|
|
159
|
+
publicEnv: publicEnv ?? (recorded ? storeBundle : undefined)
|
|
134
160
|
});
|
|
135
|
-
|
|
136
|
-
await this.login(workspace, host);
|
|
137
|
-
return await this.cloudRunner.registerBinary(await CloudApi.fromHost(workspace, host), devProjectId, app, pack, {
|
|
161
|
+
return await this.cloudRunner.registerBinary(await this.#cloudApi(workspace, given), devProjectId, app, pack, {
|
|
138
162
|
distribution,
|
|
139
163
|
env
|
|
140
164
|
});
|