@ubean/cli 0.3.6 → 0.4.0
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 +8 -13
- package/dist/index.d.ts +3 -3
- package/dist/index.js +1 -1
- package/dist/{page-sFQRjxXM.js → page-pkDKNCLT.js} +10 -10
- package/package.json +12 -12
package/dist/cli.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { A as summarizeBundle, D as compareBundleBaseline, E as createFsOps, O as findClientManifest, S as renderTemplate, a as scaffold, c as scaffoldStarterTemplate, i as recoverScaffold, j as writeBundleBaseline, k as readViteManifest, l as scaffoldUnifyTemplate, n as listScaffoldableFiles, o as scaffoldBlogTemplate, r as pageCommand, s as scaffoldMinimalTemplate, t as deleteScaffold } from "./page-
|
|
1
|
+
import { A as summarizeBundle, D as compareBundleBaseline, E as createFsOps, O as findClientManifest, S as renderTemplate, a as scaffold, c as scaffoldStarterTemplate, i as recoverScaffold, j as writeBundleBaseline, k as readViteManifest, l as scaffoldUnifyTemplate, n as listScaffoldableFiles, o as scaffoldBlogTemplate, r as pageCommand, s as scaffoldMinimalTemplate, t as deleteScaffold } from "./page-pkDKNCLT.js";
|
|
2
2
|
import { existsSync, mkdirSync, readFileSync, watch } from "node:fs";
|
|
3
3
|
import { basename, join, relative, resolve } from "pathe";
|
|
4
4
|
import { extname, normalize, sep } from "node:path";
|
|
@@ -379,10 +379,8 @@ const buildCommand = {
|
|
|
379
379
|
srcDir: config.srcDir,
|
|
380
380
|
buildDir: ".ubean",
|
|
381
381
|
dirs: config.dir,
|
|
382
|
-
|
|
383
|
-
components: config.components
|
|
384
|
-
composablesDirs: config.imports.dirs,
|
|
385
|
-
componentsDirs: config.components.dirs
|
|
382
|
+
autoImports: config.autoImports,
|
|
383
|
+
components: config.components
|
|
386
384
|
});
|
|
387
385
|
const resolvedPreset = preset;
|
|
388
386
|
if (resolvedPreset.hooks?.["build:before"]) await resolvedPreset.hooks["build:before"]({
|
|
@@ -677,6 +675,7 @@ async function createViteDevServer(options) {
|
|
|
677
675
|
},
|
|
678
676
|
optimizeDeps: { exclude: [
|
|
679
677
|
"ubean",
|
|
678
|
+
"vue-router",
|
|
680
679
|
"virtual:ubean-pages",
|
|
681
680
|
"virtual:ubean-app",
|
|
682
681
|
"virtual:ubean-server",
|
|
@@ -1198,10 +1197,8 @@ async function buildApp(cwd, config) {
|
|
|
1198
1197
|
srcDir: config.srcDir,
|
|
1199
1198
|
buildDir: ".ubean",
|
|
1200
1199
|
dirs: config.dir,
|
|
1201
|
-
|
|
1202
|
-
components: config.components
|
|
1203
|
-
composablesDirs: config.imports.dirs,
|
|
1204
|
-
componentsDirs: config.components.dirs
|
|
1200
|
+
autoImports: config.autoImports,
|
|
1201
|
+
components: config.components
|
|
1205
1202
|
});
|
|
1206
1203
|
const app = createUbeanApp({
|
|
1207
1204
|
rootDir: cwd,
|
|
@@ -1931,10 +1928,8 @@ const prepareCommand = {
|
|
|
1931
1928
|
srcDir: config.srcDir,
|
|
1932
1929
|
buildDir: typesDir,
|
|
1933
1930
|
dirs: config.dir,
|
|
1934
|
-
|
|
1935
|
-
components: config.components
|
|
1936
|
-
composablesDirs: config.imports.dirs,
|
|
1937
|
-
componentsDirs: config.components.dirs
|
|
1931
|
+
autoImports: config.autoImports,
|
|
1932
|
+
components: config.components
|
|
1938
1933
|
});
|
|
1939
1934
|
for (const file of codegenResult.generated) logger$2.info(`Generated ${file.replace(`${cwd}/`, "")}`);
|
|
1940
1935
|
logger$2.info("Prepare complete!");
|
package/dist/index.d.ts
CHANGED
|
@@ -116,10 +116,10 @@ declare function toKebabCase(str: string): string;
|
|
|
116
116
|
declare function toPascalCase(str: string): string;
|
|
117
117
|
declare function toCamelCase(str: string): string;
|
|
118
118
|
declare const PAGE_TEMPLATE = "<script setup lang=\"ts\">\ndefinePage({\n meta: {\n title: '{{name}}'\n }\n});\n</script>\n\n<template>\n <div class=\"{{kebabName}}-page\">\n <div>{{name}}</div>\n </div>\n</template>\n\n";
|
|
119
|
-
declare const API_TEMPLATE = "import { defineHandler } from 'ubean';\n\nexport default defineHandler(async c => {\n return c.json({ message: '{{name}} endpoint' });\n});\n";
|
|
120
|
-
declare const MIDDLEWARE_TEMPLATE = "import { defineMiddleware } from 'ubean';\n\nexport default defineMiddleware(async (c, next) => {\n console.log('{{name}} middleware');\n await next();\n});\n";
|
|
119
|
+
declare const API_TEMPLATE = "import { defineHandler } from 'ubean/server';\n\nexport default defineHandler(async c => {\n return c.json({ message: '{{name}} endpoint' });\n});\n";
|
|
120
|
+
declare const MIDDLEWARE_TEMPLATE = "import { defineMiddleware } from 'ubean/server';\n\nexport default defineMiddleware(async (c, next) => {\n console.log('{{name}} middleware');\n await next();\n});\n";
|
|
121
121
|
declare const LAYOUT_TEMPLATE = "<script setup lang=\"ts\">\ndefinePage({\n meta: {\n title: '{{name}}'\n }\n});\n</script>\n\n<template>\n <div class=\"{{kebabName}}\">\n <slot />\n </div>\n</template>\n";
|
|
122
|
-
declare const CRON_TEMPLATE = "import { defineScheduled } from 'ubean';\n\nexport default defineScheduled({\n name: '{{name}}',\n schedule: '{{schedule}}'\n}, async () => {\n console.log('Running {{name}} cron task');\n});\n";
|
|
122
|
+
declare const CRON_TEMPLATE = "import { defineScheduled } from 'ubean/server';\n\nexport default defineScheduled({\n name: '{{name}}',\n schedule: '{{schedule}}'\n}, async () => {\n console.log('Running {{name}} cron task');\n});\n";
|
|
123
123
|
declare const PLUGIN_TEMPLATE = "import { definePlugin } from 'ubean';\n\nexport default definePlugin({\n name: '{{kebabName}}',\n setup() {\n console.log('{{name}} plugin setup');\n }\n});\n";
|
|
124
124
|
declare function renderPageTemplate(data: PageTemplateData): string;
|
|
125
125
|
declare function renderApiTemplate(data: ApiTemplateData): string;
|
package/dist/index.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { n as getScaffoldManifest, t as SCAFFOLD_CONTRACT_VERSION } from "./scaffold-manifest-TrH6OCX8.js";
|
|
2
|
-
import { A as summarizeBundle, C as toCamelCase, D as compareBundleBaseline, E as createFsOps, O as findClientManifest, S as renderTemplate, T as toPascalCase, _ as renderCronTemplate, a as scaffold, b as renderPageTemplate, d as CRON_TEMPLATE, f as LAYOUT_TEMPLATE, g as renderApiTemplate, h as PLUGIN_TEMPLATE, i as recoverScaffold, j as writeBundleBaseline, k as readViteManifest, m as PAGE_TEMPLATE, n as listScaffoldableFiles, p as MIDDLEWARE_TEMPLATE, t as deleteScaffold, u as API_TEMPLATE, v as renderLayoutTemplate, w as toKebabCase, x as renderPluginTemplate, y as renderMiddlewareTemplate } from "./page-
|
|
2
|
+
import { A as summarizeBundle, C as toCamelCase, D as compareBundleBaseline, E as createFsOps, O as findClientManifest, S as renderTemplate, T as toPascalCase, _ as renderCronTemplate, a as scaffold, b as renderPageTemplate, d as CRON_TEMPLATE, f as LAYOUT_TEMPLATE, g as renderApiTemplate, h as PLUGIN_TEMPLATE, i as recoverScaffold, j as writeBundleBaseline, k as readViteManifest, m as PAGE_TEMPLATE, n as listScaffoldableFiles, p as MIDDLEWARE_TEMPLATE, t as deleteScaffold, u as API_TEMPLATE, v as renderLayoutTemplate, w as toKebabCase, x as renderPluginTemplate, y as renderMiddlewareTemplate } from "./page-pkDKNCLT.js";
|
|
3
3
|
export { API_TEMPLATE, CRON_TEMPLATE, LAYOUT_TEMPLATE, MIDDLEWARE_TEMPLATE, PAGE_TEMPLATE, PLUGIN_TEMPLATE, SCAFFOLD_CONTRACT_VERSION, compareBundleBaseline, createFsOps, deleteScaffold, findClientManifest, getScaffoldManifest, listScaffoldableFiles, readViteManifest, recoverScaffold, renderApiTemplate, renderCronTemplate, renderLayoutTemplate, renderMiddlewareTemplate, renderPageTemplate, renderPluginTemplate, renderTemplate, scaffold, summarizeBundle, toCamelCase, toKebabCase, toPascalCase, writeBundleBaseline };
|
|
@@ -229,13 +229,13 @@ definePage({
|
|
|
229
229
|
</template>
|
|
230
230
|
|
|
231
231
|
`;
|
|
232
|
-
const API_TEMPLATE = `import { defineHandler } from 'ubean';
|
|
232
|
+
const API_TEMPLATE = `import { defineHandler } from 'ubean/server';
|
|
233
233
|
|
|
234
234
|
export default defineHandler(async c => {
|
|
235
235
|
return c.json({ message: '{{name}} endpoint' });
|
|
236
236
|
});
|
|
237
237
|
`;
|
|
238
|
-
const MIDDLEWARE_TEMPLATE = `import { defineMiddleware } from 'ubean';
|
|
238
|
+
const MIDDLEWARE_TEMPLATE = `import { defineMiddleware } from 'ubean/server';
|
|
239
239
|
|
|
240
240
|
export default defineMiddleware(async (c, next) => {
|
|
241
241
|
console.log('{{name}} middleware');
|
|
@@ -256,7 +256,7 @@ definePage({
|
|
|
256
256
|
</div>
|
|
257
257
|
</template>
|
|
258
258
|
`;
|
|
259
|
-
const CRON_TEMPLATE = `import { defineScheduled } from 'ubean';
|
|
259
|
+
const CRON_TEMPLATE = `import { defineScheduled } from 'ubean/server';
|
|
260
260
|
|
|
261
261
|
export default defineScheduled({
|
|
262
262
|
name: '{{name}}',
|
|
@@ -523,7 +523,7 @@ A full-stack project powered by ubean.
|
|
|
523
523
|
\`\`\`
|
|
524
524
|
`;
|
|
525
525
|
const APP_TS = [
|
|
526
|
-
"import { defineApp, hydrateIslands } from 'ubean/
|
|
526
|
+
"import { defineApp, hydrateIslands } from 'ubean/client';",
|
|
527
527
|
"import IslandClock from './components/IslandClock.vue';",
|
|
528
528
|
"import IslandCounter from './components/IslandCounter.vue';",
|
|
529
529
|
"import IslandMedia from './components/IslandMedia.vue';",
|
|
@@ -574,7 +574,7 @@ const APP_TS = [
|
|
|
574
574
|
""
|
|
575
575
|
].join("\n");
|
|
576
576
|
const SERVER_TS = [
|
|
577
|
-
"import { defineServer } from 'ubean/
|
|
577
|
+
"import { defineServer } from 'ubean/server';",
|
|
578
578
|
"",
|
|
579
579
|
"export default defineServer({",
|
|
580
580
|
" // 运行时钩子(dev 下请求日志已由 CLI 输出,如需自定义可在此添加)",
|
|
@@ -632,7 +632,7 @@ definePage({
|
|
|
632
632
|
</template>
|
|
633
633
|
`;
|
|
634
634
|
const GLOBAL_MIDDLEWARE = [
|
|
635
|
-
"import { defineMiddleware } from 'ubean';",
|
|
635
|
+
"import { defineMiddleware } from 'ubean/server';",
|
|
636
636
|
"",
|
|
637
637
|
"export default defineMiddleware(async (c, next) => {",
|
|
638
638
|
" const start = Date.now();",
|
|
@@ -644,7 +644,7 @@ const GLOBAL_MIDDLEWARE = [
|
|
|
644
644
|
""
|
|
645
645
|
].join("\n");
|
|
646
646
|
const HELLO_API = `import { pipe, description, object, string, number } from 'valibot';
|
|
647
|
-
import { defineHandler, describeRoute, resolver } from 'ubean';
|
|
647
|
+
import { defineHandler, describeRoute, resolver } from 'ubean/server';
|
|
648
648
|
|
|
649
649
|
const helloWorldSchema = object({
|
|
650
650
|
message: pipe(string(), description('The greeting message')),
|
|
@@ -685,7 +685,7 @@ export const flatApi = toFlatTypedClient<paths, '/api'>(request, '/api');
|
|
|
685
685
|
`;
|
|
686
686
|
const REQUEST_INTERNAL = `import { createRequest } from '@soybeanjs/fetch';
|
|
687
687
|
import { createTypedClient } from '@soybeanjs/fetch/openapi';
|
|
688
|
-
import { createInternalAdapter } from 'ubean';
|
|
688
|
+
import { createInternalAdapter } from 'ubean/server';
|
|
689
689
|
import type { paths } from '../../.ubean/openapi';
|
|
690
690
|
|
|
691
691
|
export function createServerApi(context: Parameters<typeof createInternalAdapter>[0]) {
|
|
@@ -1073,7 +1073,7 @@ const FAVICON_SVG = `<svg width="100%" height="100%" version="1.1" viewBox="0 0
|
|
|
1073
1073
|
</svg>
|
|
1074
1074
|
`;
|
|
1075
1075
|
/** 简化版 app.ts — 无 Islands / 无路由守卫 */
|
|
1076
|
-
const APP_TS_BASE = `import { defineApp } from 'ubean/
|
|
1076
|
+
const APP_TS_BASE = `import { defineApp } from 'ubean/client';
|
|
1077
1077
|
|
|
1078
1078
|
export default defineApp({
|
|
1079
1079
|
head: {
|
|
@@ -1397,7 +1397,7 @@ definePage({
|
|
|
1397
1397
|
path: `/${path.replace(/\.vue$/, "").replace(/\/index$/, "")}`,
|
|
1398
1398
|
pascalName: toPascalCase(name)
|
|
1399
1399
|
});
|
|
1400
|
-
case "middleware": return `import { defineMiddleware } from 'ubean';
|
|
1400
|
+
case "middleware": return `import { defineMiddleware } from 'ubean/server';
|
|
1401
1401
|
|
|
1402
1402
|
export default defineMiddleware(async (c, next) => {
|
|
1403
1403
|
console.log('${name} middleware');
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ubean/cli",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.0",
|
|
4
4
|
"description": "CLI for ubean (ubean-next binary: dev, build, prepare, init, preview, page, env, config, devtools, api/layout/middleware/cron/plugin scaffolds) plus the Vite dev server runner",
|
|
5
5
|
"bin": {
|
|
6
6
|
"ubean-next": "./bin/ubean-next.mjs"
|
|
@@ -24,15 +24,15 @@
|
|
|
24
24
|
}
|
|
25
25
|
},
|
|
26
26
|
"dependencies": {
|
|
27
|
-
"@ubean/app": "0.
|
|
28
|
-
"@ubean/build": "0.
|
|
29
|
-
"@ubean/client": "0.
|
|
30
|
-
"@ubean/config": "0.
|
|
31
|
-
"@ubean/i18n": "0.
|
|
32
|
-
"@ubean/islands": "0.
|
|
33
|
-
"@ubean/preset": "0.
|
|
34
|
-
"@ubean/scan": "0.
|
|
35
|
-
"@ubean/shared": "0.
|
|
27
|
+
"@ubean/app": "0.4.0",
|
|
28
|
+
"@ubean/build": "0.4.0",
|
|
29
|
+
"@ubean/client": "0.4.0",
|
|
30
|
+
"@ubean/config": "0.4.0",
|
|
31
|
+
"@ubean/i18n": "0.4.0",
|
|
32
|
+
"@ubean/islands": "0.4.0",
|
|
33
|
+
"@ubean/preset": "0.4.0",
|
|
34
|
+
"@ubean/scan": "0.4.0",
|
|
35
|
+
"@ubean/shared": "0.4.0",
|
|
36
36
|
"citty": "^0.2.2",
|
|
37
37
|
"kolorist": "^1.8.0",
|
|
38
38
|
"pathe": "^2.0.3"
|
|
@@ -45,8 +45,8 @@
|
|
|
45
45
|
"vite-plus": "0.3.0"
|
|
46
46
|
},
|
|
47
47
|
"peerDependencies": {
|
|
48
|
-
"@ubean/content": "0.
|
|
49
|
-
"@ubean/devtools": "0.
|
|
48
|
+
"@ubean/content": "0.4.0",
|
|
49
|
+
"@ubean/devtools": "0.4.0",
|
|
50
50
|
"@vitejs/plugin-vue": "^6.0.8",
|
|
51
51
|
"vite": "npm:@voidzero-dev/vite-plus-core@0.3.0"
|
|
52
52
|
},
|