veryfront 0.1.1168 → 0.1.1170

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 (50) hide show
  1. package/esm/cli/commands/analyze-chunks/handler.js +2 -2
  2. package/esm/cli/commands/build/handler.js +2 -2
  3. package/esm/cli/commands/deploy/handler.js +2 -2
  4. package/esm/cli/commands/dev/command.d.ts.map +1 -1
  5. package/esm/cli/commands/dev/command.js +15 -1
  6. package/esm/cli/commands/dev/handler.d.ts.map +1 -1
  7. package/esm/cli/commands/dev/handler.js +3 -1
  8. package/esm/cli/commands/dev/log-controller.d.ts +6 -0
  9. package/esm/cli/commands/dev/log-controller.d.ts.map +1 -0
  10. package/esm/cli/commands/dev/log-controller.js +31 -0
  11. package/esm/cli/commands/doctor/handler.js +2 -2
  12. package/esm/cli/commands/generate/handler.js +2 -2
  13. package/esm/cli/commands/merge/handler.js +2 -2
  14. package/esm/cli/commands/pull/handler.js +2 -2
  15. package/esm/cli/commands/push/handler.js +2 -2
  16. package/esm/cli/commands/routes/handler.js +2 -2
  17. package/esm/cli/commands/serve/command.d.ts +29 -1
  18. package/esm/cli/commands/serve/command.d.ts.map +1 -1
  19. package/esm/cli/commands/serve/command.js +122 -33
  20. package/esm/cli/commands/serve/handler.d.ts.map +1 -1
  21. package/esm/cli/commands/serve/handler.js +13 -4
  22. package/esm/cli/commands/worker/command.js +2 -2
  23. package/esm/cli/help/formatters.js +1 -1
  24. package/esm/cli/shared/handler-utils.js +2 -2
  25. package/esm/cli/ui/components/shortcuts.d.ts.map +1 -1
  26. package/esm/cli/ui/components/shortcuts.js +7 -1
  27. package/esm/cli/ui/keyboard.d.ts +3 -0
  28. package/esm/cli/ui/keyboard.d.ts.map +1 -1
  29. package/esm/cli/ui/keyboard.js +5 -2
  30. package/esm/cli/utils/index.d.ts +3 -1
  31. package/esm/cli/utils/index.d.ts.map +1 -1
  32. package/esm/cli/utils/index.js +8 -9
  33. package/esm/deno.js +1 -1
  34. package/esm/src/routing/registry/registry.d.ts.map +1 -1
  35. package/esm/src/routing/registry/registry.js +7 -6
  36. package/esm/src/server/dev-server/request-handler.d.ts +1 -2
  37. package/esm/src/server/dev-server/request-handler.d.ts.map +1 -1
  38. package/esm/src/server/dev-server/request-handler.js +1 -4
  39. package/esm/src/server/dev-server/server.d.ts.map +1 -1
  40. package/esm/src/server/dev-server/server.js +4 -3
  41. package/esm/src/server/runtime-handler/index.d.ts.map +1 -1
  42. package/esm/src/server/runtime-handler/index.js +16 -6
  43. package/esm/src/utils/index.d.ts +1 -1
  44. package/esm/src/utils/index.d.ts.map +1 -1
  45. package/esm/src/utils/index.js +1 -1
  46. package/esm/src/utils/logger/logger.d.ts.map +1 -1
  47. package/esm/src/utils/logger/logger.js +2 -1
  48. package/esm/src/utils/version-constant.d.ts +1 -1
  49. package/esm/src/utils/version-constant.js +1 -1
  50. package/package.json +5 -5
@@ -4,7 +4,7 @@
4
4
  import { defineSchema, lazySchema } from "../../../src/schemas/index.js";
5
5
  import { cwd } from "../../../src/platform/index.js";
6
6
  import { analyzeChunksCommand } from "./command.js";
7
- import { showLogo } from "../../utils/index.js";
7
+ import { showHeader } from "../../utils/index.js";
8
8
  import { CommonArgs, createArgParser, parseArgsOrThrow } from "../../shared/args.js";
