@barefootjs/client 0.31.4 → 0.31.5
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/csr-adapter.js +68 -22
- package/package.json +2 -2
package/dist/csr-adapter.js
CHANGED
|
@@ -168754,7 +168754,7 @@ Additional information: BADCLIENT: Bad error code, ${badCode} not found in range
|
|
|
168754
168754
|
});
|
|
168755
168755
|
|
|
168756
168756
|
// ../jsx/src/compiler.ts
|
|
168757
|
-
var
|
|
168757
|
+
var import_typescript24 = __toESM(require_typescript(), 1);
|
|
168758
168758
|
|
|
168759
168759
|
// ../jsx/src/analyzer.ts
|
|
168760
168760
|
var import_typescript9 = __toESM(require_typescript(), 1);
|
|
@@ -169427,7 +169427,7 @@ var REACTIVE_PRIMITIVES = new Set([
|
|
|
169427
169427
|
]);
|
|
169428
169428
|
|
|
169429
169429
|
// ../jsx/src/jsx-to-ir.ts
|
|
169430
|
-
var
|
|
169430
|
+
var import_typescript13 = __toESM(require_typescript(), 1);
|
|
169431
169431
|
|
|
169432
169432
|
// ../jsx/src/types.ts
|
|
169433
169433
|
var SCOPE_FORBIDDEN = {
|
|
@@ -169463,6 +169463,7 @@ var REACTIVE_BINDING_KINDS = new Set([
|
|
|
169463
169463
|
]);
|
|
169464
169464
|
|
|
169465
169465
|
// ../jsx/src/module-exports.ts
|
|
169466
|
+
var import_typescript10 = __toESM(require_typescript(), 1);
|
|
169466
169467
|
function formatParamWithType(p) {
|
|
169467
169468
|
const rest = p.isRest ? "..." : "";
|
|
169468
169469
|
const optional = p.optional ? "?" : "";
|
|
@@ -169493,12 +169494,55 @@ function findReachableNames(primaryRefs, declarations) {
|
|
|
169493
169494
|
}
|
|
169494
169495
|
return reachable;
|
|
169495
169496
|
}
|
|
169497
|
+
function findAssignedNames(bodyText, candidates) {
|
|
169498
|
+
const assigned = new Set;
|
|
169499
|
+
if (candidates.size === 0)
|
|
169500
|
+
return assigned;
|
|
169501
|
+
const sf = import_typescript10.default.createSourceFile("bf-assignment-scan.tsx", bodyText, import_typescript10.default.ScriptTarget.Latest, false, import_typescript10.default.ScriptKind.TSX);
|
|
169502
|
+
const record = (target) => {
|
|
169503
|
+
if (import_typescript10.default.isIdentifier(target) && candidates.has(target.text)) {
|
|
169504
|
+
assigned.add(target.text);
|
|
169505
|
+
}
|
|
169506
|
+
};
|
|
169507
|
+
const visit = (node) => {
|
|
169508
|
+
if (import_typescript10.default.isBinaryExpression(node) && isAssignmentOperator(node.operatorToken.kind)) {
|
|
169509
|
+
record(node.left);
|
|
169510
|
+
} else if ((import_typescript10.default.isPrefixUnaryExpression(node) || import_typescript10.default.isPostfixUnaryExpression(node)) && (node.operator === import_typescript10.default.SyntaxKind.PlusPlusToken || node.operator === import_typescript10.default.SyntaxKind.MinusMinusToken)) {
|
|
169511
|
+
record(node.operand);
|
|
169512
|
+
}
|
|
169513
|
+
import_typescript10.default.forEachChild(node, visit);
|
|
169514
|
+
};
|
|
169515
|
+
import_typescript10.default.forEachChild(sf, visit);
|
|
169516
|
+
return assigned;
|
|
169517
|
+
}
|
|
169518
|
+
function closeOverWritersOfMutableBindings(primaryRefs, declarations, mutableNames) {
|
|
169519
|
+
let reachable = findReachableNames(primaryRefs, declarations);
|
|
169520
|
+
if (mutableNames.size === 0)
|
|
169521
|
+
return reachable;
|
|
169522
|
+
let seedText = primaryRefs;
|
|
169523
|
+
for (let round = 0;round <= declarations.length; round++) {
|
|
169524
|
+
const survivingMutables = new Set([...reachable].filter((name) => mutableNames.has(name)));
|
|
169525
|
+
if (survivingMutables.size === 0)
|
|
169526
|
+
return reachable;
|
|
169527
|
+
const added = declarations.filter((d) => !reachable.has(d.name)).filter((d) => findAssignedNames(d.body, survivingMutables).size > 0).map((d) => d.name);
|
|
169528
|
+
if (added.length === 0)
|
|
169529
|
+
return reachable;
|
|
169530
|
+
seedText += `
|
|
169531
|
+
` + added.join(`
|
|
169532
|
+
`);
|
|
169533
|
+
reachable = findReachableNames(seedText, declarations);
|
|
169534
|
+
}
|
|
169535
|
+
return reachable;
|
|
169536
|
+
}
|
|
169537
|
+
function isAssignmentOperator(kind) {
|
|
169538
|
+
return kind >= import_typescript10.default.SyntaxKind.FirstAssignment && kind <= import_typescript10.default.SyntaxKind.LastAssignment;
|
|
169539
|
+
}
|
|
169496
169540
|
|
|
169497
169541
|
// ../jsx/src/reactivity-checker.ts
|
|
169498
|
-
var
|
|
169542
|
+
var import_typescript11 = __toESM(require_typescript(), 1);
|
|
169499
169543
|
|
|
169500
169544
|
// ../jsx/src/free-refs.ts
|
|
169501
|
-
var
|
|
169545
|
+
var import_typescript12 = __toESM(require_typescript(), 1);
|
|
169502
169546
|
var _bindingMapCache = new WeakMap;
|
|
169503
169547
|
|
|
169504
169548
|
// ../jsx/src/to-locale-date-lowering.ts
|
|
@@ -169912,13 +169956,13 @@ var KEYWORDS_AND_GLOBALS = new Set([
|
|
|
169912
169956
|
]);
|
|
169913
169957
|
|
|
169914
169958
|
// ../jsx/src/ir-to-client-js/walk-prop-accesses.ts
|
|
169915
|
-
var
|
|
169959
|
+
var import_typescript14 = __toESM(require_typescript(), 1);
|
|
169916
169960
|
|
|
169917
169961
|
// ../jsx/src/value-references.ts
|
|
169918
|
-
var
|
|
169962
|
+
var import_typescript15 = __toESM(require_typescript(), 1);
|
|
169919
169963
|
|
|
169920
169964
|
// ../jsx/src/relocate.ts
|
|
169921
|
-
var
|
|
169965
|
+
var import_typescript16 = __toESM(require_typescript(), 1);
|
|
169922
169966
|
|
|
169923
169967
|
// ../jsx/src/lowering-registry.ts
|
|
169924
169968
|
var plugins = [];
|
|
@@ -170097,10 +170141,10 @@ function formatDateLocalNames(metadata) {
|
|
|
170097
170141
|
}
|
|
170098
170142
|
|
|
170099
170143
|
// ../jsx/src/ir-to-client-js/prune-unused-prop-extractions.ts
|
|
170100
|
-
var
|
|
170144
|
+
var import_typescript17 = __toESM(require_typescript(), 1);
|
|
170101
170145
|
|
|
170102
170146
|
// ../jsx/src/ir-to-client-js/control-flow/plan/lazy-preamble.ts
|
|
170103
|
-
var
|
|
170147
|
+
var import_typescript18 = __toESM(require_typescript(), 1);
|
|
170104
170148
|
var NO_PREAMBLE = {
|
|
170105
170149
|
lazySafe: true,
|
|
170106
170150
|
facts: { declaredNames: new Set, freeNames: new Set }
|
|
@@ -170150,7 +170194,7 @@ var INERT_BINDING_GLOBALS = new Set([
|
|
|
170150
170194
|
]);
|
|
170151
170195
|
|
|
170152
170196
|
// ../jsx/src/ir-to-client-js/emit-reactive.ts
|
|
170153
|
-
var
|
|
170197
|
+
var import_typescript19 = __toESM(require_typescript(), 1);
|
|
170154
170198
|
|
|
170155
170199
|
// ../jsx/src/ir-to-client-js/control-flow/stringify/event-delegation.ts
|
|
170156
170200
|
var NON_BUBBLING_EVENTS = new Set([
|
|
@@ -170165,7 +170209,7 @@ var NON_BUBBLING_EVENTS = new Set([
|
|
|
170165
170209
|
]);
|
|
170166
170210
|
|
|
170167
170211
|
// ../jsx/src/ir-to-client-js/rewrite-props-object.ts
|
|
170168
|
-
var
|
|
170212
|
+
var import_typescript20 = __toESM(require_typescript(), 1);
|
|
170169
170213
|
|
|
170170
170214
|
// ../jsx/src/ir-to-client-js/source-map.ts
|
|
170171
170215
|
var BASE64_CHARS = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
|
|
@@ -170256,20 +170300,20 @@ class SourceMapGenerator {
|
|
|
170256
170300
|
}
|
|
170257
170301
|
|
|
170258
170302
|
// ../jsx/src/preprocess-inline-jsx-callbacks.ts
|
|
170259
|
-
var
|
|
170303
|
+
var import_typescript21 = __toESM(require_typescript(), 1);
|
|
170260
170304
|
|
|
170261
170305
|
// ../jsx/src/ssr-defaults.ts
|
|
170262
|
-
var
|
|
170306
|
+
var import_typescript22 = __toESM(require_typescript(), 1);
|
|
170263
170307
|
var UNRESOLVED = Symbol("unresolved");
|
|
170264
170308
|
var NO_RETURN = Symbol("no-return");
|
|
170265
170309
|
|
|
170266
170310
|
// ../jsx/src/augment-inherited-props.ts
|
|
170267
|
-
var
|
|
170311
|
+
var import_typescript23 = __toESM(require_typescript(), 1);
|
|
170268
170312
|
|
|
170269
170313
|
// ../jsx/src/rich-type-refusal.ts
|
|
170270
170314
|
var EMPTY_BINDINGS2 = new Map;
|
|
170271
170315
|
// ../jsx/src/shared-program.ts
|
|
170272
|
-
var
|
|
170316
|
+
var import_typescript25 = __toESM(require_typescript(), 1);
|
|
170273
170317
|
// ../jsx/src/adapters/interface.ts
|
|
170274
170318
|
class BaseAdapter {
|
|
170275
170319
|
renderChildren(children) {
|
|
@@ -170322,7 +170366,7 @@ class JsxAdapter extends BaseAdapter {
|
|
|
170322
170366
|
...localFunctions.map((f) => ({ name: f.name, body: f.body })),
|
|
170323
170367
|
...localConstants.map((c) => ({ name: c.name, body: c.value }))
|
|
170324
170368
|
];
|
|
170325
|
-
const reachable =
|
|
170369
|
+
const reachable = closeOverWritersOfMutableBindings(primaryRefText, declarations, new Set(ir.metadata.localConstants.filter((c) => (c.declarationKind ?? "const") !== "const").map((c) => c.name)));
|
|
170326
170370
|
const reachableBodies = [...reachable].map((name) => {
|
|
170327
170371
|
const func = localFunctions.find((f) => f.name === name);
|
|
170328
170372
|
if (func)
|
|
@@ -170354,7 +170398,8 @@ class JsxAdapter extends BaseAdapter {
|
|
|
170354
170398
|
if (signal.setter) {
|
|
170355
170399
|
const setterUsed = identifierPattern(signal.setter).test(setterRefText);
|
|
170356
170400
|
if (setterUsed) {
|
|
170357
|
-
|
|
170401
|
+
const setterType = preserveTypes && signal.type.kind !== "unknown" ? `(valueOrFn: ${signal.type.raw} | ((prev: ${signal.type.raw}) => ${signal.type.raw})) => void` : null;
|
|
170402
|
+
lines.push(setterType ? ` const ${signal.setter}: ${setterType} = () => {}` : ` const ${signal.setter} = (..._args: any[]) => {}`);
|
|
170358
170403
|
}
|
|
170359
170404
|
}
|
|
170360
170405
|
}
|
|
@@ -170550,7 +170595,7 @@ class JsxAdapter extends BaseAdapter {
|
|
|
170550
170595
|
}
|
|
170551
170596
|
|
|
170552
170597
|
// ../jsx/src/adapters/template-imports.ts
|
|
170553
|
-
var
|
|
170598
|
+
var import_typescript26 = __toESM(require_typescript(), 1);
|
|
170554
170599
|
var CLIENT_PACKAGE_SOURCES = new Set([
|
|
170555
170600
|
"@barefootjs/client",
|
|
170556
170601
|
"@barefootjs/client/runtime"
|
|
@@ -170689,7 +170734,8 @@ export default ${this.componentName}` : "";
|
|
|
170689
170734
|
const noArgDefault = hasRequiredProps ? "" : ` = {} as ${propsTypeExpr}`;
|
|
170690
170735
|
const lines = [];
|
|
170691
170736
|
const exportPrefix = ir.metadata.isExported === false ? "" : "export ";
|
|
170692
|
-
|
|
170737
|
+
const typeParameters = ir.metadata.typeParameters ?? "";
|
|
170738
|
+
lines.push(`${exportPrefix}function ${name}${typeParameters}(${fullPropsDestructure}${typeAnnotation}${noArgDefault}) {`);
|
|
170693
170739
|
if (hasClientInteractivity) {
|
|
170694
170740
|
lines.push(` const __scopeId = (/_s\\d/.test(__bfScope || '') ? __bfScope : null) || __instanceId || \`${name}_\${Math.random().toString(36).slice(2, 8)}\``);
|
|
170695
170741
|
} else {
|
|
@@ -170940,11 +170986,11 @@ function registerBuiltinLoweringPlugins() {
|
|
|
170940
170986
|
registerLoweringPlugin(plugin);
|
|
170941
170987
|
}
|
|
170942
170988
|
// ../jsx/src/combine-client-js.ts
|
|
170943
|
-
var import_typescript26 = __toESM(require_typescript(), 1);
|
|
170944
|
-
// ../jsx/src/debug.ts
|
|
170945
170989
|
var import_typescript27 = __toESM(require_typescript(), 1);
|
|
170946
|
-
// ../jsx/src/
|
|
170990
|
+
// ../jsx/src/debug.ts
|
|
170947
170991
|
var import_typescript28 = __toESM(require_typescript(), 1);
|
|
170992
|
+
// ../jsx/src/profiler.ts
|
|
170993
|
+
var import_typescript29 = __toESM(require_typescript(), 1);
|
|
170948
170994
|
|
|
170949
170995
|
// ../jsx/src/index.ts
|
|
170950
170996
|
registerBuiltinLoweringPlugins();
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@barefootjs/client",
|
|
3
|
-
"version": "0.31.
|
|
3
|
+
"version": "0.31.5",
|
|
4
4
|
"description": "BarefootJS client package: reactive primitives (SSR-safe) plus browser runtime under the `/runtime` subpath (compiler target)",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -55,7 +55,7 @@
|
|
|
55
55
|
"directory": "packages/client"
|
|
56
56
|
},
|
|
57
57
|
"dependencies": {
|
|
58
|
-
"@barefootjs/shared": "0.31.
|
|
58
|
+
"@barefootjs/shared": "0.31.5"
|
|
59
59
|
},
|
|
60
60
|
"peerDependencies": {
|
|
61
61
|
"@barefootjs/jsx": ">=0.2.0"
|