@fecommunity/reactpress 4.0.0-beta.2 → 4.0.0-beta.3

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 (98) hide show
  1. package/out/lib/cli-events.d.ts +12 -0
  2. package/out/lib/cli-events.d.ts.map +1 -0
  3. package/out/lib/cli-events.js +54 -0
  4. package/out/lib/cli-events.js.map +1 -0
  5. package/out/lib/command-palette.d.ts +6 -0
  6. package/out/lib/command-palette.d.ts.map +1 -0
  7. package/out/lib/command-palette.js +53 -0
  8. package/out/lib/command-palette.js.map +1 -0
  9. package/out/lib/context-status.d.ts +2 -0
  10. package/out/lib/context-status.d.ts.map +1 -0
  11. package/out/lib/context-status.js +148 -0
  12. package/out/lib/context-status.js.map +1 -0
  13. package/out/lib/design-tokens.d.ts +38 -0
  14. package/out/lib/design-tokens.d.ts.map +1 -0
  15. package/out/lib/design-tokens.js +55 -0
  16. package/out/lib/design-tokens.js.map +1 -0
  17. package/out/lib/dev-banner.js +10 -5
  18. package/out/lib/dev-banner.js.map +1 -1
  19. package/out/lib/dev.js +20 -1
  20. package/out/lib/dev.js.map +1 -1
  21. package/out/lib/i18n/index.js +5 -1
  22. package/out/lib/i18n/index.js.map +1 -1
  23. package/out/lib/i18n/strings.js +99 -41
  24. package/out/lib/i18n/strings.js.map +1 -1
  25. package/out/lib/menu-actions.d.ts +2 -0
  26. package/out/lib/menu-actions.d.ts.map +1 -0
  27. package/out/lib/menu-actions.js +418 -0
  28. package/out/lib/menu-actions.js.map +1 -0
  29. package/out/lib/nginx.js +5 -2
  30. package/out/lib/nginx.js.map +1 -1
  31. package/out/lib/remote-dev.js +5 -1
  32. package/out/lib/remote-dev.js.map +1 -1
  33. package/out/lib/shell-mode.d.ts +5 -0
  34. package/out/lib/shell-mode.d.ts.map +1 -0
  35. package/out/lib/shell-mode.js +23 -0
  36. package/out/lib/shell-mode.js.map +1 -0
  37. package/out/lib/theme-warmup.js +1 -1
  38. package/out/lib/theme-warmup.js.map +1 -1
  39. package/out/shell/app.d.ts +12 -0
  40. package/out/shell/app.d.ts.map +1 -0
  41. package/out/shell/app.js +384 -0
  42. package/out/shell/app.js.map +1 -0
  43. package/out/shell/components/brand-banner.d.ts +20 -0
  44. package/out/shell/components/brand-banner.d.ts.map +1 -0
  45. package/out/shell/components/brand-banner.js +93 -0
  46. package/out/shell/components/brand-banner.js.map +1 -0
  47. package/out/shell/components/command-palette.d.ts +10 -0
  48. package/out/shell/components/command-palette.d.ts.map +1 -0
  49. package/out/shell/components/command-palette.js +77 -0
  50. package/out/shell/components/command-palette.js.map +1 -0
  51. package/out/shell/components/dev-stepper.d.ts +8 -0
  52. package/out/shell/components/dev-stepper.d.ts.map +1 -0
  53. package/out/shell/components/dev-stepper.js +54 -0
  54. package/out/shell/components/dev-stepper.js.map +1 -0
  55. package/out/shell/components/ink-theme.d.ts +34 -0
  56. package/out/shell/components/ink-theme.d.ts.map +1 -0
  57. package/out/shell/components/ink-theme.js +86 -0
  58. package/out/shell/components/ink-theme.js.map +1 -0
  59. package/out/shell/components/menu-list.d.ts +7 -0
  60. package/out/shell/components/menu-list.d.ts.map +1 -0
  61. package/out/shell/components/menu-list.js +49 -0
  62. package/out/shell/components/menu-list.js.map +1 -0
  63. package/out/shell/components/pulse-bar.d.ts +6 -0
  64. package/out/shell/components/pulse-bar.d.ts.map +1 -0
  65. package/out/shell/components/pulse-bar.js +55 -0
  66. package/out/shell/components/pulse-bar.js.map +1 -0
  67. package/out/shell/components/status-rack.d.ts +16 -0
  68. package/out/shell/components/status-rack.d.ts.map +1 -0
  69. package/out/shell/components/status-rack.js +47 -0
  70. package/out/shell/components/status-rack.js.map +1 -0
  71. package/out/shell/hooks/use-terminal-size.d.ts +2 -0
  72. package/out/shell/hooks/use-terminal-size.d.ts.map +1 -0
  73. package/out/shell/hooks/use-terminal-size.js +27 -0
  74. package/out/shell/hooks/use-terminal-size.js.map +1 -0
  75. package/out/shell/ink-shell.mjs +12056 -0
  76. package/out/shell/lib/shell-layout.d.ts +27 -0
  77. package/out/shell/lib/shell-layout.d.ts.map +1 -0
  78. package/out/shell/lib/shell-layout.js +60 -0
  79. package/out/shell/lib/shell-layout.js.map +1 -0
  80. package/out/shell/runtime/render-ink.d.ts +2 -0
  81. package/out/shell/runtime/render-ink.d.ts.map +1 -0
  82. package/out/shell/runtime/render-ink.js +89 -0
  83. package/out/shell/runtime/render-ink.js.map +1 -0
  84. package/out/ui/banner-startup.d.ts +2 -0
  85. package/out/ui/banner-startup.d.ts.map +1 -0
  86. package/out/ui/banner-startup.js +125 -0
  87. package/out/ui/banner-startup.js.map +1 -0
  88. package/out/ui/banner.js +402 -288
  89. package/out/ui/banner.js.map +1 -1
  90. package/out/ui/interactive.js +149 -125
  91. package/out/ui/interactive.js.map +1 -1
  92. package/out/ui/startup-splash.d.ts +2 -0
  93. package/out/ui/startup-splash.d.ts.map +1 -0
  94. package/out/ui/startup-splash.js +185 -0
  95. package/out/ui/startup-splash.js.map +1 -0
  96. package/out/ui/theme.js +63 -10
  97. package/out/ui/theme.js.map +1 -1
  98. package/package.json +1 -1
