marko 5.37.6 → 6.0.0-3.12
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/common/attr-tag.d.ts +8 -0
- package/dist/common/compat-meta.d.ts +2 -0
- package/dist/common/for.d.ts +5 -0
- package/dist/common/helpers.d.ts +7 -0
- package/dist/common/meta.d.ts +2 -0
- package/dist/common/types.d.ts +105 -0
- package/dist/debug/dom.js +2111 -0
- package/dist/debug/dom.mjs +2088 -0
- package/dist/debug/html.js +2740 -0
- package/dist/debug/html.mjs +2663 -0
- package/dist/dom/abort-signal.d.ts +3 -0
- package/dist/dom/compat.d.ts +20 -0
- package/dist/dom/control-flow.d.ts +14 -0
- package/dist/dom/controllable.d.ts +12 -0
- package/dist/dom/dom.d.ts +19 -0
- package/dist/dom/event.d.ts +4 -0
- package/dist/dom/parse-html.d.ts +5 -0
- package/dist/dom/queue.d.ts +10 -0
- package/dist/dom/reconcile.d.ts +2 -0
- package/dist/dom/renderer.d.ts +21 -0
- package/dist/dom/resolve-cursor-position.d.ts +1 -0
- package/dist/dom/resume.d.ts +9 -0
- package/dist/dom/schedule.d.ts +2 -0
- package/dist/dom/scope.d.ts +7 -0
- package/dist/dom/signals.d.ts +39 -0
- package/dist/dom/template.d.ts +3 -0
- package/dist/dom/walker.d.ts +4 -0
- package/dist/dom.d.ts +15 -0
- package/dist/dom.js +1370 -0
- package/dist/dom.mjs +1350 -0
- package/dist/html/attrs.d.ts +14 -0
- package/dist/html/compat.d.ts +14 -0
- package/dist/html/content.d.ts +5 -0
- package/dist/html/dynamic-tag.d.ts +12 -0
- package/dist/html/for.d.ts +4 -0
- package/dist/html/inlined-runtimes.d.ts +2 -0
- package/dist/html/serializer.d.ts +14 -0
- package/dist/html/template.d.ts +3 -0
- package/dist/html/writer.d.ts +114 -0
- package/dist/html.d.ts +9 -0
- package/dist/html.js +1818 -0
- package/dist/html.mjs +1744 -0
- package/dist/translator/core/attrs.d.ts +3 -0
- package/dist/translator/core/client.d.ts +14 -0
- package/dist/translator/core/const.d.ts +3 -0
- package/dist/translator/core/debug.d.ts +3 -0
- package/dist/translator/core/define.d.ts +3 -0
- package/dist/translator/core/effect.d.ts +3 -0
- package/dist/translator/core/export.d.ts +3 -0
- package/dist/translator/core/for.d.ts +67 -0
- package/dist/translator/core/html-comment.d.ts +12 -0
- package/dist/translator/core/html-script.d.ts +9 -0
- package/dist/translator/core/html-style.d.ts +9 -0
- package/dist/translator/core/id.d.ts +3 -0
- package/dist/translator/core/if.d.ts +53 -0
- package/dist/translator/core/import.d.ts +3 -0
- package/dist/translator/core/index.d.ts +152 -0
- package/dist/translator/core/let.d.ts +8 -0
- package/dist/translator/core/lifecycle.d.ts +10 -0
- package/dist/translator/core/log.d.ts +3 -0
- package/dist/translator/core/return.d.ts +6 -0
- package/dist/translator/core/script.d.ts +3 -0
- package/dist/translator/core/server.d.ts +14 -0
- package/dist/translator/core/static.d.ts +14 -0
- package/dist/translator/core/style.d.ts +3 -0
- package/dist/translator/index.d.ts +201 -0
- package/dist/translator/index.js +9134 -490
- package/dist/translator/util/assert.d.ts +3 -0
- package/dist/translator/util/binding-has-downstream-expressions.d.ts +2 -0
- package/dist/translator/util/entry-builder.d.ts +19 -0
- package/dist/translator/util/evaluate.d.ts +11 -0
- package/dist/translator/util/for-each-identifier.d.ts +2 -0
- package/dist/translator/util/get-defined-binding-expression.d.ts +3 -0
- package/dist/translator/util/get-known-attr-values.d.ts +2 -0
- package/dist/translator/util/get-parent-tag.d.ts +2 -0
- package/dist/translator/util/get-root.d.ts +7 -0
- package/dist/translator/util/get-tag-name.d.ts +2 -0
- package/dist/translator/util/is-core-tag.d.ts +10 -0
- package/dist/translator/util/is-stateful.d.ts +3 -0
- package/dist/translator/util/is-static.d.ts +2 -0
- package/dist/translator/util/marko-config.d.ts +4 -0
- package/dist/translator/util/nested-attribute-tags.d.ts +17 -0
- package/dist/translator/util/normalize-string-expression.d.ts +3 -0
- package/dist/translator/util/optional.d.ts +20 -0
- package/dist/translator/util/plugin-hooks.d.ts +4 -0
- package/dist/translator/util/references.d.ts +84 -0
- package/dist/translator/util/runtime-info.d.ts +5 -0
- package/dist/translator/util/runtime.d.ts +15 -0
- package/dist/translator/util/scope-read.d.ts +6 -0
- package/dist/translator/util/sections.d.ts +51 -0
- package/dist/translator/util/signals.d.ts +61 -0
- package/dist/translator/util/simplify-fn.d.ts +5 -0
- package/dist/translator/util/state.d.ts +3 -0
- package/dist/translator/util/tag-name-type.d.ts +16 -0
- package/dist/translator/util/to-first-expression-or-block.d.ts +3 -0
- package/dist/translator/util/to-first-statement-or-block.d.ts +2 -0
- package/dist/translator/util/to-property-name.d.ts +7 -0
- package/dist/translator/util/translate-attrs.d.ts +12 -0
- package/dist/translator/util/translate-var.d.ts +2 -0
- package/dist/translator/util/traverse.d.ts +9 -0
- package/dist/translator/util/visitors.d.ts +11 -0
- package/dist/translator/util/walks.d.ts +15 -0
- package/dist/translator/util/with-previous-location.d.ts +2 -0
- package/dist/translator/util/writer.d.ts +13 -0
- package/dist/translator/visitors/cdata.d.ts +7 -0
- package/dist/translator/visitors/comment.d.ts +7 -0
- package/dist/translator/visitors/declaration.d.ts +7 -0
- package/dist/translator/visitors/document-type.d.ts +7 -0
- package/dist/translator/visitors/function.d.ts +19 -0
- package/dist/translator/visitors/import-declaration.d.ts +8 -0
- package/dist/translator/visitors/placeholder.d.ts +22 -0
- package/dist/translator/visitors/program/dom.d.ts +7 -0
- package/dist/translator/visitors/program/html.d.ts +8 -0
- package/dist/translator/visitors/program/index.d.ts +39 -0
- package/dist/translator/visitors/referenced-identifier.d.ts +7 -0
- package/dist/translator/visitors/scriptlet.d.ts +8 -0
- package/dist/translator/visitors/tag/attribute-tag.d.ts +11 -0
- package/dist/translator/visitors/tag/custom-tag.d.ts +19 -0
- package/dist/translator/visitors/tag/dynamic-tag.d.ts +18 -0
- package/dist/translator/visitors/tag/index.d.ts +15 -0
- package/dist/translator/visitors/tag/native-tag.d.ts +25 -0
- package/dist/translator/visitors/text.d.ts +7 -0
- package/index.d.ts +30 -261
- package/package.json +40 -67
- package/tag-types/const.d.marko +7 -0
- package/tag-types/debug.d.marko +5 -0
- package/tag-types/define.d.marko +5 -0
- package/tag-types/do.d.marko +5 -0
- package/tag-types/effect.d.marko +5 -0
- package/tag-types/id.d.marko +3 -0
- package/tag-types/let.d.marko +8 -0
- package/tag-types/lifecycle.d.marko +7 -0
- package/tag-types/log.d.marko +5 -0
- package/tag-types/script.d.marko +5 -0
- package/tags-html.d.ts +85 -5
- package/README.md +0 -161
- package/bin/markoc +0 -2
- package/bin/markoc.js +0 -441
- package/browser-refresh.js +0 -5
- package/compiler-browser.marko +0 -15
- package/compiler.js +0 -7
- package/components-browser.marko +0 -15
- package/components.js +0 -7
- package/dist/build.json +0 -3
- package/dist/compiler/config.js +0 -45
- package/dist/compiler/index.js +0 -164
- package/dist/compiler/modules.js +0 -5
- package/dist/core-tags/components/init-components-tag.js +0 -54
- package/dist/core-tags/components/preferred-script-location-tag.js +0 -25
- package/dist/core-tags/components/preserve-tag.js +0 -1
- package/dist/core-tags/core/__flush_here_and_after__.js +0 -44
- package/dist/core-tags/core/await/AsyncValue.js +0 -121
- package/dist/core-tags/core/await/client-reorder-runtime.js +0 -51
- package/dist/core-tags/core/await/index.d.marko +0 -10
- package/dist/core-tags/core/await/renderer.js +0 -249
- package/dist/core-tags/core/await/reorderer-renderer.js +0 -156
- package/dist/index.js +0 -4
- package/dist/node-require/browser-refresh.js +0 -1
- package/dist/node-require/hot-reload.js +0 -45
- package/dist/node-require/index.js +0 -103
- package/dist/node_modules/@internal/components-beginComponent/index-browser.js +0 -23
- package/dist/node_modules/@internal/components-beginComponent/index.js +0 -84
- package/dist/node_modules/@internal/components-beginComponent/package.json +0 -11
- package/dist/node_modules/@internal/components-define-widget-legacy/index-browser.js +0 -335
- package/dist/node_modules/@internal/components-define-widget-legacy/index.js +0 -18
- package/dist/node_modules/@internal/components-define-widget-legacy/package.json +0 -11
- package/dist/node_modules/@internal/components-endComponent/index-browser.js +0 -5
- package/dist/node_modules/@internal/components-endComponent/index.js +0 -11
- package/dist/node_modules/@internal/components-endComponent/package.json +0 -11
- package/dist/node_modules/@internal/components-entry/index-browser.js +0 -11
- package/dist/node_modules/@internal/components-entry/index.js +0 -301
- package/dist/node_modules/@internal/components-entry/package.json +0 -11
- package/dist/node_modules/@internal/components-entry-legacy/index-browser.js +0 -76
- package/dist/node_modules/@internal/components-entry-legacy/index.js +0 -16
- package/dist/node_modules/@internal/components-entry-legacy/package.json +0 -11
- package/dist/node_modules/@internal/components-registry/index-browser.js +0 -586
- package/dist/node_modules/@internal/components-registry/index.js +0 -44
- package/dist/node_modules/@internal/components-registry/package.json +0 -11
- package/dist/node_modules/@internal/components-util/index-browser.js +0 -152
- package/dist/node_modules/@internal/components-util/index.js +0 -71
- package/dist/node_modules/@internal/components-util/package.json +0 -11
- package/dist/node_modules/@internal/create-readable/index-browser.js +0 -30
- package/dist/node_modules/@internal/create-readable/index.js +0 -57
- package/dist/node_modules/@internal/create-readable/package.json +0 -11
- package/dist/node_modules/@internal/loader/fallback-node.js +0 -89
- package/dist/node_modules/@internal/loader/index-browser.js +0 -2
- package/dist/node_modules/@internal/loader/index.js +0 -23
- package/dist/node_modules/@internal/loader/package.json +0 -10
- package/dist/node_modules/@internal/preserve-tag/index-browser.js +0 -46
- package/dist/node_modules/@internal/preserve-tag/index.js +0 -34
- package/dist/node_modules/@internal/preserve-tag/package.json +0 -11
- package/dist/node_modules/@internal/require/index-browser.js +0 -15
- package/dist/node_modules/@internal/require/index-legacy-browser.js +0 -20
- package/dist/node_modules/@internal/require/index-webpack.js +0 -16
- package/dist/node_modules/@internal/require/index.js +0 -15
- package/dist/node_modules/@internal/require/package.json +0 -11
- package/dist/node_modules/@internal/set-immediate/index-browser.js +0 -19
- package/dist/node_modules/@internal/set-immediate/index-worker.js +0 -31
- package/dist/node_modules/@internal/set-immediate/index.js +0 -3
- package/dist/node_modules/@internal/set-immediate/package.json +0 -11
- package/dist/node_modules/@internal/set-immediate/queueMicrotask.js +0 -8
- package/dist/runtime/RenderResult.js +0 -112
- package/dist/runtime/components/Component.js +0 -663
- package/dist/runtime/components/ComponentDef.js +0 -169
- package/dist/runtime/components/ComponentsContext.js +0 -59
- package/dist/runtime/components/GlobalComponentsContext.js +0 -10
- package/dist/runtime/components/KeySequence.js +0 -16
- package/dist/runtime/components/ServerComponent.js +0 -73
- package/dist/runtime/components/State.js +0 -101
- package/dist/runtime/components/attach-detach.js +0 -60
- package/dist/runtime/components/defineComponent.js +0 -60
- package/dist/runtime/components/dom-data.js +0 -8
- package/dist/runtime/components/event-delegation.js +0 -144
- package/dist/runtime/components/index.js +0 -1
- package/dist/runtime/components/legacy/browser.json +0 -9
- package/dist/runtime/components/legacy/defineComponent-legacy.js +0 -27
- package/dist/runtime/components/legacy/defineRenderer-legacy.js +0 -171
- package/dist/runtime/components/legacy/defineWidget-legacy.js +0 -1
- package/dist/runtime/components/legacy/dependencies/html.js +0 -3
- package/dist/runtime/components/legacy/dependencies/index.js +0 -177
- package/dist/runtime/components/legacy/dependencies/vdom.js +0 -3
- package/dist/runtime/components/legacy/index.js +0 -1
- package/dist/runtime/components/legacy/jquery.js +0 -52
- package/dist/runtime/components/legacy/ready.js +0 -152
- package/dist/runtime/components/legacy/renderer-legacy.js +0 -231
- package/dist/runtime/components/registry.js +0 -1
- package/dist/runtime/components/renderer.js +0 -236
- package/dist/runtime/components/update-manager.js +0 -94
- package/dist/runtime/createOut.js +0 -13
- package/dist/runtime/dom-insert.js +0 -77
- package/dist/runtime/events.js +0 -2
- package/dist/runtime/helpers/_change-case.js +0 -45
- package/dist/runtime/helpers/assign.js +0 -21
- package/dist/runtime/helpers/attr-tag.js +0 -43
- package/dist/runtime/helpers/class-value.js +0 -30
- package/dist/runtime/helpers/dynamic-tag.js +0 -181
- package/dist/runtime/helpers/empty-component.js +0 -1
- package/dist/runtime/helpers/merge.js +0 -13
- package/dist/runtime/helpers/of-fallback.js +0 -4
- package/dist/runtime/helpers/render-tag.js +0 -20
- package/dist/runtime/helpers/serialize-noop.js +0 -5
- package/dist/runtime/helpers/style-value.js +0 -45
- package/dist/runtime/helpers/tags-compat/dom-debug.js +0 -1
- package/dist/runtime/helpers/tags-compat/dom-debug.mjs +0 -4
- package/dist/runtime/helpers/tags-compat/dom.js +0 -1
- package/dist/runtime/helpers/tags-compat/dom.mjs +0 -4
- package/dist/runtime/helpers/tags-compat/html-debug.js +0 -3
- package/dist/runtime/helpers/tags-compat/html-debug.mjs +0 -4
- package/dist/runtime/helpers/tags-compat/html.js +0 -3
- package/dist/runtime/helpers/tags-compat/html.mjs +0 -4
- package/dist/runtime/helpers/tags-compat/runtime-dom.js +0 -239
- package/dist/runtime/helpers/tags-compat/runtime-html.js +0 -136
- package/dist/runtime/helpers/to-string.js +0 -5
- package/dist/runtime/html/AsyncStream.js +0 -805
- package/dist/runtime/html/BufferedWriter.js +0 -52
- package/dist/runtime/html/StringWriter.js +0 -73
- package/dist/runtime/html/helpers/_dynamic-attr.js +0 -35
- package/dist/runtime/html/helpers/attr.js +0 -80
- package/dist/runtime/html/helpers/attrs.js +0 -26
- package/dist/runtime/html/helpers/class-attr.js +0 -8
- package/dist/runtime/html/helpers/data-marko.js +0 -36
- package/dist/runtime/html/helpers/escape-quotes.js +0 -35
- package/dist/runtime/html/helpers/escape-script-placeholder.js +0 -24
- package/dist/runtime/html/helpers/escape-style-placeholder.js +0 -22
- package/dist/runtime/html/helpers/escape-xml.js +0 -21
- package/dist/runtime/html/helpers/merge-attrs.js +0 -55
- package/dist/runtime/html/helpers/props-script.js +0 -32
- package/dist/runtime/html/helpers/style-attr.js +0 -8
- package/dist/runtime/html/hot-reload.js +0 -26
- package/dist/runtime/html/index.js +0 -33
- package/dist/runtime/html/marko-namespace.js +0 -3
- package/dist/runtime/renderable.js +0 -194
- package/dist/runtime/vdom/AsyncVDOMBuilder.js +0 -456
- package/dist/runtime/vdom/VComment.js +0 -24
- package/dist/runtime/vdom/VComponent.js +0 -17
- package/dist/runtime/vdom/VDocumentFragment.js +0 -34
- package/dist/runtime/vdom/VElement.js +0 -375
- package/dist/runtime/vdom/VFragment.js +0 -26
- package/dist/runtime/vdom/VNode.js +0 -100
- package/dist/runtime/vdom/VText.js +0 -25
- package/dist/runtime/vdom/helpers/attrs.js +0 -62
- package/dist/runtime/vdom/helpers/const-element.js +0 -25
- package/dist/runtime/vdom/helpers/merge-attrs.js +0 -16
- package/dist/runtime/vdom/hot-reload.js +0 -115
- package/dist/runtime/vdom/index.js +0 -30
- package/dist/runtime/vdom/is-text-only.js +0 -10
- package/dist/runtime/vdom/marko-namespace.js +0 -3
- package/dist/runtime/vdom/morphdom/fragment.js +0 -95
- package/dist/runtime/vdom/morphdom/helpers.js +0 -42
- package/dist/runtime/vdom/morphdom/index.js +0 -741
- package/dist/runtime/vdom/parse-html.js +0 -18
- package/dist/runtime/vdom/vdom.js +0 -88
- package/dist/taglib/index.js +0 -51
- package/dist/translator/cdata/index.js +0 -15
- package/dist/translator/cdata/index[html].js +0 -15
- package/dist/translator/cdata/index[vdom].js +0 -12
- package/dist/translator/class.js +0 -65
- package/dist/translator/comment/index.js +0 -15
- package/dist/translator/comment/index[html].js +0 -17
- package/dist/translator/comment/index[vdom].js +0 -3
- package/dist/translator/declaration/index.js +0 -15
- package/dist/translator/declaration/index[html].js +0 -12
- package/dist/translator/declaration/index[vdom].js +0 -3
- package/dist/translator/document-type/index.js +0 -15
- package/dist/translator/document-type/index[html].js +0 -12
- package/dist/translator/document-type/index[vdom].js +0 -3
- package/dist/translator/placeholder/index.js +0 -15
- package/dist/translator/placeholder/index[html].js +0 -93
- package/dist/translator/placeholder/index[vdom].js +0 -22
- package/dist/translator/scriptlet.js +0 -4
- package/dist/translator/tag/attribute/directives/class.js +0 -42
- package/dist/translator/tag/attribute/directives/index.js +0 -15
- package/dist/translator/tag/attribute/directives/no-update-body-if.js +0 -15
- package/dist/translator/tag/attribute/directives/no-update-body.js +0 -10
- package/dist/translator/tag/attribute/directives/no-update-if.js +0 -12
- package/dist/translator/tag/attribute/directives/no-update.js +0 -48
- package/dist/translator/tag/attribute/directives/style.js +0 -42
- package/dist/translator/tag/attribute/index.js +0 -150
- package/dist/translator/tag/attribute/modifiers/index.js +0 -7
- package/dist/translator/tag/attribute/modifiers/no-update.js +0 -14
- package/dist/translator/tag/attribute/modifiers/scoped.js +0 -23
- package/dist/translator/tag/attribute-tag.js +0 -149
- package/dist/translator/tag/custom-tag.js +0 -146
- package/dist/translator/tag/dynamic-tag.js +0 -74
- package/dist/translator/tag/index.js +0 -287
- package/dist/translator/tag/macro-tag.js +0 -7
- package/dist/translator/tag/native-tag.js +0 -27
- package/dist/translator/tag/native-tag[html]/attributes.js +0 -151
- package/dist/translator/tag/native-tag[html]/index.js +0 -221
- package/dist/translator/tag/native-tag[vdom]/attributes.js +0 -105
- package/dist/translator/tag/native-tag[vdom]/index.js +0 -189
- package/dist/translator/tag/util.js +0 -246
- package/dist/translator/taglib/core/conditional/translate-else-if.js +0 -20
- package/dist/translator/taglib/core/conditional/translate-else.js +0 -20
- package/dist/translator/taglib/core/conditional/translate-if.js +0 -8
- package/dist/translator/taglib/core/conditional/util.js +0 -41
- package/dist/translator/taglib/core/index.js +0 -474
- package/dist/translator/taglib/core/macro/parse.js +0 -17
- package/dist/translator/taglib/core/macro/translate.js +0 -48
- package/dist/translator/taglib/core/parse-class.js +0 -79
- package/dist/translator/taglib/core/parse-export.js +0 -14
- package/dist/translator/taglib/core/parse-import.js +0 -14
- package/dist/translator/taglib/core/parse-module-code.js +0 -18
- package/dist/translator/taglib/core/parse-static.js +0 -18
- package/dist/translator/taglib/core/transform-style.js +0 -66
- package/dist/translator/taglib/core/translate-await.js +0 -41
- package/dist/translator/taglib/core/translate-body.js +0 -17
- package/dist/translator/taglib/core/translate-for.js +0 -156
- package/dist/translator/taglib/core/translate-html-comment.js +0 -52
- package/dist/translator/taglib/core/translate-include-content.js +0 -53
- package/dist/translator/taglib/core/translate-server-only.js +0 -5
- package/dist/translator/taglib/core/translate-while.js +0 -32
- package/dist/translator/taglib/index.js +0 -6
- package/dist/translator/taglib/migrate/all-templates.js +0 -46
- package/dist/translator/taglib/migrate/index.js +0 -5
- package/dist/translator/text/index.js +0 -10
- package/dist/translator/text/index[html].js +0 -12
- package/dist/translator/text/index[vdom].js +0 -20
- package/dist/translator/util/add-dependencies.js +0 -329
- package/dist/translator/util/escape-regexp.js +0 -4
- package/dist/translator/util/get-component-files.js +0 -86
- package/dist/translator/util/html-out-write.js +0 -15
- package/dist/translator/util/key-manager.js +0 -176
- package/dist/translator/util/optimize-html-writes.js +0 -52
- package/dist/translator/util/optimize-vdom-create.js +0 -164
- package/dist/translator/util/plugin-hooks.js +0 -22
- package/dist/translator/util/runtime-flags.js +0 -3
- package/dist/translator/util/vdom-out-write.js +0 -10
- package/dist/translator/util/with-previous-location.js +0 -6
- package/docs/10-awesome-marko-features.md +0 -291
- package/docs/body-content.md +0 -355
- package/docs/class-components.md +0 -1001
- package/docs/cloudflare-workers.md +0 -32
- package/docs/compiler-hooks.png +0 -0
- package/docs/compiler.md +0 -473
- package/docs/component-diagram.afdesign +0 -0
- package/docs/component-diagram.svg +0 -87
- package/docs/concise.md +0 -141
- package/docs/conditionals-and-lists.md +0 -72
- package/docs/core-tags.md +0 -325
- package/docs/custom-tags.md +0 -201
- package/docs/editor-plugins.md +0 -45
- package/docs/events.md +0 -131
- package/docs/express.md +0 -66
- package/docs/fastify.md +0 -65
- package/docs/getting-started.md +0 -95
- package/docs/http.md +0 -34
- package/docs/icons/js.svg +0 -4
- package/docs/icons/marko.svg +0 -1
- package/docs/icons/ts.svg +0 -1
- package/docs/installing.md +0 -51
- package/docs/koa.md +0 -35
- package/docs/lasso.md +0 -196
- package/docs/marko-5-upgrade.md +0 -59
- package/docs/marko-json.md +0 -248
- package/docs/marko-vs-react.md +0 -854
- package/docs/redux.md +0 -61
- package/docs/rendering.md +0 -268
- package/docs/rollup.md +0 -352
- package/docs/state.md +0 -105
- package/docs/structure.json +0 -49
- package/docs/styles.md +0 -29
- package/docs/syntax.md +0 -601
- package/docs/troubleshooting-streaming.md +0 -68
- package/docs/typescript.md +0 -406
- package/docs/vite.md +0 -86
- package/docs/webpack.md +0 -205
- package/docs/why-is-marko-fast.md +0 -239
- package/env.js +0 -7
- package/helpers/README.md +0 -3
- package/helpers/empty.js +0 -4
- package/helpers/notEmpty.js +0 -11
- package/index-browser.marko +0 -15
- package/index.js +0 -7
- package/legacy-components-browser.marko +0 -15
- package/legacy-components.js +0 -7
- package/node-require.js +0 -8
- package/src/build.json +0 -3
- package/src/compiler/config.js +0 -45
- package/src/compiler/index.js +0 -164
- package/src/compiler/modules.js +0 -5
- package/src/core-tags/.eslintrc +0 -5
- package/src/core-tags/components/init-components-tag.js +0 -54
- package/src/core-tags/components/preferred-script-location-tag.js +0 -25
- package/src/core-tags/components/preserve-tag.js +0 -1
- package/src/core-tags/core/__flush_here_and_after__.js +0 -44
- package/src/core-tags/core/await/AsyncValue.js +0 -121
- package/src/core-tags/core/await/client-reorder-runtime.js +0 -51
- package/src/core-tags/core/await/index.d.marko +0 -10
- package/src/core-tags/core/await/renderer.js +0 -249
- package/src/core-tags/core/await/reorderer-renderer.js +0 -156
- package/src/index.js +0 -4
- package/src/node-require/browser-refresh.js +0 -18
- package/src/node-require/hot-reload.js +0 -45
- package/src/node-require/index.js +0 -103
- package/src/node_modules/@internal/components-beginComponent/index-browser.js +0 -23
- package/src/node_modules/@internal/components-beginComponent/index.js +0 -84
- package/src/node_modules/@internal/components-beginComponent/package.json +0 -11
- package/src/node_modules/@internal/components-define-widget-legacy/index-browser.js +0 -335
- package/src/node_modules/@internal/components-define-widget-legacy/index.js +0 -18
- package/src/node_modules/@internal/components-define-widget-legacy/package.json +0 -11
- package/src/node_modules/@internal/components-endComponent/index-browser.js +0 -5
- package/src/node_modules/@internal/components-endComponent/index.js +0 -11
- package/src/node_modules/@internal/components-endComponent/package.json +0 -11
- package/src/node_modules/@internal/components-entry/index-browser.js +0 -11
- package/src/node_modules/@internal/components-entry/index.js +0 -301
- package/src/node_modules/@internal/components-entry/package.json +0 -11
- package/src/node_modules/@internal/components-entry-legacy/index-browser.js +0 -76
- package/src/node_modules/@internal/components-entry-legacy/index.js +0 -16
- package/src/node_modules/@internal/components-entry-legacy/package.json +0 -11
- package/src/node_modules/@internal/components-registry/index-browser.js +0 -586
- package/src/node_modules/@internal/components-registry/index.js +0 -44
- package/src/node_modules/@internal/components-registry/package.json +0 -11
- package/src/node_modules/@internal/components-util/index-browser.js +0 -152
- package/src/node_modules/@internal/components-util/index.js +0 -75
- package/src/node_modules/@internal/components-util/package.json +0 -11
- package/src/node_modules/@internal/create-readable/index-browser.js +0 -30
- package/src/node_modules/@internal/create-readable/index.js +0 -57
- package/src/node_modules/@internal/create-readable/package.json +0 -11
- package/src/node_modules/@internal/loader/fallback-node.js +0 -89
- package/src/node_modules/@internal/loader/index-browser.js +0 -2
- package/src/node_modules/@internal/loader/index.js +0 -23
- package/src/node_modules/@internal/loader/package.json +0 -10
- package/src/node_modules/@internal/preserve-tag/index-browser.js +0 -46
- package/src/node_modules/@internal/preserve-tag/index.js +0 -34
- package/src/node_modules/@internal/preserve-tag/package.json +0 -11
- package/src/node_modules/@internal/require/index-browser.js +0 -15
- package/src/node_modules/@internal/require/index-legacy-browser.js +0 -20
- package/src/node_modules/@internal/require/index-webpack.js +0 -16
- package/src/node_modules/@internal/require/index.js +0 -15
- package/src/node_modules/@internal/require/package.json +0 -11
- package/src/node_modules/@internal/set-immediate/index-browser.js +0 -19
- package/src/node_modules/@internal/set-immediate/index-worker.js +0 -31
- package/src/node_modules/@internal/set-immediate/index.js +0 -3
- package/src/node_modules/@internal/set-immediate/package.json +0 -11
- package/src/node_modules/@internal/set-immediate/queueMicrotask.js +0 -8
- package/src/runtime/.eslintrc +0 -5
- package/src/runtime/RenderResult.js +0 -112
- package/src/runtime/components/Component.js +0 -663
- package/src/runtime/components/ComponentDef.js +0 -169
- package/src/runtime/components/ComponentsContext.js +0 -59
- package/src/runtime/components/GlobalComponentsContext.js +0 -10
- package/src/runtime/components/KeySequence.js +0 -16
- package/src/runtime/components/ServerComponent.js +0 -73
- package/src/runtime/components/State.js +0 -101
- package/src/runtime/components/attach-detach.js +0 -60
- package/src/runtime/components/defineComponent.js +0 -60
- package/src/runtime/components/dom-data.js +0 -8
- package/src/runtime/components/event-delegation.js +0 -144
- package/src/runtime/components/index.js +0 -1
- package/src/runtime/components/legacy/browser.json +0 -9
- package/src/runtime/components/legacy/defineComponent-legacy.js +0 -27
- package/src/runtime/components/legacy/defineRenderer-legacy.js +0 -171
- package/src/runtime/components/legacy/defineWidget-legacy.js +0 -1
- package/src/runtime/components/legacy/dependencies/html.js +0 -3
- package/src/runtime/components/legacy/dependencies/index.js +0 -177
- package/src/runtime/components/legacy/dependencies/vdom.js +0 -3
- package/src/runtime/components/legacy/index.js +0 -1
- package/src/runtime/components/legacy/jquery.js +0 -52
- package/src/runtime/components/legacy/ready.js +0 -152
- package/src/runtime/components/legacy/renderer-legacy.js +0 -231
- package/src/runtime/components/registry.js +0 -1
- package/src/runtime/components/renderer.js +0 -236
- package/src/runtime/components/update-manager.js +0 -94
- package/src/runtime/createOut.js +0 -13
- package/src/runtime/dom-insert.js +0 -77
- package/src/runtime/events.js +0 -2
- package/src/runtime/helpers/_change-case.js +0 -45
- package/src/runtime/helpers/assign.js +0 -21
- package/src/runtime/helpers/attr-tag.js +0 -43
- package/src/runtime/helpers/class-value.js +0 -30
- package/src/runtime/helpers/dynamic-tag.js +0 -181
- package/src/runtime/helpers/empty-component.js +0 -1
- package/src/runtime/helpers/merge.js +0 -13
- package/src/runtime/helpers/of-fallback.js +0 -4
- package/src/runtime/helpers/render-tag.js +0 -20
- package/src/runtime/helpers/serialize-noop.js +0 -5
- package/src/runtime/helpers/style-value.js +0 -45
- package/src/runtime/helpers/tags-compat/dom-debug.js +0 -1
- package/src/runtime/helpers/tags-compat/dom-debug.mjs +0 -4
- package/src/runtime/helpers/tags-compat/dom.js +0 -1
- package/src/runtime/helpers/tags-compat/dom.mjs +0 -4
- package/src/runtime/helpers/tags-compat/html-debug.js +0 -3
- package/src/runtime/helpers/tags-compat/html-debug.mjs +0 -4
- package/src/runtime/helpers/tags-compat/html.js +0 -3
- package/src/runtime/helpers/tags-compat/html.mjs +0 -4
- package/src/runtime/helpers/tags-compat/runtime-dom.js +0 -239
- package/src/runtime/helpers/tags-compat/runtime-html.js +0 -136
- package/src/runtime/helpers/to-string.js +0 -5
- package/src/runtime/html/AsyncStream.js +0 -805
- package/src/runtime/html/BufferedWriter.js +0 -52
- package/src/runtime/html/StringWriter.js +0 -73
- package/src/runtime/html/helpers/_dynamic-attr.js +0 -35
- package/src/runtime/html/helpers/attr.js +0 -80
- package/src/runtime/html/helpers/attrs.js +0 -26
- package/src/runtime/html/helpers/class-attr.js +0 -8
- package/src/runtime/html/helpers/data-marko.js +0 -36
- package/src/runtime/html/helpers/escape-quotes.js +0 -35
- package/src/runtime/html/helpers/escape-script-placeholder.js +0 -24
- package/src/runtime/html/helpers/escape-style-placeholder.js +0 -22
- package/src/runtime/html/helpers/escape-xml.js +0 -21
- package/src/runtime/html/helpers/merge-attrs.js +0 -55
- package/src/runtime/html/helpers/props-script.js +0 -32
- package/src/runtime/html/helpers/style-attr.js +0 -8
- package/src/runtime/html/hot-reload.js +0 -26
- package/src/runtime/html/index.js +0 -33
- package/src/runtime/html/marko-namespace.js +0 -3
- package/src/runtime/renderable.js +0 -194
- package/src/runtime/vdom/AsyncVDOMBuilder.js +0 -456
- package/src/runtime/vdom/VComment.js +0 -24
- package/src/runtime/vdom/VComponent.js +0 -17
- package/src/runtime/vdom/VDocumentFragment.js +0 -34
- package/src/runtime/vdom/VElement.js +0 -375
- package/src/runtime/vdom/VFragment.js +0 -26
- package/src/runtime/vdom/VNode.js +0 -100
- package/src/runtime/vdom/VText.js +0 -25
- package/src/runtime/vdom/helpers/attrs.js +0 -62
- package/src/runtime/vdom/helpers/const-element.js +0 -25
- package/src/runtime/vdom/helpers/merge-attrs.js +0 -16
- package/src/runtime/vdom/hot-reload.js +0 -115
- package/src/runtime/vdom/index.js +0 -30
- package/src/runtime/vdom/is-text-only.js +0 -10
- package/src/runtime/vdom/marko-namespace.js +0 -3
- package/src/runtime/vdom/morphdom/fragment.js +0 -95
- package/src/runtime/vdom/morphdom/helpers.js +0 -42
- package/src/runtime/vdom/morphdom/index.js +0 -741
- package/src/runtime/vdom/parse-html.js +0 -18
- package/src/runtime/vdom/vdom.js +0 -88
- package/src/taglib/index.js +0 -51
- package/src/translator/cdata/index.js +0 -15
- package/src/translator/cdata/index[html].js +0 -15
- package/src/translator/cdata/index[vdom].js +0 -12
- package/src/translator/class.js +0 -65
- package/src/translator/comment/index.js +0 -15
- package/src/translator/comment/index[html].js +0 -17
- package/src/translator/comment/index[vdom].js +0 -3
- package/src/translator/declaration/index.js +0 -15
- package/src/translator/declaration/index[html].js +0 -12
- package/src/translator/declaration/index[vdom].js +0 -3
- package/src/translator/document-type/index.js +0 -15
- package/src/translator/document-type/index[html].js +0 -12
- package/src/translator/document-type/index[vdom].js +0 -3
- package/src/translator/index.js +0 -552
- package/src/translator/placeholder/index.js +0 -15
- package/src/translator/placeholder/index[html].js +0 -93
- package/src/translator/placeholder/index[vdom].js +0 -22
- package/src/translator/scriptlet.js +0 -4
- package/src/translator/tag/attribute/directives/class.js +0 -42
- package/src/translator/tag/attribute/directives/index.js +0 -15
- package/src/translator/tag/attribute/directives/no-update-body-if.js +0 -15
- package/src/translator/tag/attribute/directives/no-update-body.js +0 -10
- package/src/translator/tag/attribute/directives/no-update-if.js +0 -12
- package/src/translator/tag/attribute/directives/no-update.js +0 -48
- package/src/translator/tag/attribute/directives/style.js +0 -42
- package/src/translator/tag/attribute/index.js +0 -150
- package/src/translator/tag/attribute/modifiers/index.js +0 -7
- package/src/translator/tag/attribute/modifiers/no-update.js +0 -14
- package/src/translator/tag/attribute/modifiers/scoped.js +0 -23
- package/src/translator/tag/attribute-tag.js +0 -149
- package/src/translator/tag/custom-tag.js +0 -146
- package/src/translator/tag/dynamic-tag.js +0 -74
- package/src/translator/tag/index.js +0 -287
- package/src/translator/tag/macro-tag.js +0 -7
- package/src/translator/tag/native-tag.js +0 -27
- package/src/translator/tag/native-tag[html]/attributes.js +0 -151
- package/src/translator/tag/native-tag[html]/index.js +0 -221
- package/src/translator/tag/native-tag[vdom]/attributes.js +0 -105
- package/src/translator/tag/native-tag[vdom]/index.js +0 -189
- package/src/translator/tag/util.js +0 -246
- package/src/translator/taglib/core/conditional/translate-else-if.js +0 -20
- package/src/translator/taglib/core/conditional/translate-else.js +0 -20
- package/src/translator/taglib/core/conditional/translate-if.js +0 -8
- package/src/translator/taglib/core/conditional/util.js +0 -41
- package/src/translator/taglib/core/index.js +0 -474
- package/src/translator/taglib/core/macro/parse.js +0 -17
- package/src/translator/taglib/core/macro/translate.js +0 -48
- package/src/translator/taglib/core/parse-class.js +0 -79
- package/src/translator/taglib/core/parse-export.js +0 -14
- package/src/translator/taglib/core/parse-import.js +0 -14
- package/src/translator/taglib/core/parse-module-code.js +0 -18
- package/src/translator/taglib/core/parse-static.js +0 -18
- package/src/translator/taglib/core/transform-style.js +0 -66
- package/src/translator/taglib/core/translate-await.js +0 -41
- package/src/translator/taglib/core/translate-body.js +0 -17
- package/src/translator/taglib/core/translate-for.js +0 -156
- package/src/translator/taglib/core/translate-html-comment.js +0 -52
- package/src/translator/taglib/core/translate-include-content.js +0 -53
- package/src/translator/taglib/core/translate-server-only.js +0 -5
- package/src/translator/taglib/core/translate-while.js +0 -32
- package/src/translator/taglib/index.js +0 -7
- package/src/translator/taglib/migrate/all-templates.js +0 -46
- package/src/translator/taglib/migrate/index.js +0 -5
- package/src/translator/text/index.js +0 -10
- package/src/translator/text/index[html].js +0 -12
- package/src/translator/text/index[vdom].js +0 -20
- package/src/translator/util/add-dependencies.js +0 -329
- package/src/translator/util/escape-regexp.js +0 -4
- package/src/translator/util/get-component-files.js +0 -86
- package/src/translator/util/html-out-write.js +0 -15
- package/src/translator/util/key-manager.js +0 -176
- package/src/translator/util/optimize-html-writes.js +0 -52
- package/src/translator/util/optimize-vdom-create.js +0 -164
- package/src/translator/util/plugin-hooks.js +0 -22
- package/src/translator/util/runtime-flags.js +0 -3
- package/src/translator/util/vdom-out-write.js +0 -10
- package/src/translator/util/with-previous-location.js +0 -6
- package/translator/index.d.ts +0 -7
- package/translator/package.json +0 -5
@@ -0,0 +1,39 @@
|
|
1
|
+
import { types as t } from "@marko/compiler";
|
2
|
+
export declare let currentProgramPath: t.NodePath<t.Program>;
|
3
|
+
export declare let cleanIdentifier: t.Identifier;
|
4
|
+
export declare let htmlRendererIdentifier: t.Identifier;
|
5
|
+
export declare let scopeIdentifier: t.Identifier;
|
6
|
+
export declare function isScopeIdentifier(node: t.Node): node is t.Identifier;
|
7
|
+
export type TemplateExport = {
|
8
|
+
id: string;
|
9
|
+
props: {
|
10
|
+
[prop: string]: TemplateExport;
|
11
|
+
} | undefined;
|
12
|
+
};
|
13
|
+
export type TemplateExports = TemplateExport["props"];
|
14
|
+
declare module "@marko/compiler/dist/types" {
|
15
|
+
interface ProgramExtra {
|
16
|
+
domExports?: {
|
17
|
+
template: string;
|
18
|
+
walks: string;
|
19
|
+
setup: string;
|
20
|
+
params: TemplateExport | undefined;
|
21
|
+
closures: string;
|
22
|
+
};
|
23
|
+
}
|
24
|
+
}
|
25
|
+
declare const _default: {
|
26
|
+
migrate: {
|
27
|
+
enter(this: unknown, program: t.NodePath<t.Program>): void;
|
28
|
+
exit(this: unknown): void;
|
29
|
+
};
|
30
|
+
analyze: {
|
31
|
+
enter(this: unknown, program: t.NodePath<t.Program>): void;
|
32
|
+
exit(this: unknown, program: t.NodePath<t.Program>): void;
|
33
|
+
};
|
34
|
+
translate: {
|
35
|
+
enter(this: unknown, program: t.NodePath<t.Program>): void;
|
36
|
+
exit(this: unknown, program: t.NodePath<t.Program>): void;
|
37
|
+
};
|
38
|
+
};
|
39
|
+
export default _default;
|
@@ -0,0 +1,7 @@
|
|
1
|
+
import { types as t } from "@marko/compiler";
|
2
|
+
declare const _default: {
|
3
|
+
migrate(this: unknown, identifier: t.NodePath<t.Identifier>): void;
|
4
|
+
analyze(this: unknown, identifier: t.NodePath<t.Identifier>): void;
|
5
|
+
translate(this: unknown, identifier: t.NodePath<t.Identifier>): void;
|
6
|
+
};
|
7
|
+
export default _default;
|
@@ -0,0 +1,8 @@
|
|
1
|
+
import type { types as t } from "@marko/compiler";
|
2
|
+
declare const _default: {
|
3
|
+
analyze(this: unknown, scriptlet: t.NodePath<t.MarkoScriptlet>): void;
|
4
|
+
translate: {
|
5
|
+
exit(this: unknown, scriptlet: t.NodePath<t.MarkoScriptlet>): void;
|
6
|
+
};
|
7
|
+
};
|
8
|
+
export default _default;
|
@@ -0,0 +1,11 @@
|
|
1
|
+
import { types as t } from "@marko/compiler";
|
2
|
+
declare const _default: {
|
3
|
+
analyze: {
|
4
|
+
enter(this: unknown, tag: t.NodePath<t.MarkoTag>): void;
|
5
|
+
};
|
6
|
+
translate: {
|
7
|
+
enter(this: unknown, tag: t.NodePath<t.MarkoTag>): void;
|
8
|
+
exit(this: unknown, tag: t.NodePath<t.MarkoTag>): void;
|
9
|
+
};
|
10
|
+
};
|
11
|
+
export default _default;
|
@@ -0,0 +1,19 @@
|
|
1
|
+
import { types as t } from "@marko/compiler";
|
2
|
+
import { type Binding } from "../../util/references";
|
3
|
+
declare const kChildScopeBinding: unique symbol;
|
4
|
+
declare module "@marko/compiler/dist/types" {
|
5
|
+
interface MarkoTagExtra {
|
6
|
+
[kChildScopeBinding]?: Binding;
|
7
|
+
}
|
8
|
+
}
|
9
|
+
declare const _default: {
|
10
|
+
analyze: {
|
11
|
+
enter(this: unknown, tag: t.NodePath<t.MarkoTag>): void;
|
12
|
+
};
|
13
|
+
translate: {
|
14
|
+
enter(this: unknown, tag: t.NodePath<t.MarkoTag>): void;
|
15
|
+
exit(this: unknown, tag: t.NodePath<t.MarkoTag>): void;
|
16
|
+
};
|
17
|
+
};
|
18
|
+
export default _default;
|
19
|
+
export declare function getTagRelativePath(tag: t.NodePath<t.MarkoTag>): string;
|
@@ -0,0 +1,18 @@
|
|
1
|
+
import { types as t } from "@marko/compiler";
|
2
|
+
import { type Binding } from "../../util/references";
|
3
|
+
declare const kDOMBinding: unique symbol;
|
4
|
+
declare module "@marko/compiler/dist/types" {
|
5
|
+
interface MarkoTagExtra {
|
6
|
+
[kDOMBinding]?: Binding;
|
7
|
+
}
|
8
|
+
}
|
9
|
+
declare const _default: {
|
10
|
+
analyze: {
|
11
|
+
enter(this: unknown, tag: t.NodePath<t.MarkoTag>): void;
|
12
|
+
};
|
13
|
+
translate: {
|
14
|
+
enter(this: unknown, tag: t.NodePath<t.MarkoTag>): void;
|
15
|
+
exit(this: unknown, tag: t.NodePath<t.MarkoTag>): void;
|
16
|
+
};
|
17
|
+
};
|
18
|
+
export default _default;
|
@@ -0,0 +1,15 @@
|
|
1
|
+
import { types as t } from "@marko/compiler";
|
2
|
+
declare const _default: {
|
3
|
+
transform: {
|
4
|
+
enter(this: unknown, tag: t.NodePath<t.MarkoTag>): void;
|
5
|
+
};
|
6
|
+
analyze: {
|
7
|
+
enter(this: unknown, tag: t.NodePath<t.MarkoTag>): void;
|
8
|
+
exit(this: unknown, tag: t.NodePath<t.MarkoTag>): void;
|
9
|
+
};
|
10
|
+
translate: {
|
11
|
+
enter(this: unknown, tag: t.NodePath<t.MarkoTag>): void;
|
12
|
+
exit(this: unknown, tag: t.NodePath<t.MarkoTag>): void;
|
13
|
+
};
|
14
|
+
};
|
15
|
+
export default _default;
|
@@ -0,0 +1,25 @@
|
|
1
|
+
import { types as t } from "@marko/compiler";
|
2
|
+
import { type Binding } from "../../util/references";
|
3
|
+
export declare const kNativeTagBinding: unique symbol;
|
4
|
+
export declare const kSerializeMarker: unique symbol;
|
5
|
+
declare const kGetterId: unique symbol;
|
6
|
+
declare module "@marko/compiler/dist/types" {
|
7
|
+
interface NodeExtra {
|
8
|
+
[kNativeTagBinding]?: Binding;
|
9
|
+
[kSerializeMarker]?: boolean;
|
10
|
+
[kGetterId]?: string;
|
11
|
+
}
|
12
|
+
}
|
13
|
+
declare const _default: {
|
14
|
+
transform: {
|
15
|
+
enter(this: unknown, tag: t.NodePath<t.MarkoTag>): void;
|
16
|
+
};
|
17
|
+
analyze: {
|
18
|
+
enter(this: unknown, tag: t.NodePath<t.MarkoTag>): void;
|
19
|
+
};
|
20
|
+
translate: {
|
21
|
+
enter(this: unknown, tag: t.NodePath<t.MarkoTag>): void;
|
22
|
+
exit(this: unknown, tag: t.NodePath<t.MarkoTag>): void;
|
23
|
+
};
|
24
|
+
};
|
25
|
+
export default _default;
|
package/index.d.ts
CHANGED
@@ -13,72 +13,27 @@ declare global {
|
|
13
13
|
namespace Marko {
|
14
14
|
/** A mutable global object for the current render. */
|
15
15
|
export interface Global {
|
16
|
-
|
17
|
-
|
16
|
+
[x: PropertyKey]: unknown;
|
17
|
+
/** An AbortSignal instance that, when aborted, stops further streamed content. */
|
18
|
+
signal?: AbortSignal;
|
18
19
|
/** A CSP Nonce to add to each script output from Marko. */
|
19
20
|
cspNonce?: string;
|
21
|
+
/** Used for rendering multiple Marko templates in a single hydrated page. */
|
22
|
+
renderId?: string;
|
20
23
|
/** Used to uniquely identify a instance of a Marko runtime. */
|
21
24
|
runtimeId?: string;
|
22
|
-
/**
|
23
|
-
|
24
|
-
|
25
|
+
/** A list of globals that should be serialized to the browser. */
|
26
|
+
serializedGlobals?:
|
27
|
+
| (string | number)[]
|
28
|
+
| Record<string | number, boolean>;
|
25
29
|
}
|
26
30
|
|
27
31
|
export type TemplateInput<Input> = Input & {
|
32
|
+
/** Data available within all rendered templates as `$global`. */
|
28
33
|
$global?: Global;
|
29
34
|
};
|
30
35
|
|
31
|
-
export interface Out<Component extends Marko.Component = Marko.Component>
|
32
|
-
extends PromiseLike<RenderResult<Component>> {
|
33
|
-
/** The underlying ReadableStream Marko is writing into. */
|
34
|
-
stream: unknown;
|
35
|
-
/** A mutable global object for the current render. */
|
36
|
-
global: Global;
|
37
|
-
/** Disable all async rendering. Will error if something beings async. */
|
38
|
-
sync(): void;
|
39
|
-
/** Returns true if async rendering is disabled. */
|
40
|
-
isSync(): boolean;
|
41
|
-
/** Write unescaped text at the current stream position. */
|
42
|
-
write(val: string | void): this;
|
43
|
-
/** Write javascript content to be merged with the scripts Marko sends out on the next flush. */
|
44
|
-
script(val: string | void): this;
|
45
|
-
/** Returns the currently rendered html content. */
|
46
|
-
toString(): string;
|
47
|
-
/** Starts a new async/forked stream. */
|
48
|
-
beginAsync(options?: {
|
49
|
-
name?: string;
|
50
|
-
timeout?: number;
|
51
|
-
last?: boolean;
|
52
|
-
}): Out;
|
53
|
-
/** Marks the current stream as complete (async streams may still be executing). */
|
54
|
-
end(val?: string | void): this;
|
55
|
-
emit(eventName: PropertyKey, ...args: any[]): boolean;
|
56
|
-
on(eventName: PropertyKey, listener: (...args: any[]) => any): this;
|
57
|
-
once(eventName: PropertyKey, listener: (...args: any[]) => any): this;
|
58
|
-
prependListener(
|
59
|
-
eventName: PropertyKey,
|
60
|
-
listener: (...args: any[]) => any,
|
61
|
-
): this;
|
62
|
-
removeListener(
|
63
|
-
eventName: PropertyKey,
|
64
|
-
listener: (...args: any[]) => any,
|
65
|
-
): this;
|
66
|
-
/** Register a callback executed when the last async out has completed. */
|
67
|
-
onLast(listener: (next: () => void) => unknown): this;
|
68
|
-
/** Pipe Marko's stream to another stream. */
|
69
|
-
pipe(stream: unknown): this;
|
70
|
-
/** Emits an error on the stream. */
|
71
|
-
error(e: Error): this;
|
72
|
-
/** Schedules a Marko to flush buffered html to the underlying stream. */
|
73
|
-
flush(): this;
|
74
|
-
/** Creates a detached out stream (used for out of order flushing). */
|
75
|
-
createOut(): Out;
|
76
|
-
/** Write escaped text at the current stream position. */
|
77
|
-
text(val: string | void): void;
|
78
|
-
}
|
79
|
-
|
80
36
|
/** Body content created from by a component, typically held in an object with a renderBody property. */
|
81
|
-
|
82
37
|
export interface Body<
|
83
38
|
in Params extends readonly any[] = [],
|
84
39
|
out Return = void,
|
@@ -99,122 +54,8 @@ declare global {
|
|
99
54
|
export type BodyParameters<B> =
|
100
55
|
B extends Body<infer Params, any> ? Params : never;
|
101
56
|
|
102
|
-
export class Component<Input = unknown, State = unknown>
|
103
|
-
implements Emitter
|
104
|
-
{
|
105
|
-
/** A unique id for this instance. */
|
106
|
-
public readonly id: string;
|
107
|
-
/** The top level element rendered by this instance. */
|
108
|
-
public readonly el: Element | void;
|
109
|
-
/** The attributes passed to this instance. */
|
110
|
-
public readonly input: Input;
|
111
|
-
/** @deprecated */
|
112
|
-
public readonly els: Element[];
|
113
|
-
/** Mutable state that when changed causes a rerender. */
|
114
|
-
state: State;
|
115
|
-
|
116
|
-
/** Returns the amount of event handlers listening to a specific event. */
|
117
|
-
listenerCount(eventName: PropertyKey): number;
|
118
|
-
/**
|
119
|
-
* Used to wrap an existing event emitted and ensure that all events are
|
120
|
-
* cleaned up once this component is destroyed
|
121
|
-
* */
|
122
|
-
subscribeTo(
|
123
|
-
emitter: unknown,
|
124
|
-
): Omit<Emitter, "listenerCount" | "prependListener" | "emit">;
|
125
|
-
/** Emits an event on the component instance. */
|
126
|
-
emit(eventName: PropertyKey, ...args: any[]): boolean;
|
127
|
-
/** Listen to an event on the component instance. */
|
128
|
-
on(eventName: PropertyKey, listener: (...args: any[]) => any): this;
|
129
|
-
/** Listen to an event on the component instance once. */
|
130
|
-
once(eventName: PropertyKey, listener: (...args: any[]) => any): this;
|
131
|
-
/** Listen to an event on the component instance before all other listeners. */
|
132
|
-
prependListener(
|
133
|
-
eventName: PropertyKey,
|
134
|
-
listener: (...args: any[]) => any,
|
135
|
-
): this;
|
136
|
-
/** Remove a listener from the component instance. */
|
137
|
-
removeListener(
|
138
|
-
eventName: PropertyKey,
|
139
|
-
listener: (...args: any[]) => any,
|
140
|
-
): this;
|
141
|
-
/** Remove all listeners from the component instance. */
|
142
|
-
removeAllListeners(eventName?: PropertyKey): this;
|
143
|
-
/** Removes the component instance from the DOM and cleans up all active event handlers including all children. */
|
144
|
-
destroy(): void;
|
145
|
-
/** Schedule an update (similar to if a state had been changed). */
|
146
|
-
forceUpdate(): void;
|
147
|
-
/** Generates a unique id derived from the current unique instance id (similar to :scoped in the template). */
|
148
|
-
elId(key?: string, index?: number): string;
|
149
|
-
/** @alias elId */
|
150
|
-
getElId(key?: string, index?: number): string;
|
151
|
-
/** Gets an element reference by its `key` attribute in the template. */
|
152
|
-
getEl<T extends Element | void = Element | void>(
|
153
|
-
key?: string,
|
154
|
-
index?: number,
|
155
|
-
): T;
|
156
|
-
/** Gets all element references by their `key` attribute in the template. */
|
157
|
-
getEls<T extends Element[] = Element[]>(key: string): T;
|
158
|
-
/** Gets a component reference by its `key` attribute in the template. */
|
159
|
-
getComponent<T extends Component | void = Component | void>(
|
160
|
-
key: string,
|
161
|
-
index?: number,
|
162
|
-
): T;
|
163
|
-
/** Gets all component references by their `key` attribute in the template. */
|
164
|
-
getComponents<T extends Component[] = Component[]>(key: string): T;
|
165
|
-
/** True if this instance has been removed from the dom. */
|
166
|
-
/** True if this instance is scheduled to rerender. */
|
167
|
-
isDestroyed(): boolean;
|
168
|
-
/** Replace the entire state object with a new one, removing old properties. */
|
169
|
-
replaceState(state: this["state"]): void;
|
170
|
-
/**
|
171
|
-
* Update a property on this.state (should prefer mutating this.state directly).
|
172
|
-
* When passed an object as the first argument, it will be merged into the state.
|
173
|
-
*/
|
174
|
-
setState<Key extends PropertyKey>(
|
175
|
-
name: Key & keyof this["state"],
|
176
|
-
value: (this["state"] & Record<PropertyKey, unknown>)[Key],
|
177
|
-
): void;
|
178
|
-
setState(value: Partial<this["state"]>): void;
|
179
|
-
|
180
|
-
/** Schedules an update related to a specific state property and optionally updates the value. */
|
181
|
-
setStateDirty<Key extends PropertyKey>(
|
182
|
-
name: Key & keyof this["state"],
|
183
|
-
value?: (this["state"] & Record<PropertyKey, unknown>)[Key],
|
184
|
-
): void;
|
185
|
-
/** Synchronously flush any scheduled updates. */
|
186
|
-
update(): void;
|
187
|
-
/** Appends the dom for the current instance to a parent DOM element. */
|
188
|
-
appendTo(target: ParentNode): this;
|
189
|
-
/** Inserts the dom for the current instance after a sibling DOM element. */
|
190
|
-
insertAfter(target: ChildNode): this;
|
191
|
-
/** Inserts the dom for the current instance before a sibling DOM element. */
|
192
|
-
insertBefore(target: ChildNode): this;
|
193
|
-
/** Prepends the dom for the current instance to a parent DOM element. */
|
194
|
-
prependTo(target: ParentNode): this;
|
195
|
-
/** Replaces an existing DOM element with the dom for the current instance. */
|
196
|
-
replace(target: ChildNode): this;
|
197
|
-
/** Replaces the children of an existing DOM element with the dom for the current instance. */
|
198
|
-
replaceChildrenOf(target: ParentNode): this;
|
199
|
-
// /** Called when the component is firsted created. */
|
200
|
-
// onCreate?(input: this["input"], out: Marko.Out): void;
|
201
|
-
// /** Called every time the component receives input from it's parent. */
|
202
|
-
// onInput?(input: this["input"], out: Marko.Out): void | this["input"];
|
203
|
-
// /** Called after a component has successfully rendered, but before it's update has been applied to the dom. */
|
204
|
-
// onRender?(out: Marko.Out): void;
|
205
|
-
// /** Called after the first time the component renders and is attached to the dom. */
|
206
|
-
// onMount?(): void;
|
207
|
-
// /** Called when a components render has been applied to the DOM (excluding when it is initially mounted). */
|
208
|
-
// onUpdate?(): void;
|
209
|
-
// /** Called when a component is destroyed and removed from the dom. */
|
210
|
-
// onDestroy?(): void;
|
211
|
-
}
|
212
|
-
|
213
57
|
/** The top level api for a Marko Template. */
|
214
58
|
export abstract class Template<Input = unknown, Return = unknown> {
|
215
|
-
/** Creates a Marko compatible output stream. */
|
216
|
-
createOut(): Out;
|
217
|
-
|
218
59
|
/**
|
219
60
|
* The folowing types are processed up by the @marko/language-tools
|
220
61
|
* and inlined into the compiled template.
|
@@ -226,99 +67,34 @@ declare global {
|
|
226
67
|
*/
|
227
68
|
|
228
69
|
/** @marko-overload-start */
|
229
|
-
/**
|
230
|
-
abstract render(
|
70
|
+
/** Render the template to a string. */
|
71
|
+
abstract render(input: Marko.TemplateInput<Input>): Promise<string> &
|
72
|
+
AsyncIterable<string> & {
|
73
|
+
toReadable(): ReadableStream;
|
74
|
+
pipe(stream: {
|
75
|
+
write(chunk: string): unknown;
|
76
|
+
end(): unknown;
|
77
|
+
flush?(): void;
|
78
|
+
}): void;
|
79
|
+
toString(): string;
|
80
|
+
};
|
81
|
+
|
82
|
+
/** Render and attach the template to a DOM node. */
|
83
|
+
abstract mount(
|
231
84
|
input: Marko.TemplateInput<Input>,
|
232
|
-
|
233
|
-
|
234
|
-
|
235
|
-
|
236
|
-
|
237
|
-
|
238
|
-
/** Asynchronously render the template in buffered mode. */
|
239
|
-
abstract render(
|
240
|
-
input: Marko.TemplateInput<Input>,
|
241
|
-
cb?: (
|
242
|
-
err: Error | null,
|
243
|
-
result: Marko.RenderResult<Marko.Component>,
|
244
|
-
) => void,
|
245
|
-
): Marko.Out<Marko.Component>;
|
246
|
-
|
247
|
-
/** Synchronously render the template. */
|
248
|
-
abstract renderSync(
|
249
|
-
input: Marko.TemplateInput<Input>,
|
250
|
-
): Marko.RenderResult<Marko.Component>;
|
251
|
-
|
252
|
-
/** Synchronously render a template to a string. */
|
253
|
-
abstract renderToString(input: Marko.TemplateInput<Input>): string;
|
254
|
-
|
255
|
-
/** Render a template and return a stream.Readable in nodejs or a ReadableStream in a web worker environment. */
|
256
|
-
abstract stream(
|
257
|
-
input: Marko.TemplateInput<Input>,
|
258
|
-
): ReadableStream<string> & NodeJS.ReadableStream;
|
85
|
+
reference: ParentNode & Node,
|
86
|
+
position?: "afterbegin" | "afterend" | "beforebegin" | "beforeend",
|
87
|
+
): {
|
88
|
+
update(input: Marko.TemplateInput<Input>): void;
|
89
|
+
destroy(): void;
|
90
|
+
};
|
259
91
|
/** @marko-overload-end */
|
260
92
|
}
|
261
93
|
|
262
|
-
export interface RenderResult<
|
263
|
-
out Component extends Marko.Component = Marko.Component,
|
264
|
-
> {
|
265
|
-
/** Returns the component created as a result of rendering the template. */
|
266
|
-
getComponent(): Component;
|
267
|
-
getComponents(selector?: any): any;
|
268
|
-
/** Triggers the mount lifecycle of a component without necessarily attaching it to the DOM. */
|
269
|
-
afterInsert(host?: any): this;
|
270
|
-
/** Gets the DOM node rendered by a template. */
|
271
|
-
getNode(host?: any): Node;
|
272
|
-
/** Gets the HTML output of the rendered template. */
|
273
|
-
toString(): string;
|
274
|
-
/** Appends the dom of the rendered template to a parent DOM element. */
|
275
|
-
appendTo(target: ParentNode): this;
|
276
|
-
/** Inserts the dom of the rendered template after a sibling DOM element. */
|
277
|
-
insertAfter(target: ChildNode): this;
|
278
|
-
/** Inserts the dom of the rendered template before a sibling DOM element. */
|
279
|
-
insertBefore(target: ChildNode): this;
|
280
|
-
/** Prepends the dom of the rendered template to a parent DOM element. */
|
281
|
-
prependTo(target: ParentNode): this;
|
282
|
-
/** Replaces an existing DOM element with the dom of the rendered template. */
|
283
|
-
replace(target: ChildNode): this;
|
284
|
-
/** Replaces the children of an existing DOM element with the dom of the rendered template. */
|
285
|
-
replaceChildrenOf(target: ParentNode): this;
|
286
|
-
out: Out<Component>;
|
287
|
-
/** @deprecated */
|
288
|
-
document: any;
|
289
|
-
/** @deprecated */
|
290
|
-
getOutput(): string;
|
291
|
-
/** @deprecated */
|
292
|
-
html: string;
|
293
|
-
/** @deprecated */
|
294
|
-
context: Out<Component>;
|
295
|
-
}
|
296
|
-
|
297
|
-
export interface Emitter {
|
298
|
-
listenerCount(eventName: PropertyKey): number;
|
299
|
-
emit(eventName: PropertyKey, ...args: any[]): boolean;
|
300
|
-
on(eventName: PropertyKey, listener: (...args: any[]) => any): this;
|
301
|
-
once(eventName: PropertyKey, listener: (...args: any[]) => any): this;
|
302
|
-
prependListener(
|
303
|
-
eventName: PropertyKey,
|
304
|
-
listener: (...args: any[]) => any,
|
305
|
-
): this;
|
306
|
-
removeListener(
|
307
|
-
eventName: PropertyKey,
|
308
|
-
listener: (...args: any[]) => any,
|
309
|
-
): this;
|
310
|
-
removeAllListeners(eventName?: PropertyKey): this;
|
311
|
-
}
|
312
|
-
|
313
94
|
export type AttrTag<T> = T & {
|
314
95
|
[Symbol.iterator](): Iterator<T>;
|
315
96
|
};
|
316
97
|
|
317
|
-
/**
|
318
|
-
* @deprecated Prefer to use AttrTag
|
319
|
-
*/
|
320
|
-
export type RepeatableAttrTag<T> = AttrTag<T>;
|
321
|
-
|
322
98
|
export interface NativeTag<
|
323
99
|
Input extends Record<string, any>,
|
324
100
|
Return extends Element,
|
@@ -364,12 +140,5 @@ declare global {
|
|
364
140
|
| Body<any, infer Return>
|
365
141
|
? Return
|
366
142
|
: never;
|
367
|
-
|
368
|
-
/** @deprecated @see {@link Marko.Input} */
|
369
|
-
export type NativeTagInput<Name extends keyof NativeTags> =
|
370
|
-
NativeTags[Name]["input"];
|
371
|
-
/** @deprecated @see {@link Marko.Return} */
|
372
|
-
export type NativeTagReturn<Name extends keyof NativeTags> =
|
373
|
-
NativeTags[Name]["return"];
|
374
143
|
}
|
375
144
|
}
|
package/package.json
CHANGED
@@ -1,91 +1,64 @@
|
|
1
1
|
{
|
2
2
|
"name": "marko",
|
3
|
-
"version": "
|
4
|
-
"description": "
|
3
|
+
"version": "6.0.0-3.12",
|
4
|
+
"description": "Optimized runtime for Marko templates.",
|
5
5
|
"keywords": [
|
6
|
-
"
|
7
|
-
"
|
8
|
-
"
|
9
|
-
"
|
10
|
-
"streaming",
|
11
|
-
"components",
|
12
|
-
"ui",
|
13
|
-
"vdom",
|
14
|
-
"dom",
|
15
|
-
"morphdom",
|
16
|
-
"virtual",
|
17
|
-
"virtual-dom"
|
6
|
+
"api",
|
7
|
+
"marko",
|
8
|
+
"runtime",
|
9
|
+
"tags"
|
18
10
|
],
|
19
|
-
"homepage": "https://
|
11
|
+
"homepage": "https://github.com/marko-js/marko",
|
12
|
+
"bugs": "https://github.com/marko-js/marko/issues",
|
20
13
|
"repository": {
|
21
14
|
"type": "git",
|
22
15
|
"url": "git+https://github.com/marko-js/marko.git",
|
23
|
-
"directory": "packages/runtime-
|
16
|
+
"directory": "packages/runtime-tags"
|
24
17
|
},
|
25
18
|
"license": "MIT",
|
26
|
-
"
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
"
|
31
|
-
"
|
32
|
-
"
|
33
|
-
"
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
"
|
39
|
-
|
40
|
-
|
19
|
+
"exports": {
|
20
|
+
".": {
|
21
|
+
"types": "./index.d.ts"
|
22
|
+
},
|
23
|
+
"./package.json": "./package.json",
|
24
|
+
"./translator": "./dist/translator/index.js",
|
25
|
+
"./tag-types/*": "./tag-types/*",
|
26
|
+
"./debug/*": {
|
27
|
+
"types": "./dist/*.d.ts",
|
28
|
+
"import": "./dist/debug/*.mjs",
|
29
|
+
"default": "./dist/debug/*.js"
|
30
|
+
},
|
31
|
+
"./*": {
|
32
|
+
"types": "./dist/*.d.ts",
|
33
|
+
"import": "./dist/*.mjs",
|
34
|
+
"default": "./dist/*.js"
|
35
|
+
}
|
41
36
|
},
|
42
37
|
"types": "index.d.ts",
|
43
|
-
"bin": {
|
44
|
-
"markoc": "bin/markoc"
|
45
|
-
},
|
46
38
|
"files": [
|
47
|
-
"bin",
|
48
39
|
"dist",
|
49
|
-
"
|
50
|
-
"src",
|
51
|
-
"helpers",
|
52
|
-
"browser-refresh.js",
|
53
|
-
"compiler-browser.marko",
|
54
|
-
"compiler.js",
|
55
|
-
"components-browser.marko",
|
56
|
-
"components.js",
|
57
|
-
"legacy-components-browser.marko",
|
58
|
-
"legacy-components.js",
|
59
|
-
"env.js",
|
40
|
+
"tag-types",
|
60
41
|
"index.d.ts",
|
61
|
-
"index-browser.marko",
|
62
|
-
"index.js",
|
63
|
-
"node-require.js",
|
64
42
|
"tags-html.d.ts",
|
65
|
-
"
|
66
|
-
"
|
43
|
+
"!**/meta.*.json",
|
44
|
+
"!**/__tests__",
|
45
|
+
"!**/*.tsbuildinfo"
|
67
46
|
],
|
68
47
|
"scripts": {
|
69
|
-
"build": "
|
48
|
+
"build": "node -r ~ts ./scripts/bundle.ts"
|
70
49
|
},
|
71
50
|
"dependencies": {
|
72
|
-
"@babel/runtime": "^7.26.0",
|
73
51
|
"@marko/compiler": "^5.39.5",
|
74
|
-
"app-module-path": "^2.2.0",
|
75
|
-
"argly": "^1.2.0",
|
76
|
-
"browser-refresh-client": "1.1.4",
|
77
|
-
"complain": "^1.6.1",
|
78
52
|
"csstype": "^3.1.3",
|
79
|
-
"
|
80
|
-
"listener-tracker": "^2.0.0",
|
81
|
-
"magic-string": "^0.30.17",
|
82
|
-
"minimatch": "^9.0.5",
|
83
|
-
"raptor-util": "^3.2.0",
|
84
|
-
"resolve-from": "^5.0.0",
|
85
|
-
"self-closing-tags": "^1.0.1",
|
86
|
-
"warp10": "^2.1.0"
|
53
|
+
"magic-string": "^0.30.17"
|
87
54
|
},
|
88
|
-
"
|
89
|
-
"
|
55
|
+
"exports:override": {
|
56
|
+
".": {
|
57
|
+
"types": "./index.d.ts"
|
58
|
+
},
|
59
|
+
"./translator": "./src/translator/index.ts",
|
60
|
+
"./tag-types/*": "./tag-types/*",
|
61
|
+
"./debug/*": "./src/*.ts",
|
62
|
+
"./*": "./src/*.ts"
|
90
63
|
}
|
91
64
|
}
|