@junejs/cli 0.0.52-dev.0 → 0.0.52-dev.2
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/dist/cli.js +20 -7
- package/package.json +5 -4
- package/src/cli.ts +30 -7
package/dist/cli.js
CHANGED
|
@@ -31,7 +31,7 @@ Commands:
|
|
|
31
31
|
dev Start the dev server --port <n> --no-watch
|
|
32
32
|
build Build a workerd-ready bundle --out <dir>
|
|
33
33
|
deploy Build + deploy (workers/vercel) --dry-run --prod --skip-migrate --allow-destructive
|
|
34
|
-
gen Freeze content
|
|
34
|
+
gen Freeze content + agent module --check
|
|
35
35
|
db Database tasks (db migrate, db types) --allow-destructive
|
|
36
36
|
info Show routes + the agent surface
|
|
37
37
|
help Show this help
|
|
@@ -103,12 +103,25 @@ async function run(argv) {
|
|
|
103
103
|
return 0;
|
|
104
104
|
}
|
|
105
105
|
case "gen": {
|
|
106
|
-
const { generateContent } = await import("@junejs/server");
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
106
|
+
const { generateContent, loadJuneConfig, generateAgentModule, findAgentDir } = await import("@junejs/server");
|
|
107
|
+
if (!flags.check && existsSync(join(root, "app"))) {
|
|
108
|
+
const cols = await generateContent(root);
|
|
109
|
+
console.log(cols.length ? `generated content: ${cols.join(", ")}` : "no content/ collections");
|
|
110
|
+
const { generateMessages } = await import("./messages-DfAlYpfN.js");
|
|
111
|
+
const locales = await generateMessages(root);
|
|
112
|
+
if (locales) console.log(`generated messages: ${locales.join(", ")}`);
|
|
113
|
+
}
|
|
114
|
+
const { resolveAgent } = await import("@junejs/core/config");
|
|
115
|
+
const agentCfg = resolveAgent((await loadJuneConfig(root)).agent);
|
|
116
|
+
const agentDir = agentCfg.runtime.enabled ? findAgentDir(root, agentCfg.runtime.dir) : null;
|
|
117
|
+
const agent = agentDir ? generateAgentModule(agentDir, { check: !!flags.check }) : null;
|
|
118
|
+
if (agent) {
|
|
119
|
+
if (flags.check && agent.stale) {
|
|
120
|
+
console.error(`june gen --check: ${agent.file} is stale — run \`june gen\`.`);
|
|
121
|
+
return 1;
|
|
122
|
+
}
|
|
123
|
+
console.log(agent.written ? `generated agent module: ${agent.file}` : `agent module up to date: ${agent.file}`);
|
|
124
|
+
}
|
|
112
125
|
return 0;
|
|
113
126
|
}
|
|
114
127
|
case "db": {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@junejs/cli",
|
|
3
|
-
"version": "0.0.52-dev.
|
|
3
|
+
"version": "0.0.52-dev.2",
|
|
4
4
|
"description": "The `june` CLI — dev / build / deploy / gen / info. A thin bin over @junejs/server.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
@@ -27,11 +27,12 @@
|
|
|
27
27
|
"build": "tsdown"
|
|
28
28
|
},
|
|
29
29
|
"dependencies": {
|
|
30
|
-
"@junejs/core": ">=0.
|
|
31
|
-
"@junejs/server": ">=0.
|
|
30
|
+
"@junejs/core": ">=0.2.0-dev.33",
|
|
31
|
+
"@junejs/server": ">=1.0.0-dev.15"
|
|
32
32
|
},
|
|
33
33
|
"repository": {
|
|
34
34
|
"type": "git",
|
|
35
|
-
"url": "https://github.com/junebuild/june"
|
|
35
|
+
"url": "git+https://github.com/junebuild/june.git",
|
|
36
|
+
"directory": "packages/cli"
|
|
36
37
|
}
|
|
37
38
|
}
|
package/src/cli.ts
CHANGED
|
@@ -43,7 +43,7 @@ Commands:
|
|
|
43
43
|
dev Start the dev server --port <n> --no-watch
|
|
44
44
|
build Build a workerd-ready bundle --out <dir>
|
|
45
45
|
deploy Build + deploy (workers/vercel) --dry-run --prod --skip-migrate --allow-destructive
|
|
46
|
-
gen Freeze content
|
|
46
|
+
gen Freeze content + agent module --check
|
|
47
47
|
db Database tasks (db migrate, db types) --allow-destructive
|
|
48
48
|
info Show routes + the agent surface
|
|
49
49
|
help Show this help
|
|
@@ -135,12 +135,35 @@ export async function run(argv: string[]): Promise<number | undefined> {
|
|
|
135
135
|
return 0;
|
|
136
136
|
}
|
|
137
137
|
case "gen": {
|
|
138
|
-
const { generateContent } = await import("@junejs/server");
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
138
|
+
const { generateContent, loadJuneConfig, generateAgentModule, findAgentDir } = await import("@junejs/server");
|
|
139
|
+
// The content/messages freeze targets a June app (it writes into app/).
|
|
140
|
+
// A wrangler-first worker running `june gen` for its agent module has no
|
|
141
|
+
// app/ directory — don't create one just to hold an empty _content.ts.
|
|
142
|
+
// --check is a NO-WRITE gate: those generators have no compare mode, so
|
|
143
|
+
// skip them entirely under --check rather than write during a check
|
|
144
|
+
// (their staleness stays covered by `june gen && git diff --exit-code`;
|
|
145
|
+
// a compare mode for the freeze is a separate follow-up).
|
|
146
|
+
if (!flags.check && existsSync(join(root, "app"))) {
|
|
147
|
+
const cols = await generateContent(root);
|
|
148
|
+
console.log(cols.length ? `generated content: ${cols.join(", ")}` : "no content/ collections");
|
|
149
|
+
const { generateMessages } = await import("./messages");
|
|
150
|
+
const locales = await generateMessages(root);
|
|
151
|
+
if (locales) console.log(`generated messages: ${locales.join(", ")}`);
|
|
152
|
+
}
|
|
153
|
+
// Agent module: compile the agent directory (app/agent in a June app,
|
|
154
|
+
// ./agent in a wrangler-first worker) into _agent.gen.ts so the same
|
|
155
|
+
// directory convention mounts on the edge (workerd has no fs discovery).
|
|
156
|
+
const { resolveAgent } = await import("@junejs/core/config");
|
|
157
|
+
const agentCfg = resolveAgent((await loadJuneConfig(root)).agent);
|
|
158
|
+
const agentDir = agentCfg.runtime.enabled ? findAgentDir(root, agentCfg.runtime.dir) : null;
|
|
159
|
+
const agent = agentDir ? generateAgentModule(agentDir, { check: !!flags.check }) : null;
|
|
160
|
+
if (agent) {
|
|
161
|
+
if (flags.check && agent.stale) {
|
|
162
|
+
console.error(`june gen --check: ${agent.file} is stale — run \`june gen\`.`);
|
|
163
|
+
return 1;
|
|
164
|
+
}
|
|
165
|
+
console.log(agent.written ? `generated agent module: ${agent.file}` : `agent module up to date: ${agent.file}`);
|
|
166
|
+
}
|
|
144
167
|
return 0;
|
|
145
168
|
}
|
|
146
169
|
case "db": {
|