@ubean/cli 0.6.1 → 0.6.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.
Files changed (2) hide show
  1. package/dist/cli.js +63 -47
  2. package/package.json +10 -10
package/dist/cli.js CHANGED
@@ -90,7 +90,7 @@ export default defineConfig({
90
90
  // Build options (platform preset lives here — a top-level \`preset\` field
91
91
  // is silently ignored, so always nest it under \`build\`).
92
92
  build: {
93
- preset: 'standard', // 'standard' | 'node' | 'cloudflare' | 'vercel' | 'netlify' | 'bun' | 'deno' | 'aws' | 'azure'
93
+ preset: 'standard', // 'standard' | 'node' | 'cloudflare' | 'cloudflare-dev' | 'vercel' | 'vercel-edge' | 'netlify' | 'bun' | 'deno' | 'aws' | 'azure'
94
94
  outputDir: 'dist'
95
95
  },
96
96
 
@@ -499,9 +499,9 @@ const buildCommand = {
499
499
  * - CLI 只装配插件、起 Vite server、打印 banner,并订阅扫描做命令级事务(类型生成、
500
500
  * DevTools 数据上报)。
501
501
  *
502
- * 保留两处 CLI 专有接线(无法下沉):`@ubean/devtools` / `@vitejs/devtools` 的按需加载
503
- * (可选依赖 + `config.devtools.enabled` 闸门),以及 DevTools 的 scaffold CRUD
504
- * (页面增删改是 CLI 的能力)。
502
+ * 保留一处 CLI 专有接线(无法下沉):`@ubean/devtools` / `@devframes/vite` 的按需加载
503
+ * (可选依赖 + `config.devtools.enabled` 闸门)。DevTools 的 scaffold CRUD 由注入的
504
+ * `scaffoldOps` 提供。
505
505
  */
506
506
  const logger$8 = getLogger("dev-server");
507
507
  /**
@@ -527,42 +527,57 @@ async function createDevViteServer(options) {
527
527
  const isBackendMode = config.mode === "backend";
528
528
  let viteServer = null;
529
529
  const rescanDev = () => peekDevScanCoordinator(viteServer)?.rescan();
530
- const builtinPlugins = [...hasUserViteConfig ? [] : [ubeanDevRequestPlugin({
531
- passThrough: devtoolsEnabled ? [...DEVTOOLS_PASS_THROUGH_PREFIXES] : [],
532
- devtoolsRedirect: devtoolsEnabled
533
- })], ...hasUserViteConfig ? [] : [
534
- ubeanPlugin({
535
- config,
536
- registry: createVirtualRegistry()
537
- }),
538
- ...isBackendMode ? [] : ubeanVite({
539
- config,
540
- registry: createVirtualRegistry()
541
- }),
542
- ...isBackendMode ? [] : [ubeanIslandsPlugin()]
543
- ]];
544
- if (devtoolsEnabled) {
545
- process.env.VITE_DEVTOOLS_DISABLE_CLIENT_AUTH = "true";
546
- try {
547
- const { ubeanDevtoolsPlugin } = await import("@ubean/devtools");
548
- builtinPlugins.push(ubeanDevtoolsPlugin({
549
- getScanResult: options.devtools?.getScanResult,
550
- getConfigMeta: options.devtools?.getConfigMeta,
551
- getCustomTabs: options.devtools?.getCustomTabs,
552
- getCwd: () => cwd,
553
- scaffoldOps: {
554
- createFsOps,
555
- scaffold,
556
- deleteScaffold,
557
- recoverScaffold
558
- },
559
- getApp: () => getDevApp(viteServer) ?? void 0,
560
- triggerRescan: async () => {
561
- await rescanDev();
562
- }
563
- }));
564
- } catch {}
565
- }
530
+ let refreshDevtools;
531
+ const devtoolsPlugins = [];
532
+ if (devtoolsEnabled) try {
533
+ const [{ viteDevframeHub }, { createUbeanDevframe, UBEAN_ANCHOR_DOCK }] = await Promise.all([import("@devframes/vite/hub"), import("@ubean/devtools")]);
534
+ const devframe = createUbeanDevframe({
535
+ getScanResult: options.devtools?.getScanResult,
536
+ getConfigMeta: options.devtools?.getConfigMeta,
537
+ getCustomTabs: options.devtools?.getCustomTabs,
538
+ getCwd: () => cwd,
539
+ scaffoldOps: {
540
+ createFsOps,
541
+ scaffold,
542
+ deleteScaffold,
543
+ recoverScaffold
544
+ },
545
+ getApp: () => getDevApp(viteServer) ?? void 0,
546
+ triggerRescan: async () => {
547
+ await rescanDev();
548
+ },
549
+ basePath: `${config.devtools.route.replace(/\/$/, "")}/`,
550
+ registerRefresh: (fn) => {
551
+ refreshDevtools = fn;
552
+ }
553
+ });
554
+ devtoolsPlugins.push(viteDevframeHub({
555
+ devframes: [{
556
+ devframe,
557
+ dock: UBEAN_ANCHOR_DOCK
558
+ }],
559
+ quiet: true,
560
+ auth: false
561
+ }));
562
+ } catch {}
563
+ const builtinPlugins = [
564
+ ...devtoolsPlugins,
565
+ ...hasUserViteConfig ? [] : [ubeanDevRequestPlugin({
566
+ passThrough: devtoolsEnabled ? [...DEVTOOLS_PASS_THROUGH_PREFIXES] : [],
567
+ devtoolsRedirect: devtoolsEnabled
568
+ })],
569
+ ...hasUserViteConfig ? [] : [
570
+ ubeanPlugin({
571
+ config,
572
+ registry: createVirtualRegistry()
573
+ }),
574
+ ...isBackendMode ? [] : ubeanVite({
575
+ config,
576
+ registry: createVirtualRegistry()
577
+ }),
578
+ ...isBackendMode ? [] : [ubeanIslandsPlugin()]
579
+ ]
580
+ ];
566
581
  const { plugins } = await resolveModules({
567
582
  cwd,
568
583
  config,
@@ -580,11 +595,6 @@ async function createDevViteServer(options) {
580
595
  },
581
596
  appType: "custom",
582
597
  plugins,
583
- devtools: {
584
- enabled: devtoolsEnabled,
585
- clientAuth: false,
586
- builtinDevTools: false
587
- },
588
598
  optimizeDeps: { exclude: [
589
599
  "ubean",
590
600
  "vue-router",
@@ -631,6 +641,9 @@ async function createDevViteServer(options) {
631
641
  async rescan() {
632
642
  await rescanDev();
633
643
  },
644
+ refreshDevtools() {
645
+ refreshDevtools?.();
646
+ },
634
647
  async stop() {
635
648
  const server = viteServer;
636
649
  viteServer = null;
@@ -775,6 +788,7 @@ const devCommand = {
775
788
  if (logging.lifecycle) logger$6.info(`File change detected: ${lastChangedFile}`);
776
789
  }
777
790
  currentScanResult = result;
791
+ devServer?.refreshDevtools();
778
792
  try {
779
793
  await generateTypes(result, {
780
794
  cwd,
@@ -899,11 +913,13 @@ const devtoolsCommand = {
899
913
  logger$5.info("");
900
914
  logger$5.info(" Access:");
901
915
  logger$5.info(" - Start dev server: pnpm dev");
902
- logger$5.info(" - Open DevTools: Press Shift+Alt+D in the browser, or visit /__ubean/devtools/");
916
+ logger$5.info(" - Open the DevTools URL printed in the dev server banner (default /_devtools)");
917
+ logger$5.info(" which redirects to the devframe hub shell.");
903
918
  logger$5.info("");
904
919
  logger$5.info(" Configuration (ubean.config.ts):");
905
920
  logger$5.info(" devtools: {");
906
921
  logger$5.info(" enabled: true, // Enable/disable DevTools (dev only)");
922
+ logger$5.info(" route: '/_devtools' // Panel path (optional)");
907
923
  logger$5.info(" }");
908
924
  logger$5.info("");
909
925
  logger$5.info(" Features:");
@@ -929,7 +945,7 @@ const devtoolsCommand = {
929
945
  } },
930
946
  async run({ args }) {
931
947
  const port = args.port;
932
- logger$5.info(`http://localhost:${port}/__ubean/devtools/`);
948
+ logger$5.info(`http://localhost:${port}/_devtools`);
933
949
  }
934
950
  }
935
951
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ubean/cli",
3
- "version": "0.6.1",
3
+ "version": "0.6.2",
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,13 +24,13 @@
24
24
  }
25
25
  },
26
26
  "dependencies": {
27
- "@ubean/build": "0.6.1",
28
- "@ubean/config": "0.6.1",
29
- "@ubean/i18n": "0.6.1",
30
- "@ubean/islands": "0.6.1",
31
- "@ubean/preset": "0.6.1",
32
- "@ubean/scan": "0.6.1",
33
- "@ubean/shared": "0.6.1",
27
+ "@ubean/build": "0.6.2",
28
+ "@ubean/config": "0.6.2",
29
+ "@ubean/i18n": "0.6.2",
30
+ "@ubean/islands": "0.6.2",
31
+ "@ubean/preset": "0.6.2",
32
+ "@ubean/scan": "0.6.2",
33
+ "@ubean/shared": "0.6.2",
34
34
  "citty": "^0.2.2",
35
35
  "kolorist": "^1.8.0",
36
36
  "pathe": "^2.0.3"
@@ -43,8 +43,8 @@
43
43
  "vite-plus": "1.1.0"
44
44
  },
45
45
  "peerDependencies": {
46
- "@ubean/content": "0.6.1",
47
- "@ubean/devtools": "0.6.1",
46
+ "@ubean/content": "0.6.2",
47
+ "@ubean/devtools": "0.6.2",
48
48
  "@vitejs/plugin-vue": "^6.0.8",
49
49
  "vite": "npm:@voidzero-dev/vite-plus-core@1.1.0"
50
50
  },