marko 4.24.6 → 4.26.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (317) hide show
  1. package/bin/markoc.js +18 -18
  2. package/dist/compiler/CompileContext.js +3 -8
  3. package/dist/core-tags/components/init-components-tag.js +1 -52
  4. package/dist/core-tags/components/package.json +1 -3
  5. package/dist/core-tags/components/preferred-script-location-tag.js +2 -2
  6. package/dist/core-tags/components/preserve-tag.js +1 -27
  7. package/dist/core-tags/core/await/AsyncValue.js +20 -20
  8. package/dist/core-tags/core/await/renderer.js +11 -12
  9. package/dist/core-tags/core/await/reorderer-renderer.js +11 -6
  10. package/dist/index.js +1 -39
  11. package/dist/node-require/index.js +11 -0
  12. package/dist/node_modules/@internal/components-beginComponent/index-browser.js +12 -0
  13. package/dist/{runtime/components/beginComponent.js → node_modules/@internal/components-beginComponent/index.js} +14 -14
  14. package/dist/node_modules/@internal/components-beginComponent/package.json +11 -0
  15. package/dist/{runtime/components/legacy/defineWidget-legacy-browser.js → node_modules/@internal/components-define-widget-legacy/index-browser.js} +47 -47
  16. package/dist/node_modules/@internal/components-define-widget-legacy/index.js +18 -0
  17. package/dist/node_modules/@internal/components-define-widget-legacy/package.json +11 -0
  18. package/dist/node_modules/@internal/components-endComponent/index.js +11 -0
  19. package/dist/node_modules/@internal/components-endComponent/package.json +11 -0
  20. package/dist/node_modules/@internal/components-entry/index-browser.js +9 -0
  21. package/dist/node_modules/@internal/components-entry/index.js +285 -0
  22. package/dist/node_modules/@internal/components-entry/package.json +11 -0
  23. package/dist/{runtime/components/legacy → node_modules/@internal/components-entry-legacy}/index-browser.js +14 -15
  24. package/dist/node_modules/@internal/components-entry-legacy/index.js +14 -0
  25. package/dist/node_modules/@internal/components-entry-legacy/package.json +11 -0
  26. package/dist/{runtime/components/init-components-browser.js → node_modules/@internal/components-registry/index-browser.js} +180 -79
  27. package/dist/node_modules/@internal/components-registry/index.js +34 -0
  28. package/dist/node_modules/@internal/components-registry/package.json +11 -0
  29. package/dist/{runtime/components/util-browser.js → node_modules/@internal/components-util/index-browser.js} +23 -24
  30. package/dist/{runtime/components/util.js → node_modules/@internal/components-util/index.js} +10 -12
  31. package/dist/node_modules/@internal/components-util/package.json +11 -0
  32. package/dist/node_modules/@internal/create-readable/index-browser.js +25 -0
  33. package/dist/node_modules/@internal/create-readable/index.js +52 -0
  34. package/dist/node_modules/@internal/create-readable/package.json +11 -0
  35. package/dist/node_modules/@internal/init-components-tag/index.js +52 -0
  36. package/dist/node_modules/@internal/init-components-tag/package.json +11 -0
  37. package/dist/{loader/index-default.js → node_modules/@internal/loader/index.js} +1 -1
  38. package/dist/node_modules/@internal/loader/package.json +11 -0
  39. package/dist/{core-tags/components/preserve-tag-browser.js → node_modules/@internal/preserve-tag/index-browser.js} +8 -8
  40. package/dist/node_modules/@internal/preserve-tag/index.js +27 -0
  41. package/dist/node_modules/@internal/preserve-tag/package.json +11 -0
  42. package/dist/node_modules/@internal/set-immediate/index-browser.js +17 -0
  43. package/dist/node_modules/@internal/set-immediate/index-worker.js +2 -0
  44. package/dist/node_modules/@internal/set-immediate/index.js +2 -0
  45. package/dist/node_modules/@internal/set-immediate/package.json +11 -0
  46. package/dist/runtime/RenderResult.js +24 -19
  47. package/dist/runtime/components/Component.js +154 -151
  48. package/dist/runtime/components/ComponentDef.js +28 -28
  49. package/dist/runtime/components/ComponentsContext.js +19 -19
  50. package/dist/runtime/components/GlobalComponentsContext.js +4 -4
  51. package/dist/runtime/components/KeySequence.js +3 -3
  52. package/dist/runtime/components/ServerComponent.js +13 -13
  53. package/dist/runtime/components/State.js +28 -28
  54. package/dist/runtime/components/attach-detach.js +9 -9
  55. package/dist/runtime/components/defineComponent.js +5 -5
  56. package/dist/runtime/components/dom-data.js +6 -6
  57. package/dist/runtime/components/event-delegation.js +15 -16
  58. package/dist/runtime/components/index.js +1 -285
  59. package/dist/runtime/components/legacy/browser.json +1 -1
  60. package/dist/runtime/components/legacy/defineComponent-legacy.js +1 -1
  61. package/dist/runtime/components/legacy/defineRenderer-legacy.js +18 -19
  62. package/dist/runtime/components/legacy/defineWidget-legacy.js +1 -18
  63. package/dist/runtime/components/legacy/dependencies/html.js +1 -1
  64. package/dist/runtime/components/legacy/dependencies/index.js +9 -9
  65. package/dist/runtime/components/legacy/helper-getWidgetFromOut.js +3 -3
  66. package/dist/runtime/components/legacy/index.js +1 -14
  67. package/dist/runtime/components/legacy/renderer-legacy.js +43 -43
  68. package/dist/runtime/components/registry.js +1 -34
  69. package/dist/runtime/components/renderer.js +38 -38
  70. package/dist/runtime/components/update-manager.js +10 -10
  71. package/dist/runtime/createOut.js +1 -1
  72. package/dist/runtime/dom-insert.js +6 -6
  73. package/dist/runtime/helpers/_change-case.js +2 -2
  74. package/dist/runtime/helpers/assign.js +3 -2
  75. package/dist/runtime/helpers/dynamic-tag.js +14 -16
  76. package/dist/runtime/helpers/load-template.js +1 -1
  77. package/dist/runtime/helpers/merge.js +3 -1
  78. package/dist/runtime/helpers/style-value.js +2 -2
  79. package/dist/runtime/html/AsyncStream.js +61 -52
  80. package/dist/runtime/html/BufferedWriter.js +5 -1
  81. package/dist/runtime/html/StringWriter.js +7 -3
  82. package/dist/runtime/html/helpers/_dynamic-attr.js +2 -2
  83. package/dist/runtime/html/helpers/attr.js +4 -4
  84. package/dist/runtime/html/helpers/attrs.js +3 -3
  85. package/dist/runtime/html/helpers/data-marko.js +4 -6
  86. package/dist/runtime/html/helpers/escape-quotes.js +2 -2
  87. package/dist/runtime/html/helpers/escape-xml.js +1 -1
  88. package/dist/runtime/html/helpers/props-script.js +1 -1
  89. package/dist/runtime/html/index.js +15 -12
  90. package/dist/runtime/renderable.js +5 -5
  91. package/dist/runtime/vdom/AsyncVDOMBuilder.js +102 -103
  92. package/dist/runtime/vdom/VComment.js +7 -7
  93. package/dist/runtime/vdom/VComponent.js +5 -5
  94. package/dist/runtime/vdom/VDocumentFragment.js +8 -8
  95. package/dist/runtime/vdom/VElement.js +55 -54
  96. package/dist/runtime/vdom/VFragment.js +9 -9
  97. package/dist/runtime/vdom/VNode.js +30 -30
  98. package/dist/runtime/vdom/VText.js +7 -7
  99. package/dist/runtime/vdom/helpers/v-element.js +1 -1
  100. package/dist/runtime/vdom/helpers/v-text.js +1 -1
  101. package/dist/runtime/vdom/index.js +12 -22
  102. package/dist/runtime/vdom/morphdom/fragment.js +5 -5
  103. package/dist/runtime/vdom/morphdom/helpers.js +3 -3
  104. package/dist/runtime/vdom/morphdom/index.js +72 -68
  105. package/dist/runtime/vdom/morphdom/specialElHandlers.js +8 -8
  106. package/dist/runtime/vdom/preserve-attrs.js +1 -1
  107. package/dist/runtime/vdom/vdom.js +19 -21
  108. package/docs/body-content.md +2 -2
  109. package/docs/class-components.md +3 -3
  110. package/docs/express.md +1 -1
  111. package/docs/lasso.md +3 -6
  112. package/docs/marko-v4.md +5 -5
  113. package/docs/redux.md +1 -1
  114. package/docs/server-side-rendering.md +2 -2
  115. package/docs/why-is-marko-fast.md +2 -10
  116. package/package.json +4 -4
  117. package/src/browser-refresh.js +2 -2
  118. package/src/compiler/CodeWriter.js +1 -3
  119. package/src/compiler/CompileContext.js +3 -8
  120. package/src/compiler/Compiler.js +4 -4
  121. package/src/compiler/HtmlJsParser.js +1 -1
  122. package/src/compiler/Migrator.js +1 -1
  123. package/src/compiler/Parser.js +3 -3
  124. package/src/compiler/ast/CustomTag.js +9 -11
  125. package/src/compiler/ast/HtmlAttribute/html/generateCode.js +2 -2
  126. package/src/compiler/ast/HtmlAttribute/index.js +1 -1
  127. package/src/compiler/ast/HtmlElement/vdom/HtmlElementVDOM.js +1 -1
  128. package/src/compiler/ast/HtmlElement/vdom/generateCode.js +1 -1
  129. package/src/compiler/ast/TemplateRoot.js +1 -1
  130. package/src/compiler/ast/Text/html/generateCode.js +3 -3
  131. package/src/compiler/ast/Text/vdom/generateCode.js +1 -1
  132. package/src/compiler/index.js +4 -4
  133. package/src/compiler/modules.js +4 -4
  134. package/src/compiler/util/finger-print.js +1 -1
  135. package/src/compiler/util/parseExpression.js +1 -1
  136. package/src/compiler/util/parseStatement.js +1 -1
  137. package/src/compiler/util/removeDashes.js +1 -1
  138. package/src/compiler/util/safeVarName.js +1 -1
  139. package/src/compiler/util/tokenizer.js +1 -1
  140. package/src/core-tags/cache/cached-fragment-tag-transformer.js +1 -1
  141. package/src/core-tags/cache/cached-fragment-tag.js +4 -4
  142. package/src/core-tags/cache/default-cache-manager.js +3 -3
  143. package/src/core-tags/components/TransformHelper/ComponentArgsCompiler.js +1 -1
  144. package/src/core-tags/components/TransformHelper/convertToComponent.js +1 -1
  145. package/src/core-tags/components/TransformHelper/handleComponentPreserveAttrs.js +1 -1
  146. package/src/core-tags/components/init-components-tag.js +1 -54
  147. package/src/core-tags/components/package.json +1 -3
  148. package/src/core-tags/components/preferred-script-location-tag.js +1 -1
  149. package/src/core-tags/components/preserve-tag.js +1 -27
  150. package/src/core-tags/components/util/getTransformHelper.js +1 -1
  151. package/src/core-tags/core/await/AsyncValue.js +3 -3
  152. package/src/core-tags/core/await/noop-render.js +1 -1
  153. package/src/core-tags/core/await/renderer.js +8 -7
  154. package/src/core-tags/core/await/reorderer-renderer.js +35 -14
  155. package/src/core-tags/core/await/transformer.js +1 -1
  156. package/src/core-tags/core/core-transformer.js +2 -2
  157. package/src/core-tags/migrate/all-tags/index.js +1 -1
  158. package/src/core-tags/migrate/all-templates/index.js +1 -1
  159. package/src/core-tags/migrate/include-tag.js +3 -2
  160. package/src/core-tags/migrate/util/parseFor.js +3 -2
  161. package/src/core-tags/migrate/util/printJS.js +1 -1
  162. package/src/defineRenderer.js +1 -1
  163. package/src/express.js +1 -1
  164. package/src/hot-reload.js +5 -5
  165. package/src/index.js +1 -41
  166. package/src/legacy-helpers/notEmpty.js +1 -1
  167. package/src/node-require/index.js +12 -1
  168. package/src/{runtime/components/beginComponent-browser.js → node_modules/@internal/components-beginComponent/index-browser.js} +1 -1
  169. package/src/{runtime/components/beginComponent.js → node_modules/@internal/components-beginComponent/index.js} +2 -2
  170. package/src/node_modules/@internal/components-beginComponent/package.json +11 -0
  171. package/src/{runtime/components/legacy/defineWidget-legacy-browser.js → node_modules/@internal/components-define-widget-legacy/index-browser.js} +21 -23
  172. package/src/node_modules/@internal/components-define-widget-legacy/index.js +18 -0
  173. package/src/node_modules/@internal/components-define-widget-legacy/package.json +11 -0
  174. package/src/{runtime/components/endComponent.js → node_modules/@internal/components-endComponent/index.js} +1 -1
  175. package/src/node_modules/@internal/components-endComponent/package.json +11 -0
  176. package/src/node_modules/@internal/components-entry/index-browser.js +9 -0
  177. package/src/node_modules/@internal/components-entry/index.js +301 -0
  178. package/src/node_modules/@internal/components-entry/package.json +11 -0
  179. package/src/node_modules/@internal/components-entry-legacy/index-browser.js +74 -0
  180. package/src/node_modules/@internal/components-entry-legacy/index.js +15 -0
  181. package/src/node_modules/@internal/components-entry-legacy/package.json +11 -0
  182. package/src/{runtime/components/init-components-browser.js → node_modules/@internal/components-registry/index-browser.js} +240 -75
  183. package/src/node_modules/@internal/components-registry/index.js +44 -0
  184. package/src/node_modules/@internal/components-registry/package.json +11 -0
  185. package/src/{runtime/components/util-browser.js → node_modules/@internal/components-util/index-browser.js} +11 -10
  186. package/src/{runtime/components/util.js → node_modules/@internal/components-util/index.js} +0 -2
  187. package/src/node_modules/@internal/components-util/package.json +11 -0
  188. package/src/node_modules/@internal/create-readable/index-browser.js +30 -0
  189. package/src/node_modules/@internal/create-readable/index.js +57 -0
  190. package/src/node_modules/@internal/create-readable/package.json +11 -0
  191. package/src/node_modules/@internal/init-components-tag/index.js +54 -0
  192. package/src/node_modules/@internal/init-components-tag/package.json +11 -0
  193. package/src/{loader/index-default.js → node_modules/@internal/loader/index.js} +2 -2
  194. package/src/node_modules/@internal/loader/package.json +11 -0
  195. package/src/node_modules/@internal/preserve-tag/index.js +27 -0
  196. package/src/node_modules/@internal/preserve-tag/package.json +11 -0
  197. package/src/node_modules/@internal/set-immediate/index-browser.js +17 -0
  198. package/src/node_modules/@internal/set-immediate/index-worker.js +2 -0
  199. package/src/node_modules/@internal/set-immediate/index.js +2 -0
  200. package/src/node_modules/@internal/set-immediate/package.json +11 -0
  201. package/src/runtime/RenderResult.js +20 -18
  202. package/src/runtime/components/Component.js +44 -41
  203. package/src/runtime/components/ComponentDef.js +9 -9
  204. package/src/runtime/components/ComponentsContext.js +4 -5
  205. package/src/runtime/components/GlobalComponentsContext.js +2 -1
  206. package/src/runtime/components/KeySequence.js +1 -1
  207. package/src/runtime/components/State.js +6 -6
  208. package/src/runtime/components/attach-detach.js +4 -4
  209. package/src/runtime/components/defineComponent.js +1 -1
  210. package/src/runtime/components/event-delegation.js +10 -10
  211. package/src/runtime/components/index.js +1 -301
  212. package/src/runtime/components/jquery.js +2 -2
  213. package/src/runtime/components/legacy/browser.json +1 -1
  214. package/src/runtime/components/legacy/defineRenderer-legacy.js +5 -6
  215. package/src/runtime/components/legacy/defineWidget-legacy.js +1 -18
  216. package/src/runtime/components/legacy/dependencies/html.js +1 -1
  217. package/src/runtime/components/legacy/dependencies/index.js +3 -3
  218. package/src/runtime/components/legacy/helper-getWidgetFromOut.js +3 -3
  219. package/src/runtime/components/legacy/index.js +1 -15
  220. package/src/runtime/components/legacy/renderer-legacy.js +7 -7
  221. package/src/runtime/components/ready.js +2 -2
  222. package/src/runtime/components/registry.js +1 -44
  223. package/src/runtime/components/renderer.js +4 -4
  224. package/src/runtime/components/update-manager.js +1 -1
  225. package/src/runtime/dom-insert.js +8 -8
  226. package/src/runtime/helpers/_weak-map.js +2 -2
  227. package/src/runtime/helpers/assign.js +3 -1
  228. package/src/runtime/helpers/bind-component.js +2 -2
  229. package/src/runtime/helpers/dynamic-tag.js +2 -4
  230. package/src/runtime/helpers/for-in.js +1 -1
  231. package/src/runtime/helpers/load-nested-tag.js +1 -1
  232. package/src/runtime/helpers/load-template.js +1 -1
  233. package/src/runtime/helpers/merge.js +3 -1
  234. package/src/runtime/helpers/noop.js +1 -1
  235. package/src/runtime/helpers/style-value.js +1 -1
  236. package/src/runtime/helpers/to-string.js +1 -1
  237. package/src/runtime/html/AsyncStream.js +90 -76
  238. package/src/runtime/html/BufferedWriter.js +6 -2
  239. package/src/runtime/html/StringWriter.js +15 -9
  240. package/src/runtime/html/helpers/attrs.js +3 -3
  241. package/src/runtime/html/helpers/data-marko.js +0 -2
  242. package/src/runtime/html/helpers/escape-quotes.js +1 -1
  243. package/src/runtime/html/helpers/escape-xml.js +1 -1
  244. package/src/runtime/html/index.js +23 -13
  245. package/src/runtime/queueMicrotask.js +2 -2
  246. package/src/runtime/renderable.js +9 -9
  247. package/src/runtime/vdom/AsyncVDOMBuilder.js +46 -51
  248. package/src/runtime/vdom/VComment.js +3 -3
  249. package/src/runtime/vdom/VDocumentFragment.js +3 -3
  250. package/src/runtime/vdom/VElement.js +17 -13
  251. package/src/runtime/vdom/VFragment.js +1 -1
  252. package/src/runtime/vdom/VNode.js +2 -2
  253. package/src/runtime/vdom/VText.js +3 -3
  254. package/src/runtime/vdom/helpers/attrs.js +1 -1
  255. package/src/runtime/vdom/helpers/const.js +2 -2
  256. package/src/runtime/vdom/helpers/v-element.js +1 -1
  257. package/src/runtime/vdom/helpers/v-text.js +1 -1
  258. package/src/runtime/vdom/index.js +21 -23
  259. package/src/runtime/vdom/morphdom/fragment.js +8 -7
  260. package/src/runtime/vdom/morphdom/index.js +19 -9
  261. package/src/runtime/vdom/morphdom/specialElHandlers.js +6 -6
  262. package/src/runtime/vdom/parse-html.js +4 -4
  263. package/src/runtime/vdom/preserve-attrs.js +1 -1
  264. package/src/runtime/vdom/vdom.js +5 -7
  265. package/src/taglib/taglib-finder/index.js +1 -1
  266. package/src/taglib/taglib-loader/Tag.js +5 -5
  267. package/src/taglib/taglib-loader/Taglib.js +2 -2
  268. package/src/taglib/taglib-loader/json-file-reader.js +1 -1
  269. package/src/taglib/taglib-loader/loadAttributeFromProps.js +1 -1
  270. package/src/taglib/taglib-loader/loadTagFromProps.js +5 -6
  271. package/src/taglib/taglib-loader/tag-def-from-code.js +2 -1
  272. package/src/taglib/taglib-lookup/TaglibLookup.js +2 -2
  273. package/src/taglib/taglib-lookup/index.js +1 -1
  274. package/dist/core-tags/core/await/client-reorder-browser.js +0 -1
  275. package/dist/core-tags/core/await/client-reorder-runtime.min.js +0 -5
  276. package/dist/core-tags/core/await/client-reorder.js +0 -11
  277. package/dist/core-tags/core/await/package.json +0 -6
  278. package/dist/index-browser.js +0 -4
  279. package/dist/loader/index.js +0 -7
  280. package/dist/loader/package.json +0 -5
  281. package/dist/node-require/index-browser.js +0 -1
  282. package/dist/package.json +0 -5
  283. package/dist/runtime/components/beginComponent-browser.js +0 -12
  284. package/dist/runtime/components/endComponent.js +0 -11
  285. package/dist/runtime/components/index-browser.js +0 -14
  286. package/dist/runtime/components/init-components.js +0 -1
  287. package/dist/runtime/components/legacy/package.json +0 -6
  288. package/dist/runtime/components/package.json +0 -12
  289. package/dist/runtime/components/registry-browser.js +0 -73
  290. package/dist/runtime/html/Template.js +0 -63
  291. package/dist/runtime/package.json +0 -5
  292. package/dist/runtime/setImmediate.js +0 -19
  293. package/src/core-tags/core/await/client-reorder-browser.js +0 -1
  294. package/src/core-tags/core/await/client-reorder-runtime.min.js +0 -1
  295. package/src/core-tags/core/await/client-reorder.js +0 -14
  296. package/src/core-tags/core/await/package.json +0 -6
  297. package/src/index-browser.js +0 -3
  298. package/src/loader/index.js +0 -7
  299. package/src/loader/package.json +0 -5
  300. package/src/node-require/index-browser.js +0 -1
  301. package/src/package.json +0 -5
  302. package/src/runtime/components/index-browser.js +0 -15
  303. package/src/runtime/components/init-components.js +0 -1
  304. package/src/runtime/components/legacy/index-browser.js +0 -73
  305. package/src/runtime/components/legacy/package.json +0 -6
  306. package/src/runtime/components/package.json +0 -12
  307. package/src/runtime/components/registry-browser.js +0 -103
  308. package/src/runtime/html/Template.js +0 -62
  309. package/src/runtime/package.json +0 -5
  310. package/src/runtime/setImmediate.js +0 -21
  311. /package/dist/{runtime/components/endComponent-browser.js → node_modules/@internal/components-endComponent/index-browser.js} +0 -0
  312. /package/dist/{core-tags/components/init-components-tag-browser.js → node_modules/@internal/init-components-tag/index-browser.js} +0 -0
  313. /package/dist/{loader → node_modules/@internal/loader}/index-browser.js +0 -0
  314. /package/src/{runtime/components/endComponent-browser.js → node_modules/@internal/components-endComponent/index-browser.js} +0 -0
  315. /package/src/{core-tags/components/init-components-tag-browser.js → node_modules/@internal/init-components-tag/index-browser.js} +0 -0
  316. /package/src/{loader → node_modules/@internal/loader}/index-browser.js +0 -0
  317. /package/src/{core-tags/components/preserve-tag-browser.js → node_modules/@internal/preserve-tag/index-browser.js} +0 -0
