marko 6.3.52 → 6.3.53

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 (58) hide show
  1. package/dist/debug/dom/catch.feat.js +1 -1
  2. package/dist/debug/dom/catch.feat.mjs +1 -1
  3. package/dist/debug/dom/controllable-input.feat.js +1 -1
  4. package/dist/debug/dom/controllable-input.feat.mjs +1 -1
  5. package/dist/debug/dom/controllable-open.feat.js +1 -1
  6. package/dist/debug/dom/controllable-open.feat.mjs +1 -1
  7. package/dist/debug/dom/controllable-select.feat.js +1 -1
  8. package/dist/debug/dom/controllable-select.feat.mjs +1 -1
  9. package/dist/debug/dom/controllable-textarea.feat.js +1 -1
  10. package/dist/debug/dom/controllable-textarea.feat.mjs +1 -1
  11. package/dist/debug/dom/controllable.feat.js +1 -1
  12. package/dist/debug/dom/controllable.feat.mjs +1 -1
  13. package/dist/debug/dom/dynamic-tag-script.feat.js +5 -0
  14. package/dist/debug/dom/dynamic-tag-script.feat.mjs +4 -0
  15. package/dist/debug/dom/dynamic-tag-var.feat.js +2 -3
  16. package/dist/debug/dom/dynamic-tag-var.feat.mjs +2 -3
  17. package/dist/debug/dom/placeholder.feat.js +1 -1
  18. package/dist/debug/dom/placeholder.feat.mjs +1 -1
  19. package/dist/debug/{dom-BJKb8-wr.js → dom-CBLlE8L-.js} +27 -10
  20. package/dist/debug/{dom-Dq_Yu7MS.mjs → dom-DQCODUa1.mjs} +12 -7
  21. package/dist/debug/dom.js +2 -2
  22. package/dist/debug/dom.mjs +2 -2
  23. package/dist/debug/html.js +1 -1
  24. package/dist/debug/html.mjs +1 -1
  25. package/dist/dom/catch.feat.js +3 -3
  26. package/dist/dom/catch.feat.mjs +1 -1
  27. package/dist/dom/control-flow.d.ts +1 -3
  28. package/dist/dom/controllable-input.feat.js +1 -1
  29. package/dist/dom/controllable-input.feat.mjs +1 -1
  30. package/dist/dom/controllable-open.feat.js +1 -1
  31. package/dist/dom/controllable-open.feat.mjs +1 -1
  32. package/dist/dom/controllable-select.feat.js +1 -1
  33. package/dist/dom/controllable-select.feat.mjs +1 -1
  34. package/dist/dom/controllable-textarea.feat.js +1 -1
  35. package/dist/dom/controllable-textarea.feat.mjs +1 -1
  36. package/dist/dom/controllable.feat.js +1 -1
  37. package/dist/dom/controllable.feat.mjs +1 -1
  38. package/dist/dom/dynamic-tag-script.feat.d.ts +1 -0
  39. package/dist/dom/dynamic-tag-script.feat.js +4 -0
  40. package/dist/dom/dynamic-tag-script.feat.mjs +4 -0
  41. package/dist/dom/dynamic-tag-var.feat.js +1 -2
  42. package/dist/dom/dynamic-tag-var.feat.mjs +2 -3
  43. package/dist/dom/placeholder.feat.js +3 -3
  44. package/dist/dom/placeholder.feat.mjs +1 -1
  45. package/dist/dom/resume.d.ts +1 -0
  46. package/dist/{dom-CzGPOsST.js → dom-vuB05Hnj.js} +75 -59
  47. package/dist/{dom-CzfddxCE.mjs → dom-z4IMlmeO.mjs} +8 -2
  48. package/dist/dom.d.ts +2 -2
  49. package/dist/dom.js +33 -33
  50. package/dist/dom.mjs +2 -2
  51. package/dist/html.js +1 -1
  52. package/dist/html.mjs +1 -1
  53. package/dist/translator/index.js +527 -525
  54. package/dist/translator/util/references.d.ts +6 -3
  55. package/dist/translator/util/runtime.d.ts +1 -1
  56. package/dist/translator/util/sections.d.ts +0 -2
  57. package/dist/translator/util/serialize-guard.d.ts +0 -6
  58. package/package.json +4 -4
