@barefootjs/test 0.33.1 → 0.33.3

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 (2) hide show
  1. package/dist/index.js +280 -42
  2. package/package.json +2 -2
package/dist/index.js CHANGED
@@ -187288,7 +187288,7 @@ Additional information: BADCLIENT: Bad error code, ${badCode} not found in range
187288
187288
  });
187289
187289
 
187290
187290
  // ../jsx/src/compiler.ts
187291
- var import_typescript24 = __toESM(require_typescript(), 1);
187291
+ var import_typescript25 = __toESM(require_typescript(), 1);
187292
187292
 
187293
187293
  // ../jsx/src/analyzer.ts
187294
187294
  var import_typescript9 = __toESM(require_typescript(), 1);
@@ -188980,6 +188980,11 @@ function applyReplacement(slice, re, replacement) {
188980
188980
  var BF_SCOPE = "bf-s";
188981
188981
  var BF_SLOT = "bf";
188982
188982
  var BF_COND = "bf-c";
188983
+ var BF_KEY = "data-key";
188984
+ var BF_KEY_PREFIX = "data-key-";
188985
+ function keyAttrName(loopDepth) {
188986
+ return loopDepth > 0 ? `${BF_KEY_PREFIX}${loopDepth}` : BF_KEY;
188987
+ }
188983
188988
  // ../shared/src/dom-prop.ts
188984
188989
  var BOOLEAN_ATTRS = new Set([
188985
188990
  "checked",
@@ -189625,6 +189630,19 @@ function buildPropAliasMap(params) {
189625
189630
  }
189626
189631
  return map;
189627
189632
  }
189633
+ function resolveRestSpreadOriginCore(bindings, constantValues, name) {
189634
+ const visited = new Set;
189635
+ let current = name.trim();
189636
+ while (current !== undefined && !visited.has(current)) {
189637
+ if (bindings.restPropsName && current === bindings.restPropsName)
189638
+ return "rest";
189639
+ if (bindings.propsObjectName && current === bindings.propsObjectName)
189640
+ return "props";
189641
+ visited.add(current);
189642
+ current = constantValues.get(current)?.trim();
189643
+ }
189644
+ return null;
189645
+ }
189628
189646
 
189629
189647
  // ../jsx/src/instrumentation.ts
189630
189648
  var _enabled = false;
@@ -194951,10 +194969,44 @@ function attachParsedExpressions(node, analyzer, bound = EMPTY_BOUND) {
194951
194969
  break;
194952
194970
  }
194953
194971
  }
194972
+ function resolveRootKeyAttr(node) {
194973
+ if (!node)
194974
+ return;
194975
+ switch (node.type) {
194976
+ case "element":
194977
+ if (node.needsScope && !node.keyAttr)
194978
+ node.keyAttr = { name: BF_KEY };
194979
+ for (const c of node.children)
194980
+ resolveRootKeyAttr(c);
194981
+ return;
194982
+ case "fragment":
194983
+ case "component":
194984
+ case "provider":
194985
+ case "loop":
194986
+ for (const c of node.children)
194987
+ resolveRootKeyAttr(c);
194988
+ return;
194989
+ case "async":
194990
+ resolveRootKeyAttr(node.fallback);
194991
+ for (const c of node.children)
194992
+ resolveRootKeyAttr(c);
194993
+ return;
194994
+ case "conditional":
194995
+ resolveRootKeyAttr(node.whenTrue);
194996
+ resolveRootKeyAttr(node.whenFalse);
194997
+ return;
194998
+ case "if-statement":
194999
+ resolveRootKeyAttr(node.consequent);
195000
+ resolveRootKeyAttr(node.alternate);
195001
+ return;
195002
+ }
195003
+ }
194954
195004
  function jsxToIR(analyzer) {
194955
195005
  const root = buildIRRoot(analyzer);
194956
- if (root)
195006
+ if (root) {
194957
195007
  attachParsedExpressions(root, analyzer);
195008
+ resolveRootKeyAttr(root);
195009
+ }
194958
195010
  return root;
194959
195011
  }
194960
195012
  function buildIRRoot(analyzer) {
@@ -195143,6 +195195,7 @@ function lowerFormControlValueSsr(tagName, attrs, children) {
195143
195195
  type: "expression",
195144
195196
  expr,
195145
195197
  templateExpr: `escapeText(${templateExpr ?? expr})`,
195198
+ escapeInClientTemplate: true,
195146
195199
  typeInfo: null,
195147
195200
  reactive: false,
195148
195201
  slotId: null,
@@ -195180,7 +195233,7 @@ function transformHtmlElement(node, ctx, tagName) {
195180
195233
  ctx.isRoot = false;
195181
195234
  const children = transformChildren(node.children, ctx);
195182
195235
  lowerFormControlValueSsr(tagName, attrs, children);
195183
- const needsSlot = events.length > 0 || hasDynamicContent(children) || hasReactiveAttributes(attrs, ctx) || ref !== null;
195236
+ const needsSlot = events.length > 0 || hasDynamicContent(children) || hasReactiveAttributes(attrs, ctx) || ref !== null || forwardsCallerRestProps(attrs, ctx);
195184
195237
  const slotId = needsSlot ? generateSlotId(ctx) : null;
195185
195238
  if (slotId) {
195186
195239
  propagateSlotIdToLoops(children, slotId);
@@ -195213,7 +195266,7 @@ function transformSelfClosingElement(node, ctx) {
195213
195266
  const { attrs, events, ref } = processAttributes(node.attributes, ctx);
195214
195267
  const selfClosingChildren = [];
195215
195268
  lowerFormControlValueSsr(tagName, attrs, selfClosingChildren);
195216
- const needsSlot = events.length > 0 || hasReactiveAttributes(attrs, ctx) || ref !== null;
195269
+ const needsSlot = events.length > 0 || hasReactiveAttributes(attrs, ctx) || ref !== null || forwardsCallerRestProps(attrs, ctx);
195217
195270
  const slotId = needsSlot ? generateSlotId(ctx) : null;
195218
195271
  const needsScope = ctx.isRoot;
195219
195272
  ctx.isRoot = false;
@@ -195439,6 +195492,33 @@ function unwrapHoistedFragment(node) {
195439
195492
  return node;
195440
195493
  return { ...only, needsScope: true };
195441
195494
  }
195495
+ function markDataKeyCarrier(children) {
195496
+ for (let i2 = 0;i2 < children.length; i2++) {
195497
+ const marked = markCarrierIn(children[i2]);
195498
+ if (!marked)
195499
+ continue;
195500
+ const out = children.slice();
195501
+ out[i2] = marked;
195502
+ return out;
195503
+ }
195504
+ return children;
195505
+ }
195506
+ function markCarrierIn(node) {
195507
+ if (node.type === "element") {
195508
+ if (node.keyAttr)
195509
+ return null;
195510
+ return { ...node, keyAttr: { name: BF_KEY } };
195511
+ }
195512
+ if (node.type === "conditional") {
195513
+ const cond = node;
195514
+ const whenTrue = markCarrierIn(cond.whenTrue);
195515
+ const whenFalse = markCarrierIn(cond.whenFalse);
195516
+ if (!whenTrue && !whenFalse)
195517
+ return null;
195518
+ return { ...cond, whenTrue: whenTrue ?? cond.whenTrue, whenFalse: whenFalse ?? cond.whenFalse };
195519
+ }
195520
+ return null;
195521
+ }
195442
195522
  function transformFragment(node, ctx) {
195443
195523
  const isFragmentRoot = ctx.isRoot;
195444
195524
  const isTransparent = isFragmentRoot && isTransparentFragment(node, ctx);
@@ -195449,7 +195529,7 @@ function transformFragment(node, ctx) {
195449
195529
  const needsScopeComment = isFragmentRoot && !isTransparent || undefined;
195450
195530
  return {
195451
195531
  type: "fragment",
195452
- children,
195532
+ children: needsScopeComment ? markDataKeyCarrier(children) : children,
195453
195533
  transparent: isTransparent || undefined,
195454
195534
  needsScopeComment,
195455
195535
  loc: getSourceLocation(node, ctx.sourceFile, ctx.filePath)
@@ -195502,7 +195582,7 @@ function transformExpressionInner(expr, ctx, node, isClientOnly) {
195502
195582
  if (isRenderNothingLiteral(expr, ctx)) {
195503
195583
  return null;
195504
195584
  }
195505
- checkBareSignalOrMemoIdentifier(expr, ctx);
195585
+ checkBareSignalOrMemoIdentifier(expr, ctx, { descendNested: true });
195506
195586
  if (import_typescript13.default.isIdentifier(expr)) {
195507
195587
  const jsxNode = ctx.analyzer.jsxConstants.get(expr.text);
195508
195588
  if (jsxNode) {
@@ -196619,6 +196699,16 @@ function tagLoopItemRootComponents(nodes) {
196619
196699
  }
196620
196700
  }
196621
196701
  }
196702
+ function applyLoopKeyAttr(node, name, value) {
196703
+ if (node.type === "element") {
196704
+ node.keyAttr = { name, value };
196705
+ return;
196706
+ }
196707
+ if (node.type === "conditional") {
196708
+ applyLoopKeyAttr(node.whenTrue, name, value);
196709
+ applyLoopKeyAttr(node.whenFalse, name, value);
196710
+ }
196711
+ }
196622
196712
  function loopBodyItemConditional(children) {
196623
196713
  const real = children.filter((c) => !(c.type === "text" && typeof c.value === "string" && !c.value.trim()));
196624
196714
  if (real.length !== 1)
@@ -197001,6 +197091,14 @@ function transformMapCall(node, ctx, isClientOnly = false, method = "map") {
197001
197091
  const itemConditional = children.length > 0 ? loopBodyItemConditional(children) : null;
197002
197092
  const bodyIsItemConditional = itemConditional !== null;
197003
197093
  const key = bodyIsItemConditional ? extractItemConditionalKey(itemConditional) : children.length > 0 ? extractLoopKey(children[0]) : null;
197094
+ if (key !== null) {
197095
+ const resolvedKeyAttrName = keyAttrName(depth);
197096
+ if (bodyIsItemConditional) {
197097
+ applyLoopKeyAttr(itemConditional, resolvedKeyAttrName, key);
197098
+ } else if (children.length > 0) {
197099
+ applyLoopKeyAttr(children[0], resolvedKeyAttrName, key);
197100
+ }
197101
+ }
197004
197102
  const declaredNameSet = preamble && preamble.declaredNames.length > 0 ? new Set(preamble.declaredNames) : undefined;
197005
197103
  if (key && declaredNameSet) {
197006
197104
  const keyRefs = extractFreeIdentifiersFromText(key);
@@ -197691,7 +197789,7 @@ function getAttributeValue(attr, ctx) {
197691
197789
  ctx.analyzer.errors.push(createError(ErrorCodes.STAGE_AWAIT_IN_TEMPLATE, getSourceLocation(expr, ctx.sourceFile, ctx.filePath)));
197692
197790
  return AttrValueOf.expression("undefined");
197693
197791
  }
197694
- checkBareSignalOrMemoIdentifier(expr, ctx);
197792
+ checkBareSignalOrMemoIdentifier(expr, ctx, { descendNested: isRenderedElementAttribute(attr, ctx) });
197695
197793
  if (attr.name.getText(ctx.sourceFile) === "style" && import_typescript13.default.isObjectLiteralExpression(expr)) {
197696
197794
  const cssString = tryStaticStyleObjectToCss(expr);
197697
197795
  if (cssString !== null) {
@@ -198199,34 +198297,142 @@ function processComponentProps(attributes, ctx) {
198199
198297
  }
198200
198298
  return props;
198201
198299
  }
198202
- function checkBareSignalOrMemoIdentifier(expr, ctx) {
198203
- if (!import_typescript13.default.isIdentifier(expr))
198300
+ function isRenderedElementAttribute(attr, ctx) {
198301
+ const tagName = attr.parent.parent.tagName.getText(ctx.sourceFile);
198302
+ return !/^[A-Z]/.test(tagName);
198303
+ }
198304
+ function checkBareSignalOrMemoIdentifier(expr, ctx, options) {
198305
+ const reactiveNames = new Map;
198306
+ for (const signal of ctx.analyzer.signals)
198307
+ reactiveNames.set(signal.getter, "signal");
198308
+ for (const memo of ctx.analyzer.memos)
198309
+ reactiveNames.set(memo.name, "memo");
198310
+ if (reactiveNames.size === 0)
198204
198311
  return;
198205
- const name = expr.text;
198206
- for (const signal of ctx.analyzer.signals) {
198207
- if (signal.getter === name) {
198208
- ctx.analyzer.errors.push(createError(ErrorCodes.SIGNAL_GETTER_NOT_CALLED, getSourceLocation(expr, ctx.sourceFile, ctx.filePath), {
198209
- message: `Signal getter '${name}' passed without calling it`,
198210
- suggestion: {
198211
- message: `Signal getters must be called to read the value. Use \`${name}()\` instead of \`${name}\`.`,
198212
- replacement: `${name}()`
198213
- }
198214
- }));
198312
+ const report = (id, name, kind) => {
198313
+ const label = kind === "signal" ? "Signal" : "Memo";
198314
+ ctx.analyzer.errors.push(createError(ErrorCodes.SIGNAL_GETTER_NOT_CALLED, getSourceLocation(id, ctx.sourceFile, ctx.filePath), {
198315
+ message: `${label} getter '${name}' passed without calling it`,
198316
+ suggestion: {
198317
+ message: `${label} getters must be called to read the value. Use \`${name}()\` instead of \`${name}\`.`,
198318
+ replacement: `${name}()`
198319
+ }
198320
+ }));
198321
+ };
198322
+ if (import_typescript13.default.isIdentifier(expr)) {
198323
+ const kind = reactiveNames.get(expr.text);
198324
+ if (kind && !ctx.scope.isBound(expr.text))
198325
+ report(expr, expr.text, kind);
198326
+ return;
198327
+ }
198328
+ if (!options?.descendNested)
198329
+ return;
198330
+ const boundStack = [];
198331
+ const isBound = (name) => {
198332
+ for (let i2 = boundStack.length - 1;i2 >= 0; i2--) {
198333
+ if (boundStack[i2].has(name))
198334
+ return true;
198335
+ }
198336
+ return ctx.scope.isBound(name);
198337
+ };
198338
+ const visitBindingDefaults = (name, bound) => {
198339
+ if (import_typescript13.default.isIdentifier(name)) {
198340
+ bound.add(name.text);
198215
198341
  return;
198216
198342
  }
198217
- }
198218
- for (const memo of ctx.analyzer.memos) {
198219
- if (memo.name === name) {
198220
- ctx.analyzer.errors.push(createError(ErrorCodes.SIGNAL_GETTER_NOT_CALLED, getSourceLocation(expr, ctx.sourceFile, ctx.filePath), {
198221
- message: `Memo getter '${name}' passed without calling it`,
198222
- suggestion: {
198223
- message: `Memo getters must be called to read the value. Use \`${name}()\` instead of \`${name}\`.`,
198224
- replacement: `${name}()`
198225
- }
198226
- }));
198343
+ for (const el of name.elements) {
198344
+ if (import_typescript13.default.isOmittedExpression(el))
198345
+ continue;
198346
+ if (el.initializer)
198347
+ visit2(el.initializer);
198348
+ visitBindingDefaults(el.name, bound);
198349
+ }
198350
+ };
198351
+ const collectBindingNames3 = (name, out) => {
198352
+ if (import_typescript13.default.isIdentifier(name))
198353
+ out.add(name.text);
198354
+ else if (import_typescript13.default.isObjectBindingPattern(name)) {
198355
+ for (const el of name.elements)
198356
+ collectBindingNames3(el.name, out);
198357
+ } else if (import_typescript13.default.isArrayBindingPattern(name)) {
198358
+ for (const el of name.elements) {
198359
+ if (!import_typescript13.default.isOmittedExpression(el))
198360
+ collectBindingNames3(el.name, out);
198361
+ }
198362
+ }
198363
+ };
198364
+ const collectBlockDeclarations = (block, out) => {
198365
+ for (const stmt of block.statements) {
198366
+ if (import_typescript13.default.isVariableStatement(stmt)) {
198367
+ for (const decl of stmt.declarationList.declarations)
198368
+ collectBindingNames3(decl.name, out);
198369
+ } else if (import_typescript13.default.isFunctionDeclaration(stmt) && stmt.name) {
198370
+ out.add(stmt.name.text);
198371
+ }
198372
+ }
198373
+ };
198374
+ function visit2(node) {
198375
+ if (import_typescript13.default.isJsxElement(node) || import_typescript13.default.isJsxSelfClosingElement(node) || import_typescript13.default.isJsxFragment(node)) {
198376
+ return;
198377
+ }
198378
+ if (import_typescript13.default.isTypeNode(node))
198379
+ return;
198380
+ if (import_typescript13.default.isCallExpression(node) && node.arguments.length === 0 && import_typescript13.default.isIdentifier(node.expression)) {
198381
+ return;
198382
+ }
198383
+ if (import_typescript13.default.isPropertyAccessExpression(node)) {
198384
+ visit2(node.expression);
198385
+ return;
198386
+ }
198387
+ if (import_typescript13.default.isPropertyAssignment(node)) {
198388
+ if (import_typescript13.default.isComputedPropertyName(node.name))
198389
+ visit2(node.name.expression);
198390
+ visit2(node.initializer);
198227
198391
  return;
198228
198392
  }
198393
+ if (import_typescript13.default.isShorthandPropertyAssignment(node)) {
198394
+ if (import_typescript13.default.isIdentifier(node.name) && !isBound(node.name.text)) {
198395
+ const kind = reactiveNames.get(node.name.text);
198396
+ if (kind)
198397
+ report(node.name, node.name.text, kind);
198398
+ }
198399
+ return;
198400
+ }
198401
+ if (import_typescript13.default.isArrowFunction(node) || import_typescript13.default.isFunctionExpression(node)) {
198402
+ const bound = new Set;
198403
+ boundStack.push(bound);
198404
+ for (const p of node.parameters) {
198405
+ if (p.initializer)
198406
+ visit2(p.initializer);
198407
+ visitBindingDefaults(p.name, bound);
198408
+ }
198409
+ if (node.body && import_typescript13.default.isBlock(node.body))
198410
+ collectBlockDeclarations(node.body, bound);
198411
+ if (node.body)
198412
+ visit2(node.body);
198413
+ boundStack.pop();
198414
+ return;
198415
+ }
198416
+ if (import_typescript13.default.isVariableDeclaration(node)) {
198417
+ if (node.initializer)
198418
+ visit2(node.initializer);
198419
+ const declared = new Set;
198420
+ boundStack.push(declared);
198421
+ visitBindingDefaults(node.name, declared);
198422
+ boundStack.pop();
198423
+ return;
198424
+ }
198425
+ if (import_typescript13.default.isIdentifier(node)) {
198426
+ if (isBound(node.text))
198427
+ return;
198428
+ const kind = reactiveNames.get(node.text);
198429
+ if (kind)
198430
+ report(node, node.text, kind);
198431
+ return;
198432
+ }
198433
+ import_typescript13.default.forEachChild(node, visit2);
198229
198434
  }
198435
+ visit2(expr);
198230
198436
  }
198231
198437
  function isArrayExprDirectPropRef(arrayExpr, ctx) {
198232
198438
  const propNames = new Set(ctx.patterns.props.map((p) => p.name));
@@ -198325,6 +198531,31 @@ function isPropsReference(expr, ctx, visited) {
198325
198531
  }
198326
198532
  return false;
198327
198533
  }
198534
+ function forwardsCallerRestProps(attrs, ctx) {
198535
+ for (const attr of attrs) {
198536
+ if (attr.value.kind !== "spread")
198537
+ continue;
198538
+ const constants3 = restSpreadConstantValues(ctx);
198539
+ for (const name of new Set([attr.value.expr, attr.value.templateExpr])) {
198540
+ if (!name)
198541
+ continue;
198542
+ if (resolveRestSpreadOriginCore(ctx.analyzer, constants3, name) !== null)
198543
+ return true;
198544
+ }
198545
+ }
198546
+ return false;
198547
+ }
198548
+ function restSpreadConstantValues(ctx) {
198549
+ if (ctx._restSpreadConstantValues)
198550
+ return ctx._restSpreadConstantValues;
198551
+ const byName = new Map;
198552
+ for (const constant of ctx.analyzer.localConstants) {
198553
+ if (!byName.has(constant.name))
198554
+ byName.set(constant.name, constant.value);
198555
+ }
198556
+ ctx._restSpreadConstantValues = byName;
198557
+ return byName;
198558
+ }
198328
198559
  function hasReactiveAttributes(attrs, ctx) {
198329
198560
  for (const attr of attrs) {
198330
198561
  if (attr.name === "key")
@@ -198545,6 +198776,10 @@ function buildIfStatementChain(analyzer, ctx, opts) {
198545
198776
  return alternate;
198546
198777
  }
198547
198778
 
198779
+ // ../jsx/src/ir-to-client-js/prop-handling.ts
198780
+ var _localConstantValuesCache = new WeakMap;
198781
+ var _restSpreadNamesCache = new WeakMap;
198782
+
198548
198783
  // ../jsx/src/ir-to-client-js/control-flow/stringify/template-parse.ts
198549
198784
  var SVG_ROOT_TAGS = new Set([
198550
198785
  "svg",
@@ -198666,11 +198901,14 @@ var KEYWORDS_AND_GLOBALS = new Set([
198666
198901
  // ../jsx/src/ir-to-client-js/walk-prop-accesses.ts
198667
198902
  var import_typescript14 = __toESM(require_typescript(), 1);
198668
198903
 
198904
+ // ../jsx/src/ir-to-client-js/imports.ts
198905
+ var import_typescript16 = __toESM(require_typescript(), 1);
198906
+
198669
198907
  // ../jsx/src/value-references.ts
198670
198908
  var import_typescript15 = __toESM(require_typescript(), 1);
198671
198909
 
198672
198910
  // ../jsx/src/relocate.ts
198673
- var import_typescript16 = __toESM(require_typescript(), 1);
198911
+ var import_typescript17 = __toESM(require_typescript(), 1);
198674
198912
 
198675
198913
  // ../jsx/src/lowering-registry.ts
198676
198914
  var plugins = [];
@@ -198849,10 +199087,10 @@ function formatDateLocalNames(metadata) {
198849
199087
  }
198850
199088
 
198851
199089
  // ../jsx/src/ir-to-client-js/prune-unused-prop-extractions.ts
198852
- var import_typescript17 = __toESM(require_typescript(), 1);
199090
+ var import_typescript18 = __toESM(require_typescript(), 1);
198853
199091
 
198854
199092
  // ../jsx/src/ir-to-client-js/control-flow/plan/lazy-preamble.ts
198855
- var import_typescript18 = __toESM(require_typescript(), 1);
199093
+ var import_typescript19 = __toESM(require_typescript(), 1);
198856
199094
  var NO_PREAMBLE = {
198857
199095
  lazySafe: true,
198858
199096
  facts: { declaredNames: new Set, freeNames: new Set }
@@ -198902,7 +199140,7 @@ var INERT_BINDING_GLOBALS = new Set([
198902
199140
  ]);
198903
199141
 
198904
199142
  // ../jsx/src/ir-to-client-js/emit-reactive.ts
198905
- var import_typescript19 = __toESM(require_typescript(), 1);
199143
+ var import_typescript20 = __toESM(require_typescript(), 1);
198906
199144
 
198907
199145
  // ../jsx/src/ir-to-client-js/control-flow/stringify/event-delegation.ts
198908
199146
  var NON_BUBBLING_EVENTS = new Set([
@@ -198917,7 +199155,7 @@ var NON_BUBBLING_EVENTS = new Set([
198917
199155
  ]);
198918
199156
 
198919
199157
  // ../jsx/src/ir-to-client-js/rewrite-props-object.ts
198920
- var import_typescript20 = __toESM(require_typescript(), 1);
199158
+ var import_typescript21 = __toESM(require_typescript(), 1);
198921
199159
 
198922
199160
  // ../jsx/src/ir-to-client-js/source-map.ts
198923
199161
  var BASE64_CHARS = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
@@ -199008,21 +199246,21 @@ class SourceMapGenerator {
199008
199246
  }
199009
199247
 
199010
199248
  // ../jsx/src/preprocess-inline-jsx-callbacks.ts
199011
- var import_typescript21 = __toESM(require_typescript(), 1);
199249
+ var import_typescript22 = __toESM(require_typescript(), 1);
199012
199250
 
199013
199251
  // ../jsx/src/ssr-defaults.ts
199014
- var import_typescript22 = __toESM(require_typescript(), 1);
199252
+ var import_typescript23 = __toESM(require_typescript(), 1);
199015
199253
  var UNRESOLVED = Symbol("unresolved");
199016
199254
  var NO_RETURN = Symbol("no-return");
199017
199255
 
199018
199256
  // ../jsx/src/augment-inherited-props.ts
199019
- var import_typescript23 = __toESM(require_typescript(), 1);
199257
+ var import_typescript24 = __toESM(require_typescript(), 1);
199020
199258
 
199021
199259
  // ../jsx/src/rich-type-refusal.ts
199022
199260
  var EMPTY_BINDINGS2 = new Map;
199023
199261
  // ../jsx/src/shared-program.ts
199024
199262
  init_path();
199025
- var import_typescript25 = __toESM(require_typescript(), 1);
199263
+ var import_typescript26 = __toESM(require_typescript(), 1);
199026
199264
  // ../jsx/src/adapters/interface.ts
199027
199265
  class BaseAdapter {
199028
199266
  renderChildren(children) {
@@ -199304,7 +199542,7 @@ class JsxAdapter extends BaseAdapter {
199304
199542
  }
199305
199543
 
199306
199544
  // ../jsx/src/adapters/template-imports.ts
199307
- var import_typescript26 = __toESM(require_typescript(), 1);
199545
+ var import_typescript27 = __toESM(require_typescript(), 1);
199308
199546
  var CLIENT_PACKAGE_SOURCES = new Set([
199309
199547
  "@barefootjs/client",
199310
199548
  "@barefootjs/client/runtime"
@@ -199697,9 +199935,9 @@ function registerBuiltinLoweringPlugins() {
199697
199935
  registerLoweringPlugin(plugin);
199698
199936
  }
199699
199937
  // ../jsx/src/combine-client-js.ts
199700
- var import_typescript27 = __toESM(require_typescript(), 1);
199701
- // ../jsx/src/debug.ts
199702
199938
  var import_typescript28 = __toESM(require_typescript(), 1);
199939
+ // ../jsx/src/debug.ts
199940
+ var import_typescript29 = __toESM(require_typescript(), 1);
199703
199941
  function escapeForIdBoundary(name) {
199704
199942
  return name.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
199705
199943
  }
@@ -199791,7 +200029,7 @@ function resolveSetters(handler, setterToSignal, fnSetters) {
199791
200029
  return refs;
199792
200030
  }
199793
200031
  // ../jsx/src/profiler.ts
199794
- var import_typescript29 = __toESM(require_typescript(), 1);
200032
+ var import_typescript30 = __toESM(require_typescript(), 1);
199795
200033
 
199796
200034
  // ../jsx/src/index.ts
199797
200035
  registerBuiltinLoweringPlugins();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@barefootjs/test",
3
- "version": "0.33.1",
3
+ "version": "0.33.3",
4
4
  "description": "Test utilities for BarefootJS - IR-based component testing without a browser",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -39,7 +39,7 @@
39
39
  "directory": "packages/test"
40
40
  },
41
41
  "dependencies": {
42
- "@barefootjs/jsx": "0.33.1"
42
+ "@barefootjs/jsx": "0.33.3"
43
43
  },
44
44
  "devDependencies": {
45
45
  "typescript": "^5.0.0"