marko 6.3.31 → 6.3.32
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/cheatsheet.md +36 -18
- package/dist/common/helpers.d.ts +2 -0
- package/dist/debug/dom/catch.feat.js +38 -0
- package/dist/debug/dom/catch.feat.mjs +37 -0
- package/dist/debug/dom/controllable-input.feat.js +7 -0
- package/dist/debug/dom/controllable-input.feat.mjs +6 -0
- package/dist/debug/dom/controllable-open.feat.js +5 -0
- package/dist/debug/dom/controllable-open.feat.mjs +4 -0
- package/dist/debug/dom/controllable-select.feat.js +5 -0
- package/dist/debug/dom/controllable-select.feat.mjs +4 -0
- package/dist/debug/dom/controllable-textarea.feat.js +5 -0
- package/dist/debug/dom/controllable-textarea.feat.mjs +4 -0
- package/dist/debug/dom/controllable.feat.js +11 -0
- package/dist/debug/dom/controllable.feat.mjs +10 -0
- package/dist/debug/dom-BJ93mcSe.mjs +2016 -0
- package/dist/debug/dom-CiFITSPN.js +2814 -0
- package/dist/debug/dom.js +156 -2250
- package/dist/debug/dom.mjs +6 -2094
- package/dist/dom/catch.feat.d.ts +1 -0
- package/dist/dom/catch.feat.js +25 -0
- package/dist/dom/catch.feat.mjs +26 -0
- package/dist/dom/control-flow.d.ts +3 -3
- package/dist/dom/controllable-input.feat.d.ts +1 -0
- package/dist/dom/controllable-input.feat.js +3 -0
- package/dist/dom/controllable-input.feat.mjs +3 -0
- package/dist/dom/controllable-open.feat.d.ts +1 -0
- package/dist/dom/controllable-open.feat.js +4 -0
- package/dist/dom/controllable-open.feat.mjs +4 -0
- package/dist/dom/controllable-select.feat.d.ts +1 -0
- package/dist/dom/controllable-select.feat.js +4 -0
- package/dist/dom/controllable-select.feat.mjs +4 -0
- package/dist/dom/controllable-textarea.feat.d.ts +1 -0
- package/dist/dom/controllable-textarea.feat.js +4 -0
- package/dist/dom/controllable-textarea.feat.mjs +4 -0
- package/dist/dom/controllable.d.ts +3 -8
- package/dist/dom/controllable.feat.d.ts +3 -0
- package/dist/dom/controllable.feat.js +3 -0
- package/dist/dom/controllable.feat.mjs +6 -0
- package/dist/dom/queue.d.ts +2 -2
- package/dist/dom/resume.d.ts +0 -1
- package/dist/dom-CI-06TZb.js +1721 -0
- package/dist/dom-Cj4HQ7T_.mjs +1137 -0
- package/dist/dom.d.ts +2 -2
- package/dist/dom.js +36 -1224
- package/dist/dom.mjs +4 -1191
- package/dist/translator/index.js +628 -534
- package/dist/translator/util/constants/structure-kind.d.ts +7 -0
- package/dist/translator/util/get-tag-name.d.ts +2 -1
- package/dist/translator/util/import-reference.d.ts +3 -0
- package/dist/translator/util/runtime.d.ts +2 -0
- package/dist/translator/util/sections.d.ts +28 -1
- package/dist/translator/util/{walks.d.ts → structure.d.ts} +20 -9
- package/dist/translator/util/writer.d.ts +0 -8
- package/dist/translator/visitors/placeholder.d.ts +4 -3
- package/dist/translator/visitors/tag/native-tag.d.ts +9 -6
- package/dist/translator/visitors/text.d.ts +3 -7
- package/package.json +3 -3
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export declare const Visit = "visit";
|
|
2
|
+
export declare const Child = "child";
|
|
3
|
+
export declare const SectionRef = "sectionRef";
|
|
4
|
+
export declare const ExportRef = "exportRef";
|
|
5
|
+
type Self = typeof import("./structure-kind");
|
|
6
|
+
export type Value = Self[keyof Self];
|
|
7
|
+
export {};
|
|
@@ -1,2 +1,3 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { types as t } from "@marko/compiler";
|
|
2
2
|
export declare function getTagName<T extends t.MarkoTag>(tag: t.NodePath<T>): T["name"] extends t.StringLiteral ? string : string | undefined;
|
|
3
|
+
export declare function getStaticTagName(node: t.MarkoTag): string;
|
|
@@ -5,6 +5,8 @@ export type DOMRuntimeHelpers = keyof typeof import("../../dom");
|
|
|
5
5
|
export type HTMLRuntimeHelpers = keyof typeof import("../../html");
|
|
6
6
|
export declare function importRuntime(name: DOMRuntimeHelpers | HTMLRuntimeHelpers): t.Identifier;
|
|
7
7
|
export declare function callRuntime(name: DOMRuntimeHelpers | HTMLRuntimeHelpers, ...args: Array<Parameters<typeof t.callExpression>[1][number] | Falsy>): t.CallExpression;
|
|
8
|
+
export type DOMRuntimeFeature = "catch" | "controllable" | "controllable-input" | "controllable-open" | "controllable-select" | "controllable-textarea";
|
|
9
|
+
export declare function importRuntimeFeature(feature: DOMRuntimeFeature): void;
|
|
8
10
|
export declare function getHTMLRuntime(): {
|
|
9
11
|
_escape: typeof _escape;
|
|
10
12
|
_escape_comment: typeof _escape_comment;
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import { types as t } from "@marko/compiler";
|
|
2
2
|
import type { AccessorPrefix } from "../../common/accessor.debug";
|
|
3
|
+
import type { WalkCode } from "../../common/types";
|
|
3
4
|
import * as ContentType from "./constants/content-type";
|
|
5
|
+
import type * as Step from "./constants/step";
|
|
6
|
+
import * as StructureKind from "./constants/structure-kind";
|
|
4
7
|
import { type Opt, Sorted } from "./optional";
|
|
5
8
|
import { type Binding, type InputBinding, type ParamBinding, type ReferencedBindings, type Sources } from "./references";
|
|
6
9
|
import { type SerializeReason } from "./serialize-reasons";
|
|
@@ -13,7 +16,30 @@ export type ParamSerializeReasonGroups = [
|
|
|
13
16
|
...ParamSerializeReasonGroup[]
|
|
14
17
|
];
|
|
15
18
|
type ContentType = ContentType.Value;
|
|
16
|
-
export { ContentType };
|
|
19
|
+
export { ContentType, StructureKind };
|
|
20
|
+
export type StructureRef = StructureSectionRef | StructureExportRef;
|
|
21
|
+
export interface StructureSectionRef {
|
|
22
|
+
kind: typeof StructureKind.SectionRef;
|
|
23
|
+
section: Section;
|
|
24
|
+
}
|
|
25
|
+
export interface StructureExportRef {
|
|
26
|
+
kind: typeof StructureKind.ExportRef;
|
|
27
|
+
program: t.ProgramExtra;
|
|
28
|
+
path: string;
|
|
29
|
+
hint: string;
|
|
30
|
+
}
|
|
31
|
+
export type StructureOp = string | Step.Value | StructureVisit | StructureChild;
|
|
32
|
+
export interface StructureVisit {
|
|
33
|
+
kind: typeof StructureKind.Visit;
|
|
34
|
+
code: typeof WalkCode.Get | typeof WalkCode.Replace | typeof WalkCode.DynamicTagWithVar;
|
|
35
|
+
claimed: boolean;
|
|
36
|
+
}
|
|
37
|
+
export interface StructureChild {
|
|
38
|
+
kind: typeof StructureKind.Child;
|
|
39
|
+
name: string;
|
|
40
|
+
hasVar: boolean;
|
|
41
|
+
renderer?: StructureRef;
|
|
42
|
+
}
|
|
17
43
|
export interface Section {
|
|
18
44
|
id: number;
|
|
19
45
|
name: string;
|
|
@@ -53,6 +79,7 @@ export interface Section {
|
|
|
53
79
|
endType: ContentType;
|
|
54
80
|
singleChild: boolean;
|
|
55
81
|
};
|
|
82
|
+
structure: StructureOp[] | null;
|
|
56
83
|
}
|
|
57
84
|
declare module "@marko/compiler/dist/types" {
|
|
58
85
|
interface ProgramExtra {
|
|
@@ -1,17 +1,28 @@
|
|
|
1
1
|
import { types as t } from "@marko/compiler";
|
|
2
|
-
import { WalkCode } from "../../common/types";
|
|
3
|
-
import { type Section } from "../util/sections";
|
|
4
2
|
import * as Step from "./constants/step";
|
|
5
|
-
|
|
6
|
-
type Step = Step.Value;
|
|
7
|
-
export { Step };
|
|
8
|
-
type VisitCodes = typeof WalkCode.Get | typeof WalkCode.Replace | typeof WalkCode.DynamicTagWithVar;
|
|
3
|
+
import { type Section, type StructureRef, type StructureVisit } from "./sections";
|
|
9
4
|
export declare function enter(path: t.NodePath<any>): void;
|
|
10
5
|
export declare function exit(path: t.NodePath<any>): void;
|
|
11
6
|
export declare function enterShallow(path: t.NodePath<any>): void;
|
|
12
|
-
export declare function
|
|
13
|
-
export declare function
|
|
7
|
+
export declare function child(tag: t.NodePath<t.MarkoTag>, name: string, renderer?: StructureRef): void;
|
|
8
|
+
export declare function writeTo(path: t.NodePath<any>): (strs: TemplateStringsArray, ...exprs: string[]) => void;
|
|
9
|
+
export declare function visit(path: t.NodePath<t.MarkoTag | t.MarkoPlaceholder | t.Program>, code: StructureVisit["code"], claimed?: boolean): StructureVisit | undefined;
|
|
10
|
+
type ResolvedPart = string | t.Expression;
|
|
11
|
+
interface ResolvedStructure {
|
|
12
|
+
writes: ResolvedPart[];
|
|
13
|
+
walks: ResolvedPart[];
|
|
14
|
+
walkComment: string[];
|
|
15
|
+
steps: Step.Value[];
|
|
16
|
+
}
|
|
17
|
+
export declare function resolveStructure(section: Section): ResolvedStructure;
|
|
18
|
+
interface SectionMeta {
|
|
19
|
+
walks: t.Expression | undefined;
|
|
20
|
+
writes: t.Expression | undefined;
|
|
21
|
+
decls: t.VariableDeclarator[] | undefined;
|
|
22
|
+
}
|
|
23
|
+
export declare const getSectionMeta: (section: Section) => SectionMeta;
|
|
24
|
+
export declare function getSectionMetaIdentifiers(section: Section): SectionMeta;
|
|
14
25
|
/** `_content` strips trailing exit codes before it walks, so a renderer that
|
|
15
26
|
* reaches the runtime through it never needs them on the wire. */
|
|
16
27
|
export declare function trimTrailingExits(walks: t.Expression | undefined): t.ArrayExpression | t.ArrowFunctionExpression | t.AssignmentExpression | t.AwaitExpression | t.BigIntLiteral | t.BinaryExpression | t.BindExpression | t.BooleanLiteral | t.CallExpression | t.ClassExpression | t.ConditionalExpression | t.DecimalLiteral | t.DoExpression | t.FunctionExpression | t.Identifier | t.Import | t.ImportExpression | t.JSXElement | t.JSXFragment | t.LogicalExpression | t.MarkoParseError | t.MemberExpression | t.MetaProperty | t.ModuleExpression | t.NewExpression | t.NullLiteral | t.NumericLiteral | t.ObjectExpression | t.OptionalCallExpression | t.OptionalMemberExpression | t.ParenthesizedExpression | t.PipelineBareFunction | t.PipelinePrimaryTopicReference | t.PipelineTopicExpression | t.RecordExpression | t.RegExpLiteral | t.SequenceExpression | t.StringLiteral | t.Super | t.TSAsExpression | t.TSInstantiationExpression | t.TSNonNullExpression | t.TSSatisfiesExpression | t.TSTypeAssertion | t.TaggedTemplateExpression | t.TemplateLiteral | t.ThisExpression | t.TopicReference | t.TupleExpression | t.TypeCastExpression | t.UnaryExpression | t.UpdateExpression | t.YieldExpression | undefined;
|
|
17
|
-
export
|
|
28
|
+
export {};
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { types as t } from "@marko/compiler";
|
|
2
|
-
import { type Section } from "../util/sections";
|
|
3
2
|
import { type Binding } from "./references";
|
|
4
3
|
import type { SerializeReason } from "./serialize-reasons";
|
|
5
4
|
type Write = string | t.Expression | (() => undefined | string | t.Expression);
|
|
@@ -7,12 +6,5 @@ export declare function writeTo(path: t.NodePath<any>, trailer?: boolean): (strs
|
|
|
7
6
|
export declare function consumeHTML(path: t.NodePath<any>): t.ExpressionStatement | undefined;
|
|
8
7
|
export declare function flushBefore(path: t.NodePath<any>): void;
|
|
9
8
|
export declare function flushInto(path: t.NodePath<t.MarkoTag> | t.NodePath<t.Program>): void;
|
|
10
|
-
interface SectionMeta {
|
|
11
|
-
walks: t.Expression | undefined;
|
|
12
|
-
writes: t.Expression | undefined;
|
|
13
|
-
decls: t.VariableDeclarator[] | undefined;
|
|
14
|
-
}
|
|
15
|
-
export declare const getSectionMeta: (section: Section) => SectionMeta;
|
|
16
|
-
export declare function getSectionMetaIdentifiers(section: Section): SectionMeta;
|
|
17
9
|
export declare function markNode(path: t.NodePath<t.MarkoTag | t.MarkoPlaceholder>, nodeBinding: Binding, reason: undefined | false | SerializeReason, deferred?: boolean): void;
|
|
18
10
|
export {};
|
|
@@ -3,17 +3,18 @@ import { type Binding } from "../util/references";
|
|
|
3
3
|
import * as SiblingText from "./constants/sibling-text";
|
|
4
4
|
declare const kNodeBinding: unique symbol;
|
|
5
5
|
declare const kSiblingText: unique symbol;
|
|
6
|
-
declare const kSharedText: unique symbol;
|
|
7
6
|
type SiblingText = SiblingText.Value;
|
|
8
7
|
declare module "@marko/compiler/dist/types" {
|
|
9
8
|
interface MarkoPlaceholderExtra {
|
|
10
9
|
[kNodeBinding]?: Binding;
|
|
11
10
|
[kSiblingText]?: SiblingText;
|
|
12
|
-
[kSharedText]?: true;
|
|
13
11
|
}
|
|
14
12
|
}
|
|
15
13
|
declare const _default: {
|
|
16
|
-
analyze
|
|
14
|
+
analyze: {
|
|
15
|
+
enter(this: unknown, placeholder: t.NodePath<t.MarkoPlaceholder>): void;
|
|
16
|
+
exit(this: unknown, placeholder: t.NodePath<t.MarkoPlaceholder>): void;
|
|
17
|
+
};
|
|
17
18
|
translate: {
|
|
18
19
|
exit(this: unknown, placeholder: t.NodePath<t.MarkoPlaceholder>): void;
|
|
19
20
|
};
|
|
@@ -1,19 +1,23 @@
|
|
|
1
1
|
import { types as t } from "@marko/compiler";
|
|
2
2
|
import { type Binding } from "../../util/references";
|
|
3
|
-
import { type
|
|
3
|
+
import { type DOMRuntimeFeature } from "../../util/runtime";
|
|
4
|
+
import { type StructureVisit } from "../../util/sections";
|
|
4
5
|
export declare const kNativeTagBinding: unique symbol;
|
|
5
6
|
export declare const kSkipEndTag: unique symbol;
|
|
6
7
|
declare const kTagContentAttr: unique symbol;
|
|
8
|
+
declare const kVisitOp: unique symbol;
|
|
7
9
|
declare module "@marko/compiler/dist/types" {
|
|
8
10
|
interface NodeExtra {
|
|
9
11
|
[kNativeTagBinding]?: Binding;
|
|
10
12
|
[kSkipEndTag]?: true;
|
|
11
13
|
[kTagContentAttr]?: true;
|
|
14
|
+
[kVisitOp]?: StructureVisit;
|
|
12
15
|
}
|
|
13
16
|
}
|
|
14
17
|
declare const _default: {
|
|
15
18
|
analyze: {
|
|
16
19
|
enter(this: unknown, tag: t.NodePath<t.MarkoTag>): void;
|
|
20
|
+
exit(this: unknown, tag: t.NodePath<t.MarkoTag>): void;
|
|
17
21
|
};
|
|
18
22
|
translate: {
|
|
19
23
|
readonly enter: (path: t.NodePath<t.MarkoTag>) => void;
|
|
@@ -25,8 +29,7 @@ export default _default;
|
|
|
25
29
|
* tags that control nothing, and nothing when a static attr owns the
|
|
26
30
|
* controllable, since then the spread must leave the slots it wrote alone. */
|
|
27
31
|
export declare function controllableClaimFor(tagName: string | undefined): "_controllable_input" | "_controllable_open" | "_controllable_select" | "_controllable_textarea" | undefined;
|
|
28
|
-
/** The resume-pass
|
|
29
|
-
* at run time, and a run-time tag name can be any of them. */
|
|
30
|
-
export declare function
|
|
31
|
-
|
|
32
|
-
export declare function enableControllable(helper: DOMRuntimeHelpers | undefined): void;
|
|
32
|
+
/** The resume-pass feature for a tag: `_attrs_script` resolves the control
|
|
33
|
+
* kind at run time, and a run-time tag name can be any of them. */
|
|
34
|
+
export declare function controllableFeatureFor(tagName: string | undefined): "controllable" | "controllable-input" | "controllable-open" | "controllable-select" | "controllable-textarea" | undefined;
|
|
35
|
+
export declare function enableControllable(feature: DOMRuntimeFeature | undefined): void;
|
|
@@ -1,12 +1,8 @@
|
|
|
1
1
|
import { types as t } from "@marko/compiler";
|
|
2
|
-
declare const kSharedText: unique symbol;
|
|
3
|
-
declare module "@marko/compiler/dist/types" {
|
|
4
|
-
interface NodeExtra {
|
|
5
|
-
[kSharedText]?: true;
|
|
6
|
-
}
|
|
7
|
-
}
|
|
8
2
|
declare const _default: {
|
|
9
|
-
analyze
|
|
3
|
+
analyze: {
|
|
4
|
+
exit(this: unknown, text: t.NodePath<t.MarkoText>): void;
|
|
5
|
+
};
|
|
10
6
|
translate: {
|
|
11
7
|
exit(this: unknown, text: t.NodePath<t.MarkoText>): void;
|
|
12
8
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "marko",
|
|
3
|
-
"version": "6.3.
|
|
3
|
+
"version": "6.3.32",
|
|
4
4
|
"description": "Optimized runtime for Marko templates.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"api",
|
|
@@ -48,13 +48,13 @@
|
|
|
48
48
|
}
|
|
49
49
|
},
|
|
50
50
|
"dependencies": {
|
|
51
|
-
"@marko/compiler": "^5.41.
|
|
51
|
+
"@marko/compiler": "^5.41.16",
|
|
52
52
|
"csstype": "^3.2.3",
|
|
53
53
|
"fastest-levenshtein": "^1.0.16",
|
|
54
54
|
"magic-string": "^0.30.21"
|
|
55
55
|
},
|
|
56
56
|
"devDependencies": {
|
|
57
|
-
"@marko/runtime-tags": "npm:marko@6.3.
|
|
57
|
+
"@marko/runtime-tags": "npm:marko@6.3.32",
|
|
58
58
|
"marko": "5.39.30"
|
|
59
59
|
},
|
|
60
60
|
"engines": {
|