@reckona/mreact-shared 0.0.152 → 0.0.153

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.
@@ -37,6 +37,7 @@ export interface ModuleMetadata {
37
37
  serverBootstrapNonce?: string;
38
38
  serverBootstrapSrc?: string;
39
39
  serverHydration?: boolean;
40
+ serverAwaitHydration?: boolean;
40
41
  reactSuspenseRevealScriptSrc?: string;
41
42
  components: ComponentMetadata[];
42
43
  imports: RuntimeImport[];
@@ -1 +1 @@
1
- {"version":3,"file":"compiler-contract.d.ts","sourceRoot":"","sources":["../src/compiler-contract.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,6BAA6B,IAAI,CAAC;AAE/C,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAEnD,MAAM,WAAW,QAAQ;IACvB,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,YAAY,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/B,KAAK,CAAC,CAAC,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IACtC,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,QAAQ,EAAE,cAAc,CAAC;CAC1B;AAED,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,cAAc,CAAC;IACrB,UAAU,CAAC,EAAE,oBAAoB,CAAC;CACnC;AAED,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,aAAa,CAAC;IACtB,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,YAAY,CAAC,EAAE,gBAAgB,CAAC;IAChC,eAAe,CAAC,EAAE,mBAAmB,CAAC;IACtC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,4BAA4B,CAAC,EAAE,MAAM,CAAC;IACtC,UAAU,EAAE,iBAAiB,EAAE,CAAC;IAChC,OAAO,EAAE,aAAa,EAAE,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,uBAAuB,CAAC,EAAE,uBAAuB,EAAE,CAAC;IACpD,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,sBAAsB,CAAC,EAAE,8BAA8B,CAAC;CACzD;AAED,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAChD,MAAM,MAAM,mBAAmB,GAAG,MAAM,GAAG,sBAAsB,CAAC;AAClE,MAAM,MAAM,gBAAgB,GAAG,KAAK,CAAC;AAErC,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,kBAAkB,EAAE,OAAO,CAAC;CAC7B;AAED,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,8BAA8B;IAC7C,OAAO,EAAE,CAAC,CAAC;IACX,MAAM,EAAE,2BAA2B,EAAE,CAAC;CACvC;AAED,MAAM,WAAW,2BAA2B;IAC1C,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB"}
1
+ {"version":3,"file":"compiler-contract.d.ts","sourceRoot":"","sources":["../src/compiler-contract.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"compiler-contract.js","sourceRoot":"","sources":["../src/compiler-contract.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,CAAC","sourcesContent":["export const compilerOutputContractVersion = 1;\n\nexport type ServerOutputMode = \"string\" | \"stream\";\n\nexport interface HtmlSink {\n append(chunk: string): void;\n backpressure?(): Promise<void>;\n defer?(task: PromiseLike<void>): void;\n signal?: AbortSignal;\n}\n\nexport interface TransformOutput {\n code: string;\n map?: string | null;\n diagnostics: Diagnostic[];\n metadata: ModuleMetadata;\n}\n\nexport interface Diagnostic {\n level: \"info\" | \"warn\" | \"error\";\n code: string;\n message: string;\n loc?: SourceLocation;\n suggestion?: DiagnosticSuggestion;\n}\n\nexport interface DiagnosticSuggestion {\n title: string;\n replacement?: string;\n link?: string;\n}\n\nexport interface SourceLocation {\n line: number;\n column: number;\n}\n\nexport interface ModuleMetadata {\n filename: string;\n target: CompileTarget;\n compiler: CompilerMetadata;\n serverOutput?: ServerOutputMode;\n serverBootstrap?: ServerBootstrapMode;\n serverBootstrapNonce?: string;\n serverBootstrapSrc?: string;\n serverHydration?: boolean;\n reactSuspenseRevealScriptSrc?: string;\n components: ComponentMetadata[];\n imports: RuntimeImport[];\n clientReferences?: string[];\n clientReferenceManifest?: ClientReferenceMetadata[];\n serverReferences?: string[];\n eventHydrationManifest?: EventHydrationManifestMetadata;\n}\n\nexport type CompileTarget = \"client\" | \"server\";\nexport type ServerBootstrapMode = \"none\" | \"out-of-order-reorder\";\nexport type CompilerFrontend = \"oxc\";\n\nexport interface CompilerMetadata {\n frontend: CompilerFrontend;\n typescriptFallback: boolean;\n}\n\nexport interface ClientReferenceMetadata {\n name: string;\n moduleId: string;\n exportName: string;\n}\n\nexport interface ComponentMetadata {\n name: string;\n exportName: string;\n}\n\nexport interface RuntimeImport {\n source: string;\n specifiers: string[];\n}\n\nexport interface EventHydrationManifestMetadata {\n version: 1;\n events: EventHydrationEntryMetadata[];\n}\n\nexport interface EventHydrationEntryMetadata {\n id: string;\n event: string;\n handler: string;\n}\n"]}
1
+ {"version":3,"file":"compiler-contract.js","sourceRoot":"","sources":["../src/compiler-contract.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,CAAC","sourcesContent":["export const compilerOutputContractVersion = 1;\n\nexport type ServerOutputMode = \"string\" | \"stream\";\n\nexport interface HtmlSink {\n append(chunk: string): void;\n backpressure?(): Promise<void>;\n defer?(task: PromiseLike<void>): void;\n signal?: AbortSignal;\n}\n\nexport interface TransformOutput {\n code: string;\n map?: string | null;\n diagnostics: Diagnostic[];\n metadata: ModuleMetadata;\n}\n\nexport interface Diagnostic {\n level: \"info\" | \"warn\" | \"error\";\n code: string;\n message: string;\n loc?: SourceLocation;\n suggestion?: DiagnosticSuggestion;\n}\n\nexport interface DiagnosticSuggestion {\n title: string;\n replacement?: string;\n link?: string;\n}\n\nexport interface SourceLocation {\n line: number;\n column: number;\n}\n\nexport interface ModuleMetadata {\n filename: string;\n target: CompileTarget;\n compiler: CompilerMetadata;\n serverOutput?: ServerOutputMode;\n serverBootstrap?: ServerBootstrapMode;\n serverBootstrapNonce?: string;\n serverBootstrapSrc?: string;\n serverHydration?: boolean;\n serverAwaitHydration?: boolean;\n reactSuspenseRevealScriptSrc?: string;\n components: ComponentMetadata[];\n imports: RuntimeImport[];\n clientReferences?: string[];\n clientReferenceManifest?: ClientReferenceMetadata[];\n serverReferences?: string[];\n eventHydrationManifest?: EventHydrationManifestMetadata;\n}\n\nexport type CompileTarget = \"client\" | \"server\";\nexport type ServerBootstrapMode = \"none\" | \"out-of-order-reorder\";\nexport type CompilerFrontend = \"oxc\";\n\nexport interface CompilerMetadata {\n frontend: CompilerFrontend;\n typescriptFallback: boolean;\n}\n\nexport interface ClientReferenceMetadata {\n name: string;\n moduleId: string;\n exportName: string;\n}\n\nexport interface ComponentMetadata {\n name: string;\n exportName: string;\n}\n\nexport interface RuntimeImport {\n source: string;\n specifiers: string[];\n}\n\nexport interface EventHydrationManifestMetadata {\n version: 1;\n events: EventHydrationEntryMetadata[];\n}\n\nexport interface EventHydrationEntryMetadata {\n id: string;\n event: string;\n handler: string;\n}\n"]}
@@ -1,5 +1,5 @@
1
1
  const textEscapePattern = /[&<>]/;
2
- const attributeEscapePattern = /["&<>]/;
2
+ const attributeEscapePattern = /["&'<>]/;
3
3
  const quotedAttributeEscapePattern = /["&]/;
4
4
  export function escapeHtmlText(value) {
5
5
  return escapeHtml(String(value), textEscapePattern, textReplacement);
@@ -47,6 +47,9 @@ function attributeReplacement(code) {
47
47
  if (code === 34) {
48
48
  return "&quot;";
49
49
  }
50
+ if (code === 39) {
51
+ return "&#39;";
52
+ }
50
53
  return textReplacement(code);
51
54
  }
52
55
  function quotedAttributeReplacement(code) {
@@ -1 +1 @@
1
- {"version":3,"file":"html-escape.js","sourceRoot":"","sources":["../src/html-escape.ts"],"names":[],"mappings":"AAAA,MAAM,iBAAiB,GAAG,OAAO,CAAC;AAClC,MAAM,sBAAsB,GAAG,QAAQ,CAAC;AACxC,MAAM,4BAA4B,GAAG,MAAM,CAAC;AAE5C,MAAM,UAAU,cAAc,CAAC,KAAc;IAC3C,OAAO,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,iBAAiB,EAAE,eAAe,CAAC,CAAC;AACvE,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,KAAc;IAChD,OAAO,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,sBAAsB,EAAE,oBAAoB,CAAC,CAAC;AACjF,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,KAAc;IACtD,OAAO,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,4BAA4B,EAAE,0BAA0B,CAAC,CAAC;AAC7F,CAAC;AAED,SAAS,UAAU,CACjB,KAAa,EACb,OAAe,EACf,kBAAwD;IAExD,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAElC,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QACnB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,OAAO,GAAG,EAAE,CAAC;IACjB,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,IAAI,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;IAExB,OAAO,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACxC,MAAM,WAAW,GAAG,kBAAkB,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;QAEhE,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC9B,SAAS;QACX,CAAC;QAED,IAAI,SAAS,KAAK,KAAK,EAAE,CAAC;YACxB,OAAO,IAAI,KAAK,CAAC,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAC/C,CAAC;QAED,OAAO,IAAI,WAAW,CAAC;QACvB,SAAS,GAAG,KAAK,GAAG,CAAC,CAAC;IACxB,CAAC;IAED,OAAO,SAAS,KAAK,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;AACrF,CAAC;AAED,SAAS,eAAe,CAAC,IAAY;IACnC,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,EAAE;YACL,OAAO,OAAO,CAAC;QACjB,KAAK,EAAE;YACL,OAAO,MAAM,CAAC;QAChB,KAAK,EAAE;YACL,OAAO,MAAM,CAAC;QAChB;YACE,OAAO,SAAS,CAAC;IACrB,CAAC;AACH,CAAC;AAED,SAAS,oBAAoB,CAAC,IAAY;IACxC,IAAI,IAAI,KAAK,EAAE,EAAE,CAAC;QAChB,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,OAAO,eAAe,CAAC,IAAI,CAAC,CAAC;AAC/B,CAAC;AAED,SAAS,0BAA0B,CAAC,IAAY;IAC9C,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,EAAE;YACL,OAAO,QAAQ,CAAC;QAClB,KAAK,EAAE;YACL,OAAO,OAAO,CAAC;QACjB;YACE,OAAO,SAAS,CAAC;IACrB,CAAC;AACH,CAAC","sourcesContent":["const textEscapePattern = /[&<>]/;\nconst attributeEscapePattern = /[\"&<>]/;\nconst quotedAttributeEscapePattern = /[\"&]/;\n\nexport function escapeHtmlText(value: unknown): string {\n return escapeHtml(String(value), textEscapePattern, textReplacement);\n}\n\nexport function escapeHtmlAttribute(value: unknown): string {\n return escapeHtml(String(value), attributeEscapePattern, attributeReplacement);\n}\n\nexport function escapeHtmlQuotedAttribute(value: unknown): string {\n return escapeHtml(String(value), quotedAttributeEscapePattern, quotedAttributeReplacement);\n}\n\nfunction escapeHtml(\n value: string,\n pattern: RegExp,\n replacementForCode: (code: number) => string | undefined,\n): string {\n const match = pattern.exec(value);\n\n if (match === null) {\n return value;\n }\n\n let escaped = \"\";\n let lastIndex = 0;\n let index = match.index;\n\n for (; index < value.length; index += 1) {\n const replacement = replacementForCode(value.charCodeAt(index));\n\n if (replacement === undefined) {\n continue;\n }\n\n if (lastIndex !== index) {\n escaped += value.substring(lastIndex, index);\n }\n\n escaped += replacement;\n lastIndex = index + 1;\n }\n\n return lastIndex === index ? escaped : escaped + value.substring(lastIndex, index);\n}\n\nfunction textReplacement(code: number): string | undefined {\n switch (code) {\n case 38:\n return \"&amp;\";\n case 60:\n return \"&lt;\";\n case 62:\n return \"&gt;\";\n default:\n return undefined;\n }\n}\n\nfunction attributeReplacement(code: number): string | undefined {\n if (code === 34) {\n return \"&quot;\";\n }\n\n return textReplacement(code);\n}\n\nfunction quotedAttributeReplacement(code: number): string | undefined {\n switch (code) {\n case 34:\n return \"&quot;\";\n case 38:\n return \"&amp;\";\n default:\n return undefined;\n }\n}\n"]}
1
+ {"version":3,"file":"html-escape.js","sourceRoot":"","sources":["../src/html-escape.ts"],"names":[],"mappings":"AAAA,MAAM,iBAAiB,GAAG,OAAO,CAAC;AAClC,MAAM,sBAAsB,GAAG,SAAS,CAAC;AACzC,MAAM,4BAA4B,GAAG,MAAM,CAAC;AAE5C,MAAM,UAAU,cAAc,CAAC,KAAc;IAC3C,OAAO,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,iBAAiB,EAAE,eAAe,CAAC,CAAC;AACvE,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,KAAc;IAChD,OAAO,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,sBAAsB,EAAE,oBAAoB,CAAC,CAAC;AACjF,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,KAAc;IACtD,OAAO,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,4BAA4B,EAAE,0BAA0B,CAAC,CAAC;AAC7F,CAAC;AAED,SAAS,UAAU,CACjB,KAAa,EACb,OAAe,EACf,kBAAwD;IAExD,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAElC,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QACnB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,OAAO,GAAG,EAAE,CAAC;IACjB,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,IAAI,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;IAExB,OAAO,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACxC,MAAM,WAAW,GAAG,kBAAkB,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;QAEhE,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC9B,SAAS;QACX,CAAC;QAED,IAAI,SAAS,KAAK,KAAK,EAAE,CAAC;YACxB,OAAO,IAAI,KAAK,CAAC,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAC/C,CAAC;QAED,OAAO,IAAI,WAAW,CAAC;QACvB,SAAS,GAAG,KAAK,GAAG,CAAC,CAAC;IACxB,CAAC;IAED,OAAO,SAAS,KAAK,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;AACrF,CAAC;AAED,SAAS,eAAe,CAAC,IAAY;IACnC,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,EAAE;YACL,OAAO,OAAO,CAAC;QACjB,KAAK,EAAE;YACL,OAAO,MAAM,CAAC;QAChB,KAAK,EAAE;YACL,OAAO,MAAM,CAAC;QAChB;YACE,OAAO,SAAS,CAAC;IACrB,CAAC;AACH,CAAC;AAED,SAAS,oBAAoB,CAAC,IAAY;IACxC,IAAI,IAAI,KAAK,EAAE,EAAE,CAAC;QAChB,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,IAAI,IAAI,KAAK,EAAE,EAAE,CAAC;QAChB,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,OAAO,eAAe,CAAC,IAAI,CAAC,CAAC;AAC/B,CAAC;AAED,SAAS,0BAA0B,CAAC,IAAY;IAC9C,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,EAAE;YACL,OAAO,QAAQ,CAAC;QAClB,KAAK,EAAE;YACL,OAAO,OAAO,CAAC;QACjB;YACE,OAAO,SAAS,CAAC;IACrB,CAAC;AACH,CAAC","sourcesContent":["const textEscapePattern = /[&<>]/;\nconst attributeEscapePattern = /[\"&'<>]/;\nconst quotedAttributeEscapePattern = /[\"&]/;\n\nexport function escapeHtmlText(value: unknown): string {\n return escapeHtml(String(value), textEscapePattern, textReplacement);\n}\n\nexport function escapeHtmlAttribute(value: unknown): string {\n return escapeHtml(String(value), attributeEscapePattern, attributeReplacement);\n}\n\nexport function escapeHtmlQuotedAttribute(value: unknown): string {\n return escapeHtml(String(value), quotedAttributeEscapePattern, quotedAttributeReplacement);\n}\n\nfunction escapeHtml(\n value: string,\n pattern: RegExp,\n replacementForCode: (code: number) => string | undefined,\n): string {\n const match = pattern.exec(value);\n\n if (match === null) {\n return value;\n }\n\n let escaped = \"\";\n let lastIndex = 0;\n let index = match.index;\n\n for (; index < value.length; index += 1) {\n const replacement = replacementForCode(value.charCodeAt(index));\n\n if (replacement === undefined) {\n continue;\n }\n\n if (lastIndex !== index) {\n escaped += value.substring(lastIndex, index);\n }\n\n escaped += replacement;\n lastIndex = index + 1;\n }\n\n return lastIndex === index ? escaped : escaped + value.substring(lastIndex, index);\n}\n\nfunction textReplacement(code: number): string | undefined {\n switch (code) {\n case 38:\n return \"&amp;\";\n case 60:\n return \"&lt;\";\n case 62:\n return \"&gt;\";\n default:\n return undefined;\n }\n}\n\nfunction attributeReplacement(code: number): string | undefined {\n if (code === 34) {\n return \"&quot;\";\n }\n\n if (code === 39) {\n return \"&#39;\";\n }\n\n return textReplacement(code);\n}\n\nfunction quotedAttributeReplacement(code: number): string | undefined {\n switch (code) {\n case 34:\n return \"&quot;\";\n case 38:\n return \"&amp;\";\n default:\n return undefined;\n }\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@reckona/mreact-shared",
3
- "version": "0.0.152",
3
+ "version": "0.0.153",
4
4
  "description": "Shared runtime utilities used by mreact packages.",
5
5
  "keywords": [
6
6
  "jsx",
@@ -44,6 +44,7 @@ export interface ModuleMetadata {
44
44
  serverBootstrapNonce?: string;
45
45
  serverBootstrapSrc?: string;
46
46
  serverHydration?: boolean;
47
+ serverAwaitHydration?: boolean;
47
48
  reactSuspenseRevealScriptSrc?: string;
48
49
  components: ComponentMetadata[];
49
50
  imports: RuntimeImport[];
@@ -1,5 +1,5 @@
1
1
  const textEscapePattern = /[&<>]/;
2
- const attributeEscapePattern = /["&<>]/;
2
+ const attributeEscapePattern = /["&'<>]/;
3
3
  const quotedAttributeEscapePattern = /["&]/;
4
4
 
5
5
  export function escapeHtmlText(value: unknown): string {
@@ -65,6 +65,10 @@ function attributeReplacement(code: number): string | undefined {
65
65
  return "&quot;";
66
66
  }
67
67
 
68
+ if (code === 39) {
69
+ return "&#39;";
70
+ }
71
+
68
72
  return textReplacement(code);
69
73
  }
70
74