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.
- package/esm/cli/commands/analyze-chunks/handler.js +2 -2
- package/esm/cli/commands/build/handler.js +2 -2
- package/esm/cli/commands/deploy/handler.js +2 -2
- package/esm/cli/commands/dev/command.d.ts.map +1 -1
- package/esm/cli/commands/dev/command.js +15 -1
- package/esm/cli/commands/dev/handler.d.ts.map +1 -1
- package/esm/cli/commands/dev/handler.js +3 -1
- package/esm/cli/commands/dev/log-controller.d.ts +6 -0
- package/esm/cli/commands/dev/log-controller.d.ts.map +1 -0
- package/esm/cli/commands/dev/log-controller.js +31 -0
- package/esm/cli/commands/doctor/handler.js +2 -2
- package/esm/cli/commands/generate/handler.js +2 -2
- package/esm/cli/commands/merge/handler.js +2 -2
- package/esm/cli/commands/pull/handler.js +2 -2
- package/esm/cli/commands/push/handler.js +2 -2
- package/esm/cli/commands/routes/handler.js +2 -2
- package/esm/cli/commands/serve/command.d.ts +29 -1
- package/esm/cli/commands/serve/command.d.ts.map +1 -1
- package/esm/cli/commands/serve/command.js +122 -33
- package/esm/cli/commands/serve/handler.d.ts.map +1 -1
- package/esm/cli/commands/serve/handler.js +13 -4
- package/esm/cli/commands/worker/command.js +2 -2
- package/esm/cli/help/formatters.js +1 -1
- package/esm/cli/shared/handler-utils.js +2 -2
- package/esm/cli/ui/components/shortcuts.d.ts.map +1 -1
- package/esm/cli/ui/components/shortcuts.js +7 -1
- package/esm/cli/ui/keyboard.d.ts +3 -0
- package/esm/cli/ui/keyboard.d.ts.map +1 -1
- package/esm/cli/ui/keyboard.js +5 -2
- package/esm/cli/utils/index.d.ts +3 -1
- package/esm/cli/utils/index.d.ts.map +1 -1
- package/esm/cli/utils/index.js +8 -9
- package/esm/deno.js +1 -1
- package/esm/src/routing/registry/registry.d.ts.map +1 -1
- package/esm/src/routing/registry/registry.js +7 -6
- package/esm/src/server/dev-server/request-handler.d.ts +1 -2
- package/esm/src/server/dev-server/request-handler.d.ts.map +1 -1
- package/esm/src/server/dev-server/request-handler.js +1 -4
- package/esm/src/server/dev-server/server.d.ts.map +1 -1
- package/esm/src/server/dev-server/server.js +4 -3
- package/esm/src/server/runtime-handler/index.d.ts.map +1 -1
- package/esm/src/server/runtime-handler/index.js +16 -6
- package/esm/src/utils/index.d.ts +1 -1
- package/esm/src/utils/index.d.ts.map +1 -1
- package/esm/src/utils/index.js +1 -1
- package/esm/src/utils/logger/logger.d.ts.map +1 -1
- package/esm/src/utils/logger/logger.js +2 -1
- package/esm/src/utils/version-constant.d.ts +1 -1
- package/esm/src/utils/version-constant.js +1 -1
- 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 {
|
|
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
|
-
|
|
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 {
|
|
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
|
-
|
|
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 {
|
|
5
|
+
import { showHeader } from "../../utils/index.js";
|
|
6
6
|
import { parseArgsOrThrow } from "../../shared/args.js";
|
|
7
7
|
export async function handleDeployCommand(args) {
|
|
8
|
-
|
|
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;
|
|
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,
|
|
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 @@
|
|
|
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 {
|
|
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
|
-
|
|
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 {
|
|
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
|
-
|
|
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 {
|
|
5
|
+
import { showHeader } from "../../utils/index.js";
|
|
6
6
|
import { parseArgsOrThrow } from "../../shared/args.js";
|
|
7
7
|
export async function handleMergeCommand(args) {
|
|
8
|
-
|
|
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 {
|
|
5
|
+
import { showHeader } from "../../utils/index.js";
|
|
6
6
|
import { parseArgsOrThrow } from "../../shared/args.js";
|
|
7
7
|
export async function handlePullCommand(args) {
|
|
8
|
-
|
|
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 {
|
|
5
|
+
import { showHeader } from "../../utils/index.js";
|
|
6
6
|
import { parseArgsOrThrow } from "../../shared/args.js";
|
|
7
7
|
export async function handlePushCommand(args) {
|
|
8
|
-
|
|
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 {
|
|
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
|
-
|
|
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
|
|
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":"
|
|
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,
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
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;
|
|
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
|
|
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 =
|
|
9
|
-
return
|
|
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
|
-
|
|
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,
|
|
9
|
+
import { exitProcess, registerTerminationSignals, showHeader } from "../../utils/index.js";
|
|
10
10
|
export async function workerCommand(options) {
|
|
11
|
-
|
|
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(
|
|
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 {
|
|
3
|
+
import { showHeader } from "../utils/index.js";
|
|
4
4
|
export async function handleProjectDirCommand(args, parser, commandName, command) {
|
|
5
|
-
|
|
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,
|
|
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 }) => `${
|
|
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
|
];
|
package/esm/cli/ui/keyboard.d.ts
CHANGED
|
@@ -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;
|
|
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"}
|
package/esm/cli/ui/keyboard.js
CHANGED
|
@@ -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
|
|
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
|
-
|
|
65
|
+
dispatchKeyPress(String.fromCharCode(byte), options);
|
|
63
66
|
}
|
|
64
67
|
catch {
|
|
65
68
|
return;
|
package/esm/cli/utils/index.d.ts
CHANGED
|
@@ -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
|
|
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":"
|
|
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"}
|
package/esm/cli/utils/index.js
CHANGED
|
@@ -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,
|
|
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")
|
|
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
|
|
48
|
+
export function showHeader() {
|
|
48
49
|
if (isJsonMode())
|
|
49
50
|
return;
|
|
50
|
-
|
|
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 +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;
|
|
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 (
|
|
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 (
|
|
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 (
|
|
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 (
|
|
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 (
|
|
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 (
|
|
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,
|
|
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,
|
|
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,
|
|
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;
|
|
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
|
|
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,
|
|
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;
|
|
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 =
|
|
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(),
|
|
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(),
|
|
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:
|
|
374
|
+
debug: isDebugEnabled(),
|
|
365
375
|
routeRegistry: registry,
|
|
366
376
|
moduleServerUrl: opts.moduleServerUrl,
|
|
367
377
|
defaultEnvironment: opts.defaultEnvironment,
|
package/esm/src/utils/index.d.ts
CHANGED
|
@@ -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":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/src/utils/index.ts"],"names":[],"mappings":"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"}
|
package/esm/src/utils/index.js
CHANGED
|
@@ -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":"
|
|
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
|
|
35
|
+
if (isTruthyEnvValue(debugFlag))
|
|
35
36
|
return LogLevel.DEBUG;
|
|
36
37
|
return LogLevel.INFO;
|
|
37
38
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "veryfront",
|
|
3
|
-
"version": "0.1.
|
|
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.
|
|
340
|
-
"@veryfront/ext-content-mdx": "0.1.
|
|
341
|
-
"@veryfront/ext-css-tailwind": "0.1.
|
|
342
|
-
"@veryfront/ext-parser-babel": "0.1.
|
|
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"
|