@@ -1,28 +1,162 @@
1
- "use strict";
2
1
  var complain = "MARKO_DEBUG" && require("complain");
3
2
  var warp10Finalize = require("warp10/finalize");
4
- var eventDelegation = require("./event-delegation");
5
- var win = window;
6
- var defaultDocument = document;
7
- var createFragmentNode = require("../vdom/morphdom/fragment")
8
- .___createFragmentNode;
9
- var componentsUtil = require("./util-browser");
3
+ var queueMicrotask = require("../../../runtime/queueMicrotask");
4
+ var defineComponent = require("../../../runtime/components/defineComponent");
5
+ var eventDelegation = require("../../../runtime/components/event-delegation");
6
+ var createFragmentNode =
7
+ require("../../../runtime/vdom/morphdom/fragment").___createFragmentNode;
8
+ var ComponentDef = require("../../../runtime/components/ComponentDef");
9
+ var domData = require("../../../runtime/components/dom-data");
10
+ var componentsUtil = require("@internal/components-util");
10
11
  var componentLookup = componentsUtil.___componentLookup;
11
12
  var addComponentRootToKeyedElements =
12
13
  componentsUtil.___addComponentRootToKeyedElements;
13
- var ComponentDef = require("./ComponentDef");
14
- var registry = require("./registry");
15
- var domData = require("./dom-data");
16
14
  var keyedElementsByComponentId = domData.___ssrKeyedElementsByComponentId;
