@reckona/mreact-compiler 0.0.123 → 0.0.125

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.
@@ -1 +1 @@
1
- {"version":3,"file":"emit-server.d.ts","sourceRoot":"","sources":["../src/emit-server.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAwD,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC9F,OAAO,KAAK,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAkBrE,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,aAAa,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,iBAAiB;IAChC,iBAAiB,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACpC,MAAM,CAAC,EAAE,mBAAmB,GAAG,SAAS,CAAC;IACzC,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AASD,wBAAgB,UAAU,CAAC,EAAE,EAAE,QAAQ,EAAE,OAAO,GAAE,iBAAsB,GAAG,UAAU,CA6GpF"}
1
+ {"version":3,"file":"emit-server.d.ts","sourceRoot":"","sources":["../src/emit-server.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAwD,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC9F,OAAO,KAAK,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAmBrE,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,aAAa,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,iBAAiB;IAChC,iBAAiB,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACpC,MAAM,CAAC,EAAE,mBAAmB,GAAG,SAAS,CAAC;IACzC,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AASD,wBAAgB,UAAU,CAAC,EAAE,EAAE,QAAQ,EAAE,OAAO,GAAE,iBAAsB,GAAG,UAAU,CA6GpF"}
@@ -1,7 +1,7 @@
1
1
  import { emitEscapeHtmlHelper } from "./emit-escape-helper.js";
2
2
  import { createCodeBuilder } from "./emit-code-builder.js";
3
3
  import { escapeHtmlAttribute as escapeHtml } from "@reckona/mreact-shared/html-escape";
4
- import { htmlAttributeName, isDangerousHtmlAttribute, isStaticUrlValueUnsafe, isUrlAttribute, parseStaticStyleObjectLiteral, parseStyleLiteralValue, simpleSideEffectFreeExpression, } from "./emit-server-shared.js";
4
+ import { htmlAttributeName, isDangerousHtmlAttribute, isStaticUrlValueUnsafe, isUrlAttribute, isVoidHtmlElement, parseStaticStyleObjectLiteral, parseStyleLiteralValue, simpleSideEffectFreeExpression, } from "./emit-server-shared.js";
5
5
  import { emitOxcCompatObjectChildren, oxcServerStringReactNodeRenderHelperPlaceholder, } from "./oxc-runtime-emit.js";
6
6
  // Module-local handle to the URL-safety helper name for the current emit
7
7
  // call. Used by deeply-nested attribute emitters to avoid threading the
@@ -330,6 +330,9 @@ function collectHtmlStatements(node, outVar, escapeHelperName, escapeBatchHelper
330
330
  statements.push(`${outVar} += ${selectedAttributePart};`);
331
331
  }
332
332
  statements.push(`${outVar} += ">";`);
333
+ if (isVoidHtmlElement(node.tagName)) {
334
+ return statements;
335
+ }
333
336
  const dangerousInnerHtml = emitDangerouslySetInnerHtmlExpression(node.attributes);
334
337
  if (dangerousInnerHtml !== undefined) {
335
338
  statements.push(`${outVar} += ${dangerousInnerHtml};`);
@@ -452,18 +455,20 @@ function collectHtmlParts(node, escapeHelperName, escapeBatchHelperName, asyncCo
452
455
  const childSelectedValueCode = node.tagName === "select" ? attributeScan.formValueAttributeCode : undefined;
453
456
  const selectedAttributePart = collectOptionSelectedAttributePart(node, selectedValueCode);
454
457
  const dangerousInnerHtml = emitDangerouslySetInnerHtmlExpression(node.attributes);
455
- const childrenParts = dangerousInnerHtml !== undefined
456
- ? [dangerousInnerHtml]
457
- : childrenExpression === undefined || childSelectedValueCode !== undefined
458
- ? node.children.flatMap((child) => collectHtmlParts(child, escapeHelperName, escapeBatchHelperName, asyncComponentNames, dynamicAttributes, contextProviderHelperName, contextConsumerHelperName, reactNodeRenderHelperName, childSelectedValueCode))
459
- : [childrenExpression];
458
+ const childrenParts = isVoidHtmlElement(node.tagName)
459
+ ? []
460
+ : dangerousInnerHtml !== undefined
461
+ ? [dangerousInnerHtml]
462
+ : childrenExpression === undefined || childSelectedValueCode !== undefined
463
+ ? node.children.flatMap((child) => collectHtmlParts(child, escapeHelperName, escapeBatchHelperName, asyncComponentNames, dynamicAttributes, contextProviderHelperName, contextConsumerHelperName, reactNodeRenderHelperName, childSelectedValueCode))
464
+ : [childrenExpression];
460
465
  return [
461
466
  stringLiteral(`<${node.tagName}`),
462
467
  ...collectElementAttributeParts(node.tagName, node.attributes, escapeHelperName, escapeBatchHelperName, dynamicAttributes, attributeScan),
463
468
  ...(selectedAttributePart === undefined ? [] : [selectedAttributePart]),
464
469
  stringLiteral(">"),
465
470
  ...childrenParts,
466
- stringLiteral(closeTag),
471
+ ...(isVoidHtmlElement(node.tagName) ? [] : [stringLiteral(closeTag)]),
467
472
  ];
468
473
  }
469
474
  function emitDangerouslySetInnerHtmlExpression(attrs) {