veryfront 0.1.112 → 0.1.113

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 (89) hide show
  1. package/esm/cli/commands/completions/command-help.d.ts +3 -0
  2. package/esm/cli/commands/completions/command-help.d.ts.map +1 -0
  3. package/esm/cli/commands/completions/command-help.js +13 -0
  4. package/esm/cli/commands/completions/command.d.ts +28 -0
  5. package/esm/cli/commands/completions/command.d.ts.map +1 -0
  6. package/esm/cli/commands/completions/command.js +133 -0
  7. package/esm/cli/commands/completions/handler.d.ts +3 -0
  8. package/esm/cli/commands/completions/handler.d.ts.map +1 -0
  9. package/esm/cli/commands/completions/handler.js +20 -0
  10. package/esm/cli/help/command-definitions.d.ts.map +1 -1
  11. package/esm/cli/help/command-definitions.js +2 -0
  12. package/esm/cli/router.d.ts.map +1 -1
  13. package/esm/cli/router.js +17 -1
  14. package/esm/cli/shared/suggest.d.ts +8 -0
  15. package/esm/cli/shared/suggest.d.ts.map +1 -0
  16. package/esm/cli/shared/suggest.js +25 -0
  17. package/esm/deno.js +1 -1
  18. package/esm/src/html/dev-scripts.d.ts.map +1 -1
  19. package/esm/src/html/dev-scripts.js +3 -2
  20. package/esm/src/html/html-injection.d.ts.map +1 -1
  21. package/esm/src/html/html-injection.js +2 -1
  22. package/esm/src/html/html-shell-generator.js +1 -1
  23. package/esm/src/html/hydration-script-builder/dev-client-renderer.d.ts.map +1 -1
  24. package/esm/src/html/hydration-script-builder/dev-client-renderer.js +2 -1
  25. package/esm/src/html/hydration-script-builder/dev-component-manifest.d.ts.map +1 -1
  26. package/esm/src/html/hydration-script-builder/dev-component-manifest.js +2 -1
  27. package/esm/src/html/hydration-script-builder/dev-error-logger.d.ts.map +1 -1
  28. package/esm/src/html/hydration-script-builder/dev-error-logger.js +2 -1
  29. package/esm/src/html/hydration-script-builder/dev-scripts.d.ts.map +1 -1
  30. package/esm/src/html/hydration-script-builder/dev-scripts.js +2 -1
  31. package/esm/src/html/hydration-script-builder/prod-hydration.d.ts.map +1 -1
  32. package/esm/src/html/hydration-script-builder/prod-hydration.js +2 -1
  33. package/esm/src/html/hydration-script-builder/prod-scripts.d.ts.map +1 -1
  34. package/esm/src/html/hydration-script-builder/prod-scripts.js +2 -1
  35. package/esm/src/html/styles-builder/dev-styles.d.ts.map +1 -1
  36. package/esm/src/html/styles-builder/dev-styles.js +2 -1
  37. package/esm/src/modules/react-loader/ssr-module-loader/http-bundle-helpers.d.ts +10 -0
  38. package/esm/src/modules/react-loader/ssr-module-loader/http-bundle-helpers.d.ts.map +1 -1
  39. package/esm/src/modules/react-loader/ssr-module-loader/http-bundle-helpers.js +51 -24
  40. package/esm/src/modules/react-loader/ssr-module-loader/ssr-cache-manager.js +3 -3
  41. package/esm/src/rendering/orchestrator/html.d.ts.map +1 -1
  42. package/esm/src/rendering/orchestrator/html.js +93 -5
  43. package/esm/src/rendering/snippet-renderer.js +1 -1
  44. package/esm/src/security/http/response/security-handler.d.ts.map +1 -1
  45. package/esm/src/security/http/response/security-handler.js +3 -2
  46. package/esm/src/server/dev-server/error-overlay/html-template.d.ts +1 -1
  47. package/esm/src/server/dev-server/error-overlay/html-template.d.ts.map +1 -1
  48. package/esm/src/server/dev-server/error-overlay/html-template.js +4 -3
  49. package/esm/src/server/dev-server/error-overlay/overlay-renderer.d.ts +1 -1
  50. package/esm/src/server/dev-server/error-overlay/overlay-renderer.d.ts.map +1 -1
  51. package/esm/src/server/dev-server/error-overlay/overlay-renderer.js +2 -2
  52. package/esm/src/server/services/rendering/ssr.service.d.ts.map +1 -1
  53. package/esm/src/server/services/rendering/ssr.service.js +3 -3
  54. package/esm/src/server/services/rsc/endpoints/rsc-bundles.generated.d.ts.map +1 -1
  55. package/esm/src/server/services/rsc/endpoints/rsc-bundles.generated.js +1 -1
  56. package/esm/src/transforms/mdx/esm-module-loader/module-fetcher/framework-validator.d.ts +2 -3
  57. package/esm/src/transforms/mdx/esm-module-loader/module-fetcher/framework-validator.d.ts.map +1 -1
  58. package/esm/src/transforms/mdx/esm-module-loader/module-fetcher/framework-validator.js +61 -51
  59. package/esm/src/utils/version.d.ts +1 -1
  60. package/esm/src/utils/version.js +1 -1
  61. package/package.json +1 -1
  62. package/src/cli/commands/completions/command-help.ts +15 -0
  63. package/src/cli/commands/completions/command.ts +163 -0
  64. package/src/cli/commands/completions/handler.ts +29 -0
  65. package/src/cli/help/command-definitions.ts +2 -0
  66. package/src/cli/router.ts +16 -1
  67. package/src/cli/shared/suggest.ts +33 -0
  68. package/src/deno.js +1 -1
  69. package/src/src/html/dev-scripts.ts +4 -2
  70. package/src/src/html/html-injection.ts +2 -1
  71. package/src/src/html/html-shell-generator.ts +1 -1
  72. package/src/src/html/hydration-script-builder/dev-client-renderer.ts +2 -1
  73. package/src/src/html/hydration-script-builder/dev-component-manifest.ts +2 -1
  74. package/src/src/html/hydration-script-builder/dev-error-logger.ts +3 -1
  75. package/src/src/html/hydration-script-builder/dev-scripts.ts +2 -1
  76. package/src/src/html/hydration-script-builder/prod-hydration.ts +2 -1
  77. package/src/src/html/hydration-script-builder/prod-scripts.ts +2 -1
  78. package/src/src/html/styles-builder/dev-styles.ts +2 -1
  79. package/src/src/modules/react-loader/ssr-module-loader/http-bundle-helpers.ts +63 -29
  80. package/src/src/modules/react-loader/ssr-module-loader/ssr-cache-manager.ts +4 -4
  81. package/src/src/rendering/orchestrator/html.ts +112 -4
  82. package/src/src/rendering/snippet-renderer.ts +1 -1
  83. package/src/src/security/http/response/security-handler.ts +3 -2
  84. package/src/src/server/dev-server/error-overlay/html-template.ts +4 -2
  85. package/src/src/server/dev-server/error-overlay/overlay-renderer.ts +2 -1
  86. package/src/src/server/services/rendering/ssr.service.ts +12 -7
  87. package/src/src/server/services/rsc/endpoints/rsc-bundles.generated.ts +1 -1
  88. package/src/src/transforms/mdx/esm-module-loader/module-fetcher/framework-validator.ts +83 -52
  89. package/src/src/utils/version.ts +1 -1