@@ -104,6 +104,9 @@ declare module "@marko/compiler/dist/types" {
104
104
  nodeBinding?: Binding;
105
105
  referencedBindings?: ReferencedBindings;
106
106
  downstream?: SortedOpt<Binding>;
107
+ /** The initial value of the binding it feeds, which keeps it rather than
108
+ * following it, so the binding derives no sources from it. */
109
+ initialValue?: true;
107
110
  /** The tag-root `KnownExprs` of the call site that linked this expression
108
111
  * to a downstream template's binding, for dereferencing its reasons. */
109
112
  downstreamExprs?: KnownExprs;
@@ -115,8 +118,9 @@ declare module "@marko/compiler/dist/types" {
115
118
  /** The expression this node sits in: dropped or merged as one. */
116
119
  exprRoot?: NodeExtra;
117
120
  isEffect?: true;
118
- /** The expression is a dynamic tag's input (attrs, args, attr tags). */
119
- dynamicTagInput?: true;
121
+ /** A value here may reach the client as written (a change handler, a
122
+ * native spread, a dynamic tag's input), so a function in it registers. */
123
+ forceRegister?: true;
120
124
  invokeOnly?: true;
121
125
  lazyBindings?: ReferencedBindings;
122
126
  /** `$global` bindings this expression reads: the root means an opaque
@@ -173,7 +177,6 @@ type IntersectionMeta = {
173
177
  };
174
178
  export declare const intersectionMeta: WeakMap<Intersection, IntersectionMeta>;
175
179
  export declare function setBindingDownstream(binding: Binding, expr: boolean | Opt<t.NodeExtra>, exprs?: KnownExprs): void;
176
- export declare function setBindingValueExprs(binding: Binding, expr: boolean | Opt<t.NodeExtra>): void;
177
180
  export declare function createSources(state: Sources["state"], param: Sources["param"], global?: Sources["global"], forced?: Sources["forced"]): Sources;
178
181
  export declare function compareSources(a: Sources, b: Sources): number;
179
182
  export declare function mergeSources(a: undefined | Sources, b: undefined | Sources): Sources | undefined;
@@ -6,7 +6,7 @@ export type HTMLRuntimeHelpers = keyof typeof import("../../html");
6
6
  export declare function importRuntime(name: DOMRuntimeHelpers | HTMLRuntimeHelpers): t.Identifier;
7
7
  export declare function registerRuntimeValue(id: string, value: t.Expression): t.AssignmentExpression;
8
8
  export declare function callRuntime(name: DOMRuntimeHelpers | HTMLRuntimeHelpers, ...args: Array<Parameters<typeof t.callExpression>[1][number] | Falsy>): t.CallExpression;
9
- export declare const domRuntimeFeatures: readonly ["catch", "controllable", "controllable-input", "controllable-open", "controllable-select", "controllable-textarea", "dynamic-tag-var", "placeholder"];
9
+ export declare const domRuntimeFeatures: readonly ["catch", "controllable", "controllable-input", "controllable-open", "controllable-select", "controllable-textarea", "dynamic-tag-script", "dynamic-tag-var", "placeholder"];
10
10
  export type DOMRuntimeFeature = (typeof domRuntimeFeatures)[number];
11
11
  export declare function importRuntimeFeature(feature: DOMRuntimeFeature): void;
12
12
  export declare function getHTMLRuntime(): {
@@ -122,8 +122,6 @@ export declare function ancestorSections(from: Section, to: Section): Generator<
122
122
  export declare function forEachSectionReverse(fn: (section: Section) => void): void;
123
123
  export declare function getNodeContentType(path: t.NodePath<t.Statement>, extraMember: "startType" | "endType", contentInfo?: Section["content"]): ContentType.Value | null;
124
124
  export declare function getSectionRegisterReasons(section: Section): boolean | Sources;
125
- export declare function isSectionRegisterDynamic(section: Section, registerReason: true | SerializeReason): boolean;
126
- export declare function isSectionRegisterEager(section: Section): boolean;
127
125
  export declare function isImmediateOwner(section: Section, binding: Binding): boolean;
128
126
  export declare function isDirectClosure(section: Section, closure: Binding): boolean;
129
127
  export declare function isDynamicClosure(section: Section, closure: Binding): boolean;
@@ -1,10 +1,6 @@
1
1
  import { types as t } from "@marko/compiler";
2
- import { type Sources } from "./references";
3
2
  import { type Section } from "./sections";
4
3
  import { type SerializeReason, type SerializeReasons } from "./serialize-reasons";
5
- type DynamicSerializeReason = Sources & {
6
- state: undefined;
7
- };
8
4
  export declare function buildGroupMask(groups: {
9
5
  value: number | t.Expression | undefined;
10
6
  names: string;
@@ -13,5 +9,3 @@ export declare function getScopeReasonDeclaration(section: Section): t.VariableD
13
9
  export declare function getSerializeGuard(section: Section, reason: undefined | SerializeReason, optional: boolean): t.Expression | undefined;
14
10
  export declare function getSerializeGuardForAny(section: Section, reasons: undefined | SerializeReasons, optional: boolean): t.Expression | undefined;
15
11
  export declare function getExprIfSerialized<T extends undefined | SerializeReason, R extends (T extends {} ? t.Expression : undefined)>(section: Section, reason: T, expr: t.Expression): R;
16
- export declare function isDynamicSerializeGuard(section: Section, reason: undefined | SerializeReason): reason is DynamicSerializeReason;
17
- export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "marko",
3
- "version": "6.3.52",
3
+ "version": "6.3.53",
4
4
  "description": "Optimized runtime for Marko templates.",
5
5
  "keywords": [
6
6
  "api",
@@ -51,14 +51,14 @@
51
51
  }
52
52
  },
53
53
  "dependencies": {
54
- "@marko/compiler": "^5.42.5",
54
+ "@marko/compiler": "^5.42.6",
55
55
  "csstype": "^3.2.3",
56
56
  "fastest-levenshtein": "^1.0.16",
57
57
  "magic-string": "^0.30.21"
58
58
  },
59
59
  "devDependencies": {
60
- "@marko/runtime-tags": "npm:marko@6.3.52",
61
- "marko": "5.39.41"
60
+ "@marko/runtime-tags": "npm:marko@6.3.53",
61
+ "marko": "5.39.42"
62
62
  },
63
63
  "engines": {
64
64
  "node": ">=22"