9
9
  const getAnalyzeChunksArgsSchema = defineSchema((v) => v.object({
10
10
  projectDir: v.string().default(""),
@@ -16,7 +16,7 @@ export const parseAnalyzeChunksArgs = createArgParser(AnalyzeChunksArgsSchema, {
16
16
  output: CommonArgs.output,
17
17
  });
18
18
  export async function handleAnalyzeChunksCommand(args) {
19
- showLogo();
19
+ showHeader();
20
20
  const data = parseArgsOrThrow(parseAnalyzeChunksArgs, "analyze-chunks", args);
21
21
  await analyzeChunksCommand({
22
22
  projectDir: data.projectDir || cwd(),
@@ -5,7 +5,7 @@ import { cliLogger, isVerbose, logSuccess } from "../../utils/index.js";
5
5
  import { cwd } from "../../../src/platform/index.js";
6
6
  import { CommonArgs, createArgParser, parseArgsOrThrow } from "../../shared/args.js";
7
7
  import { ensureCliBundlerContracts } from "../../shared/default-contracts.js";
8
- import { showLogo } from "../../utils/index.js";
8
+ import { showHeader } from "../../utils/index.js";
9
9
  import { ensureBuiltinContentProcessor } from "../../shared/ensure-content-processor.js";
10
10
  /**
11
11
  * Schema factory for build command arguments
@@ -43,7 +43,7 @@ export const parseBuildArgs = createArgParser(BuildArgsSchema, {
43
43
  dryRun: CommonArgs.dryRun,
44
44
  });
45
45
  export async function handleBuildCommand(args) {
46
- showLogo();
46
+ showHeader();
47
47
  const opts = parseArgsOrThrow(parseBuildArgs, "build", args);
48
48
  await ensureCliBundlerContracts();
49
49
  const projectDir = cwd();
@@ -2,9 +2,9 @@
2
2
  * Deploy command handler
3
3
  */
4
4
  import { deployCommand, parseDeployArgs } from "./command.js";
5
- import { showLogo } from "../../utils/index.js";
5
+ import { showHeader } from "../../utils/index.js";
6
6
  import { parseArgsOrThrow } from "../../shared/args.js";
7
7
  export async function handleDeployCommand(args) {
8
- showLogo();
8
+ showHeader();
9
9
  await deployCommand(parseArgsOrThrow(parseDeployArgs, "deploy", args));
10
10
  }
@@ -1 +1 @@
1
- {"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/dev/command.ts"],"names":[],"mappings":"AAAA;;GAEG;AAkBH,OAAO,EAAE,KAAK,YAAY,EAA2B,MAAM,qBAAqB,CAAC;AACjF,OAAO,EAAuB,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAE9E,OAAO,EAAe,KAAK,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAGjE,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,8EAA8E;IAC9E,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,MAAM,iBAAiB,GAAG,UAAU,CAAC;AAE3C,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IACrB,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IACpB,2DAA2D;IAC3D,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3B;AAQD,wBAAsB,cAAc,CAClC,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC;IAAE,QAAQ,EAAE,YAAY,GAAG,IAAI,CAAC;IAAC,QAAQ,EAAE,aAAa,EAAE,CAAA;CAAE,CAAC,CAQvE;AAED,wBAAgB,gCAAgC,CAC9C,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,aAAa,GACrB,WAAW,CAOb;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAwQzE"}
1
+ {"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/dev/command.ts"],"names":[],"mappings":"AAAA;;GAEG;AAmBH,OAAO,EAAE,KAAK,YAAY,EAA2B,MAAM,qBAAqB,CAAC;AACjF,OAAO,EAAuB,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAE9E,OAAO,EAAe,KAAK,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAIjE,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,8EAA8E;IAC9E,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,MAAM,iBAAiB,GAAG,UAAU,CAAC;AAE3C,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IACrB,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IACpB,2DAA2D;IAC3D,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3B;AAQD,wBAAsB,cAAc,CAClC,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC;IAAE,QAAQ,EAAE,YAAY,GAAG,IAAI,CAAC;IAAC,QAAQ,EAAE,aAAa,EAAE,CAAA;CAAE,CAAC,CAQvE;AAED,wBAAgB,gCAAgC,CAC9C,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,aAAa,GACrB,WAAW,CAOb;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAmRzE"}
@@ -10,8 +10,9 @@ import { getEnvironmentConfig } from "../../../src/config/index.js";
10
10
  import { startDevServer } from "../../../src/server/index.js";
11
11
  import { validateProviderConfig } from "../../../src/discovery/index.js";
12
12
  import { yellow } from "../../ui/index.js";
13
- import { exitProcess, registerTerminationSignals } from "../../utils/index.js";
13
+ import { exitProcess, isTTY, registerTerminationSignals } from "../../utils/index.js";
14
14
  import { brand, dim, error as errorColor } from "../../ui/index.js";
15
+ import { DEV_SHORTCUTS, shortcutsBlock } from "../../ui/components/shortcuts.js";
15
16
  import { applyRuntimeAuthContext, resolveLinkedProjectSlug } from "../../shared/runtime-auth.js";
16
17
  import { createKeyboardHandler } from "../../ui/keyboard.js";
17
18
  import { openBrowser } from "../../auth/browser.js";
@@ -22,6 +23,7 @@ import { fetchRemoteProjects } from "../../sync/index.js";
22
23
  import { pullCommand } from "../pull/index.js";
23
24
  import { pushCommand } from "../push/index.js";
24
25
  import { createProjectSelector } from "./project-selector.js";
26
+ import { createDevLogController } from "./log-controller.js";
25
27
  function authStatus(identity) {
26
28
  return isApiKeyIdentity(identity)
27
29
  ? "Authenticated with an API key"
@@ -218,8 +220,18 @@ export function devCommand(options) {
218
220
  }
219
221
  }
220
222
  if (!demoMode) {
223
+ const logs = createDevLogController();
221
224
  keyboardHandler = createKeyboardHandler({
225
+ onHelp: () => {
226
+ console.log();
227
+ console.log(shortcutsBlock(DEV_SHORTCUTS));
228
+ console.log();
229
+ },
222
230
  onOpen: () => void openBrowser(serverUrl),
231
+ onLogs: () => {
232
+ const verbose = logs.toggle();
233
+ console.log(` Verbose logs ${verbose ? brand("on") : "off"}`);
234
+ },
223
235
  onClear: () => console.clear(),
224
236
  onQuit: () => void shutdown(),
225
237
  onAuth: async () => {
@@ -258,6 +270,8 @@ export function devCommand(options) {
258
270
  },
259
271
  });
260
272
  keyboardHandler.start();
273
+ if (isTTY())
274
+ console.log(` ${brand("?")} shortcuts`);
261
275
  }
262
276
  return {
263
277
  ready: devServer.ready,
@@ -1 +1 @@
1
- {"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/dev/handler.ts"],"names":[],"mappings":"AAAA;;GAEG;AAWH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAexD,eAAO,MAAM,YAAY;;;;;;;GAOvB,CAAC;AAwBH,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAyBtE"}
1
+ {"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/dev/handler.ts"],"names":[],"mappings":"AAAA;;GAEG;AAWH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAexD,eAAO,MAAM,YAAY;;;;;;;GAOvB,CAAC;AAwBH,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CA2BtE"}
@@ -5,7 +5,7 @@ import { defineSchema, lazySchema } from "../../../src/schemas/index.js";
5
5
  import { isAbsolute, join } from "../../../src/platform/compat/path/index.js";
6
6
  import { cwd, setEnv } from "../../../src/platform/index.js";
7
7
  import { createFileSystem } from "../../../src/platform/index.js";
8
- import { cliLogger, DEFAULT_DEV_SERVER_PORT } from "../../utils/index.js";
8
+ import { cliLogger, DEFAULT_DEV_SERVER_PORT, showHeader } from "../../utils/index.js";
9
9
  import { refreshLoggerConfig } from "../../../src/utils/index.js";
10
10
  import { clearAllLocalCaches } from "../../../src/transforms/mdx/esm-module-loader/cache/index.js";
11
11
  import { createArgParser, parseArgsOrThrow } from "../../shared/args.js";
@@ -45,11 +45,13 @@ async function resolveProjectDir(projectArg) {
45
45
  }
46
46
  export async function handleDevCommand(args) {
47
47
  const opts = parseArgsOrThrow(parseDevArgs, "dev", args);
48
+ showHeader();
48
49
  await ensureCliBundlerContracts();
49
50
  const projectDir = await resolveProjectDir(opts.project);
50
51
  // Enable verbose logging when --debug flag is passed
51
52
  if (opts.debug) {
52
53
  setEnv("LOG_LEVEL", "DEBUG");
54
+ setEnv("VERYFRONT_DEBUG", "1");
53
55
  refreshLoggerConfig();
54
56
  }
55
57
  // Clear stale ESM caches to prevent module resolution issues from previous runs
@@ -0,0 +1,6 @@
1
+ export interface DevLogController {
2
+ isVerbose(): boolean;
3
+ toggle(): boolean;
4
+ }
5
+ export declare function createDevLogController(): DevLogController;
6
+ //# sourceMappingURL=log-controller.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"log-controller.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/dev/log-controller.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,gBAAgB;IAC/B,SAAS,IAAI,OAAO,CAAC;IACrB,MAAM,IAAI,OAAO,CAAC;CACnB;AAOD,wBAAgB,sBAAsB,IAAI,gBAAgB,CAyBzD"}
@@ -0,0 +1,31 @@
1
+ import { deleteEnv, getEnv, setEnv } from "../../../src/platform/index.js";
2
+ import { isTruthyEnvValue, refreshLoggerConfig } from "../../../src/utils/index.js";
3
+ function startsVerbose() {
4
+ const level = getEnv("LOG_LEVEL")?.toUpperCase();
5
+ return level === "DEBUG" || isTruthyEnvValue(getEnv("VERYFRONT_DEBUG"));
6
+ }
7
+ export function createDevLogController() {
8
+ let verbose = startsVerbose();
9
+ const initialLevel = getEnv("LOG_LEVEL");
10
+ const normalLevel = initialLevel?.toUpperCase() === "DEBUG" ? "INFO" : initialLevel;
11
+ return {
12
+ isVerbose: () => verbose,
13
+ toggle: () => {
14
+ verbose = !verbose;
15
+ if (verbose) {
16
+ setEnv("LOG_LEVEL", "DEBUG");
17
+ setEnv("VERYFRONT_DEBUG", "1");
18
+ }
19
+ else if (normalLevel === undefined) {
20
+ deleteEnv("LOG_LEVEL");
21
+ }
22
+ else {
23
+ setEnv("LOG_LEVEL", normalLevel);
24
+ }
25
+ if (!verbose)
26
+ deleteEnv("VERYFRONT_DEBUG");
27
+ refreshLoggerConfig();
28
+ return verbose;
29
+ },
30
+ };
31
+ }
@@ -4,7 +4,7 @@
4
4
  import { defineSchema, lazySchema } from "../../../src/schemas/index.js";
5
5
  import { cwd } from "../../../src/platform/index.js";
6
6
  import { doctorCommand } from "./index.js";
7
- import { showLogo } from "../../utils/index.js";
7
+ import { showHeader } from "../../utils/index.js";
8
8
  import { createArgParser, parseArgsOrThrow } from "../../shared/args.js";
9
9
  const getDoctorArgsSchema = defineSchema((v) => v.object({
10
10
  strict: v.boolean().default(false),
@@ -16,6 +16,6 @@ export const parseDoctorArgs = createArgParser(DoctorArgsSchema, {
16
16
  port: { keys: ["port", "p"], type: "number" },
17
17
  });
18
18
  export async function handleDoctorCommand(args) {
19
- showLogo();
19
+ showHeader();
20
20
  await doctorCommand(cwd(), parseArgsOrThrow(parseDoctorArgs, "doctor", args));
21
21
  }
@@ -3,7 +3,7 @@
3
3
  */
4
4
  import { defineSchema, lazySchema } from "../../../src/schemas/index.js";
5
5
  import { generateCommand } from "./index.js";
6
- import { showLogo } from "../../utils/index.js";
6
+ import { showHeader } from "../../utils/index.js";
7
7
  import { createArgParser } from "../../shared/args.js";
8
8
  import { cwd } from "../../../src/platform/index.js";
9
9
  import { SCAFFOLD_TYPES } from "../../scaffold/engine.js";
@@ -18,7 +18,7 @@ export const parseGenerateArgs = createArgParser(GenerateArgsSchema, {
18
18
  name: { keys: ["name"], type: "string", positional: 1 },
19
19
  });
20
20
  export async function handleGenerateCommand(args) {
21
- showLogo();
21
+ showHeader();
22
22
  const result = parseGenerateArgs(args);
23
23
  if (!result.success) {
24
24
  throw new Error(`Invalid arguments. Usage: veryfront generate <type> <name>\n\nValid types: ${VALID_TYPES.join(", ")}`);
@@ -2,9 +2,9 @@
2
2
  * Merge command handler
3
3
  */
4
4
  import { mergeCommand, parseMergeArgs } from "./command.js";
5
- import { showLogo } from "../../utils/index.js";
5
+ import { showHeader } from "../../utils/index.js";
6
6
  import { parseArgsOrThrow } from "../../shared/args.js";
7
7
  export async function handleMergeCommand(args) {
8
- showLogo();
8
+ showHeader();
9
9
  await mergeCommand(parseArgsOrThrow(parseMergeArgs, "merge", args));
10
10
  }
@@ -2,9 +2,9 @@
2
2
  * Pull command handler
3
3
  */
4
4
  import { parsePullArgs, pullCommand } from "./command.js";
5
- import { showLogo } from "../../utils/index.js";
5
+ import { showHeader } from "../../utils/index.js";
6
6
  import { parseArgsOrThrow } from "../../shared/args.js";
7
7
  export async function handlePullCommand(args) {
8
- showLogo();
8
+ showHeader();
9
9
  await pullCommand(parseArgsOrThrow(parsePullArgs, "pull", args));
10
10
  }
@@ -2,9 +2,9 @@
2
2
  * Push command handler
3
3
  */
4
4
  import { parsePushArgs, pushCommand } from "./command.js";
5
- import { showLogo } from "../../utils/index.js";
5
+ import { showHeader } from "../../utils/index.js";
6
6
  import { parseArgsOrThrow } from "../../shared/args.js";
7
7
  export async function handlePushCommand(args) {
8
- showLogo();
8
+ showHeader();
9
9
  await pushCommand(parseArgsOrThrow(parsePushArgs, "push", args));
10
10
  }
@@ -4,7 +4,7 @@
4
4
  import { defineSchema, lazySchema } from "../../../src/schemas/index.js";
5
5
  import { cwd } from "../../../src/platform/index.js";
6
6
  import { routesCommand } from "./command.js";
7
- import { showLogo } from "../../utils/index.js";
7
+ import { showHeader } from "../../utils/index.js";
8
8
  import { CommonArgs, createArgParser, parseArgsOrThrow } from "../../shared/args.js";
9
9
  const getRoutesArgsSchema = defineSchema((v) => v.object({
10
10
  projectDir: v.string().default(""),
@@ -16,7 +16,7 @@ export const parseRoutesArgs = createArgParser(RoutesArgsSchema, {
16
16
  json: { keys: ["json"], type: "boolean" },
17
17
  });
18
18
  export async function handleRoutesCommand(args) {
19
- showLogo();
19
+ showHeader();
20
20
  const data = parseArgsOrThrow(parseRoutesArgs, "routes", args);
21
21
  const projectDir = data.projectDir || cwd();
22
22
  await routesCommand(projectDir, { json: data.json });
@@ -1,3 +1,27 @@
1
+ type StartupErrorReporter = {
2
+ captureApplicationError: (error: unknown, context: {
3
+ boundary: string;
4
+ }) => string | undefined;
5
+ flushApplicationErrors: (timeoutMs?: number) => Promise<boolean>;
6
+ onReportingError?: (operation: "capture" | "flush", error: unknown) => void;
7
+ };
8
+ type StartupErrorReportingOptions = {
9
+ flushTimeoutMs?: number;
10
+ };
11
+ type ProductionServerDependencies = {
12
+ ensureBundlerContracts?: () => Promise<void>;
13
+ initializeErrorReporting?: () => Promise<unknown>;
14
+ loadSentryModule?: () => Promise<ProductionSentryModule>;
15
+ reporter?: StartupErrorReporter;
16
+ };
17
+ type ServeCommandDependencies = {
18
+ runProductionServer?: (options: ServeOptions) => Promise<void>;
19
+ };
20
+ type ProductionSentryModule = {
21
+ captureApplicationError: StartupErrorReporter["captureApplicationError"];
22
+ flushApplicationErrors: StartupErrorReporter["flushApplicationErrors"];
23
+ initializeSentryFromEnv: () => Promise<unknown>;
24
+ };
1
25
  export interface ServeOptions {
2
26
  mode: "combined" | "proxy" | "production";
3
27
  port: number;
@@ -7,5 +31,9 @@ export interface ServeOptions {
7
31
  binaryPath: string;
8
32
  debug: boolean;
9
33
  }
10
- export declare function serveCommand(options: ServeOptions): Promise<void>;
34
+ export declare function runWithStartupErrorReporting<T>(startup: () => Promise<T>, reporter: StartupErrorReporter, options?: StartupErrorReportingOptions): Promise<T>;
35
+ export declare function runProductionStartupWithErrorReporting<T>(startup: () => Promise<T>, reporter: StartupErrorReporter, ensureBundlerContracts?: () => Promise<void>, initializeObservability?: () => Promise<unknown>): Promise<T>;
36
+ export declare function runProductionServer(options: ServeOptions, dependencies?: ProductionServerDependencies): Promise<void>;
37
+ export declare function serveCommand(options: ServeOptions, dependencies?: ServeCommandDependencies): Promise<void>;
38
+ export {};
11
39
  //# sourceMappingURL=command.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/serve/command.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,UAAU,GAAG,OAAO,GAAG,YAAY,CAAC;IAC1C,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,OAAO,CAAC;CAChB;AAwGD,wBAAsB,YAAY,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAcvE"}
1
+ {"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/serve/command.ts"],"names":[],"mappings":"AAUA,KAAK,oBAAoB,GAAG;IAC1B,uBAAuB,EAAE,CACvB,KAAK,EAAE,OAAO,EACd,OAAO,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,KAC1B,MAAM,GAAG,SAAS,CAAC;IACxB,sBAAsB,EAAE,CAAC,SAAS,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACjE,gBAAgB,CAAC,EAAE,CACjB,SAAS,EAAE,SAAS,GAAG,OAAO,EAC9B,KAAK,EAAE,OAAO,KACX,IAAI,CAAC;CACX,CAAC;AAEF,KAAK,4BAA4B,GAAG;IAClC,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,KAAK,4BAA4B,GAAG;IAClC,sBAAsB,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7C,wBAAwB,CAAC,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IAClD,gBAAgB,CAAC,EAAE,MAAM,OAAO,CAAC,sBAAsB,CAAC,CAAC;IACzD,QAAQ,CAAC,EAAE,oBAAoB,CAAC;CACjC,CAAC;AAEF,KAAK,wBAAwB,GAAG;IAC9B,mBAAmB,CAAC,EAAE,CAAC,OAAO,EAAE,YAAY,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAChE,CAAC;AAEF,KAAK,sBAAsB,GAAG;IAC5B,uBAAuB,EAAE,oBAAoB,CAAC,yBAAyB,CAAC,CAAC;IACzE,sBAAsB,EAAE,oBAAoB,CAAC,wBAAwB,CAAC,CAAC;IACvE,uBAAuB,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;CACjD,CAAC;AAEF,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,UAAU,GAAG,OAAO,GAAG,YAAY,CAAC;IAC1C,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,OAAO,CAAC;CAChB;AAED,wBAAsB,4BAA4B,CAAC,CAAC,EAClD,OAAO,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACzB,QAAQ,EAAE,oBAAoB,EAC9B,OAAO,GAAE,4BAAiC,GACzC,OAAO,CAAC,CAAC,CAAC,CAqBZ;AAoCD,wBAAsB,sCAAsC,CAAC,CAAC,EAC5D,OAAO,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACzB,QAAQ,EAAE,oBAAoB,EAC9B,sBAAsB,GAAE,MAAM,OAAO,CAAC,IAAI,CAA6B,EACvE,uBAAuB,GAAE,MAAM,OAAO,CAAC,OAAO,CAA2B,GACxE,OAAO,CAAC,CAAC,CAAC,CAMZ;AAoED,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,YAAY,EACrB,YAAY,GAAE,4BAAiC,GAC9C,OAAO,CAAC,IAAI,CAAC,CAgFf;AAED,wBAAsB,YAAY,CAChC,OAAO,EAAE,YAAY,EACrB,YAAY,GAAE,wBAA6B,GAC1C,OAAO,CAAC,IAAI,CAAC,CAcf"}
@@ -1,11 +1,69 @@
1
1
  import { cwd } from "../../../src/platform/index.js";
2
2
  import { gracefullyShutdownProductionServer } from "../../../src/server/index.js";
3
3
  import { cliLogger } from "../../utils/index.js";
4
- import { exitProcess, registerTerminationSignals, showLogo } from "../../utils/index.js";
4
+ import { exitProcess, registerTerminationSignals, showHeader } from "../../utils/index.js";
5
5
  import { generateDefaultProjectId } from "../../utils/project.js";
6
6
  import { startCliProductionServer } from "../../shared/server-startup.js";
7
+ import { ensureCliBundlerContracts } from "../../shared/default-contracts.js";
8
+ const STARTUP_ERROR_FLUSH_TIMEOUT_MS = 2_000;
9
+ export async function runWithStartupErrorReporting(startup, reporter, options = {}) {
10
+ const flushTimeoutMs = options.flushTimeoutMs ?? STARTUP_ERROR_FLUSH_TIMEOUT_MS;
11
+ try {
12
+ return await startup();
13
+ }
14
+ catch (error) {
15
+ const reportingDeadline = Date.now() + flushTimeoutMs;
16
+ try {
17
+ reporter.captureApplicationError(error, { boundary: "process.startup" });
18
+ }
19
+ catch (reportingError) {
20
+ notifyReportingError(reporter, "capture", reportingError);
21
+ }
22
+ try {
23
+ await flushReporterWithDeadline(reporter, Math.max(0, reportingDeadline - Date.now()));
24
+ }
25
+ catch (reportingError) {
26
+ notifyReportingError(reporter, "flush", reportingError);
27
+ }
28
+ throw error;
29
+ }
30
+ }
31
+ function notifyReportingError(reporter, operation, error) {
32
+ try {
33
+ reporter.onReportingError?.(operation, error);
34
+ }
35
+ catch {
36
+ // Diagnostics must never replace the startup failure being reported.
37
+ }
38
+ }
39
+ async function flushReporterWithDeadline(reporter, timeoutMs) {
40
+ let timeoutId;
41
+ const flush = Promise.resolve()
42
+ .then(() => reporter.flushApplicationErrors(timeoutMs))
43
+ .catch((error) => {
44
+ notifyReportingError(reporter, "flush", error);
45
+ return false;
46
+ });
47
+ const deadline = new Promise((resolve) => {
48
+ timeoutId = setTimeout(() => resolve(false), timeoutMs);
49
+ });
50
+ try {
51
+ return await Promise.race([flush, deadline]);
52
+ }
53
+ finally {
54
+ if (timeoutId !== undefined)
55
+ clearTimeout(timeoutId);
56
+ }
57
+ }
58
+ export async function runProductionStartupWithErrorReporting(startup, reporter, ensureBundlerContracts = ensureCliBundlerContracts, initializeObservability = () => Promise.resolve()) {
59
+ return await runWithStartupErrorReporting(async () => {
60
+ await initializeObservability();
61
+ await ensureBundlerContracts();
62
+ return await startup();
63
+ }, reporter);
64
+ }
7
65
  async function runSplit(options) {
8
- showLogo();
66
+ showHeader();
9
67
  const { runSplitMode } = await import("./split-mode.js");
10
68
  const { DEFAULT_DEV_SERVER_PORT } = await import("../../utils/index.js");
11
69
  const proxyPort = options.port !== DEFAULT_DEV_SERVER_PORT ? options.port : 8080;
@@ -17,7 +75,7 @@ async function runSplit(options) {
17
75
  });
18
76
  }
19
77
  async function runProxy(options) {
20
- showLogo();
78
+ showHeader();
21
79
  cliLogger.info(`Starting proxy server on ${options.bindAddress}:${options.port}`);
22
80
  const { setEnv } = await import("../../../src/platform/index.js");
23
81
  setEnv("PORT", String(options.port));
@@ -28,32 +86,63 @@ async function runProxy(options) {
28
86
  // Keep the process alive (Deno.serve returns immediately in compiled binaries)
29
87
  await new Promise(() => { });
30
88
  }
31
- async function runProductionServer(options) {
32
- showLogo();
33
- const { captureApplicationError, flushApplicationErrors, initializeSentryFromEnv, } = await import("../../../src/observability/sentry.js");
34
- await initializeSentryFromEnv();
35
- const { clearAllLocalCaches } = await import("../../../src/transforms/mdx/esm-module-loader/cache/index.js");
36
- await clearAllLocalCaches();
37
- const { initializeOTLPWithApis } = await import("../../../src/observability/tracing/otlp-setup.js");
38
- const { initializeDistributedCaches } = await import("../../../src/cache/index.js");
39
- const { defaultDistributedCacheInitializers } = await import("../../../src/server/index.js");
40
- await Promise.allSettled([
41
- initializeOTLPWithApis(),
42
- initializeDistributedCaches(defaultDistributedCacheInitializers),
43
- ]);
44
- const projectDir = cwd();
45
- const shutdownController = new AbortController();
46
- const defaultProjectId = generateDefaultProjectId(projectDir);
47
- const server = await startCliProductionServer({
48
- projectDir,
49
- port: options.port,
50
- bindAddress: options.bindAddress,
51
- debug: options.debug,
52
- signal: shutdownController.signal,
53
- defaultProjectSlug: defaultProjectId,
54
- defaultProjectId,
55
- });
56
- await server.ready;
89
+ function createDeferredProductionStartupErrorReporter() {
90
+ let sentryModule;
91
+ return {
92
+ reporter: {
93
+ // If Sentry module acquisition fails, no remote transport exists yet.
94
+ // Preserve the acquisition failure and bound flush instead of adding a
95
+ // fallback reporter inside the startup path.
96
+ captureApplicationError: (error, context) => sentryModule?.captureApplicationError(error, context),
97
+ flushApplicationErrors: (timeoutMs) => sentryModule?.flushApplicationErrors(timeoutMs) ?? Promise.resolve(true),
98
+ onReportingError: (operation, error) => {
99
+ cliLogger.warn(`Error reporter failed to ${operation} production startup failure.`);
100
+ cliLogger.debug(`Error reporter ${operation} failure details:`, error);
101
+ },
102
+ },
103
+ setSentryModule: (loadedSentryModule) => {
104
+ sentryModule = loadedSentryModule;
105
+ },
106
+ };
107
+ }
108
+ function loadProductionSentryModule() {
109
+ return import("../../../src/observability/sentry.js");
110
+ }
111
+ export async function runProductionServer(options, dependencies = {}) {
112
+ showHeader();
113
+ const deferredReporter = createDeferredProductionStartupErrorReporter();
114
+ const reporter = dependencies.reporter ?? deferredReporter.reporter;
115
+ const initializeErrorReporting = dependencies.initializeErrorReporting ??
116
+ (async () => {
117
+ const sentryModule = await (dependencies.loadSentryModule ?? loadProductionSentryModule)();
118
+ deferredReporter.setSentryModule(sentryModule);
119
+ await sentryModule.initializeSentryFromEnv();
120
+ });
121
+ const { server, shutdownController } = await runProductionStartupWithErrorReporting(async () => {
122
+ const { clearAllLocalCaches } = await import("../../../src/transforms/mdx/esm-module-loader/cache/index.js");
123
+ await clearAllLocalCaches();
124
+ const { initializeOTLPWithApis } = await import("../../../src/observability/tracing/otlp-setup.js");
125
+ const { initializeDistributedCaches } = await import("../../../src/cache/index.js");
126
+ const { defaultDistributedCacheInitializers } = await import("../../../src/server/index.js");
127
+ await Promise.allSettled([
128
+ initializeOTLPWithApis(),
129
+ initializeDistributedCaches(defaultDistributedCacheInitializers),
130
+ ]);
131
+ const projectDir = cwd();
132
+ const shutdownController = new AbortController();
133
+ const defaultProjectId = generateDefaultProjectId(projectDir);
134
+ const server = await startCliProductionServer({
135
+ projectDir,
136
+ port: options.port,
137
+ bindAddress: options.bindAddress,
138
+ debug: options.debug,
139
+ signal: shutdownController.signal,
140
+ defaultProjectSlug: defaultProjectId,
141
+ defaultProjectId,
142
+ });
143
+ await server.ready;
144
+ return { server, shutdownController };
145
+ }, reporter, dependencies.ensureBundlerContracts ?? ensureCliBundlerContracts, initializeErrorReporting);
57
146
  let shuttingDown = false;
58
147
  const shutdown = async (signal) => {
59
148
  if (shuttingDown)
@@ -68,18 +157,18 @@ async function runProductionServer(options) {
68
157
  });
69
158
  }
70
159
  catch (error) {
71
- captureApplicationError(error, { boundary: "process.shutdown" });
160
+ reporter.captureApplicationError(error, { boundary: "process.shutdown" });
72
161
  cliLogger.warn("Error while shutting down production server:", error);
73
162
  }
74
163
  finally {
75
- await flushApplicationErrors();
164
+ await reporter.flushApplicationErrors();
76
165
  exitProcess(0);
77
166
  }
78
167
  };
79
168
  registerTerminationSignals(shutdown);
80
169
  await new Promise(() => { });
81
170
  }
82
- export async function serveCommand(options) {
171
+ export async function serveCommand(options, dependencies = {}) {
83
172
  if (options.splitMode) {
84
173
  await runSplit(options);
85
174
  return;
@@ -89,6 +178,6 @@ export async function serveCommand(options) {
89
178
  return;
90
179
  }
91
180
  if (options.mode === "production" || options.mode === "combined") {
92
- await runProductionServer(options);
181
+ await (dependencies.runProductionServer ?? runProductionServer)(options);
93
182
  }
94
183
  }
@@ -1 +1 @@
1
- {"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/serve/handler.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAyBxD,QAAA,MAAM,kBAAkB;;;;;;;;GAQtB,CAAC;AAEH,eAAO,MAAM,cAAc,EAAE,OAAO,kBAgBnC,CAAC;AAEF,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAaxE"}
1
+ {"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/serve/handler.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAgCxD,QAAA,MAAM,kBAAkB;;;;;;;;GAQtB,CAAC;AAEH,eAAO,MAAM,cAAc,EAAE,OAAO,kBAgBnC,CAAC;AAEF,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAexE"}
@@ -1,12 +1,19 @@
1
1
  import { defineSchema, lazySchema } from "../../../src/schemas/index.js";
2
- import { getEnv, getEnvNumber } from "../../../src/platform/compat/process.js";
2
+ import { getEnv } from "../../../src/platform/index.js";
3
3
  import { DEFAULT_DEV_SERVER_PORT } from "../../utils/index.js";
4
4
  import { ServerModeSchema } from "../../shared/types.js";
5
5
  import { createArgParser, parseArgsOrThrow } from "../../shared/args.js";
6
6
  import { ensureCliBundlerContracts } from "../../shared/default-contracts.js";
7
+ function readPortEnv(name, fallback) {
8
+ const value = getEnv(name);
9
+ if (value === undefined)
10
+ return fallback;
11
+ const port = Number.parseInt(value, 10);
12
+ return Number.isNaN(port) ? fallback : port;
13
+ }
7
14
  function getDefaultServePort() {
8
- const veryfrontPort = getEnvNumber("VERYFRONT_PORT", DEFAULT_DEV_SERVER_PORT);
9
- return getEnvNumber("PORT", veryfrontPort);
15
+ const veryfrontPort = readPortEnv("VERYFRONT_PORT", DEFAULT_DEV_SERVER_PORT);
16
+ return readPortEnv("PORT", veryfrontPort);
10
17
  }
11
18
  function getDefaultBindAddress() {
12
19
  return getEnv("BIND_ADDRESS")?.trim() || "0.0.0.0";
@@ -49,7 +56,9 @@ export const parseServeArgs = (args) => {
49
56
  };
50
57
  export async function handleServeCommand(args) {
51
58
  const opts = parseArgsOrThrow(parseServeArgs, "serve", args);
52
- await ensureCliBundlerContracts();
59
+ if (opts.split || opts.mode === "proxy") {
60
+ await ensureCliBundlerContracts();
61
+ }
53
62
  const { serveCommand } = await import("./command.js");
54
63
  await serveCommand({
55
64
  mode: opts.mode,
@@ -6,9 +6,9 @@
6
6
  * runs with its own tenant context captured at workflow creation time.
7
7
  */
8
8
  import { cliLogger } from "../../utils/index.js";
9
- import { exitProcess, registerTerminationSignals, showLogo } from "../../utils/index.js";
9
+ import { exitProcess, registerTerminationSignals, showHeader } from "../../utils/index.js";
10
10
  export async function workerCommand(options) {
11
- showLogo();
11
+ showHeader();
12
12
  const { WorkflowRunManager } = await import("../../../src/workflow/worker/run-manager.js");
13
13
  const { ProcessRunExecutor } = await import("../../../src/workflow/worker/executors/process.js");
14
14
  const { RedisBackend } = await import("../../../src/workflow/backends/redis.js");
@@ -1,7 +1,7 @@
1
1
  import { VERSION } from "../utils/index.js";
2
2
  import { bold, brand, dim, muted } from "../ui/colors.js";
3
3
  export function formatHeader() {
4
- return `${bold(brand("Veryfront"))} ${dim(VERSION)}`;
4
+ return `${bold("Veryfront")} ${dim(`(v${VERSION})`)}`;
5
5
  }
6
6
  export function formatCommandName(name, paddingLength) {
7
7
  return brand(name.padEnd(paddingLength + 2));
@@ -1,8 +1,8 @@
1
1
  import { cwd } from "../../src/platform/index.js";
2
2
  import { parseArgsOrThrow } from "./args.js";
3
- import { showLogo } from "../utils/index.js";
3
+ import { showHeader } from "../utils/index.js";
4
4
  export async function handleProjectDirCommand(args, parser, commandName, command) {
5
- showLogo();
5
+ showHeader();
6
6
  const data = parseArgsOrThrow(parser, commandName, args);
7
7
  await command({ ...data, projectDir: data.projectDir || cwd() });
8
8
  }
@@ -1 +1 @@
1
- {"version":3,"file":"shortcuts.d.ts","sourceRoot":"","sources":["../../../../src/cli/ui/components/shortcuts.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,QAAQ;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;CACf;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,MAAM,CAEnD;AAED,eAAO,MAAM,aAAa,EAAE,QAAQ,EAInC,CAAC;AAEF,wBAAgB,YAAY,IAAI,MAAM,CAErC;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,MAAM,SAAc,GAAG,MAAM,CAQ9E"}
1
+ {"version":3,"file":"shortcuts.d.ts","sourceRoot":"","sources":["../../../../src/cli/ui/components/shortcuts.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,QAAQ;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;CACf;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,MAAM,CAEnD;AAED,eAAO,MAAM,aAAa,EAAE,QAAQ,EAUnC,CAAC;AAEF,wBAAgB,YAAY,IAAI,MAAM,CAErC;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,MAAM,SAAc,GAAG,MAAM,CAQ9E"}
@@ -1,9 +1,15 @@
1
1
  import { brand, dim } from "../colors.js";
2
2
  export function shortcuts(items) {
3
- return ` ${items.map(({ key, label }) => `${dim(key)} ${label}`).join(" ")}`;
3
+ return ` ${items.map(({ key, label }) => `${brand(key)} ${label}`).join(" ")}`;
4
4
  }
5
5
  export const DEV_SHORTCUTS = [
6
+ { key: "?", label: "shortcuts" },
6
7
  { key: "o", label: "open" },
8
+ { key: "l", label: "verbose logs" },
9
+ { key: "s", label: "projects" },
10
+ { key: "p", label: "pull" },
11
+ { key: "u", label: "push" },
12
+ { key: "a", label: "account" },
7
13
  { key: "c", label: "clear" },
8
14
  { key: "q", label: "quit" },
9
15
  ];
@@ -11,6 +11,8 @@ export interface KeyboardHandler {
11
11
  stop(): void;
12
12
  }
13
13
  export interface KeyboardOptions {
14
+ /** Handler for '?' key - show shortcuts */
15
+ onHelp?: () => void;
14
16
  /** Handler for 'o' key - open in browser */
15
17
  onOpen?: () => void;
16
18
  /** Handler for 'c' key - clear console */
@@ -30,6 +32,7 @@ export interface KeyboardOptions {
30
32
  /** Handler for 'u' key - push */
31
33
  onPush?: () => void;
32
34
  }
35
+ export declare function dispatchKeyPress(key: string, options: KeyboardOptions): void;
33
36
  /**
34
37
  * Create a keyboard handler for the current runtime
35
38
  * Uses platform abstractions that work across Deno, Node.js, and Bun
@@ -1 +1 @@
1
- {"version":3,"file":"keyboard.d.ts","sourceRoot":"","sources":["../../../src/cli/ui/keyboard.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,MAAM,WAAW,eAAe;IAC9B,yCAAyC;IACzC,KAAK,IAAI,IAAI,CAAC;IACd,0CAA0C;IAC1C,IAAI,IAAI,IAAI,CAAC;CACd;AAED,MAAM,WAAW,eAAe;IAC9B,4CAA4C;IAC5C,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,0CAA0C;IAC1C,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,iCAAiC;IACjC,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,kCAAkC;IAClC,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B,uCAAuC;IACvC,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,0CAA0C;IAC1C,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,wCAAwC;IACxC,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,iCAAiC;IACjC,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,iCAAiC;IACjC,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;CACrB;AA8FD;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,eAAe,GAAG,eAAe,CAG/E"}
1
+ {"version":3,"file":"keyboard.d.ts","sourceRoot":"","sources":["../../../src/cli/ui/keyboard.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,MAAM,WAAW,eAAe;IAC9B,yCAAyC;IACzC,KAAK,IAAI,IAAI,CAAC;IACd,0CAA0C;IAC1C,IAAI,IAAI,IAAI,CAAC;CACd;AAED,MAAM,WAAW,eAAe;IAC9B,2CAA2C;IAC3C,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,4CAA4C;IAC5C,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,0CAA0C;IAC1C,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,iCAAiC;IACjC,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,kCAAkC;IAClC,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B,uCAAuC;IACvC,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,0CAA0C;IAC1C,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,wCAAwC;IACxC,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,iCAAiC;IACjC,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,iCAAiC;IACjC,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,GAAG,IAAI,CAmC5E;AA4DD;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,eAAe,GAAG,eAAe,CAG/E"}
@@ -6,12 +6,15 @@
6
6
  */
7
7
  import { isStdoutTTY } from "../../src/platform/index.js";
8
8
  import { getStdinReader, setRawMode } from "../../src/platform/index.js";
9
- function handleKeyPress(key, options) {
9
+ export function dispatchKeyPress(key, options) {
10
10
  if (key >= "1" && key <= "9") {
11
11
  options.onNumber?.(Number.parseInt(key, 10));
12
12
  return;
13
13
  }
14
14
  switch (key.toLowerCase()) {
15
+ case "?":
16
+ options.onHelp?.();
17
+ return;
15
18
  case "o":
16
19
  options.onOpen?.();
17
20
  return;
@@ -59,7 +62,7 @@ function createPlatformHandler(options) {
59
62
  options.onQuit?.();
60
63
  return;
61
64
  }
62
- handleKeyPress(String.fromCharCode(byte), options);
65
+ dispatchKeyPress(String.fromCharCode(byte), options);
63
66
  }
64
67
  catch {
65
68
  return;
@@ -11,7 +11,9 @@ export declare const VERSION: string;
11
11
  export declare const DEFAULT_DEV_SERVER_PORT = 3000;
12
12
  export declare function formatBytes(bytes: number): string;
13
13
  export declare function isTTY(): boolean;
14
- export declare function showLogo(): void;
14
+ export declare function showHeader(): void;
15
+ /** @deprecated Use {@link showHeader}. */
16
+ export declare const showLogo: typeof showHeader;
15
17
  export declare function logSuccess(message: string): void;
16
18
  export declare function logError(message: string): void;
17
19
  export declare function logWarning(message: string): void;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cli/utils/index.ts"],"names":[],"mappings":"AAwBA,KAAK,YAAY,GAAG,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;AAMjD,eAAO,MAAM,SAAS,EAAE;IACtB,KAAK,EAAE,YAAY,CAAC;IACpB,IAAI,EAAE,YAAY,CAAC;IACnB,IAAI,EAAE,YAAY,CAAC;IACnB,KAAK,EAAE,YAAY,CAAC;IACpB,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,SAAS,CAAC;IAC/D,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,SAAS,CAAC;CAYhD,CAAC;AAEF,eAAO,MAAM,OAAO,QAAwE,CAAC;AAC7F,eAAO,MAAM,uBAAuB,OAAmB,CAAC;AAExD,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAqBjD;AAED,wBAAgB,KAAK,IAAI,OAAO,CAE/B;AAED,wBAAgB,QAAQ,IAAI,IAAI,CAS/B;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAEhD;AAED,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAE9C;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAEhD;AAED,wBAAgB,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAE7C;AAED,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,CAAC,MAAM,EAAE,QAAQ,GAAG,SAAS,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GAC9D,IAAI,CAmBN;AAKD,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAGrD;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAGnD;AAED,wBAAgB,SAAS,IAAI,OAAO,CAEnC;AAED,wBAAgB,OAAO,IAAI,OAAO,CAEjC;AAED,wBAAsB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAcjE;AAOD;;;GAGG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAuCtD;AAED,wBAAsB,aAAa,CACjC,OAAO,EAAE,MAAM,EACf,YAAY,UAAQ,GACnB,OAAO,CAAC,OAAO,CAAC,CAoBlB;AAED,wBAAgB,4BAA4B,CAAC,OAAO,EAAE;IACpD,WAAW,EAAE,OAAO,CAAC;IACrB,SAAS,EAAE,OAAO,CAAC;CACpB,GAAG,IAAI,CAOP;AAED,4CAA4C;AAC5C,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAE9C"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cli/utils/index.ts"],"names":[],"mappings":"AAkBA,KAAK,YAAY,GAAG,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;AAMjD,eAAO,MAAM,SAAS,EAAE;IACtB,KAAK,EAAE,YAAY,CAAC;IACpB,IAAI,EAAE,YAAY,CAAC;IACnB,IAAI,EAAE,YAAY,CAAC;IACnB,KAAK,EAAE,YAAY,CAAC;IACpB,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,SAAS,CAAC;IAC/D,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,SAAS,CAAC;CAYhD,CAAC;AAEF,eAAO,MAAM,OAAO,QAAwE,CAAC;AAC7F,eAAO,MAAM,uBAAuB,OAAmB,CAAC;AAExD,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAqBjD;AAED,wBAAgB,KAAK,IAAI,OAAO,CAE/B;AAED,wBAAgB,UAAU,IAAI,IAAI,CAGjC;AAED,0CAA0C;AAC1C,eAAO,MAAM,QAAQ,mBAAa,CAAC;AAEnC,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAEhD;AAED,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAE9C;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAEhD;AAED,wBAAgB,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAE7C;AAED,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,CAAC,MAAM,EAAE,QAAQ,GAAG,SAAS,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GAC9D,IAAI,CAmBN;AAKD,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAGrD;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAGnD;AAED,wBAAgB,SAAS,IAAI,OAAO,CAEnC;AAED,wBAAgB,OAAO,IAAI,OAAO,CAEjC;AAED,wBAAsB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAcjE;AAOD;;;GAGG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAuCtD;AAED,wBAAsB,aAAa,CACjC,OAAO,EAAE,MAAM,EACf,YAAY,UAAQ,GACnB,OAAO,CAAC,OAAO,CAAC,CAoBlB;AAED,wBAAgB,4BAA4B,CAAC,OAAO,EAAE;IACpD,WAAW,EAAE,OAAO,CAAC;IACrB,SAAS,EAAE,OAAO,CAAC;CACpB,GAAG,IAAI,CAOP;AAED,4CAA4C;AAC5C,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAE9C"}
@@ -1,15 +1,16 @@
1
1
  import denoConfig from "../../deno.js";
2
2
  import { INVALID_ARGUMENT } from "../../src/errors/index.js";
3
3
  import { exit, getEnv, isStdoutTTY, onSignal, promptSync, readStdinByteSync, readStdinLine, setRawMode, writeStdout, } from "../../src/platform/index.js";
4
+ import { isTruthyEnvValue } from "../../src/utils/index.js";
4
5
  import { DEFAULT_DEV_PORT } from "../shared/constants.js";
5
- import { bold, brand, dim, error as errorColor, shouldUseColor, warning as warningColor, } from "../ui/colors.js";
6
+ import { bold, dim, error as errorColor, warning as warningColor } from "../ui/colors.js";
6
7
  import { isJsonMode } from "../shared/json-output.js";
7
8
  function debugEnabled() {
8
- return _verboseMode || getEnv("VERYFRONT_DEBUG") === "1";
9
+ return _verboseMode || isTruthyEnvValue(getEnv("VERYFRONT_DEBUG"));
9
10
  }
10
11
  export const cliLogger = {
11
12
  debug: (...args) => {
12
- if (!debugEnabled())
13
+ if (isJsonMode() || !debugEnabled())
13
14
  return;
14
15
  console.debug(...args);
15
16
  },
@@ -44,15 +45,13 @@ export function formatBytes(bytes) {
44
45
  export function isTTY() {
45
46
  return isStdoutTTY();
46
47
  }
47
- export function showLogo() {
48
+ export function showHeader() {
48
49
  if (isJsonMode())
49
50
  return;
50
- if (!shouldUseColor()) {
51
- cliLogger.info(`Veryfront ${VERSION}\n`);
52
- return;
53
- }
54
- cliLogger.info(`${bold(brand("Veryfront"))} ${dim(VERSION)}\n`);
51
+ cliLogger.info(`${bold("Veryfront")} ${dim(`(v${VERSION})`)}\n`);
55
52
  }
53
+ /** @deprecated Use {@link showHeader}. */
54
+ export const showLogo = showHeader;
56
55
  export function logSuccess(message) {
57
56
  console.log(` ✓ ${message}`);
58
57
  }
package/esm/deno.js CHANGED
@@ -1,6 +1,6 @@
1
1
  export default {
2
2
  "name": "veryfront",
3
- "version": "0.1.1168",
3
+ "version": "0.1.1170",
4
4
  "license": "Apache-2.0",
5
5
  "nodeModulesDir": "auto",
6
6
  "minimumDependencyAge": {
@@ -1 +1 @@
1
- {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../../src/src/routing/registry/registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAO/E,KAAK,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;AAEhE,wBAAgB,gCAAgC,CAC9C,GAAG,EAAE,OAAO,EACZ,GAAG,EAAE,GAAG,EACR,GAAG,EAAE,cAAc,GAClB,cAAc,CAyBhB;AAED,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAiB;IACjC,OAAO,CAAC,MAAM,CAAsB;gBAExB,MAAM,GAAE,mBAAwB;IAQ5C,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAahC,WAAW,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,IAAI;IAOtC,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IAoFpE,WAAW,IAAI,aAAa,CAAC,OAAO,CAAC;IAIrC,KAAK,IAAI,IAAI;IAKb,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAK1B,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAI1B,QAAQ,IAAI;QACV,aAAa,EAAE,MAAM,CAAC;QACtB,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC3C,YAAY,EAAE,MAAM,EAAE,CAAC;KACxB;CAeF"}
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../../src/src/routing/registry/registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAO/E,KAAK,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;AAEhE,wBAAgB,gCAAgC,CAC9C,GAAG,EAAE,OAAO,EACZ,GAAG,EAAE,GAAG,EACR,GAAG,EAAE,cAAc,GAClB,cAAc,CAyBhB;AAED,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAiB;IACjC,OAAO,CAAC,MAAM,CAAsB;gBAExB,MAAM,GAAE,mBAAwB;IAQ5C,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAahC,WAAW,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,IAAI;IAOtC,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IAqFpE,WAAW,IAAI,aAAa,CAAC,OAAO,CAAC;IAIrC,KAAK,IAAI,IAAI;IAKb,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAK1B,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAI1B,QAAQ,IAAI;QACV,aAAa,EAAE,MAAM,CAAC;QACtB,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC3C,YAAY,EAAE,MAAM,EAAE,CAAC;KACxB;CAeF"}
@@ -50,15 +50,16 @@ export class RouteRegistry {
50
50
  }
51
51
  execute(req, ctx) {
52
52
  const url = new URL(req.url);
53
+ const debug = Boolean(this.config.debug || ctx.debug);
53
54
  return withSpan("routing.registry.execute", async () => {
54
55
  const startTime = Date.now();
55
- if (this.config.debug) {
56
+ if (debug) {
56
57
  logger.debug(`Processing ${req.method} ${url.pathname}`);
57
58
  }
58
59
  for (const handler of this.handlers) {
59
60
  try {
60
61
  if (handler.metadata.enabled && !handler.metadata.enabled(ctx)) {
61
- if (this.config.debug) {
62
+ if (debug) {
62
63
  serverLogger.debug(`[RouteRegistry] Skipping disabled handler: ${handler.metadata.name}`);
63
64
  }
64
65
  continue;
@@ -69,17 +70,17 @@ export class RouteRegistry {
69
70
  // The outer routing.registry.execute span captures total routing time.
70
71
  const result = await handler.handle(req, ctx);
71
72
  const handlerTime = Date.now() - handlerStart;
72
- if (this.config.debug && this.config.enableMetrics) {
73
+ if (debug && this.config.enableMetrics) {
73
74
  serverLogger.debug(`[RouteRegistry] Handler ${handler.metadata.name} took ${handlerTime}ms`);
74
75
  }
75
76
  if (result.response) {
76
- if (this.config.debug) {
77
+ if (debug) {
77
78
  serverLogger.debug(`[RouteRegistry] Response from ${handler.metadata.name} (total: ${Date.now() - startTime}ms)`);
78
79
  }
79
80
  return result.response;
80
81
  }
81
82
  if (!result.continue) {
82
- if (this.config.debug) {
83
+ if (debug) {
83
84
  serverLogger.debug(`[RouteRegistry] Chain stopped by ${handler.metadata.name} without response`);
84
85
  }
85
86
  break;
@@ -98,7 +99,7 @@ export class RouteRegistry {
98
99
  return errorToRFC9457Response(error, ctx, req);
99
100
  }
100
101
  }
101
- if (this.config.debug) {
102
+ if (debug) {
102
103
  serverLogger.debug(`[RouteRegistry] No handler matched (total: ${Date.now() - startTime}ms)`);
103
104
  }
104
105
  return null;
@@ -4,13 +4,12 @@ export declare class RequestHandler {
4
4
  private projectDir;
5
5
  private adapter;
6
6
  private isReady;
7
- private isDebug;
8
7
  private config?;
9
8
  private defaultProjectSlug?;
10
9
  private defaultProjectId?;
11
10
  private localProjects?;
12
11
  private runtimeHandler?;
13
- constructor(projectDir: string, adapter: RuntimeAdapter, isReady: () => boolean, isDebug: () => boolean, config?: VeryfrontConfig | undefined, defaultProjectSlug?: string | undefined, defaultProjectId?: string | undefined, localProjects?: Record<string, string> | undefined);
12
+ constructor(projectDir: string, adapter: RuntimeAdapter, isReady: () => boolean, config?: VeryfrontConfig | undefined, defaultProjectSlug?: string | undefined, defaultProjectId?: string | undefined, localProjects?: Record<string, string> | undefined);
14
13
  handleRequest(req: Request): Promise<Response>;
15
14
  private logRequest;
16
15
  private handleHealthCheck;
@@ -1 +1 @@
1
- {"version":3,"file":"request-handler.d.ts","sourceRoot":"","sources":["../../../../src/src/server/dev-server/request-handler.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAY7D,qBAAa,cAAc;IAIvB,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,MAAM,CAAC;IACf,OAAO,CAAC,kBAAkB,CAAC;IAC3B,OAAO,CAAC,gBAAgB,CAAC;IACzB,OAAO,CAAC,aAAa,CAAC;IAVxB,OAAO,CAAC,cAAc,CAAC,CAAsC;gBAGnD,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,cAAc,EACvB,OAAO,EAAE,MAAM,OAAO,EACtB,OAAO,EAAE,MAAM,OAAO,EACtB,MAAM,CAAC,EAAE,eAAe,YAAA,EACxB,kBAAkB,CAAC,EAAE,MAAM,YAAA,EAC3B,gBAAgB,CAAC,EAAE,MAAM,YAAA,EACzB,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,YAAA;IAG1C,aAAa,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC;IA0BpD,OAAO,CAAC,UAAU;IAYlB,OAAO,CAAC,iBAAiB;YAiBX,uBAAuB;IASrC,OAAO,CAAC,iBAAiB;IAqBzB,OAAO,CAAC,oBAAoB;YAYd,wBAAwB;IAiBtC,wBAAwB,IAAI,IAAI;IAgBhC,OAAO,CAAC,iBAAiB;CAqB1B"}
1
+ {"version":3,"file":"request-handler.d.ts","sourceRoot":"","sources":["../../../../src/src/server/dev-server/request-handler.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAY7D,qBAAa,cAAc;IAIvB,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,MAAM,CAAC;IACf,OAAO,CAAC,kBAAkB,CAAC;IAC3B,OAAO,CAAC,gBAAgB,CAAC;IACzB,OAAO,CAAC,aAAa,CAAC;IATxB,OAAO,CAAC,cAAc,CAAC,CAAsC;gBAGnD,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,cAAc,EACvB,OAAO,EAAE,MAAM,OAAO,EACtB,MAAM,CAAC,EAAE,eAAe,YAAA,EACxB,kBAAkB,CAAC,EAAE,MAAM,YAAA,EAC3B,gBAAgB,CAAC,EAAE,MAAM,YAAA,EACzB,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,YAAA;IAG1C,aAAa,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC;IA0BpD,OAAO,CAAC,UAAU;IAYlB,OAAO,CAAC,iBAAiB;YAiBX,uBAAuB;IASrC,OAAO,CAAC,iBAAiB;IAqBzB,OAAO,CAAC,oBAAoB;YAYd,wBAAwB;IAgBtC,wBAAwB,IAAI,IAAI;IAgBhC,OAAO,CAAC,iBAAiB;CAqB1B"}
@@ -12,17 +12,15 @@ export class RequestHandler {
12
12
  projectDir;
13
13
  adapter;
14
14
  isReady;
15
- isDebug;
16
15
  config;
17
16
  defaultProjectSlug;
18
17
  defaultProjectId;
19
18
  localProjects;
20
19
  runtimeHandler;
21
- constructor(projectDir, adapter, isReady, isDebug, config, defaultProjectSlug, defaultProjectId, localProjects) {
20
+ constructor(projectDir, adapter, isReady, config, defaultProjectSlug, defaultProjectId, localProjects) {
22
21
  this.projectDir = projectDir;
23
22
  this.adapter = adapter;
24
23
  this.isReady = isReady;
25
- this.isDebug = isDebug;
26
24
  this.config = config;
27
25
  this.defaultProjectSlug = defaultProjectSlug;
28
26
  this.defaultProjectId = defaultProjectId;
@@ -120,7 +118,6 @@ export class RequestHandler {
120
118
  const { createVeryfrontHandler } = await import("../runtime-handler/index.js");
121
119
  this.runtimeHandler = createVeryfrontHandler(this.projectDir, this.adapter, {
122
120
  projectDir: this.projectDir,
123
- debug: this.isDebug(),
124
121
  moduleServerUrl: "/_vf_modules",
125
122
  config: this.config,
126
123
  defaultProjectSlug: this.defaultProjectSlug,
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../../src/src/server/dev-server/server.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAInD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAmCvD,4BAA4B;AAC5B,qBAAa,SAAS;IAiBR,OAAO,CAAC,OAAO;IAhB3B,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,iBAAiB,CAAqB;IAC9C,OAAO,CAAC,cAAc,CAAC,CAAiB;IACxC,OAAO,CAAC,QAAQ,CAAqB;IACrC,OAAO,CAAC,OAAO,CAAkB;IACjC,OAAO,CAAC,MAAM,CAAC,CAAS;IACxB,OAAO,CAAC,SAAS,CAA8B;IAC/C,OAAO,CAAC,cAAc,CAAC,CAAiB;IACxC,OAAO,CAAC,QAAQ,CAAC,CAAsC;IACvD,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9B,OAAO,CAAC,aAAa,CAAc;IACnC,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,iBAAiB,CAAC,CAAa;IACvC,OAAO,CAAC,qBAAqB,CAAC,CAAa;IAC3C,OAAO,CAAC,8BAA8B,CAAC,CAAa;gBAEhC,OAAO,EAAE,gBAAgB;IAQ7C,OAAO,CAAC,OAAO;YAID,YAAY;IAWpB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAsL5B,qEAAqE;IACrE,IAAI,OAAO,IAAI,CAAC,GAAG,EAAE,OAAO,KAAK,OAAO,CAAC,QAAQ,CAAC,CAKjD;IAED,OAAO,CAAC,oBAAoB;YAkBd,qBAAqB;YAmBrB,yBAAyB;YAoBzB,uBAAuB;YA4BvB,wBAAwB;IAmBtC,OAAO,CAAC,kBAAkB;IAuBpB,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC;YAe7B,iBAAiB;IAsC/B,qBAAqB,IAAI,UAAU,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,GAAG,IAAI;IAIlE,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CA6B5B"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../../src/src/server/dev-server/server.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAInD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAoCvD,4BAA4B;AAC5B,qBAAa,SAAS;IAiBR,OAAO,CAAC,OAAO;IAhB3B,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,iBAAiB,CAAqB;IAC9C,OAAO,CAAC,cAAc,CAAC,CAAiB;IACxC,OAAO,CAAC,QAAQ,CAAqB;IACrC,OAAO,CAAC,OAAO,CAAkB;IACjC,OAAO,CAAC,MAAM,CAAC,CAAS;IACxB,OAAO,CAAC,SAAS,CAA8B;IAC/C,OAAO,CAAC,cAAc,CAAC,CAAiB;IACxC,OAAO,CAAC,QAAQ,CAAC,CAAsC;IACvD,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9B,OAAO,CAAC,aAAa,CAAc;IACnC,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,iBAAiB,CAAC,CAAa;IACvC,OAAO,CAAC,qBAAqB,CAAC,CAAa;IAC3C,OAAO,CAAC,8BAA8B,CAAC,CAAa;gBAEhC,OAAO,EAAE,gBAAgB;IAQ7C,OAAO,CAAC,OAAO;YAID,YAAY;IAWpB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAqL5B,qEAAqE;IACrE,IAAI,OAAO,IAAI,CAAC,GAAG,EAAE,OAAO,KAAK,OAAO,CAAC,QAAQ,CAAC,CAKjD;IAED,OAAO,CAAC,oBAAoB;YAkBd,qBAAqB;YAmBrB,yBAAyB;YAoBzB,uBAAuB;YA4BvB,wBAAwB;IAmBtC,OAAO,CAAC,kBAAkB;IAuBpB,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC;YAe7B,iBAAiB;IAsC/B,qBAAqB,IAAI,UAAU,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,GAAG,IAAI;IAIlE,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CA6B5B"}
@@ -15,7 +15,8 @@ import { setupMiddleware } from "./middleware.js";
15
15
  import { RouteDiscovery } from "./route-discovery.js";
16
16
  import { FileWatchSetup } from "./file-watch-setup.js";
17
17
  import { enableSSRClientOnlyFetching, enableSSRFetchInterception, setSSRServerPort, } from "../../rendering/ssr-globals.js";
18
- import { setEnv } from "../../platform/compat/process.js";
18
+ import { getHostEnv, setEnv } from "../../platform/compat/process.js";
19
+ import { isTruthyEnvValue } from "../../utils/constants/env.js";
19
20
  import { initializeDistributedCaches } from "../../cache/distributed-cache-init.js";
20
21
  import { defaultDistributedCacheInitializers } from "../distributed-cache-initializers.js";
21
22
  import { isDiskCacheConfigured } from "../../cache/backend.js";
@@ -65,7 +66,7 @@ export class DevServer {
65
66
  this.pipeline = new MiddlewarePipeline();
66
67
  }
67
68
  isDebug() {
68
- return this.adapter?.env.get("VERYFRONT_DEBUG") === "1";
69
+ return isTruthyEnvValue(getHostEnv("VERYFRONT_DEBUG"));
69
70
  }
70
71
  async logRSCStatus() {
71
72
  try {
@@ -169,7 +170,7 @@ export class DevServer {
169
170
  }
170
171
  const defaultProjectSlug = await this.resolveDefaultProjectSlug(isProxyMode);
171
172
  const localProjects = this.buildLocalProjects(defaultProjectSlug);
172
- const requestHandler = new RequestHandler(this.options.projectDir, this.adapter, () => this._isReady, () => this.isDebug(), this.appConfig, defaultProjectSlug, this.options.defaultProjectId, localProjects);
173
+ const requestHandler = new RequestHandler(this.options.projectDir, this.adapter, () => this._isReady, this.appConfig, defaultProjectSlug, this.options.defaultProjectId, localProjects);
173
174
  this.requestHandler = requestHandler;
174
175
  await setupMiddleware(this.pipeline, this.appConfig, (req) => requestHandler.handleRequest(req));
175
176
  // NOTE: WebSocket upgrade requests MUST NOT be intercepted because the interceptor
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/src/server/runtime-handler/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAG7D,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAmCpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAwErE,OAAO,EAAE,qBAAqB,EAAE,KAAK,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAMtF,2CAA2C;AAC3C,eAAO,MAAM,aAAa,4vBAqChB,CAAC;AAEX,6CAA6C;AAC7C,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC;AAEzD;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAClC,8CAA8C;IAC9C,SAAS,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC;IAClD,mDAAmD;IACnD,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AA6CD;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,CACnC,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,cAAc,EACvB,IAAI,GAAE,mBAAwB,GAC7B;IAAE,QAAQ,EAAE,aAAa,CAAC;IAAC,UAAU,EAAE,iBAAiB,CAAA;CAAE,CAuB5D;AAED,MAAM,WAAW,qBAAqB;IACpC,UAAU,EAAE,MAAM,CAAC;IACnB,kDAAkD;IAClD,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,wEAAwE;IACxE,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,0DAA0D;IAC1D,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,oFAAoF;IACpF,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACvC,sFAAsF;IACtF,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,oFAAoF;IACpF,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,8FAA8F;IAC9F,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,uGAAuG;IACvG,kBAAkB,CAAC,EAAE,SAAS,GAAG,YAAY,CAAC;CAC/C;AAED,wBAAgB,sBAAsB,CACpC,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,cAAc,EACvB,IAAI,GAAE,qBAAsC,GAC3C,CAAC,CAAC,GAAG,EAAE,OAAO,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC,GAAG;IAAE,KAAK,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;CAAE,CAsZnE;AAGD,YAAY,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/src/server/runtime-handler/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAG7D,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAqCpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAwErE,OAAO,EAAE,qBAAqB,EAAE,KAAK,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAMtF,2CAA2C;AAC3C,eAAO,MAAM,aAAa,4vBAqChB,CAAC;AAEX,6CAA6C;AAC7C,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC;AAEzD;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAClC,8CAA8C;IAC9C,SAAS,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC;IAClD,mDAAmD;IACnD,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AA6CD;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,CACnC,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,cAAc,EACvB,IAAI,GAAE,mBAAwB,GAC7B;IAAE,QAAQ,EAAE,aAAa,CAAC;IAAC,UAAU,EAAE,iBAAiB,CAAA;CAAE,CAuB5D;AAED,MAAM,WAAW,qBAAqB;IACpC,UAAU,EAAE,MAAM,CAAC;IACnB,kDAAkD;IAClD,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,wEAAwE;IACxE,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,0DAA0D;IAC1D,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,oFAAoF;IACpF,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACvC,sFAAsF;IACtF,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,oFAAoF;IACpF,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,8FAA8F;IAC9F,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,uGAAuG;IACvG,kBAAkB,CAAC,EAAE,SAAS,GAAG,YAAY,CAAC;CAC/C;AAED,wBAAgB,sBAAsB,CACpC,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,cAAc,EACvB,IAAI,GAAE,qBAAsC,GAC3C,CAAC,CAAC,GAAG,EAAE,OAAO,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC,GAAG;IAAE,KAAK,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;CAAE,CA8ZnE;AAGD,YAAY,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC"}
@@ -12,6 +12,8 @@ import { errorToRFC9457Response, getErrorMessage, UNKNOWN_ERROR } from "../../er
12
12
  import { RouteRegistry } from "../../routing/registry/index.js";
13
13
  import { SecurityConfigLoader } from "../../security/http/config.js";
14
14
  import { runWithExactSourceIntegrationPolicy } from "../../integrations/source-policy-context.js";
15
+ import { getHostEnv } from "../../platform/compat/process.js";
16
+ import { isTruthyEnvValue } from "../../utils/constants/env.js";
15
17
  // Handler imports
16
18
  import { AuthHandler } from "../../security/http/auth.js";
17
19
  import { CsrfHandler } from "../../security/http/csrf/csrf-handler.js";
@@ -180,9 +182,17 @@ export function createHandlerRegistry(projectDir, adapter, deps = {}) {
180
182
  return { registry, apiHandler };
181
183
  }
182
184
  export function createVeryfrontHandler(projectDir, adapter, opts = { projectDir }) {
183
- const isDebugEnabled = !!(opts.debug || adapter.env.get("VERYFRONT_DEBUG"));
185
+ const isDebugEnabled = () => {
186
+ if (opts.debug)
187
+ return true;
188
+ const hostDebug = getHostEnv("VERYFRONT_DEBUG");
189
+ if (hostDebug !== undefined)
190
+ return isTruthyEnvValue(hostDebug);
191
+ const hasBindingBackedEnv = adapter.id === "cloudflare" || adapter.id === "memory";
192
+ return hasBindingBackedEnv && isTruthyEnvValue(adapter.env.get("VERYFRONT_DEBUG"));
193
+ };
184
194
  function logDebug(message, extra) {
185
- if (!isDebugEnabled)
195
+ if (!isDebugEnabled())
186
196
  return;
187
197
  if (extra) {
188
198
  logger.debug(message, extra);
@@ -211,7 +221,7 @@ export function createVeryfrontHandler(projectDir, adapter, opts = { projectDir
211
221
  return c;
212
222
  })();
213
223
  const { registry, apiHandler } = createHandlerRegistry(projectDir, adapter, {
214
- debug: opts.debug,
224
+ debug: Boolean(opts.debug),
215
225
  });
216
226
  const isProxyMode = opts.config?.fs?.veryfront?.proxyMode === true;
217
227
  const readyPromise = isProxyMode ? Promise.resolve() : apiHandler.initialize().catch((error) => {
@@ -233,7 +243,7 @@ export function createVeryfrontHandler(projectDir, adapter, opts = { projectDir
233
243
  await readyPromise;
234
244
  if (!isProxyMode)
235
245
  await securityLoader.ensureLoaded();
236
- const minimalCtx = buildMinimalContext(projectDir, adapter, securityLoader.getSecurityConfig(), securityLoader.getCspUserHeader(), opts.debug, config);
246
+ const minimalCtx = buildMinimalContext(projectDir, adapter, securityLoader.getSecurityConfig(), securityLoader.getCspUserHeader(), isDebugEnabled(), config);
237
247
  const response = await registry.execute(req, minimalCtx);
238
248
  return response ?? new Response("Not Found", { status: 404 });
239
249
  }
@@ -344,7 +354,7 @@ export function createVeryfrontHandler(projectDir, adapter, opts = { projectDir
344
354
  setProjectAttributes(spanInfo.span, projectRes.projectSlug, projectRes.proxyEnv);
345
355
  // Handle projects discovery UI
346
356
  if (shouldHandleProjectsUI(url.pathname, projectRes.projectSlug, projectRes.parsedDomain)) {
347
- const response = await handleProjectsRequest(request, url, buildMinimalContext(projectDir, adapter, securityLoader.getSecurityConfig(), securityLoader.getCspUserHeader(), opts.debug, config));
357
+ const response = await handleProjectsRequest(request, url, buildMinimalContext(projectDir, adapter, securityLoader.getSecurityConfig(), securityLoader.getCspUserHeader(), isDebugEnabled(), config));
348
358
  if (response)
349
359
  return response;
350
360
  }
@@ -361,7 +371,7 @@ export function createVeryfrontHandler(projectDir, adapter, opts = { projectDir
361
371
  proxyTrust: { proxyTrusted },
362
372
  securityConfig: securityLoader.getSecurityConfig(),
363
373
  cspUserHeader: securityLoader.getCspUserHeader(),
364
- debug: opts.debug,
374
+ debug: isDebugEnabled(),
365
375
  routeRegistry: registry,
366
376
  moduleServerUrl: opts.moduleServerUrl,
367
377
  defaultEnvironment: opts.defaultEnvironment,
@@ -15,7 +15,7 @@ export { type GlobalWithBun, type GlobalWithDeno, type GlobalWithProcess, hasBun
15
15
  export { __registerLogRecordEmitter, __registerTraceContextGetter, __registerTraceContextGetter as registerTraceContextGetter, agentLogger, bundlerLogger, cliLogger, createRunUserLogger, getBaseLogger, logger, refreshLoggerConfig, rendererLogger, runWithRequestContextAsync, serverLogger, } from "./logger/index.js";
16
16
  export type { LogEntry, Logger, RequestContext } from "./logger/index.js";
17
17
  export { redactSensitive, sanitizeUrlCredentials, sanitizeUrlForSpan } from "./logger/redact.js";
18
- export { BREAKPOINT_LG, BREAKPOINT_MD, BREAKPOINT_SM, BREAKPOINT_XL, BYTES_PER_KB, DEFAULT_ALLOWED_CDN_HOSTS, DEFAULT_BUILD_CONCURRENCY, DEFAULT_DASHBOARD_PORT, DEFAULT_LRU_MAX_ENTRIES, DEV_SERVER_ENDPOINTS, FORBIDDEN_PATH_PATTERNS, getDenoStdNodeBase, getReactImportMap, HASH_SEED_DJB2, HASH_SEED_FNV1A, HMR_CLIENT_RELOAD_DELAY_MS, HMR_CLOSE_MESSAGE_TOO_LARGE, HMR_CLOSE_NORMAL, HMR_CLOSE_RATE_LIMIT, HMR_MAX_MESSAGE_SIZE_BYTES, HMR_MAX_MESSAGES_PER_MINUTE, HMR_RATE_LIMIT_WINDOW_MS, HTTP_BAD_REQUEST, HTTP_CONTENT_TYPE_IMAGE_GIF, HTTP_CONTENT_TYPE_IMAGE_ICO, HTTP_CONTENT_TYPE_IMAGE_JPEG, HTTP_CONTENT_TYPE_IMAGE_PNG, HTTP_CONTENT_TYPE_IMAGE_SVG, HTTP_CONTENT_TYPE_IMAGE_WEBP, HTTP_CONTENT_TYPES, HTTP_MODULE_FETCH_TIMEOUT_MS, HTTP_NETWORK_CONNECT_TIMEOUT, HTTP_NOT_FOUND, HTTP_NOT_IMPLEMENTED, HTTP_OK, HTTP_REDIRECT_FOUND, HTTP_SERVER_ERROR, HTTP_STATUS_CLIENT_ERROR_MIN, HTTP_STATUS_REDIRECT_MIN, HTTP_STATUS_SERVER_ERROR_MIN, HTTP_STATUS_SUCCESS_MIN, HTTP_UNAVAILABLE, IMAGE_OPTIMIZATION, MAX_BATCH_SIZE, MAX_PATH_LENGTH, MAX_PATH_TRAVERSAL_DEPTH, MS_PER_SECOND, PREFETCH_DEFAULT_DELAY_MS, PREFETCH_DEFAULT_TIMEOUT_MS, PREFETCH_MAX_SIZE_BYTES, REACT_DEFAULT_VERSION, RESPONSIVE_IMAGE_WIDTH_LG, RESPONSIVE_IMAGE_WIDTHS, RSC_MANIFEST_CACHE_TTL_MS, TSX_LAYOUT_MAX_ENTRIES, TSX_LAYOUT_PER_PROJECT_MAX_ENTRIES, Z_INDEX_DEV_INDICATOR, Z_INDEX_ERROR_OVERLAY, } from "./constants/index.js";
18
+ export { BREAKPOINT_LG, BREAKPOINT_MD, BREAKPOINT_SM, BREAKPOINT_XL, BYTES_PER_KB, DEFAULT_ALLOWED_CDN_HOSTS, DEFAULT_BUILD_CONCURRENCY, DEFAULT_DASHBOARD_PORT, DEFAULT_LRU_MAX_ENTRIES, DEV_SERVER_ENDPOINTS, FORBIDDEN_PATH_PATTERNS, getDenoStdNodeBase, getReactImportMap, HASH_SEED_DJB2, HASH_SEED_FNV1A, HMR_CLIENT_RELOAD_DELAY_MS, HMR_CLOSE_MESSAGE_TOO_LARGE, HMR_CLOSE_NORMAL, HMR_CLOSE_RATE_LIMIT, HMR_MAX_MESSAGE_SIZE_BYTES, HMR_MAX_MESSAGES_PER_MINUTE, HMR_RATE_LIMIT_WINDOW_MS, HTTP_BAD_REQUEST, HTTP_CONTENT_TYPE_IMAGE_GIF, HTTP_CONTENT_TYPE_IMAGE_ICO, HTTP_CONTENT_TYPE_IMAGE_JPEG, HTTP_CONTENT_TYPE_IMAGE_PNG, HTTP_CONTENT_TYPE_IMAGE_SVG, HTTP_CONTENT_TYPE_IMAGE_WEBP, HTTP_CONTENT_TYPES, HTTP_MODULE_FETCH_TIMEOUT_MS, HTTP_NETWORK_CONNECT_TIMEOUT, HTTP_NOT_FOUND, HTTP_NOT_IMPLEMENTED, HTTP_OK, HTTP_REDIRECT_FOUND, HTTP_SERVER_ERROR, HTTP_STATUS_CLIENT_ERROR_MIN, HTTP_STATUS_REDIRECT_MIN, HTTP_STATUS_SERVER_ERROR_MIN, HTTP_STATUS_SUCCESS_MIN, HTTP_UNAVAILABLE, IMAGE_OPTIMIZATION, isTruthyEnvValue, MAX_BATCH_SIZE, MAX_PATH_LENGTH, MAX_PATH_TRAVERSAL_DEPTH, MS_PER_SECOND, PREFETCH_DEFAULT_DELAY_MS, PREFETCH_DEFAULT_TIMEOUT_MS, PREFETCH_MAX_SIZE_BYTES, REACT_DEFAULT_VERSION, RESPONSIVE_IMAGE_WIDTH_LG, RESPONSIVE_IMAGE_WIDTHS, RSC_MANIFEST_CACHE_TTL_MS, TSX_LAYOUT_MAX_ENTRIES, TSX_LAYOUT_PER_PROJECT_MAX_ENTRIES, Z_INDEX_DEV_INDICATOR, Z_INDEX_ERROR_OVERLAY, } from "./constants/index.js";
19
19
  export { VERSION } from "./version.js";
20
20
  export { type BundleCode as HashBundleCode, computeCodeHash, computeHash, computeHashBytes, fnv1aHash, shortHash, simpleHash, } from "./hash-utils.js";
21
21
  export { base64urlEncode, base64urlEncodeBytes, encodeBase64, encodeBase64Bytes, } from "./base64url.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/src/utils/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,yBAAyB,CAAC;AAGjC,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,iBAAiB,EACtB,aAAa,EACb,cAAc,EACd,cAAc,GACf,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,0BAA0B,EAC1B,4BAA4B,EAC5B,4BAA4B,IAAI,0BAA0B,EAC1D,WAAW,EACX,aAAa,EACb,SAAS,EACT,mBAAmB,EACnB,aAAa,EACb,MAAM,EACN,mBAAmB,EACnB,cAAc,EACd,0BAA0B,EAC1B,YAAY,GACb,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAG1E,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAEjG,OAAO,EACL,aAAa,EACb,aAAa,EACb,aAAa,EACb,aAAa,EACb,YAAY,EACZ,yBAAyB,EACzB,yBAAyB,EACzB,sBAAsB,EACtB,uBAAuB,EACvB,oBAAoB,EACpB,uBAAuB,EACvB,kBAAkB,EAClB,iBAAiB,EACjB,cAAc,EACd,eAAe,EACf,0BAA0B,EAC1B,2BAA2B,EAC3B,gBAAgB,EAChB,oBAAoB,EACpB,0BAA0B,EAC1B,2BAA2B,EAC3B,wBAAwB,EACxB,gBAAgB,EAChB,2BAA2B,EAC3B,2BAA2B,EAC3B,4BAA4B,EAC5B,2BAA2B,EAC3B,2BAA2B,EAC3B,4BAA4B,EAC5B,kBAAkB,EAClB,4BAA4B,EAC5B,4BAA4B,EAC5B,cAAc,EACd,oBAAoB,EACpB,OAAO,EACP,mBAAmB,EACnB,iBAAiB,EACjB,4BAA4B,EAC5B,wBAAwB,EACxB,4BAA4B,EAC5B,uBAAuB,EACvB,gBAAgB,EAChB,kBAAkB,EAClB,cAAc,EACd,eAAe,EACf,wBAAwB,EACxB,aAAa,EACb,yBAAyB,EACzB,2BAA2B,EAC3B,uBAAuB,EACvB,qBAAqB,EACrB,yBAAyB,EACzB,uBAAuB,EACvB,yBAAyB,EACzB,sBAAsB,EACtB,kCAAkC,EAClC,qBAAqB,EACrB,qBAAqB,GACtB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,OAAO,EACL,KAAK,UAAU,IAAI,cAAc,EACjC,eAAe,EACf,WAAW,EACX,gBAAgB,EAChB,SAAS,EACT,SAAS,EACT,UAAU,GACX,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,eAAe,EACf,oBAAoB,EACpB,YAAY,EACZ,iBAAiB,GAClB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC,OAAO,EAAE,mBAAmB,EAAE,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAE9E,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,YAAY,EAAE,UAAU,IAAI,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3F,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,OAAO,EAAE,KAAK,UAAU,EAAE,KAAK,cAAc,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAEpG,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEjD,OAAO,EACL,gBAAgB,EAChB,qBAAqB,EACrB,KAAK,eAAe,GACrB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE7F,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,OAAO,EAAE,aAAa,EAAE,KAAK,mBAAmB,EAAE,MAAM,WAAW,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/src/utils/index.ts"],"names":[],"mappings":"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"}
@@ -15,7 +15,7 @@ export { hasBunRuntime, hasDenoRuntime, hasNodeProcess, } from "./runtime-guards
15
15
  export { __registerLogRecordEmitter, __registerTraceContextGetter, __registerTraceContextGetter as registerTraceContextGetter, agentLogger, bundlerLogger, cliLogger, createRunUserLogger, getBaseLogger, logger, refreshLoggerConfig, rendererLogger, runWithRequestContextAsync, serverLogger, } from "./logger/index.js";
16
16
  // Redaction / URL sanitization helpers
17
17
  export { redactSensitive, sanitizeUrlCredentials, sanitizeUrlForSpan } from "./logger/redact.js";
18
- export { BREAKPOINT_LG, BREAKPOINT_MD, BREAKPOINT_SM, BREAKPOINT_XL, BYTES_PER_KB, DEFAULT_ALLOWED_CDN_HOSTS, DEFAULT_BUILD_CONCURRENCY, DEFAULT_DASHBOARD_PORT, DEFAULT_LRU_MAX_ENTRIES, DEV_SERVER_ENDPOINTS, FORBIDDEN_PATH_PATTERNS, getDenoStdNodeBase, getReactImportMap, HASH_SEED_DJB2, HASH_SEED_FNV1A, HMR_CLIENT_RELOAD_DELAY_MS, HMR_CLOSE_MESSAGE_TOO_LARGE, HMR_CLOSE_NORMAL, HMR_CLOSE_RATE_LIMIT, HMR_MAX_MESSAGE_SIZE_BYTES, HMR_MAX_MESSAGES_PER_MINUTE, HMR_RATE_LIMIT_WINDOW_MS, HTTP_BAD_REQUEST, HTTP_CONTENT_TYPE_IMAGE_GIF, HTTP_CONTENT_TYPE_IMAGE_ICO, HTTP_CONTENT_TYPE_IMAGE_JPEG, HTTP_CONTENT_TYPE_IMAGE_PNG, HTTP_CONTENT_TYPE_IMAGE_SVG, HTTP_CONTENT_TYPE_IMAGE_WEBP, HTTP_CONTENT_TYPES, HTTP_MODULE_FETCH_TIMEOUT_MS, HTTP_NETWORK_CONNECT_TIMEOUT, HTTP_NOT_FOUND, HTTP_NOT_IMPLEMENTED, HTTP_OK, HTTP_REDIRECT_FOUND, HTTP_SERVER_ERROR, HTTP_STATUS_CLIENT_ERROR_MIN, HTTP_STATUS_REDIRECT_MIN, HTTP_STATUS_SERVER_ERROR_MIN, HTTP_STATUS_SUCCESS_MIN, HTTP_UNAVAILABLE, IMAGE_OPTIMIZATION, MAX_BATCH_SIZE, MAX_PATH_LENGTH, MAX_PATH_TRAVERSAL_DEPTH, MS_PER_SECOND, PREFETCH_DEFAULT_DELAY_MS, PREFETCH_DEFAULT_TIMEOUT_MS, PREFETCH_MAX_SIZE_BYTES, REACT_DEFAULT_VERSION, RESPONSIVE_IMAGE_WIDTH_LG, RESPONSIVE_IMAGE_WIDTHS, RSC_MANIFEST_CACHE_TTL_MS, TSX_LAYOUT_MAX_ENTRIES, TSX_LAYOUT_PER_PROJECT_MAX_ENTRIES, Z_INDEX_DEV_INDICATOR, Z_INDEX_ERROR_OVERLAY, } from "./constants/index.js";
18
+ export { BREAKPOINT_LG, BREAKPOINT_MD, BREAKPOINT_SM, BREAKPOINT_XL, BYTES_PER_KB, DEFAULT_ALLOWED_CDN_HOSTS, DEFAULT_BUILD_CONCURRENCY, DEFAULT_DASHBOARD_PORT, DEFAULT_LRU_MAX_ENTRIES, DEV_SERVER_ENDPOINTS, FORBIDDEN_PATH_PATTERNS, getDenoStdNodeBase, getReactImportMap, HASH_SEED_DJB2, HASH_SEED_FNV1A, HMR_CLIENT_RELOAD_DELAY_MS, HMR_CLOSE_MESSAGE_TOO_LARGE, HMR_CLOSE_NORMAL, HMR_CLOSE_RATE_LIMIT, HMR_MAX_MESSAGE_SIZE_BYTES, HMR_MAX_MESSAGES_PER_MINUTE, HMR_RATE_LIMIT_WINDOW_MS, HTTP_BAD_REQUEST, HTTP_CONTENT_TYPE_IMAGE_GIF, HTTP_CONTENT_TYPE_IMAGE_ICO, HTTP_CONTENT_TYPE_IMAGE_JPEG, HTTP_CONTENT_TYPE_IMAGE_PNG, HTTP_CONTENT_TYPE_IMAGE_SVG, HTTP_CONTENT_TYPE_IMAGE_WEBP, HTTP_CONTENT_TYPES, HTTP_MODULE_FETCH_TIMEOUT_MS, HTTP_NETWORK_CONNECT_TIMEOUT, HTTP_NOT_FOUND, HTTP_NOT_IMPLEMENTED, HTTP_OK, HTTP_REDIRECT_FOUND, HTTP_SERVER_ERROR, HTTP_STATUS_CLIENT_ERROR_MIN, HTTP_STATUS_REDIRECT_MIN, HTTP_STATUS_SERVER_ERROR_MIN, HTTP_STATUS_SUCCESS_MIN, HTTP_UNAVAILABLE, IMAGE_OPTIMIZATION, isTruthyEnvValue, MAX_BATCH_SIZE, MAX_PATH_LENGTH, MAX_PATH_TRAVERSAL_DEPTH, MS_PER_SECOND, PREFETCH_DEFAULT_DELAY_MS, PREFETCH_DEFAULT_TIMEOUT_MS, PREFETCH_MAX_SIZE_BYTES, REACT_DEFAULT_VERSION, RESPONSIVE_IMAGE_WIDTH_LG, RESPONSIVE_IMAGE_WIDTHS, RSC_MANIFEST_CACHE_TTL_MS, TSX_LAYOUT_MAX_ENTRIES, TSX_LAYOUT_PER_PROJECT_MAX_ENTRIES, Z_INDEX_DEV_INDICATOR, Z_INDEX_ERROR_OVERLAY, } from "./constants/index.js";
19
19
  export { VERSION } from "./version.js";
20
20
  export { computeCodeHash, computeHash, computeHashBytes, fnv1aHash, shortHash, simpleHash, } from "./hash-utils.js";
21
21
  export { base64urlEncode, base64urlEncodeBytes, encodeBase64, encodeBase64Bytes, } from "./base64url.js";
@@ -1 +1 @@
1
- {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../../../src/src/utils/logger/logger.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../../../src/src/utils/logger/logger.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { getEnv, getHostEnv } from "../../platform/compat/process/env.js";
2
2
  import { isStdoutTTY } from "../../platform/compat/process/lifecycle.js";
3
+ import { isTruthyEnvValue } from "../constants/env.js";
3
4
  import { RUNTIME_VERSION } from "../version.js";
4
5
  import { ANSI, colorize, formatContextText, formatTimestamp, LEVEL_COLORS, LEVEL_GLYPHS, padTag, serializeError, } from "./core.js";
5
6
  import { redactSensitive, sanitizeSerializedError, sanitizeUrlCredentials } from "./redact.js";
@@ -31,7 +32,7 @@ export function getDefaultLevel(envLevel = getHostEnv("LOG_LEVEL"), debugFlag =
31
32
  const parsedLevel = parseLogLevel(envLevel);
32
33
  if (parsedLevel !== undefined)
33
34
  return parsedLevel;
34
- if (debugFlag === "1" || debugFlag === "true")
35
+ if (isTruthyEnvValue(debugFlag))
35
36
  return LogLevel.DEBUG;
36
37
  return LogLevel.INFO;
37
38
  }
@@ -1,3 +1,3 @@
1
1
  /** Shared version value. */
2
- export declare const VERSION = "0.1.1168";
2
+ export declare const VERSION = "0.1.1170";
3
3
  //# sourceMappingURL=version-constant.d.ts.map
@@ -1,4 +1,4 @@
1
1
  // Keep in sync with deno.json version.
2
2
  // scripts/release.ts updates this constant during releases.
3
3
  /** Shared version value. */
4
- export const VERSION = "0.1.1168";
4
+ export const VERSION = "0.1.1170";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "veryfront",
3
- "version": "0.1.1168",
3
+ "version": "0.1.1170",
4
4
  "description": "The simplest way to build AI-powered apps",
5
5
  "keywords": [
6
6
  "react",
@@ -336,10 +336,10 @@
336
336
  "@types/react": "19.2.14",
337
337
  "@types/react-dom": "19.2.3",
338
338
  "ws": "8.21.0",
339
- "@veryfront/ext-bundler-esbuild": "0.1.1168",
340
- "@veryfront/ext-content-mdx": "0.1.1168",
341
- "@veryfront/ext-css-tailwind": "0.1.1168",
342
- "@veryfront/ext-parser-babel": "0.1.1168"
339
+ "@veryfront/ext-bundler-esbuild": "0.1.1170",
340
+ "@veryfront/ext-content-mdx": "0.1.1170",
341
+ "@veryfront/ext-css-tailwind": "0.1.1170",
342
+ "@veryfront/ext-parser-babel": "0.1.1170"
343
343
  },
344
344
  "devDependencies": {
345
345
  "@types/node": "20.9.0"