@@ -0,0 +1,3 @@
1
+ import type { CommandHelp } from "../../help/types.js";
2
+ export declare const completionsHelp: CommandHelp;
3
+ //# sourceMappingURL=command-help.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command-help.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/completions/command-help.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEvD,eAAO,MAAM,eAAe,EAAE,WAY7B,CAAC"}
@@ -0,0 +1,13 @@
1
+ export const completionsHelp = {
2
+ name: "completions",
3
+ category: "development",
4
+ description: "Generate shell completion scripts",
5
+ usage: "veryfront completions <shell>",
6
+ options: [],
7
+ examples: [
8
+ "veryfront completions bash",
9
+ "veryfront completions zsh",
10
+ "veryfront completions fish",
11
+ 'eval "$(veryfront completions bash)"',
12
+ ],
13
+ };
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Shell completion generators
3
+ *
4
+ * Generates completion scripts from the COMMANDS registry.
5
+ *
6
+ * @module cli/commands/completions
7
+ */
8
+ import type { CommandOption } from "../../help/types.js";
9
+ /** Escape a string for use in shell single-quoted contexts */
10
+ export declare function shellEscape(s: string): string;
11
+ /**
12
+ * Extract long flags (--name) from a CommandOption flag string.
13
+ * Handles formats like: "--port", "-p, --port", "-p, --port <number>"
14
+ */
15
+ export declare function extractLongFlags(options: CommandOption[]): string[];
16
+ /**
17
+ * Extract short and long flags for fish completions.
18
+ * Returns { short: "p", long: "port" } pairs.
19
+ */
20
+ export declare function extractFishFlags(options: CommandOption[]): Array<{
21
+ short?: string;
22
+ long?: string;
23
+ description: string;
24
+ }>;
25
+ export declare function generateBashCompletions(): string;
26
+ export declare function generateZshCompletions(): string;
27
+ export declare function generateFishCompletions(): string;
28
+ //# sourceMappingURL=command.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/completions/command.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEzD,8DAA8D;AAC9D,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAE7C;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,aAAa,EAAE,GAAG,MAAM,EAAE,CAOnE;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,aAAa,EAAE,GACvB,KAAK,CAAC;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CAAC,CAO/D;AAaD,wBAAgB,uBAAuB,IAAI,MAAM,CA2BhD;AAED,wBAAgB,sBAAsB,IAAI,MAAM,CA4C/C;AAED,wBAAgB,uBAAuB,IAAI,MAAM,CAgChD"}
@@ -0,0 +1,133 @@
1
+ /**
2
+ * Shell completion generators
3
+ *
4
+ * Generates completion scripts from the COMMANDS registry.
5
+ *
6
+ * @module cli/commands/completions
7
+ */
8
+ import { COMMANDS } from "../../help/command-definitions.js";
9
+ /** Escape a string for use in shell single-quoted contexts */
10
+ export function shellEscape(s) {
11
+ return s.replace(/\\/g, "\\\\").replace(/'/g, "\\'");
12
+ }
13
+ /**
14
+ * Extract long flags (--name) from a CommandOption flag string.
15
+ * Handles formats like: "--port", "-p, --port", "-p, --port <number>"
16
+ */
17
+ export function extractLongFlags(options) {
18
+ return options.flatMap((o) => o.flag
19
+ .split(",")
20
+ .map((f) => f.trim().split(" ")[0])
21
+ .filter((f) => f.startsWith("--")));
22
+ }
23
+ /**
24
+ * Extract short and long flags for fish completions.
25
+ * Returns { short: "p", long: "port" } pairs.
26
+ */
27
+ export function extractFishFlags(options) {
28
+ return options.map((o) => {
29
+ const parts = o.flag.split(",").map((f) => f.trim().split(" ")[0]);
30
+ const short = parts.find((p) => p.match(/^-[a-zA-Z]$/))?.slice(1);
31
+ const long = parts.find((p) => p.startsWith("--"))?.slice(2);
32
+ return { short, long, description: o.description };
33
+ });
34
+ }
35
+ const GLOBAL_FLAGS = [
36
+ "--json",
37
+ "--yes",
38
+ "--quiet",
39
+ "--verbose",
40
+ "--help",
41
+ "--version",
42
+ "--no-color",
43
+ "--output",
44
+ ];
45
+ export function generateBashCompletions() {
46
+ const commands = Object.values(COMMANDS);
47
+ const cmdNames = commands.map((c) => c.name).join(" ");
48
+ let script = `# Veryfront CLI bash completions\n_veryfront_completions() {\n`;
49
+ script += ` local cur prev commands\n`;
50
+ script += ` cur="\${COMP_WORDS[COMP_CWORD]}"\n`;
51
+ script += ` prev="\${COMP_WORDS[COMP_CWORD-1]}"\n`;
52
+ script += ` commands="${cmdNames}"\n\n`;
53
+ script += ` if [[ \${COMP_CWORD} -eq 1 ]]; then\n`;
54
+ script += ` COMPREPLY=( $(compgen -W "\${commands}" -- "\${cur}") )\n`;
55
+ script += ` return\n`;
56
+ script += ` fi\n\n`;
57
+ script += ` case "\${COMP_WORDS[1]}" in\n`;
58
+ for (const cmd of commands) {
59
+ const flags = extractLongFlags(cmd.options ?? [])
60
+ .concat(GLOBAL_FLAGS)
61
+ .join(" ");
62
+ script += ` ${cmd.name}) COMPREPLY=( $(compgen -W "${flags}" -- "\${cur}") ) ;;\n`;
63
+ }
64
+ script += ` *) COMPREPLY=( $(compgen -W "${GLOBAL_FLAGS.join(" ")}" -- "\${cur}") ) ;;\n`;
65
+ script += ` esac\n`;
66
+ script += `}\n`;
67
+ script += `complete -F _veryfront_completions veryfront\n`;
68
+ return script;
69
+ }
70
+ export function generateZshCompletions() {
71
+ const commands = Object.values(COMMANDS);
72
+ let script = `#compdef veryfront\n# Veryfront CLI zsh completions\n\n`;
73
+ script += `_veryfront() {\n`;
74
+ script += ` local -a commands\n`;
75
+ script += ` commands=(\n`;
76
+ for (const cmd of commands) {
77
+ const desc = shellEscape(cmd.description);
78
+ script += ` '${cmd.name}:${desc}'\n`;
79
+ }
80
+ script += ` )\n\n`;
81
+ script += ` _arguments -C \\\n`;
82
+ script += ` '1:command:->command' \\\n`;
83
+ script += ` '*::arg:->args'\n\n`;
84
+ script += ` case $state in\n`;
85
+ script += ` command)\n`;
86
+ script += ` _describe 'command' commands\n`;
87
+ script += ` ;;\n`;
88
+ script += ` args)\n`;
89
+ script += ` case \${words[1]} in\n`;
90
+ for (const cmd of commands) {
91
+ const flags = extractLongFlags(cmd.options ?? []).concat(GLOBAL_FLAGS);
92
+ if (flags.length > 0) {
93
+ const zshFlags = flags.map((f) => `'${f}[${shellEscape((cmd.options ?? []).find((o) => o.flag.includes(f))?.description ??
94
+ "")}]'`).join(" ");
95
+ script += ` ${cmd.name}) _arguments ${zshFlags} ;;\n`;
96
+ }
97
+ }
98
+ script += ` esac\n`;
99
+ script += ` ;;\n`;
100
+ script += ` esac\n`;
101
+ script += `}\n\n`;
102
+ script += `_veryfront\n`;
103
+ return script;
104
+ }
105
+ export function generateFishCompletions() {
106
+ const commands = Object.values(COMMANDS);
107
+ let script = `# Veryfront CLI fish completions\n`;
108
+ for (const cmd of commands) {
109
+ const desc = shellEscape(cmd.description);
110
+ script += `complete -c veryfront -n '__fish_use_subcommand' -a '${cmd.name}' -d '${desc}'\n`;
111
+ }
112
+ script += `\n`;
113
+ for (const cmd of commands) {
114
+ const flags = extractFishFlags(cmd.options ?? []);
115
+ for (const flag of flags) {
116
+ if (flag.long) {
117
+ const desc = shellEscape(flag.description);
118
+ let line = `complete -c veryfront -n '__fish_seen_subcommand_from ${cmd.name}' -l '${flag.long}'`;
119
+ if (flag.short) {
120
+ line += ` -s '${flag.short}'`;
121
+ }
122
+ line += ` -d '${desc}'\n`;
123
+ script += line;
124
+ }
125
+ else if (flag.short) {
126
+ const desc = shellEscape(flag.description);
127
+ script +=
128
+ `complete -c veryfront -n '__fish_seen_subcommand_from ${cmd.name}' -s '${flag.short}' -d '${desc}'\n`;
129
+ }
130
+ }
131
+ }
132
+ return script;
133
+ }
@@ -0,0 +1,3 @@
1
+ import type { ParsedArgs } from "../../shared/types.js";
2
+ export declare function handleCompletionsCommand(args: ParsedArgs): Promise<void>;
3
+ //# sourceMappingURL=handler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/completions/handler.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAOxD,wBAAsB,wBAAwB,CAC5C,IAAI,EAAE,UAAU,GACf,OAAO,CAAC,IAAI,CAAC,CAkBf"}
@@ -0,0 +1,20 @@
1
+ import * as dntShim from "../../../_dnt.shims.js";
2
+ import { generateBashCompletions, generateFishCompletions, generateZshCompletions, } from "./command.js";
3
+ export async function handleCompletionsCommand(args) {
4
+ const shell = args._[1];
5
+ switch (shell) {
6
+ case "bash":
7
+ console.log(generateBashCompletions());
8
+ break;
9
+ case "zsh":
10
+ console.log(generateZshCompletions());
11
+ break;
12
+ case "fish":
13
+ console.log(generateFishCompletions());
14
+ break;
15
+ default:
16
+ console.error("Usage: veryfront completions <bash|zsh|fish>");
17
+ console.error('Example: eval "$(veryfront completions bash)"');
18
+ dntShim.Deno.exit(1);
19
+ }
20
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"command-definitions.d.ts","sourceRoot":"","sources":["../../../src/cli/help/command-definitions.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAsClD;;;GAGG;AACH,eAAO,MAAM,QAAQ,EAAE,eAoCtB,CAAC"}
1
+ {"version":3,"file":"command-definitions.d.ts","sourceRoot":"","sources":["../../../src/cli/help/command-definitions.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAuClD;;;GAGG;AACH,eAAO,MAAM,QAAQ,EAAE,eAqCtB,CAAC"}
@@ -39,6 +39,7 @@ import { schemaHelp } from "../commands/schema/command-help.js";
39
39
  import { testHelp } from "../commands/test/command-help.js";
40
40
  import { lintHelp } from "../commands/lint/command-help.js";
41
41
  import { skillsHelp } from "../commands/skills/command-help.js";
42
+ import { completionsHelp } from "../commands/completions/command-help.js";
42
43
  /**
43
44
  * Central registry of all command help definitions.
44
45
  * Each command's help is imported from its respective command-help.ts file.
@@ -79,4 +80,5 @@ export const COMMANDS = {
79
80
  test: testHelp,
80
81
  lint: lintHelp,
81
82
  skills: skillsHelp,
83
+ completions: completionsHelp,
82
84
  };
@@ -1 +1 @@
1
- {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../src/cli/router.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AA2CH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAgEpD;;;;GAIG;AACH,wBAAsB,YAAY,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CA8ClE"}
1
+ {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../src/cli/router.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AA4CH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAiEpD;;;;GAIG;AACH,wBAAsB,YAAY,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CA2DlE"}
package/esm/cli/router.js CHANGED
@@ -37,6 +37,7 @@ import { handleSchemaCommand } from "./commands/schema/handler.js";
37
37
  import { handleTestCommand } from "./commands/test/handler.js";
38
38
  import { handleLintCommand } from "./commands/lint/handler.js";
39
39
  import { handleSkillsCommand } from "./commands/skills/handler.js";
40
+ import { handleCompletionsCommand } from "./commands/completions/handler.js";
40
41
  import { login, logout, whoami } from "./auth/index.js";
41
42
  import { parseLoginMethod } from "./auth/utils.js";
42
43
  import { showCommandHelp, showMainHelp } from "./help/index.js";
@@ -93,6 +94,7 @@ const commands = {
93
94
  "test": handleTestCommand,
94
95
  "lint": handleLintCommand,
95
96
  "skills": handleSkillsCommand,
97
+ "completions": handleCompletionsCommand,
96
98
  };
97
99
  /**
98
100
  * Show help for a specific command or main help
@@ -146,8 +148,22 @@ export async function routeCommand(args) {
146
148
  }
147
149
  const handler = command ? commands[command] : undefined;
148
150
  if (command && !handler) {
151
+ const { suggestCommand } = await import("./shared/suggest.js");
152
+ const { COMMANDS } = await import("./help/command-definitions.js");
153
+ // Use canonical command names from help registry (excludes aliases like "g", "preview")
154
+ const canonicalNames = Object.keys(COMMANDS);
155
+ const suggestions = suggestCommand(command, canonicalNames);
149
156
  cliLogger.error(`Unknown command: ${command}\n`);
150
- showHelp();
157
+ if (suggestions.length > 0) {
158
+ cliLogger.info(` Did you mean?`);
159
+ for (const s of suggestions) {
160
+ const desc = COMMANDS[s]?.description ?? "";
161
+ cliLogger.info(` ${s} ${desc}`);
162
+ }
163
+ }
164
+ else {
165
+ showHelp();
166
+ }
151
167
  exitProcess(1);
152
168
  return;
153
169
  }
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Command suggestion via Levenshtein distance
3
+ *
4
+ * @module cli/shared/suggest
5
+ */
6
+ export declare function levenshtein(a: string, b: string): number;
7
+ export declare function suggestCommand(input: string, commands: string[], maxDistance?: number): string[];
8
+ //# sourceMappingURL=suggest.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"suggest.d.ts","sourceRoot":"","sources":["../../../src/cli/shared/suggest.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAcxD;AAED,wBAAgB,cAAc,CAC5B,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAAE,EAClB,WAAW,SAAI,GACd,MAAM,EAAE,CAMV"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Command suggestion via Levenshtein distance
3
+ *
4
+ * @module cli/shared/suggest
5
+ */
6
+ export function levenshtein(a, b) {
7
+ const matrix = [];
8
+ for (let i = 0; i <= a.length; i++)
9
+ matrix[i] = [i];
10
+ for (let j = 0; j <= b.length; j++)
11
+ matrix[0][j] = j;
12
+ for (let i = 1; i <= a.length; i++) {
13
+ for (let j = 1; j <= b.length; j++) {
14
+ matrix[i][j] = Math.min(matrix[i - 1][j] + 1, matrix[i][j - 1] + 1, matrix[i - 1][j - 1] + (a[i - 1] === b[j - 1] ? 0 : 1));
15
+ }
16
+ }
17
+ return matrix[a.length][b.length];
18
+ }
19
+ export function suggestCommand(input, commands, maxDistance = 2) {
20
+ return commands
21
+ .map((cmd) => ({ cmd, dist: levenshtein(input, cmd) }))
22
+ .filter(({ dist }) => dist <= maxDistance)
23
+ .sort((a, b) => a.dist - b.dist)
24
+ .map(({ cmd }) => cmd);
25
+ }
package/esm/deno.js CHANGED
@@ -1,6 +1,6 @@
1
1
  export default {
2
2
  "name": "veryfront",
3
- "version": "0.1.112",
3
+ "version": "0.1.113",
4
4
  "license": "Apache-2.0",
5
5
  "nodeModulesDir": "auto",
6
6
  "exclude": [
@@ -1 +1 @@
1
- {"version":3,"file":"dev-scripts.d.ts","sourceRoot":"","sources":["../../../src/src/html/dev-scripts.ts"],"names":[],"mappings":"AAAA,wBAAgB,YAAY,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CA+BnD;AAMD,wBAAgB,aAAa,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAMvE;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAOnE;AAED,UAAU,mBAAmB;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iEAAiE;IACjE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,8DAA8D;IAC9D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,6DAA6D;IAC7D,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,mBAAmB,GAAG,MAAM,CAwBrE"}
1
+ {"version":3,"file":"dev-scripts.d.ts","sourceRoot":"","sources":["../../../src/src/html/dev-scripts.ts"],"names":[],"mappings":"AAEA,wBAAgB,YAAY,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CA+BnD;AAMD,wBAAgB,aAAa,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAMvE;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAOnE;AAED,UAAU,mBAAmB;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iEAAiE;IACjE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,8DAA8D;IAC9D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,6DAA6D;IAC7D,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,mBAAmB,GAAG,MAAM,CAwBrE"}
@@ -1,5 +1,6 @@
1
+ import { escapeHtml } from "./html-escape.js";
1
2
  export function getDevStyles(nonce) {
2
- const nonceAttr = nonce ? ` nonce="${nonce}"` : "";
3
+ const nonceAttr = nonce ? ` nonce="${escapeHtml(nonce)}"` : "";
3
4
  return `
4
5
  <style${nonceAttr}>
5
6
  .dev-indicator {
@@ -30,7 +31,7 @@ export function getDevStyles(nonce) {
30
31
  </style>`;
31
32
  }
32
33
  function getNonceAttr(nonce) {
33
- return nonce ? ` nonce="${nonce}"` : "";
34
+ return nonce ? ` nonce="${escapeHtml(nonce)}"` : "";
34
35
  }
35
36
  export function getDevScripts(_hmrPort, nonce) {
36
37
  const nonceAttr = getNonceAttr(nonce);
@@ -1 +1 @@
1
- {"version":3,"file":"html-injection.d.ts","sourceRoot":"","sources":["../../../src/src/html/html-injection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAS/D,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,sEAAsE;IACtE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kDAAkD;IAClD,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,gDAAgD;IAChD,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,0CAA0C;IAC1C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,uCAAuC;IACvC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gBAAgB;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,8DAA8D;IAC9D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,6DAA6D;IAC7D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iFAAiF;IACjF,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,YAAY,EACtB,OAAO,EAAE,wBAAwB,GAChC,MAAM,CAoFR"}
1
+ {"version":3,"file":"html-injection.d.ts","sourceRoot":"","sources":["../../../src/src/html/html-injection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAU/D,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,sEAAsE;IACtE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kDAAkD;IAClD,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,gDAAgD;IAChD,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,0CAA0C;IAC1C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,uCAAuC;IACvC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gBAAgB;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,8DAA8D;IAC9D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,6DAA6D;IAC7D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iFAAiF;IACjF,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,YAAY,EACtB,OAAO,EAAE,wBAAwB,GAChC,MAAM,CAoFR"}
@@ -1,4 +1,5 @@
1
1
  import { generateLinkTags, generateMetaTags, generateScriptTags, generateStyleTags, } from "./tag-generators.js";
2
+ import { escapeHtml } from "./html-escape.js";
2
3
  import { getDevScripts, getDevStyles, getProdScripts, getStudioScripts } from "./dev-scripts.js";
3
4
  export function injectHTMLContent(template, content, metadata, options) {
4
5
  let html = template;
@@ -19,7 +20,7 @@ export function injectHTMLContent(template, content, metadata, options) {
19
20
  }
20
21
  // Inject import map into <head> for ESM module resolution (must be before any module scripts)
21
22
  if (options.importMapJson && /<\/head>/i.test(html)) {
22
- const nonceAttr = options.nonce ? ` nonce="${options.nonce}"` : "";
23
+ const nonceAttr = options.nonce ? ` nonce="${escapeHtml(options.nonce)}"` : "";
23
24
  const importMapTag = `<script type="importmap"${nonceAttr}>\n${options.importMapJson}\n</script>`;
24
25
  html = html.replace(/<\/head>/i, `${importMapTag}\n</head>`);
25
26
  }
@@ -133,7 +133,7 @@ async function generateHTMLShellPartsImpl(meta, options, params, props, contentF
133
133
  const criticalDepsPreload = jsxRuntimeUrl
134
134
  ? `<link rel="modulepreload" href="${jsxRuntimeUrl}">`
135
135
  : "";
136
- const nonceAttr = nonce ? ` nonce="${nonce}"` : "";
136
+ const nonceAttr = nonce ? ` nonce="${escapeHTML(nonce)}"` : "";
137
137
  // Expose project slug for runtime error overlay "Fix in Veryfront" button
138
138
  const overlaySlug = options.projectId || meta.slug;
139
139
  const slugForOverlay = useDevScripts && overlaySlug
@@ -1 +1 @@
1
- {"version":3,"file":"dev-client-renderer.d.ts","sourceRoot":"","sources":["../../../../src/src/html/hydration-script-builder/dev-client-renderer.ts"],"names":[],"mappings":"AAEA,wBAAgB,+BAA+B,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CActE"}
1
+ {"version":3,"file":"dev-client-renderer.d.ts","sourceRoot":"","sources":["../../../../src/src/html/hydration-script-builder/dev-client-renderer.ts"],"names":[],"mappings":"AAGA,wBAAgB,+BAA+B,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CActE"}
@@ -1,6 +1,7 @@
1
1
  import { getLoaderScript, getRendererScript, getRouterScript } from "./templates/index.js";
2
+ import { escapeHtml } from "../html-escape.js";
2
3
  export function generateDevClientRendererScript(nonce) {
3
- const nonceAttr = nonce ? ` nonce="${nonce}"` : "";
4
+ const nonceAttr = nonce ? ` nonce="${escapeHtml(nonce)}"` : "";
4
5
  return `
5
6
  <script type="module"${nonceAttr}>
6
7
  import * as React from 'react';
@@ -1 +1 @@
1
- {"version":3,"file":"dev-component-manifest.d.ts","sourceRoot":"","sources":["../../../../src/src/html/hydration-script-builder/dev-component-manifest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAE7D,wBAAgB,kCAAkC,CAChD,MAAM,EAAE,eAAe,EACvB,KAAK,CAAC,EAAE,MAAM,GACb,MAAM,CAQR"}
1
+ {"version":3,"file":"dev-component-manifest.d.ts","sourceRoot":"","sources":["../../../../src/src/html/hydration-script-builder/dev-component-manifest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAG7D,wBAAgB,kCAAkC,CAChD,MAAM,EAAE,eAAe,EACvB,KAAK,CAAC,EAAE,MAAM,GACb,MAAM,CAQR"}
@@ -1,5 +1,6 @@
1
+ import { escapeHtml } from "../html-escape.js";
1
2
  export function generateDevComponentManifestScript(config, nonce) {
2
- const nonceAttr = nonce ? ` nonce="${nonce}"` : "";
3
+ const nonceAttr = nonce ? ` nonce="${escapeHtml(nonce)}"` : "";
3
4
  const components = config.dev?.components ?? [];
4
5
  return `
5
6
  <script${nonceAttr}>
@@ -1 +1 @@
1
- {"version":3,"file":"dev-error-logger.d.ts","sourceRoot":"","sources":["../../../../src/src/html/hydration-script-builder/dev-error-logger.ts"],"names":[],"mappings":"AAIA,wBAAgB,4BAA4B,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAyDnE"}
1
+ {"version":3,"file":"dev-error-logger.d.ts","sourceRoot":"","sources":["../../../../src/src/html/hydration-script-builder/dev-error-logger.ts"],"names":[],"mappings":"AAMA,wBAAgB,4BAA4B,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAyDnE"}
@@ -1,5 +1,6 @@
1
+ import { escapeHtml } from "../html-escape.js";
1
2
  function getOpenScriptTag(nonce) {
2
- return nonce ? `<script nonce="${nonce}">` : "<script>";
3
+ return nonce ? `<script nonce="${escapeHtml(nonce)}">` : "<script>";
3
4
  }
4
5
  export function generateDevErrorLoggerScript(nonce) {
5
6
  const openScriptTag = getOpenScriptTag(nonce);
@@ -1 +1 @@
1
- {"version":3,"file":"dev-scripts.d.ts","sourceRoot":"","sources":["../../../../src/src/html/hydration-script-builder/dev-scripts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAiB7D,UAAU,iBAAiB;IACzB,gEAAgE;IAChE,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,sEAAsE;IACtE,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,wBAAgB,aAAa,CAC3B,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,eAAe,EACvB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,EAC3C,MAAM,CAAC,EAAE,cAAc,EACvB,KAAK,CAAC,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,iBAAiB,GAC1B,MAAM,CAaR"}
1
+ {"version":3,"file":"dev-scripts.d.ts","sourceRoot":"","sources":["../../../../src/src/html/hydration-script-builder/dev-scripts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAkB7D,UAAU,iBAAiB;IACzB,gEAAgE;IAChE,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,sEAAsE;IACtE,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,wBAAgB,aAAa,CAC3B,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,eAAe,EACvB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,EAC3C,MAAM,CAAC,EAAE,cAAc,EACvB,KAAK,CAAC,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,iBAAiB,GAC1B,MAAM,CAaR"}
@@ -1,3 +1,4 @@
1
+ import { escapeHtml } from "../html-escape.js";
1
2
  import { generateDevErrorLoggerScript } from "./dev-error-logger.js";
2
3
  import { generateDevComponentManifestScript } from "./dev-component-manifest.js";
3
4
  import { generateDevClientRendererScript } from "./dev-client-renderer.js";
@@ -5,7 +6,7 @@ function generateHMRScript(config, nonce, skipDevHMR) {
5
6
  // Skip dev HMR script when preview-hmr.js will be used instead
6
7
  if (skipDevHMR || !config.dev?.hmr)
7
8
  return "";
8
- const nonceAttr = nonce ? ` nonce="${nonce}"` : "";
9
+ const nonceAttr = nonce ? ` nonce="${escapeHtml(nonce)}"` : "";
9
10
  return `<script type="module" src="/_veryfront/hmr.js"${nonceAttr}></script>`;
10
11
  }
11
12
  export function getDevScripts(_slug, config, _params, _props, nonce, options) {
@@ -1 +1 @@
1
- {"version":3,"file":"prod-hydration.d.ts","sourceRoot":"","sources":["../../../../src/src/html/hydration-script-builder/prod-hydration.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE3D,wBAAgB,2BAA2B,CACzC,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,EAC3C,KAAK,CAAC,EAAE,cAAc,EACtB,KAAK,CAAC,EAAE,MAAM,GACb,MAAM,CAgCR"}
1
+ {"version":3,"file":"prod-hydration.d.ts","sourceRoot":"","sources":["../../../../src/src/html/hydration-script-builder/prod-hydration.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAG3D,wBAAgB,2BAA2B,CACzC,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,EAC3C,KAAK,CAAC,EAAE,cAAc,EACtB,KAAK,CAAC,EAAE,MAAM,GACb,MAAM,CAgCR"}
@@ -1,5 +1,6 @@
1
+ import { escapeHtml } from "../html-escape.js";
1
2
  export function generateProdHydrationScript(slug, _params, props, nonce) {
2
- const nonceAttr = nonce ? ` nonce="${nonce}"` : "";
3
+ const nonceAttr = nonce ? ` nonce="${escapeHtml(nonce)}"` : "";
3
4
  const pageProps = JSON.stringify(props ?? {});
4
5
  return `
5
6
  <script type="module"${nonceAttr}>
@@ -1 +1 @@
1
- {"version":3,"file":"prod-scripts.d.ts","sourceRoot":"","sources":["../../../../src/src/html/hydration-script-builder/prod-scripts.ts"],"names":[],"mappings":"AAEA,wBAAgB,cAAc,CAC5B,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,EAC3C,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,KAAK,CAAC,EAAE,MAAM,GACb,MAAM,CAeR"}
1
+ {"version":3,"file":"prod-scripts.d.ts","sourceRoot":"","sources":["../../../../src/src/html/hydration-script-builder/prod-scripts.ts"],"names":[],"mappings":"AAGA,wBAAgB,cAAc,CAC5B,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,EAC3C,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,KAAK,CAAC,EAAE,MAAM,GACb,MAAM,CAeR"}
@@ -1,6 +1,7 @@
1
1
  import { getLoaderScript, getRendererScript, getRouterScript } from "./templates/index.js";
2
+ import { escapeHtml } from "../html-escape.js";
2
3
  export function getProdScripts(_slug, _params, _props, nonce) {
3
- const nonceAttr = nonce ? ` nonce="${nonce}"` : "";
4
+ const nonceAttr = nonce ? ` nonce="${escapeHtml(nonce)}"` : "";
4
5
  return `
5
6
  <script type="module"${nonceAttr}>
6
7
  import * as React from 'react';
@@ -1 +1 @@
1
- {"version":3,"file":"dev-styles.d.ts","sourceRoot":"","sources":["../../../../src/src/html/styles-builder/dev-styles.ts"],"names":[],"mappings":"AAEA,wBAAgB,YAAY,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAmBnD"}
1
+ {"version":3,"file":"dev-styles.d.ts","sourceRoot":"","sources":["../../../../src/src/html/styles-builder/dev-styles.ts"],"names":[],"mappings":"AAGA,wBAAgB,YAAY,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAmBnD"}
@@ -1,6 +1,7 @@
1
1
  import { Z_INDEX_ERROR_OVERLAY } from "../../utils/index.js";
2
+ import { escapeHtml } from "../html-escape.js";
2
3
  export function getDevStyles(nonce) {
3
- const nonceAttr = nonce ? ` nonce="${nonce}"` : "";
4
+ const nonceAttr = nonce ? ` nonce="${escapeHtml(nonce)}"` : "";
4
5
  return `
5
6
  <style${nonceAttr}>
6
7
  #veryfront-error-overlay {
@@ -7,6 +7,11 @@
7
7
  * @module module-system/react-loader/ssr-module-loader/http-bundle-helpers
8
8
  */
9
9
  import { LRUCache } from "../../../utils/lru-wrapper.js";
10
+ /**
11
+ * Visit VF module code blocks imported by the given module, including nested VF modules.
12
+ * The visitor receives both the module code and the absolute vfmod file path.
13
+ */
14
+ export declare function visitImportedVfModules(code: string, visitor: (vfModuleCode: string, vfModulePath?: string) => void | Promise<void>): Promise<void>;
10
15
  /**
11
16
  * Recursively extract all HTTP bundle paths from code and any VF modules it imports.
12
17
  * This ensures transitive HTTP bundle dependencies through VF modules are discovered.
@@ -27,6 +32,11 @@ export declare function extractHttpBundlePaths(code: string): Array<{
27
32
  * other pods with different temp directories.
28
33
  */
29
34
  export declare function extractAllFilePaths(code: string): string[];
35
+ /**
36
+ * Extract all file:// paths from cached code and any transitively imported VF modules.
37
+ * This catches stale pod-local paths that only appear in nested vfmod dependencies.
38
+ */
39
+ export declare function extractAllFilePathsRecursive(code: string): Promise<string[]>;
30
40
  /**
31
41
  * Track modules whose HTTP bundles have been verified, keyed by tempPath:contentHash.
32
42
  * Bounded LRU to prevent unbounded memory growth in long-running pods.
@@ -1 +1 @@
1
- {"version":3,"file":"http-bundle-helpers.d.ts","sourceRoot":"","sources":["../../../../../src/src/modules/react-loader/ssr-module-loader/http-bundle-helpers.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AA2BzD;;;GAGG;AACH,wBAAsB,kCAAkC,CACtD,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC,CAmDhD;AAED,6EAA6E;AAC7E,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CA6B1F;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAkB1D;AAED;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,wBAElC,CAAC"}
1
+ {"version":3,"file":"http-bundle-helpers.d.ts","sourceRoot":"","sources":["../../../../../src/src/modules/react-loader/ssr-module-loader/http-bundle-helpers.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AA2BzD;;;GAGG;AACH,wBAAsB,sBAAsB,CAC1C,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GAC7E,OAAO,CAAC,IAAI,CAAC,CA0Bf;AAED;;;GAGG;AACH,wBAAsB,kCAAkC,CACtD,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC,CAyBhD;AAED,6EAA6E;AAC7E,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CA6B1F;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAkB1D;AAED;;;GAGG;AACH,wBAAsB,4BAA4B,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAmBlF;AAED;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,wBAElC,CAAC"}