@reckona/mreact-compiler 0.0.66 → 0.0.68
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/dist/compiler-module-context.js.map +1 -1
- package/dist/diagnostics.js.map +1 -1
- package/dist/emit-client.js.map +1 -1
- package/dist/emit-compat.js.map +1 -1
- package/dist/emit-escape-helper.js.map +1 -1
- package/dist/emit-server-shared.js.map +1 -1
- package/dist/emit-server-stream.js.map +1 -1
- package/dist/emit-server.js.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/internal.js.map +1 -1
- package/dist/ir.js.map +1 -1
- package/dist/oxc-analysis-types.js.map +1 -1
- package/dist/oxc-await-analysis.js.map +1 -1
- package/dist/oxc-await-ids.js.map +1 -1
- package/dist/oxc-await-validation.js.map +1 -1
- package/dist/oxc-bindings.js.map +1 -1
- package/dist/oxc-body-lowering.js.map +1 -1
- package/dist/oxc-child-analysis.js.map +1 -1
- package/dist/oxc-code-utils.js.map +1 -1
- package/dist/oxc-component-detection.js.map +1 -1
- package/dist/oxc-component-props.js.map +1 -1
- package/dist/oxc-component-references.js.map +1 -1
- package/dist/oxc-dom-lowering.js.map +1 -1
- package/dist/oxc-expression-utils.js.map +1 -1
- package/dist/oxc-jsx-attributes.js.map +1 -1
- package/dist/oxc-jsx-text.js.map +1 -1
- package/dist/oxc-nested-lowering.js.map +1 -1
- package/dist/oxc-node-utils.js.map +1 -1
- package/dist/oxc-raw-jsx.js.map +1 -1
- package/dist/oxc-render-values.js.map +1 -1
- package/dist/oxc-runtime-emit.js.map +1 -1
- package/dist/oxc-transform.js.map +1 -1
- package/dist/oxc.js.map +1 -1
- package/dist/transform.js.map +1 -1
- package/dist/types.js.map +1 -1
- package/package.json +4 -3
- package/src/compiler-module-context.ts +31 -0
- package/src/diagnostics.ts +184 -0
- package/src/emit-client.ts +837 -0
- package/src/emit-compat.ts +567 -0
- package/src/emit-escape-helper.ts +45 -0
- package/src/emit-server-shared.ts +384 -0
- package/src/emit-server-stream.ts +2558 -0
- package/src/emit-server.ts +1827 -0
- package/src/index.ts +44 -0
- package/src/internal.ts +1905 -0
- package/src/ir.ts +151 -0
- package/src/oxc-analysis-types.ts +5 -0
- package/src/oxc-await-analysis.ts +165 -0
- package/src/oxc-await-ids.ts +62 -0
- package/src/oxc-await-validation.ts +117 -0
- package/src/oxc-bindings.ts +70 -0
- package/src/oxc-body-lowering.ts +430 -0
- package/src/oxc-child-analysis.ts +791 -0
- package/src/oxc-code-utils.ts +19 -0
- package/src/oxc-component-detection.ts +459 -0
- package/src/oxc-component-props.ts +170 -0
- package/src/oxc-component-references.ts +613 -0
- package/src/oxc-dom-lowering.ts +127 -0
- package/src/oxc-expression-utils.ts +42 -0
- package/src/oxc-jsx-attributes.ts +110 -0
- package/src/oxc-jsx-text.ts +84 -0
- package/src/oxc-nested-lowering.ts +319 -0
- package/src/oxc-node-utils.ts +65 -0
- package/src/oxc-raw-jsx.ts +239 -0
- package/src/oxc-render-values.ts +620 -0
- package/src/oxc-runtime-emit.ts +212 -0
- package/src/oxc-transform.ts +77 -0
- package/src/oxc.ts +932 -0
- package/src/transform.ts +634 -0
- package/src/types.ts +117 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compiler-module-context.js","sourceRoot":"","sources":["../src/compiler-module-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AASvC,MAAM,UAAU,kCAAkC,CAAC,KAGlD;IACC,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,IAAI,YAAY,CAAC;IAChD,MAAM,MAAM,GAAG,SAAS,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,EAAE;QAC7C,OAAO,EAAE,IAAI;QACb,IAAI,EAAE,6BAA6B,CAAC,QAAQ,CAAC;QAC7C,UAAU,EAAE,QAAQ;KACrB,CAAC,CAAC;IAEH,OAAO;QACL,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,QAAQ;QACR,WAAW,EAAE,MAAM,CAAC,MAAM;QAC1B,OAAO,EAAE,MAAM,CAAC,OAAO;KACxB,CAAC;AACJ,CAAC;AAED,SAAS,6BAA6B,CAAC,QAAgB;IACrD,OAAO,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;AAC5D,CAAC"}
|
|
1
|
+
{"version":3,"file":"compiler-module-context.js","sourceRoot":"","sources":["../src/compiler-module-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AASvC,MAAM,UAAU,kCAAkC,CAAC,KAGlD;IACC,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,IAAI,YAAY,CAAC;IAChD,MAAM,MAAM,GAAG,SAAS,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,EAAE;QAC7C,OAAO,EAAE,IAAI;QACb,IAAI,EAAE,6BAA6B,CAAC,QAAQ,CAAC;QAC7C,UAAU,EAAE,QAAQ;KACrB,CAAC,CAAC;IAEH,OAAO;QACL,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,QAAQ;QACR,WAAW,EAAE,MAAM,CAAC,MAAM;QAC1B,OAAO,EAAE,MAAM,CAAC,OAAO;KACxB,CAAC;AACJ,CAAC;AAED,SAAS,6BAA6B,CAAC,QAAgB;IACrD,OAAO,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;AAC5D,CAAC","sourcesContent":["import { parseSync } from \"oxc-parser\";\n\nexport interface CompilerModuleContext {\n code: string;\n filename: string;\n parseErrors: readonly unknown[];\n program: unknown;\n}\n\nexport function createCompilerModuleContextWithOxc(input: {\n code: string;\n filename?: string | undefined;\n}): CompilerModuleContext {\n const filename = input.filename ?? \"module.tsx\";\n const parsed = parseSync(filename, input.code, {\n astType: \"ts\",\n lang: compilerModuleContextLanguage(filename),\n sourceType: \"module\",\n });\n\n return {\n code: input.code,\n filename,\n parseErrors: parsed.errors,\n program: parsed.program,\n };\n}\n\nfunction compilerModuleContextLanguage(filename: string): \"ts\" | \"tsx\" {\n return /\\.(?:cts|mts|ts)$/i.test(filename) ? \"ts\" : \"tsx\";\n}\n"]}
|
package/dist/diagnostics.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diagnostics.js","sourceRoot":"","sources":["../src/diagnostics.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"diagnostics.js","sourceRoot":"","sources":["../src/diagnostics.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Diagnostic, SourceLocation } from \"./types.js\";\n\nexport function formatDiagnostic(\n filename: string,\n diagnostic: Diagnostic,\n): string {\n const loc =\n diagnostic.loc === undefined\n ? \"\"\n : `:${diagnostic.loc.line}:${diagnostic.loc.column}`;\n const suggestion =\n diagnostic.suggestion === undefined\n ? \"\"\n : [\n ` Suggestion: ${diagnostic.suggestion.title}`,\n diagnostic.suggestion.replacement === undefined\n ? \"\"\n : ` Replacement: ${diagnostic.suggestion.replacement}`,\n diagnostic.suggestion.link === undefined ? \"\" : ` See: ${diagnostic.suggestion.link}`,\n ].join(\"\");\n\n return `${filename}${loc} [${diagnostic.code}] ${diagnostic.message}${suggestion}`;\n}\n\nexport function unsupportedComponentReferenceDiagnostic(\n name: string,\n loc?: SourceLocation,\n): Diagnostic {\n return {\n level: \"error\",\n code: \"MR_UNSUPPORTED_COMPONENT_REFERENCE\",\n message: `Component reference '${name}' is not a supported same-module component.`,\n ...(loc === undefined ? {} : { loc }),\n };\n}\n\nexport function unsupportedServerEventHandlerDiagnostic(\n name: string,\n loc?: SourceLocation,\n): Diagnostic {\n return {\n level: \"error\",\n code: \"MR_UNSUPPORTED_SERVER_EVENT_HANDLER\",\n message: `Event handler '${name}' cannot be emitted by the server target.`,\n ...(loc === undefined ? {} : { loc }),\n };\n}\n\nexport function unsupportedServerDynamicAttributeDiagnostic(\n name: string,\n loc?: SourceLocation,\n): Diagnostic {\n return {\n level: \"error\",\n code: \"MR_UNSUPPORTED_SERVER_DYNAMIC_ATTRIBUTE\",\n message: `Dynamic attribute '${name}' cannot be emitted by the server target.`,\n ...(loc === undefined ? {} : { loc }),\n };\n}\n\nexport function unsupportedRefAttributeDiagnostic(loc?: SourceLocation): Diagnostic {\n return {\n level: \"error\",\n code: \"MR_UNSUPPORTED_REF_ATTRIBUTE\",\n message:\n \"JSX ref attributes are only supported by compat client output. Server and reactive output cannot attach React-style refs yet.\",\n ...(loc === undefined ? {} : { loc }),\n };\n}\n\nexport function unsupportedCompatServerTargetDiagnostic(): Diagnostic {\n return {\n level: \"error\",\n code: \"MR_UNSUPPORTED_COMPAT_SERVER_TARGET\",\n message:\n \"Compat mode does not support server output yet. Use the reactive server output for server-rendered routes, or compile compat components for the client boundary.\",\n };\n}\n\nexport function unsupportedAwaitInnerComponentDiagnostic(\n name: string,\n loc?: SourceLocation,\n): Diagnostic {\n return {\n level: \"error\",\n code: \"MR_UNSUPPORTED_AWAIT_INNER_COMPONENT\",\n message: `Component reference '${name}' cannot be emitted inside an <Await> renderer until compat boundary hydration lowering is implemented.`,\n ...(loc === undefined ? {} : { loc }),\n };\n}\n\nexport function unsupportedNestedAwaitDiagnostic(loc?: SourceLocation): Diagnostic {\n return {\n level: \"error\",\n code: \"MR_UNSUPPORTED_NESTED_AWAIT\",\n message:\n \"Nested <Await> renderers are not supported by the server stream target yet. Move the inner <Await> outside the outer renderer or resolve the nested value before rendering.\",\n ...(loc === undefined ? {} : { loc }),\n };\n}\n\nexport function unserializableAwaitValueDiagnostic(\n reason: string,\n loc?: SourceLocation,\n): Diagnostic {\n return {\n level: \"warn\",\n code: \"MR_UNSERIALIZABLE_AWAIT_VALUE\",\n message:\n `<Await value={...}> contains a non-JSON-serializable value (${reason}). ` +\n `The wire format uses JSON.stringify, so the client-side renderer will receive a different shape ` +\n `after the round-trip. Pass JSON-compatible data or serialize the value before it reaches <Await>. ` +\n `See https://github.com/t-k/mreact#streaming-loading-and-await.`,\n ...(loc === undefined ? {} : { loc }),\n };\n}\n\nexport function unsupportedBodyStatementJsxDiagnostic(\n loc?: SourceLocation,\n): Diagnostic {\n return {\n level: \"error\",\n code: \"MR_UNSUPPORTED_BODY_STATEMENT_JSX\",\n message:\n \"JSX inside component body statements is not lowered yet. Move the JSX into the return tree or create it with runtime helpers.\",\n ...(loc === undefined ? {} : { loc }),\n };\n}\n\nexport function unsupportedTopLevelJsxInitializerDiagnostic(\n loc?: SourceLocation,\n): Diagnostic {\n return {\n level: \"error\",\n code: \"MR_UNSUPPORTED_TOP_LEVEL_JSX_INITIALIZER\",\n message:\n \"Top-level variable initializers that contain JSX are not lowered yet. Move the JSX into a function component declaration or a component body statement.\",\n ...(loc === undefined ? {} : { loc }),\n };\n}\n\nexport function invalidJsxExpressionDiagnostic(\n loc?: SourceLocation,\n context: \"text\" | \"attribute\" | \"unknown\" = \"unknown\",\n): Diagnostic {\n if (context === \"text\") {\n return {\n level: \"error\",\n code: \"MR_INVALID_JSX_EXPRESSION\",\n message:\n \"JSX text contains an empty or unparseable expression. To include literal braces in text, use { / } or {'{'} / {'}'} escapes.\",\n suggestion: {\n title: \"Escape literal braces in text as HTML entities or JSX string expressions.\",\n replacement: \"{ / }\",\n },\n ...(loc === undefined ? {} : { loc }),\n };\n }\n\n if (context === \"attribute\") {\n return {\n level: \"error\",\n code: \"MR_INVALID_JSX_EXPRESSION\",\n message:\n \"JSX attribute expression is empty or unparseable. Attribute braces must contain a valid JavaScript expression.\",\n suggestion: {\n title: \"Use a valid JavaScript expression in braces, or quote literal attribute text.\",\n replacement: 'title=\"literal text\"',\n },\n ...(loc === undefined ? {} : { loc }),\n };\n }\n\n return {\n level: \"error\",\n code: \"MR_INVALID_JSX_EXPRESSION\",\n message:\n \"JSX expression is empty or unparseable. To include literal braces in text, use { / } or {'{'} / {'}'} escapes.\",\n suggestion: {\n title: \"Check the JSX expression syntax at this location.\",\n },\n ...(loc === undefined ? {} : { loc }),\n };\n}\n"]}
|
package/dist/emit-client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"emit-client.js","sourceRoot":"","sources":["../src/emit-client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"emit-client.js","sourceRoot":"","sources":["../src/emit-client.ts"],"names":[],"mappings":"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","sourcesContent":["import type {\n ComponentPropIr,\n ComponentIr,\n JsxNodeIr,\n ModuleIr,\n} from \"./ir.js\";\nimport type { RuntimeImport } from \"./types.js\";\nimport { escapeHtmlAttribute as escapeHtml } from \"@reckona/mreact-shared/html-escape\";\n\nexport interface EmitResult {\n code: string;\n imports: RuntimeImport[];\n}\n\nexport function emitClient(ir: ModuleIr): EmitResult {\n const imports = collectImports(ir);\n const helperNames = allocateRuntimeHelperNames(ir, imports[0]?.specifiers ?? []);\n const importLine =\n imports[0]?.specifiers.length === 0 ? \"\" : emitRuntimeImportLine(imports, helperNames);\n const userImports = emitUserImports(ir);\n const moduleStatements = emitModuleStatements(ir);\n const moduleAllocator = createNameAllocator([]);\n const clientBoundaryHelperName = hasClientReferenceNodes(ir)\n ? moduleAllocator(\"__mreactClientBoundary\", ir.moduleBindingNames)\n : undefined;\n const clientBoundaryHelper =\n clientBoundaryHelperName === undefined ? \"\" : emitClientBoundaryHelper(clientBoundaryHelperName);\n const components = ir.components\n .map((component) =>\n emitComponent(component, moduleAllocator, helperNames, clientBoundaryHelperName),\n )\n .join(\"\\n\\n\");\n\n return {\n code: `${[importLine, userImports, moduleStatements, clientBoundaryHelper].filter(Boolean).join(\"\\n\")}\\n\\n${components}\\n`,\n imports,\n };\n}\n\ntype RuntimeHelperName =\n | \"bindList\"\n | \"bindEvent\"\n | \"bindProp\"\n | \"bindSpreadProps\"\n | \"bindText\"\n | \"createTemplate\"\n | \"insertDynamic\";\n\ntype RuntimeHelperNames = Record<RuntimeHelperName, string>;\n\nfunction allocateRuntimeHelperNames(\n ir: ModuleIr,\n specifiers: readonly string[],\n): RuntimeHelperNames {\n const allocator = createNameAllocator([\n ...ir.moduleBindingNames,\n ...ir.components.flatMap((component) => [\n component.name,\n component.exportName,\n ...component.bindingNames,\n ]),\n ]);\n const helperNames: RuntimeHelperNames = {\n bindList: \"bindList\",\n bindEvent: \"bindEvent\",\n bindProp: \"bindProp\",\n bindSpreadProps: \"bindSpreadProps\",\n bindText: \"bindText\",\n createTemplate: \"createTemplate\",\n insertDynamic: \"insertDynamic\",\n };\n\n for (const specifier of specifiers) {\n const helper = specifier as RuntimeHelperName;\n\n if (ir.moduleBindingNames.includes(helper)) {\n helperNames[helper] = allocator(`_${helper}`);\n }\n }\n\n return helperNames;\n}\n\nfunction emitRuntimeImportLine(\n imports: RuntimeImport[],\n helperNames: RuntimeHelperNames,\n): string {\n const specifiers = imports[0]?.specifiers ?? [\"createTemplate\"];\n const importedNames = specifiers.map((specifier) => {\n const helper = specifier as RuntimeHelperName;\n const localName = helperNames[helper];\n\n return localName === specifier ? specifier : `${specifier} as ${localName}`;\n });\n\n return `import { ${importedNames.join(\", \")} } from \"@reckona/mreact-reactive-dom\";`;\n}\n\nfunction emitUserImports(ir: ModuleIr): string {\n return ir.components.length === 0 ? \"\" : ir.userImports.join(\"\\n\");\n}\n\nfunction emitModuleStatements(ir: ModuleIr): string {\n return ir.components.length === 0 ? \"\" : ir.moduleStatements.join(\"\\n\");\n}\n\nfunction collectImports(ir: ModuleIr): RuntimeImport[] {\n if (ir.components.length === 0) {\n return [];\n }\n\n const specifiers = new Set<string>([\"createTemplate\"]);\n\n for (const component of ir.components) {\n visit(component.root, (node) => {\n if (node.kind === \"expr\") {\n specifiers.add(\n node.renderMode === \"dynamic\" ? \"insertDynamic\" : \"bindText\",\n );\n }\n\n if (node.kind === \"conditional\") {\n specifiers.add(\"insertDynamic\");\n }\n\n if (node.kind === \"list\") {\n specifiers.add(\"bindList\");\n }\n\n if (node.kind === \"element\") {\n for (const attr of node.attributes) {\n if (attr.kind === \"dynamic-attr\") {\n specifiers.add(\"bindProp\");\n }\n\n if (attr.kind === \"spread-attr\") {\n specifiers.add(\"bindSpreadProps\");\n }\n\n if (attr.kind === \"event\") {\n specifiers.add(\"bindEvent\");\n }\n }\n }\n });\n }\n\n return [\n {\n source: \"@reckona/mreact-reactive-dom\",\n specifiers: Array.from(specifiers).sort(),\n },\n ];\n}\n\nfunction hasClientReferenceNodes(ir: ModuleIr): boolean {\n return ir.components.some((component) => {\n let found = false;\n visit(component.root, (node) => {\n if (\n node.kind === \"component\" &&\n node.clientReference !== undefined &&\n isCompatClientReferenceModuleId(node.clientReference.moduleId)\n ) {\n found = true;\n }\n });\n return found;\n });\n}\n\nfunction emitClientBoundaryHelper(name: string): string {\n return `function ${name}(name, props) {\n const fragment = document.createDocumentFragment();\n const placeholder = document.createElement(\"template\");\n placeholder.setAttribute(\"data-mreact-client-boundary\", name);\n const propsElement = document.createElement(\"script\");\n propsElement.type = \"application/json\";\n propsElement.setAttribute(\"data-mreact-client-boundary-props\", name);\n try {\n propsElement.textContent = JSON.stringify(props ?? {}).replaceAll(\"<\", \"\\\\\\\\u003c\");\n } catch {\n placeholder.setAttribute(\"data-mreact-client-boundary-nonserializable\", \"true\");\n propsElement.textContent = \"{}\";\n }\n fragment.append(placeholder, propsElement);\n return fragment;\n}`;\n}\n\nfunction emitComponent(\n component: ComponentIr,\n moduleAllocator: NameAllocator,\n helperNames: RuntimeHelperNames,\n clientBoundaryHelperName: string | undefined,\n): string {\n const templateName = moduleAllocator(\n \"_tmpl_\" + component.name,\n component.bindingNames,\n );\n const allocator = createNameAllocator([...component.bindingNames, templateName]);\n const body = component.bodyStatements.map((statement) => ` ${statement}`);\n const parameters = component.parameters.join(\", \");\n\n if (component.root.kind === \"component\") {\n const state = { allocateName: allocator, textIndex: 0, helperNames, clientBoundaryHelperName };\n return [\n `${component.exported === false ? \"\" : \"export \"}function ${component.name}(${parameters}) {`,\n ...body,\n ` return ${emitComponentCall(\n component.root.name,\n component.root.props,\n component.root.children,\n state,\n component.root.clientReference === undefined\n ? undefined\n : { moduleId: component.root.clientReference.moduleId, name: component.root.name },\n )};`,\n `}`,\n ].join(\"\\n\");\n }\n\n if (component.root.kind === \"conditional\") {\n const state = { allocateName: allocator, textIndex: 0, helperNames, clientBoundaryHelperName };\n const fragmentName = allocator(\"_fragment\");\n const markerName = allocator(\"_marker\");\n return [\n `${component.exportDefault === true ? \"export default \" : component.exported === false ? \"\" : \"export \"}function ${component.name}(${parameters}) {`,\n ...body,\n ` const ${fragmentName} = document.createDocumentFragment();`,\n ` const ${markerName} = document.createComment(\"\");`,\n ` ${fragmentName}.append(${markerName});`,\n ` ${helperNames.insertDynamic}(${fragmentName}, ${markerName}, () => ${emitNodeRenderValueExpression(component.root, state)});`,\n ` return ${fragmentName};`,\n `}`,\n ].join(\"\\n\");\n }\n\n const fragmentName = allocator(\"_fragment\");\n const rootName = allocator(\"_root\");\n const templateHtml = escapeTemplateHtml(renderStaticHtml(component.root));\n const setup = emitSetup(component.root, rootName, {\n allocateName: allocator,\n textIndex: 0,\n helperNames,\n clientBoundaryHelperName,\n });\n return [\n `const ${templateName} = ${helperNames.createTemplate}(\"${templateHtml}\");`,\n `${component.exportDefault === true ? \"export default \" : component.exported === false ? \"\" : \"export \"}function ${component.name}(${parameters}) {`,\n ...body,\n ` const ${fragmentName} = ${templateName}();`,\n component.root.kind === \"fragment\"\n ? ` const ${rootName} = ${fragmentName};`\n : ` const ${rootName} = ${fragmentName}.firstChild;`,\n setup,\n ` return ${rootName};`,\n `}`,\n ]\n .filter(Boolean)\n .join(\"\\n\");\n}\n\nfunction renderStaticHtml(node: JsxNodeIr): string {\n if (node.kind === \"text\") {\n return escapeHtml(node.value);\n }\n\n if (node.kind === \"expr\") {\n return \"<!---->\";\n }\n\n if (node.kind === \"conditional\" || node.kind === \"list\") {\n return \"<!---->\";\n }\n\n if (node.kind === \"fragment\") {\n return node.children.map(renderStaticHtml).join(\"\");\n }\n\n if (node.kind === \"component\") {\n return \"<!---->\";\n }\n\n if (node.kind === \"async-boundary\") {\n return \"<!--mreact-async-boundary-->\";\n }\n\n const attrs = node.attributes\n .filter((attr) => attr.kind === \"static-attr\")\n .map((attr) => ` ${attr.name}=\"${escapeHtml(attr.value)}\"`)\n .join(\"\");\n const children = node.children.map(renderStaticHtml).join(\"\");\n\n return `<${node.tagName}${attrs}>${children}</${node.tagName}>`;\n}\n\ninterface EmitSetupState {\n allocateName: (baseName: string) => string;\n textIndex: number;\n helperNames: RuntimeHelperNames;\n clientBoundaryHelperName?: string | undefined;\n}\n\nfunction emitSetup(\n node: JsxNodeIr,\n path: string,\n state: EmitSetupState,\n): string {\n const lines: string[] = [];\n\n if (\n node.kind !== \"element\" &&\n node.kind !== \"fragment\" &&\n node.kind !== \"component\"\n ) {\n return \"\";\n }\n\n if (node.kind === \"component\") {\n const componentVar = state.allocateName(\"_component\");\n lines.push(\n ` const ${componentVar} = ${emitComponentCall(\n node.name,\n node.props,\n node.children,\n state,\n node.clientReference === undefined\n ? undefined\n : { moduleId: node.clientReference.moduleId, name: node.name },\n )};`,\n );\n lines.push(` if (${componentVar} == null || typeof ${componentVar} === \"boolean\") {`);\n lines.push(` ${path}.remove();`);\n lines.push(` } else {`);\n lines.push(` ${path}.replaceWith(${componentVar});`);\n lines.push(` }`);\n return lines.join(\"\\n\");\n }\n\n if (node.kind === \"element\") {\n for (const attr of node.attributes) {\n if (attr.kind === \"dynamic-attr\") {\n lines.push(\n ` ${state.helperNames.bindProp}(${path}, \"${attr.name}\", () => (${attr.code}));`,\n );\n }\n\n if (attr.kind === \"spread-attr\") {\n lines.push(\n ` ${state.helperNames.bindSpreadProps}(${path}, () => (${attr.code}));`,\n );\n }\n\n if (attr.kind === \"event\") {\n lines.push(\n ` ${state.helperNames.bindEvent}(${path}, \"${attr.eventName}\", ${attr.code});`,\n );\n }\n }\n }\n\n const children = node.children;\n const stableChildrenName = hasLiveChildListMutation(children)\n ? state.allocateName(\"_children\")\n : undefined;\n let childIndex = 0;\n\n if (stableChildrenName !== undefined) {\n lines.push(` const ${stableChildrenName} = Array.from(${path}.childNodes);`);\n }\n\n let sawStaticText = false;\n let sawComponentMutation = false;\n\n for (const child of children) {\n if (child.kind === \"text\") {\n sawStaticText = true;\n childIndex += 1;\n continue;\n }\n\n const childPath =\n stableChildrenName === undefined ||\n (\n child.kind !== \"component\" &&\n !sawComponentMutation &&\n usesLiveInsertionAnchor(child) &&\n !sawStaticText\n )\n ? `${path}.childNodes[${childIndex}]`\n : `${stableChildrenName}[${childIndex}]`;\n\n if (child.kind === \"expr\") {\n if (child.renderMode === \"dynamic\") {\n lines.push(\n ` ${state.helperNames.insertDynamic}(${path}, ${childPath}, () => (${child.code}));`,\n );\n childIndex += 1;\n continue;\n }\n\n const textVar = state.allocateName(`_text_${state.textIndex}`);\n state.textIndex += 1;\n lines.push(` const ${textVar} = document.createTextNode(\"\");`);\n lines.push(` ${childPath}.replaceWith(${textVar});`);\n lines.push(\n ` ${state.helperNames.bindText}(${textVar}, () => (${child.code}));`,\n );\n childIndex += 1;\n continue;\n }\n\n if (child.kind === \"conditional\") {\n lines.push(\n ` ${state.helperNames.insertDynamic}(${path}, ${childPath}, () => (${child.conditionCode}) ? ${emitRenderValueExpression(child.whenTrue, state)} : ${emitRenderValueExpression(child.whenFalse, state)});`,\n );\n childIndex += 1;\n continue;\n }\n\n if (child.kind === \"list\") {\n const parameters =\n child.indexName === undefined\n ? child.itemName\n : `${child.itemName}, ${child.indexName}`;\n const optionEntries: string[] = [];\n\n if (child.keyCode !== undefined) {\n optionEntries.push(`key: (${parameters}) => (${child.keyCode})`);\n }\n\n if (\n child.keyCode !== undefined &&\n listReadsNestedItemObject(child, child.itemName)\n ) {\n optionEntries.push(\"nestedObjectFallback: true\");\n }\n\n const options =\n optionEntries.length === 0 ? \"\" : `, { ${optionEntries.join(\", \")} }`;\n lines.push(\n ` ${state.helperNames.bindList}(${path}, ${childPath}, () => (${child.itemsCode}), ${emitListRenderer(child, parameters, state)}${options});`,\n );\n childIndex += 1;\n continue;\n }\n\n if (child.kind === \"async-boundary\") {\n lines.push(emitAsyncBoundarySetup(child, childPath, state));\n childIndex += 1;\n continue;\n }\n\n lines.push(emitSetup(child, childPath, state));\n if (child.kind === \"component\") {\n sawComponentMutation = true;\n }\n childIndex += 1;\n }\n\n return lines.filter(Boolean).join(\"\\n\");\n}\n\nfunction listReadsNestedItemObject(\n node: Extract<JsxNodeIr, { kind: \"list\" }>,\n itemName: string,\n): boolean {\n return node.children.some((child) => nodeReadsNestedItemObject(child, itemName));\n}\n\nfunction nodeReadsNestedItemObject(node: JsxNodeIr, itemName: string): boolean {\n switch (node.kind) {\n case \"element\":\n return (\n codeReadsNestedItemObject(node.keyCode, itemName) ||\n node.attributes.some((attribute) => {\n if (attribute.kind === \"spread-attr\") {\n return codeReadsNestedItemObject(attribute.code, itemName);\n }\n\n if (attribute.kind === \"dynamic-attr\" || attribute.kind === \"event\") {\n return codeReadsNestedItemObject(attribute.code, itemName);\n }\n\n return false;\n }) ||\n node.children.some((child) => nodeReadsNestedItemObject(child, itemName))\n );\n case \"component\":\n return (\n codeReadsNestedItemObject(node.keyCode, itemName) ||\n node.props.some((prop) => {\n if (prop.kind === \"spread-prop\") {\n return codeReadsNestedItemObject(prop.code, itemName);\n }\n\n if (prop.kind === \"render-prop\") {\n return prop.children.some((child) => nodeReadsNestedItemObject(child, itemName));\n }\n\n return codeReadsNestedItemObject(prop.code, itemName);\n }) ||\n node.children.some((child) => nodeReadsNestedItemObject(child, itemName))\n );\n case \"fragment\":\n return node.children.some((child) => nodeReadsNestedItemObject(child, itemName));\n case \"conditional\":\n return (\n codeReadsNestedItemObject(node.conditionCode, itemName) ||\n node.whenTrue.some((child) => nodeReadsNestedItemObject(child, itemName)) ||\n node.whenFalse.some((child) => nodeReadsNestedItemObject(child, itemName))\n );\n case \"list\":\n return (\n codeReadsNestedItemObject(node.itemsCode, itemName) ||\n codeReadsNestedItemObject(node.keyCode, itemName) ||\n node.children.some((child) => nodeReadsNestedItemObject(child, itemName))\n );\n case \"expr\":\n return codeReadsNestedItemObject(node.code, itemName);\n case \"async-boundary\":\n return (\n codeReadsNestedItemObject(node.valueCode, itemName) ||\n node.children.some((child) => nodeReadsNestedItemObject(child, itemName)) ||\n (node.placeholderChildren?.some((child) =>\n nodeReadsNestedItemObject(child, itemName),\n ) ?? false) ||\n (node.catchChildren?.some((child) =>\n nodeReadsNestedItemObject(child, itemName),\n ) ?? false)\n );\n case \"text\":\n return false;\n }\n}\n\nfunction codeReadsNestedItemObject(\n code: string | undefined,\n itemName: string,\n): boolean {\n if (code === undefined || code.length === 0) {\n return false;\n }\n\n const escapedItemName = itemName.replace(/[\\\\^$.*+?()[\\]{}|]/g, \"\\\\$&\");\n return new RegExp(`\\\\b${escapedItemName}(?:\\\\.[A-Za-z_$][\\\\w$]*){2,}`).test(code);\n}\n\nfunction usesLiveInsertionAnchor(child: JsxNodeIr): boolean {\n return (\n child.kind === \"component\" ||\n (child.kind === \"expr\" && child.renderMode === \"dynamic\") ||\n child.kind === \"conditional\" ||\n child.kind === \"list\" ||\n child.kind === \"async-boundary\"\n );\n}\n\nfunction hasLiveChildListMutation(children: readonly JsxNodeIr[]): boolean {\n return children.some(usesLiveInsertionAnchor);\n}\n\nfunction emitRenderValueExpression(\n children: JsxNodeIr[],\n state: EmitSetupState,\n): string {\n if (children.length === 0) {\n return \"null\";\n }\n\n if (children.length === 1) {\n return emitNodeRenderValueExpression(children[0] as JsxNodeIr, state);\n }\n\n return `[${children\n .map((child) => emitNodeRenderValueExpression(child, state))\n .join(\", \")}]`;\n}\n\nfunction emitAsyncBoundarySetup(\n node: Extract<JsxNodeIr, { kind: \"async-boundary\" }>,\n childPath: string,\n state: EmitSetupState,\n): string {\n // Without a stable id the server has no way to tell the client what it\n // resolved. Leave the placeholder comment in place so the server-rendered\n // subtree (preserved via the hydration marker skip) remains the source of\n // truth. The resolved buttons inside it stay non-interactive in that case.\n if (node.awaitId === undefined) {\n return \"\";\n }\n\n const valueName = node.valueName;\n const renderChildren = emitRenderValueExpression(node.children, state);\n const awaitIdLiteral = JSON.stringify(node.awaitId);\n\n return [\n ` {`,\n ` const _awaitStore = globalThis.__mreactAwaitData;`,\n ` const _awaitEntry = _awaitStore === undefined ? undefined : _awaitStore[${awaitIdLiteral}];`,\n ` if (_awaitEntry !== undefined) {`,\n ` const ${valueName} = _awaitEntry.value;`,\n ` const _resolvedAwaitContent = ${renderChildren};`,\n ` if (_resolvedAwaitContent != null) {`,\n ` ${childPath}.replaceWith(_resolvedAwaitContent);`,\n ` }`,\n ` }`,\n ` }`,\n ].join(\"\\n\");\n}\n\nfunction emitNodeRenderValueExpression(\n node: JsxNodeIr,\n state: EmitSetupState,\n): string {\n if (node.kind === \"text\") {\n return JSON.stringify(node.value);\n }\n\n if (node.kind === \"expr\") {\n return `(${node.code})`;\n }\n\n if (node.kind === \"component\") {\n return emitComponentCall(\n node.name,\n node.props,\n node.children,\n state,\n node.clientReference === undefined\n ? undefined\n : { moduleId: node.clientReference.moduleId, name: node.name },\n );\n }\n\n if (node.kind === \"fragment\") {\n return emitRenderValueExpression(node.children, state);\n }\n\n if (node.kind === \"conditional\") {\n return `((${node.conditionCode}) ? ${emitRenderValueExpression(node.whenTrue, state)} : ${emitRenderValueExpression(node.whenFalse, state)})`;\n }\n\n if (node.kind === \"list\") {\n const parameters =\n node.indexName === undefined\n ? node.itemName\n : `${node.itemName}, ${node.indexName}`;\n return `(${node.itemsCode}).map(${emitListRenderer(node, parameters, state)})`;\n }\n\n if (node.kind === \"async-boundary\") {\n return \"null\";\n }\n\n const templateName = state.allocateName(\"_dynamicTemplate\");\n const fragmentName = state.allocateName(\"_dynamicFragment\");\n const rootName = state.allocateName(\"_dynamicRoot\");\n const templateHtml = escapeTemplateHtml(renderStaticHtml(node));\n const setup = emitSetup(node, rootName, state);\n const setupLines = setup === \"\" ? [] : setup.split(\"\\n\");\n\n return [\n \"(() => {\",\n ` const ${templateName} = ${state.helperNames.createTemplate}(\"${templateHtml}\");`,\n ` const ${fragmentName} = ${templateName}();`,\n ` const ${rootName} = ${fragmentName}.firstChild;`,\n ...setupLines,\n ` return ${rootName};`,\n \"})()\",\n ].join(\"\\n\");\n}\n\nfunction emitListRenderer(\n node: Extract<JsxNodeIr, { kind: \"list\" }>,\n parameters: string,\n state: EmitSetupState,\n): string {\n const valueExpression = emitRenderValueExpression(node.children, state);\n\n if (node.bodyStatements === undefined || node.bodyStatements.length === 0) {\n return `(${parameters}) => ${valueExpression}`;\n }\n\n return `(${parameters}) => {\\n${node.bodyStatements.map((statement) => ` ${statement}`).join(\"\\n\")}\\n return ${valueExpression};\\n }`;\n}\n\nfunction emitComponentCall(\n name: string,\n props: ComponentPropIr[],\n children: JsxNodeIr[],\n state: EmitSetupState,\n clientReference?: { moduleId: string; name: string } | undefined,\n): string {\n if (\n clientReference !== undefined &&\n state.clientBoundaryHelperName !== undefined &&\n isCompatClientReferenceModuleId(clientReference.moduleId)\n ) {\n return `${state.clientBoundaryHelperName}(${JSON.stringify(clientReference.name)}, ${emitPropsObject(props, children, state)})`;\n }\n\n return `${name}(${emitPropsObject(props, children, state)})`;\n}\n\nfunction emitPropsObject(\n props: ComponentPropIr[],\n children: JsxNodeIr[],\n state: EmitSetupState,\n): string {\n const entries = props.map((prop) => {\n if (prop.kind === \"spread-prop\") {\n return `...(${prop.code})`;\n }\n\n if (prop.kind === \"render-prop\") {\n return `${emitPropName(prop.name)}: ${emitRenderValueExpression(prop.children, state)}`;\n }\n\n if (shouldEmitReactiveComponentPropGetter(prop.code)) {\n return `get ${emitGetterPropName(prop.name)}() { return (${prop.code}); }`;\n }\n\n return `${emitPropName(prop.name)}: (${prop.code})`;\n });\n\n if (children.length > 0) {\n entries.push(`children: ${emitRenderValueExpression(children, state)}`);\n }\n\n return `{ ${entries.join(\", \")} }`;\n}\n\nfunction emitPropName(name: string): string {\n return /^[A-Za-z_$][\\w$]*$/.test(name) ? name : JSON.stringify(name);\n}\n\nfunction emitGetterPropName(name: string): string {\n return /^[A-Za-z_$][\\w$]*$/.test(name) ? name : `[${JSON.stringify(name)}]`;\n}\n\nfunction shouldEmitReactiveComponentPropGetter(code: string): boolean {\n if (!/\\.\\s*get\\s*\\(/.test(code)) {\n return false;\n }\n\n return !/^\\s*(?:async\\s*)?(?:function\\b|(?:\\([^)]*\\)|[A-Za-z_$][\\w$]*)\\s*=>)/.test(code);\n}\n\nfunction createNameAllocator(\n reservedNames: readonly string[],\n): NameAllocator {\n const usedNames = new Set(reservedNames);\n\n return (baseName: string, extraReservedNames: readonly string[] = []): string => {\n const reservedNames = new Set(extraReservedNames);\n let name = baseName;\n let index = 1;\n\n while (usedNames.has(name) || reservedNames.has(name)) {\n name = `${baseName}$${index}`;\n index += 1;\n }\n\n usedNames.add(name);\n return name;\n };\n}\n\nfunction isCompatClientReferenceModuleId(moduleId: string): boolean {\n return /\\.compat(?:\\.mreact)?(?:\\.[cm]?[jt]sx?)?$/.test(moduleId);\n}\n\ntype NameAllocator = (\n baseName: string,\n extraReservedNames?: readonly string[],\n) => string;\n\nfunction visit(node: JsxNodeIr, fn: (node: JsxNodeIr) => void): void {\n fn(node);\n\n if (node.kind === \"conditional\") {\n for (const child of [...node.whenTrue, ...node.whenFalse]) {\n visit(child, fn);\n }\n }\n\n if (node.kind === \"list\") {\n for (const child of node.children) {\n visit(child, fn);\n }\n }\n\n if (node.kind === \"component\") {\n for (const prop of node.props) {\n if (prop.kind === \"render-prop\") {\n for (const child of prop.children) {\n visit(child, fn);\n }\n }\n }\n\n for (const child of node.children) {\n visit(child, fn);\n }\n }\n\n if (node.kind === \"element\" || node.kind === \"fragment\") {\n for (const child of node.children) {\n visit(child, fn);\n }\n }\n\n // Async-boundary children participate in client-side rendering when the\n // boundary has an awaitId (hydration data path). Traverse them so their\n // runtime imports (bindList / bindText / bindEvent / etc.) are included.\n if (node.kind === \"async-boundary\") {\n for (const child of node.children) {\n visit(child, fn);\n }\n if (node.placeholderChildren !== undefined) {\n for (const child of node.placeholderChildren) {\n visit(child, fn);\n }\n }\n if (node.catchChildren !== undefined) {\n for (const child of node.catchChildren) {\n visit(child, fn);\n }\n }\n }\n}\n\nfunction escapeTemplateHtml(value: string): string {\n return value.replaceAll(\"\\\\\", \"\\\\\\\\\").replaceAll(\"\\\"\", \"\\\\\\\"\");\n}\n"]}
|
package/dist/emit-compat.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"emit-compat.js","sourceRoot":"","sources":["../src/emit-compat.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"emit-compat.js","sourceRoot":"","sources":["../src/emit-compat.ts"],"names":[],"mappings":"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","sourcesContent":["import type {\n AttributeIr,\n ComponentPropIr,\n ComponentIr,\n JsxElementIr,\n JsxFragmentIr,\n JsxNodeIr,\n ModuleIr,\n} from \"./ir.js\";\nimport type { RuntimeImport } from \"./types.js\";\n\nexport interface EmitCompatResult {\n code: string;\n imports: RuntimeImport[];\n}\n\nexport interface EmitCompatOptions {\n dev?: boolean;\n}\n\nconst JSX_RUNTIME_SOURCE = \"@reckona/mreact-compat/jsx-runtime\";\nconst JSX_DEV_RUNTIME_SOURCE = \"@reckona/mreact-compat/jsx-dev-runtime\";\n\nexport function emitCompat(\n ir: ModuleIr,\n options: EmitCompatOptions = {},\n): EmitCompatResult {\n if (ir.components.length === 0 && ir.moduleStatements.length === 0) {\n return {\n code: \"\",\n imports: [],\n };\n }\n\n const normalizedModuleStatements = normalizeCompatModuleStatements(ir.moduleStatements);\n const dev = options.dev === true;\n const componentImportSource = dev ? JSX_DEV_RUNTIME_SOURCE : JSX_RUNTIME_SOURCE;\n const componentSpecifiers = collectComponentImportSpecifiers(ir, dev);\n const helperNames = allocateHelperNames(ir, componentSpecifiers);\n const importGroups = createImportGroups(\n componentSpecifiers,\n helperNames,\n normalizedModuleStatements.importSpecifiers,\n componentImportSource,\n );\n const imports = collectImports(importGroups);\n const importLine = emitImportLines(importGroups);\n const userImports = emitUserImports(ir);\n const moduleStatements = emitModuleStatements(normalizedModuleStatements.statements);\n const components = ir.components\n .map((component) => emitComponent(component, helperNames, dev))\n .join(\"\\n\\n\");\n\n return {\n code: `${[importLine, userImports, moduleStatements].filter(Boolean).join(\"\\n\")}\\n\\n${components}\\n`,\n imports,\n };\n}\n\nfunction emitUserImports(ir: ModuleIr): string {\n return ir.userImports.join(\"\\n\");\n}\n\nfunction emitModuleStatements(statements: readonly string[]): string {\n return statements.join(\"\\n\");\n}\n\nfunction collectComponentImportSpecifiers(ir: ModuleIr, dev: boolean): string[] {\n const specifiers = new Set<string>();\n\n for (const component of ir.components) {\n visit(component.root, (node) => {\n if (node.kind === \"fragment\") {\n specifiers.add(\"Fragment\");\n }\n\n if (node.kind === \"component\") {\n specifiers.add(dev ? \"jsxDEV\" : \"jsx\");\n }\n\n if (node.kind === \"element\" || node.kind === \"fragment\") {\n specifiers.add(dev ? \"jsxDEV\" : node.children.length > 1 ? \"jsxs\" : \"jsx\");\n }\n });\n }\n\n return Array.from(specifiers).sort();\n}\n\ninterface CompatHelperNames {\n Fragment?: string;\n jsx?: string;\n jsxDEV?: string;\n jsxs?: string;\n}\n\nfunction allocateHelperNames(\n ir: ModuleIr,\n specifiers: readonly string[],\n): CompatHelperNames {\n const allocator = createNameAllocator(collectReservedHelperNames(ir));\n const helperNames: CompatHelperNames = {};\n\n for (const specifier of specifiers) {\n if (specifier === \"Fragment\") {\n helperNames.Fragment = allocator(\"_Fragment\");\n continue;\n }\n\n if (specifier === \"jsx\") {\n helperNames.jsx = allocator(\"_jsx\");\n continue;\n }\n\n if (specifier === \"jsxDEV\") {\n helperNames.jsxDEV = allocator(\"_jsxDEV\");\n continue;\n }\n\n if (specifier === \"jsxs\") {\n helperNames.jsxs = allocator(\"_jsxs\");\n }\n }\n\n return helperNames;\n}\n\nfunction collectReservedHelperNames(ir: ModuleIr): string[] {\n return [\n ...ir.moduleBindingNames,\n ...ir.components.flatMap((component) => [\n component.name,\n component.exportName,\n ...component.bindingNames,\n ]),\n ];\n}\n\ninterface CompatRuntimeImportSpecifier {\n importedName: string;\n localName: string;\n source: string;\n}\n\ninterface CompatImportGroup {\n source: string;\n specifiers: Map<string, string>;\n}\n\ninterface NormalizedModuleStatements {\n statements: string[];\n importSpecifiers: CompatRuntimeImportSpecifier[];\n}\n\nfunction normalizeCompatModuleStatements(statements: readonly string[]): NormalizedModuleStatements {\n const importSpecifiers = new Map<string, CompatRuntimeImportSpecifier>();\n const normalizedStatements = statements.map((statement) =>\n stripCompatRuntimeImports(statement, importSpecifiers)\n );\n\n return {\n statements: normalizedStatements,\n importSpecifiers: Array.from(importSpecifiers.values()),\n };\n}\n\nfunction stripCompatRuntimeImports(\n statement: string,\n importSpecifiers: Map<string, CompatRuntimeImportSpecifier>,\n): string {\n return statement\n .split(\"\\n\")\n .filter((line) => {\n const parsed = parseCompatRuntimeImportLine(line);\n\n if (parsed === undefined) {\n return true;\n }\n\n for (const specifier of parsed) {\n importSpecifiers.set(`${specifier.importedName}:${specifier.localName}`, specifier);\n }\n\n return false;\n })\n .join(\"\\n\");\n}\n\nfunction parseCompatRuntimeImportLine(\n line: string,\n): CompatRuntimeImportSpecifier[] | undefined {\n const match = line.match(\n /^\\s*import\\s+\\{\\s*(?<specifiers>[^}]*)\\s*\\}\\s+from\\s+[\"@'](?<source>@reckona\\/mreact-compat\\/jsx(?:-dev)?-runtime)(?:\\.js)?[\"@'];?\\s*$/,\n );\n const specifierText = match?.groups?.specifiers;\n const source = match?.groups?.source;\n\n if (specifierText === undefined || source === undefined) {\n return undefined;\n }\n\n if (specifierText.trim() === \"\") {\n return [];\n }\n\n return specifierText.split(\",\").flatMap((rawSpecifier): CompatRuntimeImportSpecifier[] => {\n const specifier = rawSpecifier.trim();\n const aliasMatch = specifier.match(\n /^(?<importedName>Fragment|jsx|jsxDEV|jsxs)\\s+as\\s+(?<localName>[A-Za-z_$][\\w$]*)$/,\n );\n\n if (aliasMatch?.groups !== undefined) {\n const { importedName, localName } = aliasMatch.groups;\n\n if (importedName === undefined || localName === undefined) {\n return [];\n }\n\n return [{\n importedName,\n localName,\n source,\n }];\n }\n\n return /^(Fragment|jsx|jsxDEV|jsxs)$/.test(specifier)\n ? [{ importedName: specifier, localName: specifier, source }]\n : [];\n });\n}\n\nfunction createImportGroups(\n componentSpecifiers: readonly string[],\n helperNames: CompatHelperNames,\n moduleImportSpecifiers: readonly CompatRuntimeImportSpecifier[],\n componentImportSource: string,\n): CompatImportGroup[] {\n const groups = new Map<string, CompatImportGroup>();\n\n for (const moduleSpecifier of moduleImportSpecifiers) {\n addImportSpecifier(\n groups,\n moduleSpecifier.source,\n moduleSpecifier.importedName,\n moduleSpecifier.localName,\n );\n }\n\n for (const specifier of componentSpecifiers) {\n if (specifier === \"Fragment\") {\n const localName = helperNames.Fragment ?? \"_Fragment\";\n addImportSpecifier(groups, componentImportSource, \"Fragment\", localName);\n continue;\n }\n\n const localName = helperNames[specifier as \"jsx\" | \"jsxDEV\" | \"jsxs\"] ?? `_${specifier}`;\n addImportSpecifier(groups, componentImportSource, specifier, localName);\n }\n\n return Array.from(groups.values());\n}\n\nfunction addImportSpecifier(\n groups: Map<string, CompatImportGroup>,\n source: string,\n importedName: string,\n localName: string,\n): void {\n const group = groups.get(source) ?? {\n source,\n specifiers: new Map<string, string>(),\n };\n\n group.specifiers.set(\n `${importedName}:${localName}`,\n importedName === localName ? importedName : `${importedName} as ${localName}`,\n );\n groups.set(source, group);\n}\n\nfunction collectImports(groups: readonly CompatImportGroup[]): RuntimeImport[] {\n return groups.map((group) => ({\n source: group.source,\n specifiers: Array.from(\n new Set(Array.from(group.specifiers.keys(), (key) => key.split(\":\")[0] as string)),\n ).sort(),\n }));\n}\n\nfunction emitImportLines(groups: readonly CompatImportGroup[]): string {\n return groups\n .map((group) =>\n `import { ${Array.from(group.specifiers.values()).join(\", \")} } from \"${group.source}\";`\n )\n .join(\"\\n\");\n}\n\nfunction emitComponent(\n component: ComponentIr,\n helperNames: CompatHelperNames,\n dev: boolean,\n): string {\n const body = component.bodyStatements.map((statement) => ` ${statement}`);\n const parameters = component.parameters.join(\", \");\n\n return [\n `${component.exportDefault === true ? \"export default \" : component.exported === false ? \"\" : \"export \"}function ${component.name}(${parameters}) {`,\n ...body,\n ` return ${emitJsxNode(component.root, helperNames, dev)};`,\n `}`,\n ].join(\"\\n\");\n}\n\nfunction emitJsxNode(\n node: JsxNodeIr,\n helperNames: CompatHelperNames,\n dev: boolean,\n): string {\n if (node.kind === \"text\") {\n return JSON.stringify(node.value);\n }\n\n if (node.kind === \"expr\") {\n return `(${node.code})`;\n }\n\n if (node.kind === \"conditional\") {\n return `(${node.conditionCode}) ? ${emitCompatChildren(node.whenTrue, helperNames, dev)} : ${emitCompatChildren(node.whenFalse, helperNames, dev)}`;\n }\n\n if (node.kind === \"list\") {\n const parameters =\n node.indexName === undefined\n ? node.itemName\n : `${node.itemName}, ${node.indexName}`;\n return `(${node.itemsCode}).map(${emitListRenderer(node, parameters, helperNames, dev)})`;\n }\n\n if (node.kind === \"fragment\") {\n return emitJsxCall(helperNames.Fragment ?? \"_Fragment\", node, helperNames, dev);\n }\n\n if (node.kind === \"component\") {\n const keyArgument =\n node.keyCode === undefined ? undefined : `(${node.keyCode})`;\n const props = emitComponentProps(node.props, node.children, helperNames, dev);\n return dev\n ? emitJsxDevCall(helperNames.jsxDEV ?? \"_jsxDEV\", node.name, props, keyArgument, node.children.length > 1)\n : `${helperNames.jsx ?? \"_jsx\"}(${node.name}, ${props}${keyArgument === undefined ? \"\" : `, ${keyArgument}`})`;\n }\n\n if (node.kind === \"async-boundary\") {\n return \"null\";\n }\n\n return emitJsxCall(JSON.stringify(node.tagName), node, helperNames, dev);\n}\n\nfunction emitCompatChildren(\n children: JsxNodeIr[],\n helperNames: CompatHelperNames,\n dev: boolean,\n): string {\n if (children.length === 0) {\n return \"null\";\n }\n\n if (children.length === 1) {\n return emitJsxNode(children[0] as JsxNodeIr, helperNames, dev);\n }\n\n return `[${children.map((child) => emitJsxNode(child, helperNames, dev)).join(\", \")}]`;\n}\n\nfunction emitListRenderer(\n node: Extract<JsxNodeIr, { kind: \"list\" }>,\n parameters: string,\n helperNames: CompatHelperNames,\n dev: boolean,\n): string {\n const valueExpression = emitCompatChildren(node.children, helperNames, dev);\n\n if (node.bodyStatements === undefined || node.bodyStatements.length === 0) {\n return `(${parameters}) => ${valueExpression}`;\n }\n\n return `(${parameters}) => {\\n${node.bodyStatements.map((statement) => ` ${statement}`).join(\"\\n\")}\\n return ${valueExpression};\\n }`;\n}\n\nfunction emitJsxCall(\n typeExpression: string,\n node: JsxElementIr | JsxFragmentIr,\n helperNames: CompatHelperNames,\n dev: boolean,\n): string {\n if (dev) {\n const keyArgument =\n node.kind === \"element\" && node.keyCode !== undefined\n ? `(${node.keyCode})`\n : undefined;\n return emitJsxDevCall(\n helperNames.jsxDEV ?? \"_jsxDEV\",\n typeExpression,\n emitProps(node, helperNames, dev),\n keyArgument,\n node.children.length > 1,\n );\n }\n\n const callee =\n node.children.length > 1\n ? (helperNames.jsxs ?? \"_jsxs\")\n : (helperNames.jsx ?? \"_jsx\");\n const keyArgument =\n node.kind === \"element\" && node.keyCode !== undefined\n ? `, (${node.keyCode})`\n : \"\";\n\n return `${callee}(${typeExpression}, ${emitProps(node, helperNames, dev)}${keyArgument})`;\n}\n\nfunction emitJsxDevCall(\n callee: string,\n typeExpression: string,\n props: string,\n keyArgument: string | undefined,\n isStaticChildren: boolean,\n): string {\n return `${callee}(${typeExpression}, ${props}, ${keyArgument ?? \"undefined\"}, ${isStaticChildren}, undefined, undefined)`;\n}\n\nfunction emitProps(\n node: JsxElementIr | JsxFragmentIr,\n helperNames: CompatHelperNames,\n dev: boolean,\n): string {\n const entries =\n node.kind === \"element\" ? node.attributes.map(emitAttribute) : [];\n const children = emitChildren(node.children, helperNames, dev);\n\n if (children !== undefined) {\n entries.push(`children: ${children}`);\n }\n\n return `{ ${entries.join(\", \")} }`;\n}\n\nfunction emitChildren(\n children: JsxNodeIr[],\n helperNames: CompatHelperNames,\n dev: boolean,\n): string | undefined {\n if (children.length === 0) {\n return undefined;\n }\n\n if (children.length === 1) {\n return emitJsxNode(children[0] as JsxNodeIr, helperNames, dev);\n }\n\n return `[${children.map((child) => emitJsxNode(child, helperNames, dev)).join(\", \")}]`;\n}\n\nfunction emitAttribute(attr: AttributeIr): string {\n if (attr.kind === \"spread-attr\") {\n return `...(${attr.code})`;\n }\n\n if (attr.kind === \"static-attr\") {\n return `${emitPropName(attr.name)}: ${JSON.stringify(attr.value)}`;\n }\n\n if (attr.kind === \"dynamic-attr\") {\n return `${emitPropName(attr.name)}: (${attr.code})`;\n }\n\n return `${emitPropName(attr.name)}: ${attr.code}`;\n}\n\nfunction emitComponentProps(\n props: ComponentPropIr[],\n children: JsxNodeIr[],\n helperNames: CompatHelperNames,\n dev: boolean,\n): string {\n const entries = props\n .map((prop) => {\n if (prop.kind === \"spread-prop\") {\n return `...(${prop.code})`;\n }\n\n if (prop.kind === \"render-prop\") {\n const renderedChildren = emitChildren(prop.children, helperNames, dev) ?? \"null\";\n return prop.valueName === undefined\n ? `${emitPropName(prop.name)}: ${renderedChildren}`\n : `${emitPropName(prop.name)}: (${prop.valueName}) => ${renderedChildren}`;\n }\n\n return `${emitPropName(prop.name)}: (${prop.code})`;\n })\n .filter(Boolean);\n\n if (children.length > 0) {\n entries.push(`children: ${emitChildren(children, helperNames, dev) ?? \"null\"}`);\n }\n\n return `{ ${entries.join(\", \")} }`;\n}\n\nfunction emitPropName(name: string): string {\n return /^[A-Za-z_$][\\w$]*$/.test(name) ? name : JSON.stringify(name);\n}\n\nfunction createNameAllocator(\n reservedNames: readonly string[],\n): (baseName: string) => string {\n const usedNames = new Set(reservedNames);\n\n return (baseName: string): string => {\n let name = baseName;\n let index = 1;\n\n while (usedNames.has(name)) {\n name = `${baseName}$${index}`;\n index += 1;\n }\n\n usedNames.add(name);\n return name;\n };\n}\n\nfunction visit(node: JsxNodeIr, fn: (node: JsxNodeIr) => void): void {\n fn(node);\n\n if (node.kind === \"conditional\") {\n for (const child of [...node.whenTrue, ...node.whenFalse]) {\n visit(child, fn);\n }\n }\n\n if (node.kind === \"list\") {\n for (const child of node.children) {\n visit(child, fn);\n }\n }\n\n if (node.kind === \"component\") {\n for (const prop of node.props) {\n if (prop.kind === \"render-prop\") {\n for (const child of prop.children) {\n visit(child, fn);\n }\n }\n }\n\n for (const child of node.children) {\n visit(child, fn);\n }\n }\n\n if (node.kind === \"element\" || node.kind === \"fragment\") {\n for (const child of node.children) {\n visit(child, fn);\n }\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"emit-escape-helper.js","sourceRoot":"","sources":["../src/emit-escape-helper.ts"],"names":[],"mappings":"AAAA,iEAAiE;AACjE,sEAAsE;AACtE,EAAE;AACF,sEAAsE;AACtE,gEAAgE;AAChE,kEAAkE;AAClE,6DAA6D;AAC7D,+DAA+D;AAC/D,EAAE;AACF,qEAAqE;AACrE,iEAAiE;AACjE,uEAAuE;AACvE,sEAAsE;AACtE,EAAE;AACF,mEAAmE;AACnE,oEAAoE;AACpE,qEAAqE;AACrE,2BAA2B;AAE3B,MAAM,UAAU,oBAAoB,CAAC,IAAY;IAC/C,OAAO;QACL,YAAY,IAAI,WAAW;QAC3B,oCAAoC;QACpC,uCAAuC;QACvC,qCAAqC;QACrC,mBAAmB;QACnB,kBAAkB;QAClB,0BAA0B;QAC1B,oCAAoC;QACpC,eAAe;QACf,oCAAoC;QACpC,wCAAwC;QACxC,uCAAuC;QACvC,sCAAsC;QACtC,sCAAsC;QACtC,0BAA0B;QAC1B,OAAO;QACP,2DAA2D;QAC3D,qBAAqB;QACrB,oBAAoB;QACpB,KAAK;QACL,oEAAoE;QACpE,GAAG;KACJ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC"}
|
|
1
|
+
{"version":3,"file":"emit-escape-helper.js","sourceRoot":"","sources":["../src/emit-escape-helper.ts"],"names":[],"mappings":"AAAA,iEAAiE;AACjE,sEAAsE;AACtE,EAAE;AACF,sEAAsE;AACtE,gEAAgE;AAChE,kEAAkE;AAClE,6DAA6D;AAC7D,+DAA+D;AAC/D,EAAE;AACF,qEAAqE;AACrE,iEAAiE;AACjE,uEAAuE;AACvE,sEAAsE;AACtE,EAAE;AACF,mEAAmE;AACnE,oEAAoE;AACpE,qEAAqE;AACrE,2BAA2B;AAE3B,MAAM,UAAU,oBAAoB,CAAC,IAAY;IAC/C,OAAO;QACL,YAAY,IAAI,WAAW;QAC3B,oCAAoC;QACpC,uCAAuC;QACvC,qCAAqC;QACrC,mBAAmB;QACnB,kBAAkB;QAClB,0BAA0B;QAC1B,oCAAoC;QACpC,eAAe;QACf,oCAAoC;QACpC,wCAAwC;QACxC,uCAAuC;QACvC,sCAAsC;QACtC,sCAAsC;QACtC,0BAA0B;QAC1B,OAAO;QACP,2DAA2D;QAC3D,qBAAqB;QACrB,oBAAoB;QACpB,KAAK;QACL,oEAAoE;QACpE,GAAG;KACJ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC","sourcesContent":["// Shared text for the `_escapeHtml` helper emitted into compiled\n// server-mode JS (both `emit-server.ts` and `emit-server-stream.ts`).\n//\n// Issue 088: the previous chain of four `String.prototype.replaceAll`\n// calls scanned the entire input four times even when no escape\n// character was present. On the hot path (numeric / short strings\n// passed through `_escapeHtml`) it cost ~115 ns per call and\n// dominated the per-request budget at N=5000 (≈58 % of total).\n//\n// The replacement is the well-known `escape-html` library shape that\n// Marko's compiled output uses: one regex test, return the input\n// unchanged when nothing needs escaping, otherwise a forward char-scan\n// from the first match. On the same inputs it costs 4-11 ns per call.\n//\n// We only escape `& < > \"` -- matching the previous implementation\n// exactly. `'` is intentionally not escaped because every attribute\n// the compiler emits uses double quotes, so a single quote inside an\n// attribute value is safe.\n\nexport function emitEscapeHtmlHelper(name: string): string {\n return [\n `function ${name}(value) {`,\n ` const _str = \"\" + (value ?? \"\");`,\n ` const _match = /[\"&<>]/.exec(_str);`,\n ` if (_match === null) return _str;`,\n ` let _html = \"\";`,\n ` let _last = 0;`,\n ` let _i = _match.index;`,\n ` for (; _i < _str.length; _i++) {`,\n ` let _esc;`,\n ` switch (_str.charCodeAt(_i)) {`,\n ` case 34: _esc = \""\"; break;`,\n ` case 38: _esc = \"&\"; break;`,\n ` case 60: _esc = \"<\"; break;`,\n ` case 62: _esc = \">\"; break;`,\n ` default: continue;`,\n ` }`,\n ` if (_last !== _i) _html += _str.substring(_last, _i);`,\n ` _last = _i + 1;`,\n ` _html += _esc;`,\n ` }`,\n ` return _last !== _i ? _html + _str.substring(_last, _i) : _html;`,\n `}`,\n ].join(\"\\n\");\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"emit-server-shared.js","sourceRoot":"","sources":["../src/emit-server-shared.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"emit-server-shared.js","sourceRoot":"","sources":["../src/emit-server-shared.ts"],"names":[],"mappings":"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","sourcesContent":["import { parseSync } from \"oxc-parser\";\nimport { readArray, readObject, unwrapOxcParentheses } from \"./oxc-node-utils.js\";\n\nexport interface StaticStyleObjectEntry {\n cssName: string;\n valueCode: string;\n}\n\nconst URL_ATTRIBUTE_NAMES = new Set([\n \"href\",\n \"src\",\n \"action\",\n \"formaction\",\n \"xlink:href\",\n \"ping\",\n \"poster\",\n \"background\",\n \"manifest\",\n]);\n\nconst DANGEROUS_HTML_ATTRIBUTE_NAMES = new Set([\"srcdoc\"]);\n\nconst SIMPLE_IDENT_CHAIN_RE = /^(this|[A-Za-z_$][\\w$]*)(\\.[A-Za-z_$][\\w$]*)*$/;\nconst NUMERIC_LITERAL_RE = /^-?(?:\\d+(?:\\.\\d+)?|\\.\\d+)$/;\nconst SIMPLE_STRING_LITERAL_RE = /^\"(?:[^\"\\\\]|\\\\.)*\"$/;\nconst SIMPLE_SINGLE_QUOTE_RE = /^'(?:[^'\\\\]|\\\\.)*'$/;\n\nconst HTML_ATTRIBUTE_ALIASES: Record<string, string> = {\n acceptCharset: \"accept-charset\",\n autoFocus: \"autofocus\",\n autoPlay: \"autoplay\",\n charSet: \"charset\",\n className: \"class\",\n colSpan: \"colspan\",\n contentEditable: \"contenteditable\",\n crossOrigin: \"crossorigin\",\n encType: \"enctype\",\n formAction: \"formaction\",\n frameBorder: \"frameborder\",\n htmlFor: \"for\",\n httpEquiv: \"http-equiv\",\n maxLength: \"maxlength\",\n minLength: \"minlength\",\n noValidate: \"novalidate\",\n playsInline: \"playsinline\",\n readOnly: \"readonly\",\n rowSpan: \"rowspan\",\n spellCheck: \"spellcheck\",\n srcDoc: \"srcdoc\",\n srcSet: \"srcset\",\n tabIndex: \"tabindex\",\n useMap: \"usemap\",\n};\n\nexport function isUrlAttribute(name: string): boolean {\n return URL_ATTRIBUTE_NAMES.has(name);\n}\n\nexport function isDangerousHtmlAttribute(name: string): boolean {\n return DANGEROUS_HTML_ATTRIBUTE_NAMES.has(name);\n}\n\nexport function isStaticUrlValueUnsafe(name: string, value: string): boolean {\n let start = 0;\n\n while (start < value.length && value.charCodeAt(start) <= 0x20) {\n start += 1;\n }\n\n const canonical = value.slice(start).replace(/[\\t\\r\\n]/g, \"\");\n const match = /^([a-zA-Z][a-zA-Z0-9+.-]*):/.exec(canonical);\n if (match === null || match[1] === undefined) return false;\n const scheme = match[1].toLowerCase();\n if (scheme === \"javascript\" || scheme === \"vbscript\" || scheme === \"livescript\" || scheme === \"mhtml\" || scheme === \"file\") return true;\n if (scheme === \"data\") {\n if ((name === \"src\" || name === \"poster\") && /^data:image\\/(?!svg\\+xml(?:[;,]|$))/i.test(canonical)) return false;\n return true;\n }\n return false;\n}\n\nexport function parseStyleLiteralValue(code: string): string | number | null | undefined {\n const trimmed = unwrapParenthesized(code.trim());\n\n if (trimmed === \"null\" || trimmed === \"false\" || trimmed === \"undefined\") {\n return null;\n }\n\n if (trimmed === \"true\") {\n return \"\";\n }\n\n if (NUMERIC_LITERAL_RE.test(trimmed)) {\n return Number(trimmed);\n }\n\n if (SIMPLE_STRING_LITERAL_RE.test(trimmed)) {\n return JSON.parse(trimmed) as string;\n }\n\n if (SIMPLE_SINGLE_QUOTE_RE.test(trimmed)) {\n return JSON.parse(`\"${trimmed.slice(1, -1).replaceAll('\"', '\\\\\"')}\"`) as string;\n }\n\n return undefined;\n}\n\nexport function parseStaticStyleObjectLiteral(\n code: string,\n): StaticStyleObjectEntry[] | undefined {\n const objectCode = unwrapParenthesized(code.trim());\n const stringParsedEntries = parseStaticStyleObjectLiteralFromString(objectCode);\n\n if (stringParsedEntries !== undefined) {\n return stringParsedEntries;\n }\n\n return parseStaticStyleObjectLiteralWithOxc(objectCode);\n}\n\nfunction parseStaticStyleObjectLiteralFromString(\n objectCode: string,\n): StaticStyleObjectEntry[] | undefined {\n if (!objectCode.startsWith(\"{\") || !objectCode.endsWith(\"}\")) {\n return undefined;\n }\n\n const body = objectCode.slice(1, -1).trim();\n\n if (body === \"\") {\n return [];\n }\n\n const entries: StaticStyleObjectEntry[] = [];\n\n for (const property of splitTopLevel(body, \",\")) {\n const trimmed = property.trim();\n\n if (trimmed === \"\" || trimmed.startsWith(\"...\") || trimmed.startsWith(\"[\")) {\n return undefined;\n }\n\n const colonIndex = findTopLevelColon(trimmed);\n\n if (colonIndex < 0) {\n return undefined;\n }\n\n const rawKey = trimmed.slice(0, colonIndex).trim();\n const valueCode = trimmed.slice(colonIndex + 1).trim();\n const key = parseStaticObjectKey(rawKey);\n\n if (key === undefined || valueCode === \"\") {\n return undefined;\n }\n\n entries.push({ cssName: cssPropertyName(key), valueCode });\n }\n\n return entries;\n}\n\nfunction parseStaticStyleObjectLiteralWithOxc(\n objectCode: string,\n): StaticStyleObjectEntry[] | undefined {\n if (!objectCode.startsWith(\"{\") || !objectCode.endsWith(\"}\")) {\n return undefined;\n }\n\n const prefix = \"const __mreactStyle = \";\n const source = `${prefix}${objectCode};`;\n const parsed = parseSync(\"style-object.tsx\", source, {\n lang: \"tsx\",\n sourceType: \"module\",\n astType: \"ts\",\n });\n\n if (parsed.errors.length > 0) {\n return undefined;\n }\n\n const body = readArray(readObject(parsed.program).body);\n const declaration = readArray(readObject(body[0]).declarations)[0];\n const init = unwrapOxcParentheses(readObject(readObject(declaration).init));\n\n if (init.type !== \"ObjectExpression\") {\n return undefined;\n }\n\n const entries: StaticStyleObjectEntry[] = [];\n\n for (const property of readArray(init.properties)) {\n const propertyObject = readObject(property);\n\n if (\n propertyObject.type !== \"Property\" ||\n propertyObject.kind !== \"init\" ||\n propertyObject.method === true ||\n propertyObject.computed === true ||\n propertyObject.shorthand === true\n ) {\n return undefined;\n }\n\n const key = readStaticOxcObjectKey(propertyObject.key);\n const value = readObject(propertyObject.value);\n const start = readNumber(value.start);\n const end = readNumber(value.end);\n\n if (key === undefined || start < prefix.length || end < start) {\n return undefined;\n }\n\n entries.push({\n cssName: cssPropertyName(key),\n valueCode: source.slice(start, end),\n });\n }\n\n return entries;\n}\n\nfunction readStaticOxcObjectKey(node: unknown): string | undefined {\n const key = readObject(node);\n\n if (key.type === \"Identifier\") {\n return typeof key.name === \"string\" ? key.name : undefined;\n }\n\n if (key.type === \"Literal\") {\n return typeof key.value === \"string\" ? key.value : undefined;\n }\n\n return undefined;\n}\n\nfunction readNumber(value: unknown): number {\n return typeof value === \"number\" ? value : -1;\n}\n\nexport function simpleSideEffectFreeExpression(code: string): string | undefined {\n const trimmed = unwrapParenthesized(code.trim());\n\n if (trimmed === \"\") {\n return undefined;\n }\n\n if (\n trimmed === \"true\" ||\n trimmed === \"false\" ||\n trimmed === \"null\" ||\n trimmed === \"undefined\"\n ) {\n return trimmed;\n }\n\n if (\n NUMERIC_LITERAL_RE.test(trimmed) ||\n SIMPLE_STRING_LITERAL_RE.test(trimmed) ||\n SIMPLE_SINGLE_QUOTE_RE.test(trimmed) ||\n SIMPLE_IDENT_CHAIN_RE.test(trimmed)\n ) {\n return trimmed;\n }\n\n return undefined;\n}\n\nexport function htmlAttributeName(name: string): string {\n return HTML_ATTRIBUTE_ALIASES[name] ?? name;\n}\n\nfunction unwrapParenthesized(code: string): string {\n let current = code;\n\n while (current.startsWith(\"(\") && current.endsWith(\")\") && findMatchingClose(current, 0) === current.length - 1) {\n current = current.slice(1, -1).trim();\n }\n\n return current;\n}\n\nfunction splitTopLevel(code: string, separator: string): string[] {\n const parts: string[] = [];\n let start = 0;\n let depth = 0;\n let quote: string | undefined;\n\n for (let index = 0; index < code.length; index += 1) {\n const char = code[index];\n\n if (quote !== undefined) {\n if (char === \"\\\\\") {\n index += 1;\n } else if (char === quote) {\n quote = undefined;\n }\n continue;\n }\n\n if (char === \"\\\"\" || char === \"'\" || char === \"`\") {\n quote = char;\n continue;\n }\n\n if (char === \"{\" || char === \"[\" || char === \"(\") {\n depth += 1;\n continue;\n }\n\n if (char === \"}\" || char === \"]\" || char === \")\") {\n depth -= 1;\n continue;\n }\n\n if (depth === 0 && char === separator) {\n parts.push(code.slice(start, index));\n start = index + 1;\n }\n }\n\n parts.push(code.slice(start));\n return parts;\n}\n\nfunction findTopLevelColon(code: string): number {\n return splitTopLevel(code, \":\")[0]?.length ?? -1;\n}\n\nfunction findMatchingClose(code: string, openIndex: number): number {\n let depth = 0;\n let quote: string | undefined;\n\n for (let index = openIndex; index < code.length; index += 1) {\n const char = code[index];\n\n if (quote !== undefined) {\n if (char === \"\\\\\") {\n index += 1;\n } else if (char === quote) {\n quote = undefined;\n }\n continue;\n }\n\n if (char === \"\\\"\" || char === \"'\" || char === \"`\") {\n quote = char;\n continue;\n }\n\n if (char === \"(\") {\n depth += 1;\n } else if (char === \")\") {\n depth -= 1;\n\n if (depth === 0) {\n return index;\n }\n }\n }\n\n return -1;\n}\n\nfunction parseStaticObjectKey(rawKey: string): string | undefined {\n if (/^[A-Za-z_$][\\w$-]*$/.test(rawKey)) {\n return rawKey;\n }\n\n if (\n (rawKey.startsWith(\"\\\"\") && rawKey.endsWith(\"\\\"\")) ||\n (rawKey.startsWith(\"'\") && rawKey.endsWith(\"'\"))\n ) {\n return rawKey.slice(1, -1);\n }\n\n return undefined;\n}\n\nfunction cssPropertyName(name: string): string {\n return name.startsWith(\"--\")\n ? name\n : name.replace(/[A-Z]/g, (char) => `-${char.toLowerCase()}`);\n}\n"]}
|