@@ -0,0 +1,12 @@
1
+ import { EventEmitter } from 'events';
2
+ export declare const cliEvents: EventEmitter<[never]>;
3
+ export declare function isInkDashboard(): boolean;
4
+ export declare function enableInkDashboard(): void;
5
+ export declare function disableInkDashboard(): void;
6
+ export declare function emitDevPhase(step: number, total: number, key: string, vars?: Record<string, string>): void;
7
+ export declare function emitDevStatus(key: string, vars?: Record<string, string>): void;
8
+ export declare function emitDevStatusRaw(text: string): void;
9
+ export declare function emitDevService(name: string, state: 'pending' | 'starting' | 'ready' | 'error', extra?: Record<string, unknown>): void;
10
+ export declare function emitDevReady(payload: Record<string, unknown>): void;
11
+ export declare function emitDevError(message: string): void;
12
+ //# sourceMappingURL=cli-events.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli-events.d.ts","sourceRoot":"","sources":["../../src/lib/cli-events.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAEtC,eAAO,MAAM,SAAS,uBAAqB,CAAC;AAE5C,wBAAgB,cAAc,IAAI,OAAO,CAExC;AAED,wBAAgB,kBAAkB,IAAI,IAAI,CAEzC;AAED,wBAAgB,mBAAmB,IAAI,IAAI,CAE1C;AAED,wBAAgB,YAAY,CAC1B,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,MAAM,EACX,IAAI,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,GAChC,IAAI,CAGN;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,GAAG,IAAI,CAGlF;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAGnD;AAED,wBAAgB,cAAc,CAC5B,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,SAAS,GAAG,UAAU,GAAG,OAAO,GAAG,OAAO,EACjD,KAAK,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GAClC,IAAI,CAGN;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAGnE;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAGlD"}
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.cliEvents = void 0;
4
+ exports.isInkDashboard = isInkDashboard;
5
+ exports.enableInkDashboard = enableInkDashboard;
6
+ exports.disableInkDashboard = disableInkDashboard;
7
+ exports.emitDevPhase = emitDevPhase;
8
+ exports.emitDevStatus = emitDevStatus;
9
+ exports.emitDevStatusRaw = emitDevStatusRaw;
10
+ exports.emitDevService = emitDevService;
11
+ exports.emitDevReady = emitDevReady;
12
+ exports.emitDevError = emitDevError;
13
+ const events_1 = require("events");
14
+ exports.cliEvents = new events_1.EventEmitter();
15
+ function isInkDashboard() {
16
+ return process.env.REACTPRESS_INK_DASHBOARD === '1';
17
+ }
18
+ function enableInkDashboard() {
19
+ process.env.REACTPRESS_INK_DASHBOARD = '1';
20
+ }
21
+ function disableInkDashboard() {
22
+ delete process.env.REACTPRESS_INK_DASHBOARD;
23
+ }
24
+ function emitDevPhase(step, total, key, vars = {}) {
25
+ if (!isInkDashboard())
26
+ return;
27
+ exports.cliEvents.emit('dev:phase', { step, total, key, vars });
28
+ }
29
+ function emitDevStatus(key, vars = {}) {
30
+ if (!isInkDashboard())
31
+ return;
32
+ exports.cliEvents.emit('dev:status', { key, vars });
33
+ }
34
+ function emitDevStatusRaw(text) {
35
+ if (!isInkDashboard())
36
+ return;
37
+ exports.cliEvents.emit('dev:status-raw', { text });
38
+ }
39
+ function emitDevService(name, state, extra = {}) {
40
+ if (!isInkDashboard())
41
+ return;
42
+ exports.cliEvents.emit('dev:service', { name, state, ...extra });
43
+ }
44
+ function emitDevReady(payload) {
45
+ if (!isInkDashboard())
46
+ return;
47
+ exports.cliEvents.emit('dev:ready', payload);
48
+ }
49
+ function emitDevError(message) {
50
+ if (!isInkDashboard())
51
+ return;
52
+ exports.cliEvents.emit('dev:error', { message });
53
+ }
54
+ //# sourceMappingURL=cli-events.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli-events.js","sourceRoot":"","sources":["../../src/lib/cli-events.ts"],"names":[],"mappings":";;;AAIA,wCAEC;AAED,gDAEC;AAED,kDAEC;AAED,oCAQC;AAED,sCAGC;AAED,4CAGC;AAED,wCAOC;AAED,oCAGC;AAED,oCAGC;AArDD,mCAAsC;AAEzB,QAAA,SAAS,GAAG,IAAI,qBAAY,EAAE,CAAC;AAE5C,SAAgB,cAAc;IAC5B,OAAO,OAAO,CAAC,GAAG,CAAC,wBAAwB,KAAK,GAAG,CAAC;AACtD,CAAC;AAED,SAAgB,kBAAkB;IAChC,OAAO,CAAC,GAAG,CAAC,wBAAwB,GAAG,GAAG,CAAC;AAC7C,CAAC;AAED,SAAgB,mBAAmB;IACjC,OAAO,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC;AAC9C,CAAC;AAED,SAAgB,YAAY,CAC1B,IAAY,EACZ,KAAa,EACb,GAAW,EACX,OAA+B,EAAE;IAEjC,IAAI,CAAC,cAAc,EAAE;QAAE,OAAO;IAC9B,iBAAS,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;AAC1D,CAAC;AAED,SAAgB,aAAa,CAAC,GAAW,EAAE,OAA+B,EAAE;IAC1E,IAAI,CAAC,cAAc,EAAE;QAAE,OAAO;IAC9B,iBAAS,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;AAC9C,CAAC;AAED,SAAgB,gBAAgB,CAAC,IAAY;IAC3C,IAAI,CAAC,cAAc,EAAE;QAAE,OAAO;IAC9B,iBAAS,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;AAC7C,CAAC;AAED,SAAgB,cAAc,CAC5B,IAAY,EACZ,KAAiD,EACjD,QAAiC,EAAE;IAEnC,IAAI,CAAC,cAAc,EAAE;QAAE,OAAO;IAC9B,iBAAS,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC;AAC3D,CAAC;AAED,SAAgB,YAAY,CAAC,OAAgC;IAC3D,IAAI,CAAC,cAAc,EAAE;QAAE,OAAO;IAC9B,iBAAS,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;AACvC,CAAC;AAED,SAAgB,YAAY,CAAC,OAAe;IAC1C,IAAI,CAAC,cAAc,EAAE;QAAE,OAAO;IAC9B,iBAAS,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;AAC3C,CAAC"}
@@ -0,0 +1,6 @@
1
+ export declare const QUICK_PICK_VALUES: string[];
2
+ export declare function filterCommandItems(items: any, query: any): any;
3
+ export declare function buildPaletteRows(items: any, filtered: any): any[];
4
+ export declare function getQuickPickEntries(items: any, values?: string[]): unknown[];
5
+ export declare function getPaletteFocusTarget(paletteOpen: any, query: any, items: any, focusIndex: any, quickPicks: any): any;
6
+ //# sourceMappingURL=command-palette.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command-palette.d.ts","sourceRoot":"","sources":["../../src/lib/command-palette.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,iBAAiB,UAAqC,CAAC;AAEpE,wBAAgB,kBAAkB,CAAC,KAAK,KAAA,EAAE,KAAK,KAAA,OAe9C;AAED,wBAAgB,gBAAgB,CAAC,KAAK,KAAA,EAAE,QAAQ,KAAA,SAY/C;AAED,wBAAgB,mBAAmB,CAAC,KAAK,KAAA,EAAE,MAAM,WAAoB,aAKpE;AAED,wBAAgB,qBAAqB,CAAC,WAAW,KAAA,EAAE,KAAK,KAAA,EAAE,KAAK,KAAA,EAAE,UAAU,KAAA,EAAE,UAAU,KAAA,OAOtF"}
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ // @ts-nocheck
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.QUICK_PICK_VALUES = void 0;
5
+ exports.filterCommandItems = filterCommandItems;
6
+ exports.buildPaletteRows = buildPaletteRows;
7
+ exports.getQuickPickEntries = getQuickPickEntries;
8
+ exports.getPaletteFocusTarget = getPaletteFocusTarget;
9
+ exports.QUICK_PICK_VALUES = ['dev', 'init', 'status', 'build'];
10
+ function filterCommandItems(items, query) {
11
+ const raw = String(query || '').replace(/^\//, '').trim().toLowerCase();
12
+ const entries = items.filter((e) => e.type === 'item');
13
+ if (!raw)
14
+ return entries;
15
+ return entries.filter((entry) => {
16
+ const haystack = [
17
+ entry.value,
18
+ entry.label,
19
+ entry.hint,
20
+ ...(entry.slash || []),
21
+ ]
22
+ .join(' ')
23
+ .toLowerCase();
24
+ return raw.split(/\s+/).every((token) => haystack.includes(token));
25
+ });
26
+ }
27
+ function buildPaletteRows(items, filtered) {
28
+ const rows = [];
29
+ let sectionTitle = '';
30
+ for (const entry of items) {
31
+ if (entry.type === 'section') {
32
+ sectionTitle = entry.title || '';
33
+ continue;
34
+ }
35
+ if (!filtered.some((f) => f.value === entry.value))
36
+ continue;
37
+ rows.push({ ...entry, sectionTitle });
38
+ }
39
+ return rows;
40
+ }
41
+ function getQuickPickEntries(items, values = exports.QUICK_PICK_VALUES) {
42
+ const map = new Map(items.filter((e) => e.type === 'item').map((e) => [e.value, e]));
43
+ return values.map((v) => map.get(v)).filter(Boolean);
44
+ }
45
+ function getPaletteFocusTarget(paletteOpen, query, items, focusIndex, quickPicks) {
46
+ if (!paletteOpen) {
47
+ return quickPicks[focusIndex] || null;
48
+ }
49
+ const filtered = filterCommandItems(items, query);
50
+ const rows = buildPaletteRows(items, filtered).slice(0, 12);
51
+ return rows[Math.min(focusIndex, Math.max(0, rows.length - 1))] || null;
52
+ }
53
+ //# sourceMappingURL=command-palette.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command-palette.js","sourceRoot":"","sources":["../../src/lib/command-palette.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=context-status.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context-status.d.ts","sourceRoot":"","sources":["../../src/lib/context-status.ts"],"names":[],"mappings":""}
@@ -0,0 +1,148 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ // @ts-nocheck
4
+ const fs = require('fs');
5
+ const path = require('path');
6
+ const { describeProject } = require('./project-type');
7
+ const { isDockerRunning } = require('./docker');
8
+ const { isNginxContainerRunning } = require('./nginx');
9
+ const { DEV_PORTS, readEnvPort, isPortListening, } = require('./ports');
10
+ const { loadServerSiteUrl, loadWebAdminUrl, isHttpResponding, checkHealth, getHealthUrl, } = require('./http');
11
+ const SERVICE_ORDER = ['sqlite', 'mysql', 'server', 'docker', 'nginx', 'web'];
12
+ function parseEnvFile(projectRoot) {
13
+ const envPath = path.join(projectRoot, '.env');
14
+ const env = {};
15
+ try {
16
+ if (!fs.existsSync(envPath))
17
+ return env;
18
+ for (const line of fs.readFileSync(envPath, 'utf8').split('\n')) {
19
+ const m = line.match(/^([A-Z_]+)=(.*)$/);
20
+ if (m)
21
+ env[m[1]] = m[2].trim().replace(/^['"]|['"]$/g, '');
22
+ }
23
+ }
24
+ catch {
25
+ // ignore
26
+ }
27
+ return env;
28
+ }
29
+ async function resolveDbType(projectRoot) {
30
+ try {
31
+ const { resolveDatabaseProfile } = require('../core/services/database/profile');
32
+ const profile = await resolveDatabaseProfile(projectRoot);
33
+ return profile.type;
34
+ }
35
+ catch {
36
+ const env = parseEnvFile(projectRoot);
37
+ if (String(env.DB_TYPE || '').toLowerCase() === 'sqlite')
38
+ return 'sqlite';
39
+ try {
40
+ const configPath = path.join(projectRoot, '.reactpress/config.json');
41
+ if (fs.existsSync(configPath)) {
42
+ const config = JSON.parse(fs.readFileSync(configPath, 'utf8'));
43
+ if (config.database && config.database.mode === 'embedded-sqlite')
44
+ return 'sqlite';
45
+ }
46
+ }
47
+ catch {
48
+ // ignore
49
+ }
50
+ return 'mysql';
51
+ }
52
+ }
53
+ async function probeMysql(projectRoot) {
54
+ const port = readEnvPort(projectRoot, 'DB_PORT', DEV_PORTS.MYSQL);
55
+ if (isPortListening(port))
56
+ return true;
57
+ try {
58
+ const mysql = require('mysql2/promise');
59
+ const env = parseEnvFile(projectRoot);
60
+ const conn = await mysql.createConnection({
61
+ host: env.DB_HOST || '127.0.0.1',
62
+ port: Number(env.DB_PORT || DEV_PORTS.MYSQL),
63
+ user: env.DB_USER || 'reactpress',
64
+ password: env.DB_PASSWD || env.DB_PASSWORD || 'reactpress',
65
+ database: env.DB_DATABASE || 'reactpress',
66
+ connectTimeout: 2000,
67
+ });
68
+ await conn.ping();
69
+ await conn.end();
70
+ return true;
71
+ }
72
+ catch {
73
+ return false;
74
+ }
75
+ }
76
+ async function probeSqlite(projectRoot) {
77
+ const { probeSqliteDatabase } = require('../core/services/database/sqlite');
78
+ const result = await probeSqliteDatabase(projectRoot);
79
+ return result.ok;
80
+ }
81
+ async function probeServer(projectRoot) {
82
+ const port = readEnvPort(projectRoot, 'SERVER_PORT', DEV_PORTS.API);
83
+ if (isPortListening(port))
84
+ return true;
85
+ const [httpOk, health] = await Promise.all([
86
+ isHttpResponding(loadServerSiteUrl(projectRoot), 1500),
87
+ checkHealth(getHealthUrl(projectRoot)),
88
+ ]);
89
+ return httpOk || health.ok;
90
+ }
91
+ async function probeWeb(projectRoot) {
92
+ const port = readEnvPort(projectRoot, 'WEB_ADMIN_PORT', DEV_PORTS.ADMIN_WEB);
93
+ if (isPortListening(port))
94
+ return true;
95
+ return isHttpResponding(loadWebAdminUrl(projectRoot), 1500);
96
+ }
97
+ function resolveServiceChecks(dbType) {
98
+ const dbId = dbType === 'sqlite' ? 'sqlite' : 'mysql';
99
+ return [dbId, 'server', 'docker', 'nginx', 'web'];
100
+ }
101
+ async function probeService(projectRoot, id) {
102
+ switch (id) {
103
+ case 'sqlite':
104
+ return probeSqlite(projectRoot);
105
+ case 'mysql':
106
+ return probeMysql(projectRoot);
107
+ case 'server':
108
+ return probeServer(projectRoot);
109
+ case 'docker':
110
+ return Promise.resolve(isDockerRunning());
111
+ case 'nginx':
112
+ return Promise.resolve(isNginxContainerRunning());
113
+ case 'web':
114
+ return probeWeb(projectRoot);
115
+ default:
116
+ return false;
117
+ }
118
+ }
119
+ async function emitProgress(onProgress, payload) {
120
+ if (!onProgress)
121
+ return;
122
+ onProgress(payload);
123
+ await new Promise((resolve) => setImmediate(resolve));
124
+ }
125
+ async function fetchContextStatus(projectRoot, { onProgress } = {}) {
126
+ const project = describeProject(projectRoot);
127
+ await emitProgress(onProgress, { phase: 'start', id: '__config' });
128
+ const dbType = await resolveDbType(projectRoot);
129
+ const ids = resolveServiceChecks(dbType);
130
+ await emitProgress(onProgress, { phase: 'ready', total: ids.length + 1 });
131
+ await emitProgress(onProgress, { phase: 'done', id: '__config' });
132
+ const components = await Promise.all(ids.map(async (id) => {
133
+ await emitProgress(onProgress, { phase: 'start', id });
134
+ const ok = await probeService(projectRoot, id);
135
+ await emitProgress(onProgress, { phase: 'done', id, ok });
136
+ return { id, ok };
137
+ }));
138
+ return { components, project, dbType };
139
+ }
140
+ module.exports = {
141
+ fetchContextStatus,
142
+ resolveServiceChecks,
143
+ resolveDbType,
144
+ parseEnvFile,
145
+ probeService,
146
+ SERVICE_ORDER,
147
+ };
148
+ //# sourceMappingURL=context-status.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context-status.js","sourceRoot":"","sources":["../../src/lib/context-status.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,38 @@
1
+ /** Shared visual tokens for legacy chalk UI and Ink shell. */
2
+ export declare const palette: {
3
+ readonly primary: "#7C5CFF";
4
+ readonly accent: "#22D3EE";
5
+ readonly pink: "#F472B6";
6
+ readonly green: "#22C55E";
7
+ readonly amber: "#F59E0B";
8
+ readonly red: "#EF4444";
9
+ readonly gray: "#6B7280";
10
+ readonly dim: "#9CA3AF";
11
+ readonly border: "#4A4580";
12
+ readonly surface: "#12152A";
13
+ readonly surfaceRaised: "#1A1F3A";
14
+ readonly ink: "#0B1220";
15
+ };
16
+ export declare const motion: {
17
+ readonly bootLogoMs: 90;
18
+ readonly bootMetaMs: 180;
19
+ readonly pulsePeriodMs: 800;
20
+ readonly shimmerMs: 1200;
21
+ readonly statusPollMs: 2000;
22
+ readonly transitionMs: 150;
23
+ readonly maxFps: 15;
24
+ };
25
+ export declare const layout: {
26
+ readonly cardPadX: 2;
27
+ readonly sectionGap: 1;
28
+ readonly shellPadX: 1;
29
+ readonly minContentWidth: 40;
30
+ readonly maxContentWidth: 96;
31
+ readonly stackBreakpoint: 68;
32
+ };
33
+ /** Per-line gradient pairs for the ASCII logo (from → to). */
34
+ export declare const logoGradients: ReadonlyArray<readonly [string, string]>;
35
+ export declare const TECH_LOGO: readonly ["██████╗ ███████╗ █████╗ ██████╗████████╗██████╗ ██████╗ ███████╗███████╗███████╗", "██╔══██╗██╔════╝██╔══██╗██╔════╝╚══██╔══╝██╔══██╗██╔══██╗██╔════╝██╔════╝██╔════╝", "██████╔╝█████╗ ███████║██║ ██║ ██████╔╝██████╔╝█████╗ ███████╗███████╗", "██╔══██╗██╔══╝ ██╔══██║██║ ██║ ██╔═══╝ ██╔══██╗██╔══╝ ╚════██║╚════██║", "██║ ██║███████╗██║ ██║╚██████╗ ██║ ██║ ██║ ██║███████╗███████║███████║", "╚═╝ ╚═╝╚══════╝╚═╝ ╚═╝ ╚═════╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝╚══════╝╚══════╝╚══════╝"];
36
+ export declare const REPO_URL = "https://github.com/fecommunity/reactpress";
37
+ export declare const REPO_DISPLAY = "github.com/fecommunity/reactpress";
38
+ //# sourceMappingURL=design-tokens.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"design-tokens.d.ts","sourceRoot":"","sources":["../../src/lib/design-tokens.ts"],"names":[],"mappings":"AAAA,8DAA8D;AAC9D,eAAO,MAAM,OAAO;;;;;;;;;;;;;CAaV,CAAC;AAEX,eAAO,MAAM,MAAM;;;;;;;;CAQT,CAAC;AAEX,eAAO,MAAM,MAAM;;;;;;;CAOT,CAAC;AAEX,8DAA8D;AAC9D,eAAO,MAAM,aAAa,EAAE,aAAa,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAOlE,CAAC;AAEF,eAAO,MAAM,SAAS,ygBAOZ,CAAC;AAEX,eAAO,MAAM,QAAQ,8CAA8C,CAAC;AACpE,eAAO,MAAM,YAAY,sCAAsC,CAAC"}
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.REPO_DISPLAY = exports.REPO_URL = exports.TECH_LOGO = exports.logoGradients = exports.layout = exports.motion = exports.palette = void 0;
4
+ /** Shared visual tokens for legacy chalk UI and Ink shell. */
5
+ exports.palette = {
6
+ primary: '#7C5CFF',
7
+ accent: '#22D3EE',
8
+ pink: '#F472B6',
9
+ green: '#22C55E',
10
+ amber: '#F59E0B',
11
+ red: '#EF4444',
12
+ gray: '#6B7280',
13
+ dim: '#9CA3AF',
14
+ border: '#4A4580',
15
+ surface: '#12152A',
16
+ surfaceRaised: '#1A1F3A',
17
+ ink: '#0B1220',
18
+ };
19
+ exports.motion = {
20
+ bootLogoMs: 90,
21
+ bootMetaMs: 180,
22
+ pulsePeriodMs: 800,
23
+ shimmerMs: 1200,
24
+ statusPollMs: 2000,
25
+ transitionMs: 150,
26
+ maxFps: 15,
27
+ };
28
+ exports.layout = {
29
+ cardPadX: 2,
30
+ sectionGap: 1,
31
+ shellPadX: 1,
32
+ minContentWidth: 40,
33
+ maxContentWidth: 96,
34
+ stackBreakpoint: 68,
35
+ };
36
+ /** Per-line gradient pairs for the ASCII logo (from → to). */
37
+ exports.logoGradients = [
38
+ [exports.palette.pink, exports.palette.primary],
39
+ [exports.palette.pink, exports.palette.primary],
40
+ [exports.palette.primary, exports.palette.accent],
41
+ [exports.palette.primary, exports.palette.accent],
42
+ [exports.palette.accent, exports.palette.primary],
43
+ [exports.palette.accent, exports.palette.primary],
44
+ ];
45
+ exports.TECH_LOGO = [
46
+ '██████╗ ███████╗ █████╗ ██████╗████████╗██████╗ ██████╗ ███████╗███████╗███████╗',
47
+ '██╔══██╗██╔════╝██╔══██╗██╔════╝╚══██╔══╝██╔══██╗██╔══██╗██╔════╝██╔════╝██╔════╝',
48
+ '██████╔╝█████╗ ███████║██║ ██║ ██████╔╝██████╔╝█████╗ ███████╗███████╗',
49
+ '██╔══██╗██╔══╝ ██╔══██║██║ ██║ ██╔═══╝ ██╔══██╗██╔══╝ ╚════██║╚════██║',
50
+ '██║ ██║███████╗██║ ██║╚██████╗ ██║ ██║ ██║ ██║███████╗███████║███████║',
51
+ '╚═╝ ╚═╝╚══════╝╚═╝ ╚═╝ ╚═════╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝╚══════╝╚══════╝╚══════╝',
52
+ ];
53
+ exports.REPO_URL = 'https://github.com/fecommunity/reactpress';
54
+ exports.REPO_DISPLAY = 'github.com/fecommunity/reactpress';
55
+ //# sourceMappingURL=design-tokens.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"design-tokens.js","sourceRoot":"","sources":["../../src/lib/design-tokens.ts"],"names":[],"mappings":";;;AAAA,8DAA8D;AACjD,QAAA,OAAO,GAAG;IACrB,OAAO,EAAE,SAAS;IAClB,MAAM,EAAE,SAAS;IACjB,IAAI,EAAE,SAAS;IACf,KAAK,EAAE,SAAS;IAChB,KAAK,EAAE,SAAS;IAChB,GAAG,EAAE,SAAS;IACd,IAAI,EAAE,SAAS;IACf,GAAG,EAAE,SAAS;IACd,MAAM,EAAE,SAAS;IACjB,OAAO,EAAE,SAAS;IAClB,aAAa,EAAE,SAAS;IACxB,GAAG,EAAE,SAAS;CACN,CAAC;AAEE,QAAA,MAAM,GAAG;IACpB,UAAU,EAAE,EAAE;IACd,UAAU,EAAE,GAAG;IACf,aAAa,EAAE,GAAG;IAClB,SAAS,EAAE,IAAI;IACf,YAAY,EAAE,IAAI;IAClB,YAAY,EAAE,GAAG;IACjB,MAAM,EAAE,EAAE;CACF,CAAC;AAEE,QAAA,MAAM,GAAG;IACpB,QAAQ,EAAE,CAAC;IACX,UAAU,EAAE,CAAC;IACb,SAAS,EAAE,CAAC;IACZ,eAAe,EAAE,EAAE;IACnB,eAAe,EAAE,EAAE;IACnB,eAAe,EAAE,EAAE;CACX,CAAC;AAEX,8DAA8D;AACjD,QAAA,aAAa,GAA6C;IACrE,CAAC,eAAO,CAAC,IAAI,EAAE,eAAO,CAAC,OAAO,CAAC;IAC/B,CAAC,eAAO,CAAC,IAAI,EAAE,eAAO,CAAC,OAAO,CAAC;IAC/B,CAAC,eAAO,CAAC,OAAO,EAAE,eAAO,CAAC,MAAM,CAAC;IACjC,CAAC,eAAO,CAAC,OAAO,EAAE,eAAO,CAAC,MAAM,CAAC;IACjC,CAAC,eAAO,CAAC,MAAM,EAAE,eAAO,CAAC,OAAO,CAAC;IACjC,CAAC,eAAO,CAAC,MAAM,EAAE,eAAO,CAAC,OAAO,CAAC;CAClC,CAAC;AAEW,QAAA,SAAS,GAAG;IACvB,mFAAmF;IACnF,mFAAmF;IACnF,mFAAmF;IACnF,mFAAmF;IACnF,mFAAmF;IACnF,mFAAmF;CAC3E,CAAC;AAEE,QAAA,QAAQ,GAAG,2CAA2C,CAAC;AACvD,QAAA,YAAY,GAAG,mCAAmC,CAAC"}
@@ -6,12 +6,16 @@ const { loadClientSiteUrl, loadWebAdminUrl, loadServerSiteUrl, getApiPrefix, get
6
6
  const { hasWeb } = require('./project-type');
7
7
  const { nginxEntryUrl } = require('./nginx');
8
8
  const { t } = require('./i18n');
9
+ function normalizeUrl(value, fallback) {
10
+ const raw = String(value || fallback || '').trim();
11
+ return raw.replace(/\/$/, '');
12
+ }
9
13
  function getDevUrls(projectRoot) {
10
- const client = loadClientSiteUrl(projectRoot).replace(/\/$/, '');
11
- const server = loadServerSiteUrl(projectRoot).replace(/\/$/, '');
12
- const prefix = getApiPrefix(projectRoot).replace(/\/$/, '') || '/api';
14
+ const client = normalizeUrl(loadClientSiteUrl(projectRoot), 'http://localhost:3001');
15
+ const server = normalizeUrl(loadServerSiteUrl(projectRoot), 'http://localhost:3002');
16
+ const prefix = normalizeUrl(getApiPrefix(projectRoot), '/api') || '/api';
13
17
  const admin = hasWeb(projectRoot)
14
- ? loadWebAdminUrl(projectRoot).replace(/\/$/, '')
18
+ ? normalizeUrl(loadWebAdminUrl(projectRoot), 'http://localhost:3000')
15
19
  : `${client}/admin`;
16
20
  return {
17
21
  site: client,
@@ -52,7 +56,8 @@ function printDevReadyBanner(projectRoot, { apiOnly = false, webOnly = false, de
52
56
  if (hasThemeSite) {
53
57
  console.log(urlLine(t('devBanner.site'), urls.site));
54
58
  }
55
- const healthUrl = localApiUrl.replace(/\/api\/?$/, '') + '/api/health';
59
+ const healthUrl = String(localApiUrl || '')
60
+ .replace(/\/api\/?$/, '') + '/api/health';
56
61
  console.log(urlLine(t('devBanner.health'), healthUrl, { underline: false }));
57
62
  console.log(` ${brand.muted(' ')}${brand.dim(t(localWeb ? 'devBanner.localWebHint' : 'devBanner.desktopLocalHint'))}`);
58
63
  }
@@ -1 +1 @@
1
- {"version":3,"file":"dev-banner.js","sourceRoot":"","sources":["../../src/lib/dev-banner.ts"],"names":[],"mappings":";;AAAA,cAAc;AACd,MAAM,EACJ,KAAK,EACL,IAAI,EACJ,EAAE,EACF,OAAO,EACP,QAAQ,EACR,aAAa,EACb,YAAY,EACZ,OAAO,EACP,QAAQ,EACR,YAAY,GACb,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;AAC3B,MAAM,EACJ,iBAAiB,EACjB,eAAe,EACf,iBAAiB,EACjB,YAAY,EACZ,YAAY,GACb,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;AACtB,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;AAC7C,MAAM,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;AAC7C,MAAM,EAAE,CAAC,EAAE,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;AAEhC,SAAS,UAAU,CAAC,WAAW;IAC7B,MAAM,MAAM,GAAG,iBAAiB,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACjE,MAAM,MAAM,GAAG,iBAAiB,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACjE,MAAM,MAAM,GAAG,YAAY,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC;IACtE,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,CAAC;QAC/B,CAAC,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;QACjD,CAAC,CAAC,GAAG,MAAM,QAAQ,CAAC;IACtB,OAAO;QACL,IAAI,EAAE,MAAM;QACZ,KAAK;QACL,GAAG,EAAE,GAAG,MAAM,GAAG,MAAM,EAAE;QACzB,OAAO,EAAE,GAAG,MAAM,GAAG,MAAM,EAAE;QAC7B,MAAM,EAAE,YAAY,CAAC,WAAW,CAAC;KAClC,CAAC;AACJ,CAAC;AAED,SAAS,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,SAAS,GAAG,IAAI,EAAE,GAAG,EAAE;IAClD,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;IAC9C,MAAM,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACvE,OAAO,KAAK,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,KAAK,KAAK,EAAE,CAAC;AACtD,CAAC;AAED,SAAS,mBAAmB,CAC1B,WAAW,EACX,EACE,OAAO,GAAG,KAAK,EACf,OAAO,GAAG,KAAK,EACf,OAAO,GAAG,KAAK,EACf,QAAQ,GAAG,KAAK,EAChB,KAAK,GAAG,KAAK,EACb,YAAY,GAAG,KAAK,EACpB,IAAI,GAAG,IAAI,EACX,cAAc,GAAG,IAAI,EACrB,eAAe,GAAG,IAAI,EACtB,WAAW,GAAG,IAAI,EAClB,MAAM,GAAG,IAAI,GACd,GAAG,EAAE;IAEN,MAAM,IAAI,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;IACrC,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;IAC5C,MAAM,QAAQ,GAAG,OAAO;QACtB,CAAC,CAAC,oBAAoB;QACtB,CAAC,CAAC,OAAO;YACP,CAAC,CAAC,wBAAwB;YAC1B,CAAC,CAAC,QAAQ;gBACR,CAAC,CAAC,yBAAyB;gBAC3B,CAAC,CAAC,OAAO;oBACP,CAAC,CAAC,oBAAoB;oBACtB,CAAC,CAAC,iBAAiB,CAAC;IAE5B,MAAM,kBAAkB,GAAG,OAAO,CAAC,CAAC,OAAO,IAAI,QAAQ,CAAC,IAAI,WAAW,CAAC,CAAC;IACzE,MAAM,MAAM,GAAG,kBAAkB,IAAI,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC;IAClE,MAAM,aAAa,GACjB,kBAAkB,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IAEhG,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CACT,KAAK,kBAAkB,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,aAAa,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,KAAK,YAAY,CAAC,MAAM,CAAC,EAAE,CAC9I,CAAC;IACF,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,OAAO,CAAC,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC;IAE7D,IAAI,kBAAkB,EAAE,CAAC;QACvB,MAAM,OAAO,GACX,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC;QACnF,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,oBAAoB,CAAC,EAAE,OAAO,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;QAC7E,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC;QACtD,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,iBAAiB,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QACvD,IAAI,YAAY,EAAE,CAAC;YACjB,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,gBAAgB,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACvD,CAAC;QACD,MAAM,SAAS,GAAG,WAAW,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,GAAG,aAAa,CAAC;QACvE,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,kBAAkB,CAAC,EAAE,SAAS,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;QAC7E,OAAO,CAAC,GAAG,CACT,KAAK,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,4BAA4B,CAAC,CAAC,EAAE,CAC5G,CAAC;IACJ,CAAC;SAAM,IAAI,KAAK,EAAE,CAAC;QACjB,MAAM,KAAK,GAAG,aAAa,CAAC,WAAW,CAAC,CAAC;QACzC,IAAI,CAAC,OAAO,IAAI,CAAC,YAAY,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3C,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,gBAAgB,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;QACnD,CAAC;QACD,IAAI,CAAC,OAAO,IAAI,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC;YACpC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,iBAAiB,CAAC,EAAE,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC;QAChE,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC,EAAE,GAAG,KAAK,MAAM,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;QAC/E,IAAI,eAAe,EAAE,CAAC;YACpB,OAAO,CAAC,GAAG,CACT,KAAK,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,2BAA2B,EAAE,EAAE,GAAG,EAAE,eAAe,EAAE,CAAC,CAAC,EAAE,CAC/F,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,EAAE,CAAC,CAAC;QAC9E,CAAC;QACD,IAAI,cAAc,EAAE,CAAC;YACnB,OAAO,CAAC,GAAG,CACT,KAAK,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,2BAA2B,EAAE,EAAE,GAAG,EAAE,cAAc,EAAE,CAAC,CAAC,EAAE,CAC9F,CAAC;QACJ,CAAC;IACH,CAAC;SAAM,CAAC;QACN,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,gBAAgB,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YACvD,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,iBAAiB,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QACzD,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QACnD,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,mBAAmB,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;QAC3D,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,kBAAkB,CAAC,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;IACjF,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACvC,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;QACnB,OAAO,CAAC,GAAG,CACT,KAAK,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC,KACvD,kBAAkB;YAChB,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC;YAC3C,CAAC,CAAC,IAAI;gBACJ,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC;gBAC5C,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAC5C,EAAE,CACH,CAAC;IACJ,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,OAAO,CAAC,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC;IAC7D,OAAO,CAAC,GAAG,CACT,KAAK,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,KAAK,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,EAAE,CACnG,CAAC;IACF,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAClB,CAAC;AAED,MAAM,CAAC,OAAO,GAAG,EAAE,UAAU,EAAE,mBAAmB,EAAE,CAAC"}
1
+ {"version":3,"file":"dev-banner.js","sourceRoot":"","sources":["../../src/lib/dev-banner.ts"],"names":[],"mappings":"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"}
package/out/lib/dev.js CHANGED
@@ -45,6 +45,23 @@ function isDesktopLocalMode() {
45
45
  function isLocalSqliteMode() {
46
46
  return process.env.REACTPRESS_LOCAL_MODE === '1' || isDesktopLocalMode();
47
47
  }
48
+ async function applyAutoLocalDevFallback(projectRoot, { needsLocalApi = true } = {}) {
49
+ if (!needsLocalApi)
50
+ return false;
51
+ if (isLocalSqliteMode())
52
+ return false;
53
+ if (process.env.REACTPRESS_FORCE_MYSQL === '1')
54
+ return false;
55
+ const docker = checkDocker();
56
+ const mysqlOk = docker.ok ? await probeMysqlHost(projectRoot) : false;
57
+ if (docker.ok && mysqlOk)
58
+ return false;
59
+ process.env.REACTPRESS_LOCAL_MODE = '1';
60
+ process.env.REACTPRESS_SKIP_NGINX = '1';
61
+ console.log('');
62
+ console.log(`[reactpress] ${t(docker.ok ? 'dev.autoLocalNoMysql' : 'dev.autoLocalNoDocker')}`);
63
+ return true;
64
+ }
48
65
  function desktopPhaseKey(defaultKey) {
49
66
  if (isLocalSqliteMode()) {
50
67
  const localMap = {
@@ -542,7 +559,7 @@ async function startDevStack(projectRoot, { webOnly = false, themeOnly = false,
542
559
  themeWait.then((ready) => {
543
560
  if (ready)
544
561
  logDevDetail('dev.themeReadyQuiet', { url: loadClientSiteUrl(projectRoot) });
545
- });
562
+ }).catch(() => { });
546
563
  }
547
564
  }
548
565
  if (readinessWaits.length > 1) {
@@ -609,6 +626,7 @@ async function runDevStartup(projectRoot, { webOnly = false, themeOnly = false,
609
626
  console.error(formatDevFailureHint());
610
627
  process.exit(1);
611
628
  }
629
+ await applyAutoLocalDevFallback(projectRoot, { needsLocalApi: apiOrigins.needsLocalApi });
612
630
  logDevPhase(1, 3, desktopPhaseKey('dev.phasePrerequisites'));
613
631
  assertDevPrerequisites();
614
632
  logDevPhase(2, 3, desktopPhaseKey('dev.phaseInfra'));
@@ -906,6 +924,7 @@ module.exports = {
906
924
  runDevStartup,
907
925
  buildToolkit,
908
926
  assertDevPrerequisites,
927
+ applyAutoLocalDevFallback,
909
928
  prepareDevInfrastructure,
910
929
  startDevStack,
911
930
  detectProjectType,