17
15
  var componentsByDOMNode = domData.___componentByDOMNode;
18
16
  var serverComponentRootNodes = {};
19
17
  var serverRenderedMeta = {};
18
+ var win = window;
20
19
 
21
20
  var DEFAULT_RUNTIME_ID = "M";
22
21
  var FLAG_WILL_RERENDER_IN_BROWSER = 1;
23
22
  // var FLAG_HAS_RENDER_BODY = 2;
24
- // var FLAG_IS_LEGACY = 4;
25
- // var FLAG_OLD_HYDRATE_NO_CREATE = 8;
23
+
24
+ var registered = {};
25
+ var loaded = {};
26
+ var componentTypes = {};
27
+ var deferredDefs;
28
+ var pendingDefs;
29
+
30
+ function register(type, def) {
31
+ var pendingForType;
32
+ if (pendingDefs) {
33
+ pendingForType = pendingDefs[type];
34
+ }
35
+ registered[type] = def;
36
+ delete loaded[type];
37
+ delete componentTypes[type];
38
+
39
+ if (pendingForType) {
40
+ delete pendingDefs[type];
41
+ queueMicrotask(function () {
42
+ pendingForType.forEach(function (args) {
43
+ tryHydrateComponent(args[0], args[1], args[2], args[3])();
44
+ });
45
+ });
46
+ }
47
+
48
+ return type;
49
+ }
50
+
51
+ function addPendingDef(def, type, meta, host, runtimeId) {
52
+ if (!pendingDefs) {
53
+ pendingDefs = {};
54
+
55
+ // eslint-disable-next-line no-constant-condition
56
+ if ("MARKO_DEBUG") {
57
+ document.addEventListener("load", function () {
58
+ var pendingComponentIds = Object.keys(pendingDefs);
59
+ if (pendingComponentIds.length) {
60
+ complain(
61
+ "Marko templates were never loaded for: " + pendingComponentIds
62
+ );
63
+ }
64
+ });
65
+ }
66
+ }
67
+ (pendingDefs[type] = pendingDefs[type] || []).push([
68
+ def,
69
+ meta,
70
+ host,
71
+ runtimeId
72
+ ]);
73
+ }
74
+
75
+ function load(typeName, isLegacy) {
76
+ var target = loaded[typeName];
77
+ if (!target) {
78
+ target = registered[typeName];
79
+
80
+ if (target) {
81
+ target = target();
82
+ } else if (isLegacy) {
83
+ target = exports.___legacy.load(typeName);
84
+ } else {
85
+ target = loader(typeName);
86
+ // eslint-disable-next-line no-constant-condition
87
+ if ("MARKO_DEBUG") {
88
+ complain(
89
+ "Looks like you used `require:` in your browser.json to load a component. This requires that Marko has knowledge of how lasso generates paths and will be removed in a future version. `marko-dependencies:/path/to/template.marko` should be used instead."
90
+ );
91
+ }
92
+ }
93
+
94
+ if (!target) {
95
+ throw Error("Component not found: " + typeName);
96
+ }
97
+
98
+ loaded[typeName] = target;
99
+ }
100
+
101
+ return target;
102
+ }
103
+
104
+ function getComponentClass(typeName, isLegacy) {
105
+ var ComponentClass = componentTypes[typeName];
106
+
107
+ if (ComponentClass) {
108
+ return ComponentClass;
109
+ }
110
+
111
+ ComponentClass = load(typeName, isLegacy);
112
+
113
+ ComponentClass = ComponentClass.Component || ComponentClass;
114
+
115
+ if (!ComponentClass.___isComponent) {
116
+ ComponentClass = defineComponent(ComponentClass, ComponentClass.renderer);
117
+ }
118
+
119
+ // Make the component "type" accessible on each component instance
120
+ ComponentClass.prototype.___type = typeName;
121
+
122
+ // eslint-disable-next-line no-constant-condition
123
+ if ("MARKO_DEBUG") {
124
+ var classNameMatch =
125
+ /\/([^/]+?)(?:\/index|\/template|)(?:\.marko|\.component(?:-browser)?|)$/.exec(
126
+ typeName
127
+ );
128
+ var className = classNameMatch ? classNameMatch[1] : "AnonymousComponent";
129
+ className = className.replace(/-(.)/g, function (g) {
130
+ return g[1].toUpperCase();
131
+ });
132
+ className = className
133
+ .replace(/\$\d+\.\d+\.\d+$/, "")
134
+ .replace(/^[^a-z$_]/i, "_$&")
135
+ .replace(/[^0-9a-z$_]+/gi, "_");
136
+ className = className[0].toUpperCase() + className.slice(1);
137
+ // eslint-disable-next-line no-unused-vars
138
+ try {
139
+ var OldComponentClass = ComponentClass;
140
+ eval(
141
+ "ComponentClass = function " +
142
+ className +
143
+ "(id, doc) { OldComponentClass.call(this, id, doc); }"
144
+ );
145
+ ComponentClass.prototype = OldComponentClass.prototype;
146
+ } catch (e) {
147
+ /** ignore error */
148
+ }
149
+ }
150
+
151
+ componentTypes[typeName] = ComponentClass;
152
+
153
+ return ComponentClass;
154
+ }
155
+
156
+ function createComponent(typeName, id, isLegacy) {
157
+ var ComponentClass = getComponentClass(typeName, isLegacy);
158
+ return new ComponentClass(id);
159
+ }
26
160
 
27
161
  function indexServerComponentBoundaries(node, runtimeId, stack) {
28
162
  var componentId;
@@ -105,7 +239,7 @@ function indexServerComponentBoundaries(node, runtimeId, stack) {
105
239
  keyedElements[markoKey] = node;
106
240
  }
107
241
  if (markoProps) {
108
- Object.keys(markoProps).forEach(function(key) {
242
+ Object.keys(markoProps).forEach(function (key) {
109
243
  if (key.slice(0, 2) === "on") {
110
244
  eventDelegation.___addDelegatedEventHandler(key.slice(2));
111
245
  }
@@ -130,7 +264,7 @@ function invokeComponentEventHandler(component, targetMethodName, args) {
130
264
  function addEventListenerHelper(el, eventType, isOnce, listener) {
131
265
  var eventListener = listener;
132
266
  if (isOnce) {
133
- eventListener = function(event) {
267
+ eventListener = function (event) {
134
268
  listener(event);
135
269
  el.removeEventListener(eventType, eventListener);
136
270
  };
@@ -152,20 +286,23 @@ function addDOMEventListeners(
152
286
  extraArgs,
153
287
  handles
154
288
  ) {
155
- var removeListener = addEventListenerHelper(el, eventType, isOnce, function(
156
- event
157
- ) {
158
- var args = [event, el];
159
- if (extraArgs) {
160
- args = extraArgs.concat(args);
161
- }
289
+ var removeListener = addEventListenerHelper(
290
+ el,
291
+ eventType,
292
+ isOnce,
293
+ function (event) {
294
+ var args = [event, el];
295
+ if (extraArgs) {
296
+ args = extraArgs.concat(args);
297
+ }
162
298
 
163
- invokeComponentEventHandler(component, targetMethodName, args);
164
- });
299
+ invokeComponentEventHandler(component, targetMethodName, args);
300
+ }
301
+ );
165
302
  handles.push(removeListener);
166
303
  }
167
304
 
168
- function initComponent(componentDef, doc) {
305
+ function initComponent(componentDef, host) {
169
306
  var component = componentDef.___component;
170
307
 
171
308
  if (!component || !component.___isComponent) {
@@ -173,7 +310,7 @@ function initComponent(componentDef, doc) {
173
310
  }
174
311
 
175
312
  component.___reset();
176
- component.___document = doc;
313
+ component.___host = host;
177
314
 
178
315
  var isExisting = componentDef.___isExisting;
179
316
 
@@ -185,7 +322,7 @@ function initComponent(componentDef, doc) {
185
322
  if (domEvents) {
186
323
  var eventListenerHandles = [];
187
324
 
188
- domEvents.forEach(function(domEventArgs) {
325
+ domEvents.forEach(function (domEventArgs) {
189
326
  // The event mapping is for a direct DOM event (not a custom event and not for bubblign dom events)
190
327
 
191
328
  var eventType = domEventArgs[0];
@@ -226,12 +363,11 @@ function initComponent(componentDef, doc) {
226
363
  * in the components context (nested components are initialized before ancestor components).
227
364
  * @param {Array<marko-components/lib/ComponentDef>} componentDefs An array of ComponentDef instances
228
365
  */
229
- function initClientRendered(componentDefs, doc) {
366
+ function initClientRendered(componentDefs, host) {
367
+ if (!host) host = document;
230
368
  // Ensure that event handlers to handle delegating events are
231
369
  // always attached before initializing any components
232
- eventDelegation.___init(doc);
233
-
234
- doc = doc || defaultDocument;
370
+ eventDelegation.___init(host);
235
371
  var len = componentDefs.length;
236
372
  var componentDef;
237
373
  var i;
@@ -243,7 +379,7 @@ function initClientRendered(componentDefs, doc) {
243
379
 
244
380
  for (i = len; i--; ) {
245
381
  componentDef = componentDefs[i];
246
- initComponent(componentDef, doc);
382
+ initComponent(componentDef, host);
247
383
  }
248
384
  }
249
385
 
@@ -251,7 +387,7 @@ function initClientRendered(componentDefs, doc) {
251
387
  * This method initializes all components that were rendered on the server by iterating over all
252
388
  * of the component IDs.
253
389
  */
254
- function initServerRendered(renderedComponents, doc) {
390
+ function initServerRendered(renderedComponents, host) {
255
391
  var type = typeof renderedComponents;
256
392
  var globalKey = "$";
257
393
  var runtimeId;
@@ -266,13 +402,31 @@ function initServerRendered(renderedComponents, doc) {
266
402
 
267
403
  renderedComponents = win[globalKey];
268
404
 
405
+ // eslint-disable-next-line no-constant-condition
406
+ if ("MARKO_DEBUG") {
407
+ if (
408
+ renderedComponents &&
409
+ renderedComponents.i !== undefined &&
410
+ renderedComponents.i !== componentsUtil.___runtimeId
411
+ ) {
412
+ console.warn(
413
+ "Multiple instances of Marko have attached to the same runtime id. This could mean that more than one copy of Marko is loaded on the page, or that the script containing Marko has executed more than once."
414
+ );
415
+ }
416
+ }
417
+
269
418
  var fakeArray = (win[globalKey] = {
270
419
  r: runtimeId,
271
420
  concat: initServerRendered
272
421
  });
273
422
 
423
+ // eslint-disable-next-line no-constant-condition
424
+ if ("MARKO_DEBUG") {
425
+ fakeArray.i = componentsUtil.___runtimeId;
426
+ }
427
+
274
428
  if (renderedComponents && renderedComponents.forEach) {
275
- renderedComponents.forEach(function(renderedComponent) {
429
+ renderedComponents.forEach(function (renderedComponent) {
276
430
  fakeArray.concat(renderedComponent);
277
431
  });
278
432
  }
@@ -285,10 +439,10 @@ function initServerRendered(renderedComponents, doc) {
285
439
 
286
440
  if (isFromSerializedGlobals) {
287
441
  runtimeId = this.r;
288
- doc = defaultDocument;
442
+ host = document;
289
443
  } else {
290
444
  runtimeId = renderedComponents.r || DEFAULT_RUNTIME_ID;
291
- doc = doc || defaultDocument;
445
+ if (!host) host = document;
292
446
 
293
447
  // eslint-disable-next-line no-constant-condition
294
448
  if ("MARKO_DEBUG") {
@@ -300,7 +454,7 @@ function initServerRendered(renderedComponents, doc) {
300
454
 
301
455
  // eslint-disable-next-line no-constant-condition
302
456
  if ("MARKO_DEBUG") {
303
- if (doc !== defaultDocument) {
457
+ if (host !== document) {
304
458
  complain(
305
459
  "Passing a document other than the current document to `require('marko/components).init` is deprecated."
306
460
  );
@@ -325,8 +479,8 @@ function initServerRendered(renderedComponents, doc) {
325
479
 
326
480
  // Ensure that event handlers to handle delegating events are
327
481
  // always attached before initializing any components
328
- indexServerComponentBoundaries(doc, runtimeId);
329
- eventDelegation.___init(doc);
482
+ indexServerComponentBoundaries(host, runtimeId);
483
+ eventDelegation.___init(host);
330
484
 
331
485
  if (renderedComponents.g) {
332
486
  meta.___globals = renderedComponents.g;
@@ -340,39 +494,13 @@ function initServerRendered(renderedComponents, doc) {
340
494
 
341
495
  // hydrate components top down (leaf nodes last)
342
496
  // and return an array of functions to mount these components
343
- var deferredDefs;
344
497
  (renderedComponents.w || [])
345
- .map(function(componentDef) {
346
- componentDef = ComponentDef.___deserialize(
347
- componentDef,
348
- meta.___types,
349
- meta.___globals,
350
- registry
351
- );
352
-
353
- var mount = hydrateComponentAndGetMount(componentDef, doc);
498
+ .map(function (componentDef) {
499
+ var typeName = meta.___types[componentDef[1]];
354
500
 
355
- if (!mount) {
356
- // hydrateComponentAndGetMount will return false if there is not rootNode
357
- // for the component. If this is the case, we'll wait until the
358
- // DOM has fully loaded to attempt to init the component again.
359
- if (deferredDefs) {
360
- deferredDefs.push(componentDef);
361
- } else {
362
- deferredDefs = [componentDef];
363
- doc.addEventListener("DOMContentLoaded", function() {
364
- indexServerComponentBoundaries(doc, runtimeId);
365
- deferredDefs
366
- .map(function(componentDef) {
367
- return hydrateComponentAndGetMount(componentDef, doc);
368
- })
369
- .reverse()
370
- .forEach(tryInvoke);
371
- });
372
- }
373
- }
374
-
375
- return mount;
501
+ return registered[typeName] || document.readyState === "complete"
502
+ ? tryHydrateComponent(componentDef, meta, host, runtimeId)
503
+ : addPendingDef(componentDef, typeName, meta, host, runtimeId);
376
504
  })
377
505
  .reverse()
378
506
  .forEach(tryInvoke);
@@ -380,7 +508,40 @@ function initServerRendered(renderedComponents, doc) {
380
508
  return this;
381
509
  }
382
510
 
383
- function hydrateComponentAndGetMount(componentDef, doc) {
511
+ function tryHydrateComponent(rawDef, meta, host, runtimeId) {
512
+ var componentDef = ComponentDef.___deserialize(
513
+ rawDef,
514
+ meta.___types,
515
+ meta.___globals,
516
+ exports
517
+ );
518
+ var mount = hydrateComponentAndGetMount(componentDef, host);
519
+
520
+ if (!mount) {
521
+ // hydrateComponentAndGetMount will return false if there is not rootNode
522
+ // for the component. If this is the case, we'll wait until the
523
+ // DOM has fully loaded to attempt to init the component again.
524
+ if (deferredDefs) {
525
+ deferredDefs.push(componentDef);
526
+ } else {
527
+ deferredDefs = [componentDef];
528
+ document.addEventListener("DOMContentLoaded", function () {
529
+ indexServerComponentBoundaries(host, runtimeId);
530
+ deferredDefs
531
+ .map(function (componentDef) {
532
+ return hydrateComponentAndGetMount(componentDef, host);
533
+ })
534
+ .reverse()
535
+ .forEach(tryInvoke);
536
+ deferredDefs = undefined;
537
+ });
538
+ }
539
+ }
540
+
541
+ return mount;
542
+ }
543
+
544
+ function hydrateComponentAndGetMount(componentDef, host) {
384
545
  var componentId = componentDef.id;
385
546
  var component = componentDef.___component;
386
547
  var rootNode = serverComponentRootNodes[componentId];
@@ -393,18 +554,18 @@ function hydrateComponentAndGetMount(componentDef, doc) {
393
554
  componentsByDOMNode.set(rootNode, component);
394
555
 
395
556
  if (componentDef.___flags & FLAG_WILL_RERENDER_IN_BROWSER) {
396
- component.___document = doc;
557
+ component.___host = host;
397
558
  renderResult = component.___rerender(component.___input, true);
398
559
  trackComponent(componentDef);
399
560
  return function mount() {
400
- renderResult.afterInsert(doc);
561
+ renderResult.afterInsert(host);
401
562
  };
402
563
  } else {
403
564
  trackComponent(componentDef);
404
565
  }
405
566
 
406
567
  return function mount() {
407
- initComponent(componentDef, doc);
568
+ initComponent(componentDef, host);
408
569
  };
409
570
  }
410
571
  }
@@ -420,5 +581,9 @@ function tryInvoke(fn) {
420
581
  if (fn) fn();
421
582
  }
422
583
 
423
- exports.___initClientRendered = initClientRendered;
424
- exports.___initServerRendered = initServerRendered;
584
+ exports.r = register;
585
+ exports.___createComponent = createComponent;
586
+ exports.___getComponentClass = getComponentClass;
587
+ exports.___initServerRendered = win.$initComponents = initServerRendered;
588
+
589
+ require("../../../runtime/components/ComponentsContext").___initClientRendered = initClientRendered;
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ const copyProps = require("raptor-util/copyProps");
3
+ const constructorCache = new Map();
4
+ const BaseServerComponent = require("../../../runtime/components/ServerComponent");
5
+
6
+ function createServerComponentClass(renderingLogic) {
7
+ var renderingLogicProps =
8
+ typeof renderingLogic === "function"
9
+ ? renderingLogic.prototype
10
+ : renderingLogic;
11
+
12
+ class ServerComponent extends BaseServerComponent {}
13
+
14
+ copyProps(renderingLogicProps, ServerComponent.prototype);
15
+
16
+ return ServerComponent;
17
+ }
18
+ function createComponent(
19
+ renderingLogic,
20
+ id,
21
+ input,
22
+ out,
23
+ typeName,
24
+ customEvents,
25
+ scope
26
+ ) {
27
+ let ServerComponent;
28
+
29
+ if (renderingLogic) {
30
+ ServerComponent = constructorCache.get(renderingLogic);
31
+
32
+ if (!ServerComponent) {
33
+ ServerComponent = createServerComponentClass(renderingLogic);
34
+ constructorCache.set(renderingLogic, ServerComponent);
35
+ }
36
+ } else {
37
+ ServerComponent = BaseServerComponent;
38
+ }
39
+
40
+ return new ServerComponent(id, input, out, typeName, customEvents, scope);
41
+ }
42
+
43
+ exports.___isServer = true;
44
+ exports.___createComponent = createComponent;
@@ -0,0 +1,11 @@
1
+ {
2
+ "main": "./index.js",
3
+ "browser": "./index-browser.js",
4
+ "exports": {
5
+ ".": {
6
+ "worker": "./index.js",
7
+ "browser": "./index-browser.js",
8
+ "default": "./index.js"
9
+ }
10
+ }
11
+ }
@@ -1,4 +1,4 @@
1
- var domData = require("./dom-data");
1
+ var domData = require("../../../runtime/components/dom-data");
2
2
  var componentsByDOMNode = domData.___componentByDOMNode;
3
3
  var keysByDOMNode = domData.___keyByDOMNode;
4
4
  var vElementsByDOMNode = domData.___vElementByDOMNode;
@@ -8,12 +8,13 @@ var runtimeId = markoUID.i++;
8
8
 
9
9
  var componentLookup = {};
10
10
 
11
- var defaultDocument = document;
12
11
  var EMPTY_OBJECT = {};
13
12
 
14
- function getComponentForEl(el, doc) {
13
+ function getComponentForEl(el, host) {
15
14
  var node =
16
- typeof el == "string" ? (doc || defaultDocument).getElementById(el) : el;
15
+ typeof el == "string"
16
+ ? ((host ? host.ownerDocument : host) || document).getElementById(el)
17
+ : el;
17
18
  var component;
18
19
  var vElement;
19
20
 
@@ -141,13 +142,13 @@ function addComponentRootToKeyedElements(
141
142
 
142
143
  // eslint-disable-next-line no-constant-condition
143
144
  if ("MARKO_DEBUG") {
144
- var warnNodeRemoved = function(event) {
145
+ var warnNodeRemoved = function (event) {
145
146
  var fragment = event.target.fragment;
146
147
  if (fragment) {
147
148
  var baseError = new Error(
148
149
  "Fragment boundary marker removed. This will cause an error when the fragment is updated."
149
150
  );
150
- fragment.___markersRemovedError = function(message) {
151
+ fragment.___markersRemovedError = function (message) {
151
152
  var error = new Error(message + " Boundary markers missing.");
152
153
 
153
154
  baseError.stack = baseError.stack.replace(/.*warnNodeRemoved.*\n/, "");
@@ -158,11 +159,11 @@ if ("MARKO_DEBUG") {
158
159
  };
159
160
  }
160
161
  };
161
- exports.___startDOMManipulationWarning = function() {
162
- document.addEventListener("DOMNodeRemoved", warnNodeRemoved);
162
+ exports.___startDOMManipulationWarning = function (host) {
163
+ host.addEventListener("DOMNodeRemoved", warnNodeRemoved);
163
164
  };
164
- exports.___stopDOMManipulationWarning = function() {
165
- document.removeEventListener("DOMNodeRemoved", warnNodeRemoved);
165
+ exports.___stopDOMManipulationWarning = function (host) {
166
+ host.removeEventListener("DOMNodeRemoved", warnNodeRemoved);
166
167
  };
167
168
  }
168
169
 
@@ -1,7 +1,5 @@
1
1
  var FLAG_WILL_RERENDER_IN_BROWSER = 1;
2
2
  // var FLAG_HAS_RENDER_BODY = 2;
3
- // var FLAG_IS_LEGACY = 4;
4
- // var FLAG_OLD_HYDRATE_NO_CREATE = 8;
5
3
 
6
4
  function nextComponentIdProvider(out) {
7
5
  var prefix = out.global.componentIdPrefix || out.global.widgetIdPrefix || "s"; // "s" is for server (we use "b" for the browser)
@@ -0,0 +1,11 @@
1
+ {
2
+ "main": "./index.js",
3
+ "browser": "./index-browser.js",
4
+ "exports": {
5
+ ".": {
6
+ "worker": "./index.js",
7
+ "browser": "./index-browser.js",
8
+ "default": "./index.js"
9
+ }
10
+ }
11
+ }
@@ -0,0 +1,30 @@
1
+ var encoder = new TextEncoder();
2
+ var noop = function () {};
3
+
4
+ module.exports = function (data) {
5
+ // eslint-disable-next-line no-undef
6
+ var transformStream = new TransformStream();
7
+ var writer = transformStream.writable.getWriter();
8
+ var facade = {
9
+ write: function (string) {
10
+ writer.write(encoder.encode(string));
11
+ },
12
+ end: function () {
13
+ writer.close();
14
+ }
15
+ };
16
+ var out = this.createOut(
17
+ data && data.$global,
18
+ facade,
19
+ undefined,
20
+ this.___shouldBuffer
21
+ );
22
+ out.once("error", err => {
23
+ facade.write = facade.end = noop;
24
+ writer.abort(err);
25
+ });
26
+ this.render(data, out);
27
+ out.end();
28
+
29
+ return transformStream.readable;
30
+ };
@@ -0,0 +1,57 @@
1
+ var stream = require("stream");
2
+
3
+ var OutgoingMessageProto = require("http").OutgoingMessage.prototype;
4
+ if (String(OutgoingMessageProto.flush).indexOf("deprecated") !== -1) {
5
+ // Yes, we are monkey-patching http. This method should never have been added and it was introduced on
6
+ // the iojs fork. It was quickly deprecated and I'm 99% sure no one is actually using it.
7
+ // See:
8
+ // - https://github.com/marko-js/async-writer/issues/3
9
+ // - https://github.com/nodejs/node/issues/2920
10
+ //
11
+ // This method causes problems since marko looks for the flush method and calls it found.
12
+ // The `res.flush()` method is introduced by the [compression](https://www.npmjs.com/package/compression)
13
+ // middleware, but, otherwise, it should typically not exist.
14
+ delete OutgoingMessageProto.flush;
15
+ }
16
+
17
+ class Readable extends stream.Readable {
18
+ constructor(template, data) {
19
+ super();
20
+ this.___template = template;
21
+ this.___data = data;
22
+ this.___rendered = false;
23
+ }
24
+
25
+ write(data) {
26
+ if (data != null) {
27
+ this.push(data);
28
+ }
29
+ }
30
+
31
+ end() {
32
+ this.push(null);
33
+ }
34
+
35
+ _read() {
36
+ if (this.___rendered) {
37
+ return;
38
+ }
39
+
40
+ this.___rendered = true;
41
+ var template = this.___template;
42
+ var data = this.___data;
43
+ var globalData = data && data.$global;
44
+ var out = this.___template.createOut(
45
+ globalData,
46
+ this,
47
+ undefined,
48
+ template.___shouldBuffer
49
+ );
50
+ template.render(data, out);
51
+ out.end();
52
+ }
53
+ }
54
+
55
+ module.exports = function (data) {
56
+ return new Readable(this, data);
57
+ };
@@ -0,0 +1,11 @@
1
+ {
2
+ "main": "./index.js",
3
+ "browser": "./index-browser.js",
4
+ "exports": {
5
+ ".": {
6
+ "worker": "./index-browser.js",
7
+ "browser": "./index-browser.js",
8
+ "default": "./index.js"
9
+ }
10
+ }
11
+ }