mockaton 13.9.9 → 13.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (279) hide show
  1. package/package.json +3 -2
  2. package/src/client/app-header.js +62 -42
  3. package/src/client/app.css +22 -4
  4. package/src/client/dir/dittoSplitPaths.js +1 -1
  5. package/src/client/dir/dittoSplitPaths.test.js +9 -7
  6. package/src/server/MockBroker.js +1 -1
  7. package/src/server/cli.test.js +1 -1
  8. package/src/server/mockBrokersCollection.js +4 -2
  9. package/vite-plugin/README.md +0 -29
  10. package/vite-plugin/node_modules/.package-lock.json +0 -356
  11. package/vite-plugin/node_modules/@oxc-project/types/LICENSE +0 -22
  12. package/vite-plugin/node_modules/@oxc-project/types/README.md +0 -3
  13. package/vite-plugin/node_modules/@oxc-project/types/package.json +0 -26
  14. package/vite-plugin/node_modules/@oxc-project/types/types.d.ts +0 -1912
  15. package/vite-plugin/node_modules/@rolldown/binding-darwin-arm64/README.md +0 -3
  16. package/vite-plugin/node_modules/@rolldown/binding-darwin-arm64/package.json +0 -37
  17. package/vite-plugin/node_modules/@rolldown/binding-darwin-arm64/rolldown-binding.darwin-arm64.node +0 -0
  18. package/vite-plugin/node_modules/@rolldown/pluginutils/LICENSE +0 -25
  19. package/vite-plugin/node_modules/@rolldown/pluginutils/README.md +0 -83
  20. package/vite-plugin/node_modules/@rolldown/pluginutils/dist/filter/composable-filters.d.ts +0 -90
  21. package/vite-plugin/node_modules/@rolldown/pluginutils/dist/filter/composable-filters.js +0 -256
  22. package/vite-plugin/node_modules/@rolldown/pluginutils/dist/filter/filter-vite-plugins.d.ts +0 -28
  23. package/vite-plugin/node_modules/@rolldown/pluginutils/dist/filter/filter-vite-plugins.js +0 -75
  24. package/vite-plugin/node_modules/@rolldown/pluginutils/dist/filter/index.d.ts +0 -3
  25. package/vite-plugin/node_modules/@rolldown/pluginutils/dist/filter/index.js +0 -3
  26. package/vite-plugin/node_modules/@rolldown/pluginutils/dist/filter/simple-filters.d.ts +0 -71
  27. package/vite-plugin/node_modules/@rolldown/pluginutils/dist/filter/simple-filters.js +0 -70
  28. package/vite-plugin/node_modules/@rolldown/pluginutils/dist/index.d.ts +0 -1
  29. package/vite-plugin/node_modules/@rolldown/pluginutils/dist/index.js +0 -1
  30. package/vite-plugin/node_modules/@rolldown/pluginutils/dist/utils.d.ts +0 -2
  31. package/vite-plugin/node_modules/@rolldown/pluginutils/dist/utils.js +0 -17
  32. package/vite-plugin/node_modules/@rolldown/pluginutils/package.json +0 -37
  33. package/vite-plugin/node_modules/detect-libc/LICENSE +0 -201
  34. package/vite-plugin/node_modules/detect-libc/README.md +0 -163
  35. package/vite-plugin/node_modules/detect-libc/index.d.ts +0 -14
  36. package/vite-plugin/node_modules/detect-libc/lib/detect-libc.js +0 -313
  37. package/vite-plugin/node_modules/detect-libc/lib/elf.js +0 -39
  38. package/vite-plugin/node_modules/detect-libc/lib/filesystem.js +0 -51
  39. package/vite-plugin/node_modules/detect-libc/lib/process.js +0 -24
  40. package/vite-plugin/node_modules/detect-libc/package.json +0 -44
  41. package/vite-plugin/node_modules/fdir/LICENSE +0 -7
  42. package/vite-plugin/node_modules/fdir/README.md +0 -91
  43. package/vite-plugin/node_modules/fdir/dist/index.cjs +0 -588
  44. package/vite-plugin/node_modules/fdir/dist/index.d.cts +0 -155
  45. package/vite-plugin/node_modules/fdir/dist/index.d.mts +0 -155
  46. package/vite-plugin/node_modules/fdir/dist/index.mjs +0 -570
  47. package/vite-plugin/node_modules/fdir/package.json +0 -103
  48. package/vite-plugin/node_modules/fsevents/LICENSE +0 -22
  49. package/vite-plugin/node_modules/fsevents/README.md +0 -89
  50. package/vite-plugin/node_modules/fsevents/fsevents.d.ts +0 -46
  51. package/vite-plugin/node_modules/fsevents/fsevents.js +0 -83
  52. package/vite-plugin/node_modules/fsevents/fsevents.node +0 -0
  53. package/vite-plugin/node_modules/fsevents/package.json +0 -62
  54. package/vite-plugin/node_modules/lightningcss/LICENSE +0 -373
  55. package/vite-plugin/node_modules/lightningcss/README.md +0 -105
  56. package/vite-plugin/node_modules/lightningcss/node/ast.d.ts +0 -9892
  57. package/vite-plugin/node_modules/lightningcss/node/ast.js.flow +0 -10539
  58. package/vite-plugin/node_modules/lightningcss/node/browserslistToTargets.js +0 -48
  59. package/vite-plugin/node_modules/lightningcss/node/composeVisitors.js +0 -450
  60. package/vite-plugin/node_modules/lightningcss/node/flags.js +0 -28
  61. package/vite-plugin/node_modules/lightningcss/node/index.d.ts +0 -494
  62. package/vite-plugin/node_modules/lightningcss/node/index.js +0 -59
  63. package/vite-plugin/node_modules/lightningcss/node/index.js.flow +0 -843
  64. package/vite-plugin/node_modules/lightningcss/node/index.mjs +0 -4
  65. package/vite-plugin/node_modules/lightningcss/node/targets.d.ts +0 -40
  66. package/vite-plugin/node_modules/lightningcss/node/targets.js.flow +0 -39
  67. package/vite-plugin/node_modules/lightningcss/package.json +0 -110
  68. package/vite-plugin/node_modules/lightningcss-darwin-arm64/LICENSE +0 -373
  69. package/vite-plugin/node_modules/lightningcss-darwin-arm64/README.md +0 -1
  70. package/vite-plugin/node_modules/lightningcss-darwin-arm64/lightningcss.darwin-arm64.node +0 -0
  71. package/vite-plugin/node_modules/lightningcss-darwin-arm64/package.json +0 -34
  72. package/vite-plugin/node_modules/nanoid/LICENSE +0 -20
  73. package/vite-plugin/node_modules/nanoid/README.md +0 -39
  74. package/vite-plugin/node_modules/nanoid/async/index.browser.cjs +0 -69
  75. package/vite-plugin/node_modules/nanoid/async/index.browser.js +0 -34
  76. package/vite-plugin/node_modules/nanoid/async/index.cjs +0 -71
  77. package/vite-plugin/node_modules/nanoid/async/index.d.ts +0 -56
  78. package/vite-plugin/node_modules/nanoid/async/index.js +0 -35
  79. package/vite-plugin/node_modules/nanoid/async/index.native.js +0 -26
  80. package/vite-plugin/node_modules/nanoid/async/package.json +0 -12
  81. package/vite-plugin/node_modules/nanoid/bin/nanoid.cjs +0 -55
  82. package/vite-plugin/node_modules/nanoid/index.browser.cjs +0 -72
  83. package/vite-plugin/node_modules/nanoid/index.browser.js +0 -34
  84. package/vite-plugin/node_modules/nanoid/index.cjs +0 -85
  85. package/vite-plugin/node_modules/nanoid/index.d.cts +0 -91
  86. package/vite-plugin/node_modules/nanoid/index.d.ts +0 -91
  87. package/vite-plugin/node_modules/nanoid/index.js +0 -45
  88. package/vite-plugin/node_modules/nanoid/nanoid.js +0 -1
  89. package/vite-plugin/node_modules/nanoid/non-secure/index.cjs +0 -34
  90. package/vite-plugin/node_modules/nanoid/non-secure/index.d.ts +0 -33
  91. package/vite-plugin/node_modules/nanoid/non-secure/index.js +0 -21
  92. package/vite-plugin/node_modules/nanoid/non-secure/package.json +0 -6
  93. package/vite-plugin/node_modules/nanoid/package.json +0 -89
  94. package/vite-plugin/node_modules/nanoid/url-alphabet/index.cjs +0 -7
  95. package/vite-plugin/node_modules/nanoid/url-alphabet/index.js +0 -3
  96. package/vite-plugin/node_modules/nanoid/url-alphabet/package.json +0 -6
  97. package/vite-plugin/node_modules/picocolors/LICENSE +0 -15
  98. package/vite-plugin/node_modules/picocolors/README.md +0 -21
  99. package/vite-plugin/node_modules/picocolors/package.json +0 -25
  100. package/vite-plugin/node_modules/picocolors/picocolors.browser.js +0 -4
  101. package/vite-plugin/node_modules/picocolors/picocolors.d.ts +0 -5
  102. package/vite-plugin/node_modules/picocolors/picocolors.js +0 -75
  103. package/vite-plugin/node_modules/picocolors/types.d.ts +0 -51
  104. package/vite-plugin/node_modules/picomatch/LICENSE +0 -21
  105. package/vite-plugin/node_modules/picomatch/README.md +0 -749
  106. package/vite-plugin/node_modules/picomatch/index.js +0 -17
  107. package/vite-plugin/node_modules/picomatch/lib/constants.js +0 -184
  108. package/vite-plugin/node_modules/picomatch/lib/parse.js +0 -1386
  109. package/vite-plugin/node_modules/picomatch/lib/picomatch.js +0 -349
  110. package/vite-plugin/node_modules/picomatch/lib/scan.js +0 -391
  111. package/vite-plugin/node_modules/picomatch/lib/utils.js +0 -72
  112. package/vite-plugin/node_modules/picomatch/package.json +0 -82
  113. package/vite-plugin/node_modules/picomatch/posix.js +0 -3
  114. package/vite-plugin/node_modules/postcss/LICENSE +0 -20
  115. package/vite-plugin/node_modules/postcss/README.md +0 -28
  116. package/vite-plugin/node_modules/postcss/lib/at-rule.d.ts +0 -139
  117. package/vite-plugin/node_modules/postcss/lib/at-rule.js +0 -25
  118. package/vite-plugin/node_modules/postcss/lib/comment.d.ts +0 -67
  119. package/vite-plugin/node_modules/postcss/lib/comment.js +0 -13
  120. package/vite-plugin/node_modules/postcss/lib/container.d.ts +0 -478
  121. package/vite-plugin/node_modules/postcss/lib/container.js +0 -447
  122. package/vite-plugin/node_modules/postcss/lib/css-syntax-error.d.ts +0 -247
  123. package/vite-plugin/node_modules/postcss/lib/css-syntax-error.js +0 -133
  124. package/vite-plugin/node_modules/postcss/lib/declaration.d.ts +0 -150
  125. package/vite-plugin/node_modules/postcss/lib/declaration.js +0 -24
  126. package/vite-plugin/node_modules/postcss/lib/document.d.ts +0 -68
  127. package/vite-plugin/node_modules/postcss/lib/document.js +0 -33
  128. package/vite-plugin/node_modules/postcss/lib/fromJSON.d.ts +0 -9
  129. package/vite-plugin/node_modules/postcss/lib/fromJSON.js +0 -54
  130. package/vite-plugin/node_modules/postcss/lib/input.d.ts +0 -226
  131. package/vite-plugin/node_modules/postcss/lib/input.js +0 -273
  132. package/vite-plugin/node_modules/postcss/lib/lazy-result.d.ts +0 -189
  133. package/vite-plugin/node_modules/postcss/lib/lazy-result.js +0 -550
  134. package/vite-plugin/node_modules/postcss/lib/list.d.ts +0 -60
  135. package/vite-plugin/node_modules/postcss/lib/list.js +0 -58
  136. package/vite-plugin/node_modules/postcss/lib/map-generator.js +0 -376
  137. package/vite-plugin/node_modules/postcss/lib/no-work-result.d.ts +0 -45
  138. package/vite-plugin/node_modules/postcss/lib/no-work-result.js +0 -137
  139. package/vite-plugin/node_modules/postcss/lib/node.d.ts +0 -555
  140. package/vite-plugin/node_modules/postcss/lib/node.js +0 -449
  141. package/vite-plugin/node_modules/postcss/lib/parse.d.ts +0 -9
  142. package/vite-plugin/node_modules/postcss/lib/parse.js +0 -42
  143. package/vite-plugin/node_modules/postcss/lib/parser.js +0 -611
  144. package/vite-plugin/node_modules/postcss/lib/postcss.d.mts +0 -66
  145. package/vite-plugin/node_modules/postcss/lib/postcss.d.ts +0 -456
  146. package/vite-plugin/node_modules/postcss/lib/postcss.js +0 -101
  147. package/vite-plugin/node_modules/postcss/lib/postcss.mjs +0 -30
  148. package/vite-plugin/node_modules/postcss/lib/previous-map.d.ts +0 -80
  149. package/vite-plugin/node_modules/postcss/lib/previous-map.js +0 -145
  150. package/vite-plugin/node_modules/postcss/lib/processor.d.ts +0 -114
  151. package/vite-plugin/node_modules/postcss/lib/processor.js +0 -67
  152. package/vite-plugin/node_modules/postcss/lib/result.d.ts +0 -204
  153. package/vite-plugin/node_modules/postcss/lib/result.js +0 -42
  154. package/vite-plugin/node_modules/postcss/lib/root.d.ts +0 -86
  155. package/vite-plugin/node_modules/postcss/lib/root.js +0 -61
  156. package/vite-plugin/node_modules/postcss/lib/rule.d.ts +0 -126
  157. package/vite-plugin/node_modules/postcss/lib/rule.js +0 -27
  158. package/vite-plugin/node_modules/postcss/lib/stringifier.d.ts +0 -45
  159. package/vite-plugin/node_modules/postcss/lib/stringifier.js +0 -370
  160. package/vite-plugin/node_modules/postcss/lib/stringify.d.ts +0 -9
  161. package/vite-plugin/node_modules/postcss/lib/stringify.js +0 -11
  162. package/vite-plugin/node_modules/postcss/lib/symbols.js +0 -5
  163. package/vite-plugin/node_modules/postcss/lib/terminal-highlight.js +0 -70
  164. package/vite-plugin/node_modules/postcss/lib/tokenize.js +0 -266
  165. package/vite-plugin/node_modules/postcss/lib/warn-once.js +0 -13
  166. package/vite-plugin/node_modules/postcss/lib/warning.d.ts +0 -146
  167. package/vite-plugin/node_modules/postcss/lib/warning.js +0 -37
  168. package/vite-plugin/node_modules/postcss/package.json +0 -88
  169. package/vite-plugin/node_modules/rolldown/LICENSE +0 -25
  170. package/vite-plugin/node_modules/rolldown/README.md +0 -11
  171. package/vite-plugin/node_modules/rolldown/bin/cli.mjs +0 -2
  172. package/vite-plugin/node_modules/rolldown/dist/cli.d.mts +0 -1
  173. package/vite-plugin/node_modules/rolldown/dist/cli.mjs +0 -1191
  174. package/vite-plugin/node_modules/rolldown/dist/config.d.mts +0 -14
  175. package/vite-plugin/node_modules/rolldown/dist/config.mjs +0 -4
  176. package/vite-plugin/node_modules/rolldown/dist/experimental-index.d.mts +0 -253
  177. package/vite-plugin/node_modules/rolldown/dist/experimental-index.mjs +0 -320
  178. package/vite-plugin/node_modules/rolldown/dist/experimental-runtime-types.d.ts +0 -98
  179. package/vite-plugin/node_modules/rolldown/dist/filter-index.d.mts +0 -196
  180. package/vite-plugin/node_modules/rolldown/dist/filter-index.mjs +0 -386
  181. package/vite-plugin/node_modules/rolldown/dist/get-log-filter.d.mts +0 -3
  182. package/vite-plugin/node_modules/rolldown/dist/get-log-filter.mjs +0 -68
  183. package/vite-plugin/node_modules/rolldown/dist/index.d.mts +0 -4
  184. package/vite-plugin/node_modules/rolldown/dist/index.mjs +0 -50
  185. package/vite-plugin/node_modules/rolldown/dist/parallel-plugin-worker.d.mts +0 -1
  186. package/vite-plugin/node_modules/rolldown/dist/parallel-plugin-worker.mjs +0 -28
  187. package/vite-plugin/node_modules/rolldown/dist/parallel-plugin.d.mts +0 -13
  188. package/vite-plugin/node_modules/rolldown/dist/parallel-plugin.mjs +0 -6
  189. package/vite-plugin/node_modules/rolldown/dist/parse-ast-index.d.mts +0 -32
  190. package/vite-plugin/node_modules/rolldown/dist/parse-ast-index.mjs +0 -60
  191. package/vite-plugin/node_modules/rolldown/dist/plugins-index.d.mts +0 -33
  192. package/vite-plugin/node_modules/rolldown/dist/plugins-index.mjs +0 -40
  193. package/vite-plugin/node_modules/rolldown/dist/shared/binding-BeU_1iEk.mjs +0 -582
  194. package/vite-plugin/node_modules/rolldown/dist/shared/binding-zH1vcmbM.d.mts +0 -1899
  195. package/vite-plugin/node_modules/rolldown/dist/shared/bindingify-input-options-DbbBhzky.mjs +0 -2211
  196. package/vite-plugin/node_modules/rolldown/dist/shared/constructors-C2EWPKW3.mjs +0 -68
  197. package/vite-plugin/node_modules/rolldown/dist/shared/constructors-D0W3rNfA.d.mts +0 -37
  198. package/vite-plugin/node_modules/rolldown/dist/shared/define-config-5HJ1b9vG.d.mts +0 -3829
  199. package/vite-plugin/node_modules/rolldown/dist/shared/define-config-DJOr6Iwt.mjs +0 -6
  200. package/vite-plugin/node_modules/rolldown/dist/shared/error-DL-e8-oE.mjs +0 -85
  201. package/vite-plugin/node_modules/rolldown/dist/shared/get-log-filter-semyr3Lj.d.mts +0 -35
  202. package/vite-plugin/node_modules/rolldown/dist/shared/load-config-BoVO31Un.mjs +0 -120
  203. package/vite-plugin/node_modules/rolldown/dist/shared/logging-C6h4g8dA.d.mts +0 -50
  204. package/vite-plugin/node_modules/rolldown/dist/shared/logs-D80CXhvg.mjs +0 -180
  205. package/vite-plugin/node_modules/rolldown/dist/shared/misc-DJYbNKZX.mjs +0 -21
  206. package/vite-plugin/node_modules/rolldown/dist/shared/normalize-string-or-regex-CbQQ69gT.mjs +0 -66
  207. package/vite-plugin/node_modules/rolldown/dist/shared/parse-B_ZnWxLZ.mjs +0 -74
  208. package/vite-plugin/node_modules/rolldown/dist/shared/prompt-U5ajztzG.mjs +0 -847
  209. package/vite-plugin/node_modules/rolldown/dist/shared/resolve-tsconfig-CfYpGzid.mjs +0 -113
  210. package/vite-plugin/node_modules/rolldown/dist/shared/rolldown-D3JZ9rMt.mjs +0 -40
  211. package/vite-plugin/node_modules/rolldown/dist/shared/rolldown-build-DSxL8qiP.mjs +0 -3325
  212. package/vite-plugin/node_modules/rolldown/dist/shared/transform-DgZ3paSD.d.mts +0 -149
  213. package/vite-plugin/node_modules/rolldown/dist/shared/watch-Bd8v9ewv.mjs +0 -374
  214. package/vite-plugin/node_modules/rolldown/dist/utils-index.d.mts +0 -376
  215. package/vite-plugin/node_modules/rolldown/dist/utils-index.mjs +0 -2414
  216. package/vite-plugin/node_modules/rolldown/package.json +0 -153
  217. package/vite-plugin/node_modules/source-map-js/LICENSE +0 -28
  218. package/vite-plugin/node_modules/source-map-js/README.md +0 -765
  219. package/vite-plugin/node_modules/source-map-js/lib/array-set.js +0 -121
  220. package/vite-plugin/node_modules/source-map-js/lib/base64-vlq.js +0 -140
  221. package/vite-plugin/node_modules/source-map-js/lib/base64.js +0 -67
  222. package/vite-plugin/node_modules/source-map-js/lib/binary-search.js +0 -111
  223. package/vite-plugin/node_modules/source-map-js/lib/mapping-list.js +0 -79
  224. package/vite-plugin/node_modules/source-map-js/lib/quick-sort.js +0 -132
  225. package/vite-plugin/node_modules/source-map-js/lib/source-map-consumer.d.ts +0 -1
  226. package/vite-plugin/node_modules/source-map-js/lib/source-map-consumer.js +0 -1188
  227. package/vite-plugin/node_modules/source-map-js/lib/source-map-generator.d.ts +0 -1
  228. package/vite-plugin/node_modules/source-map-js/lib/source-map-generator.js +0 -444
  229. package/vite-plugin/node_modules/source-map-js/lib/source-node.d.ts +0 -1
  230. package/vite-plugin/node_modules/source-map-js/lib/source-node.js +0 -413
  231. package/vite-plugin/node_modules/source-map-js/lib/util.js +0 -594
  232. package/vite-plugin/node_modules/source-map-js/package.json +0 -71
  233. package/vite-plugin/node_modules/source-map-js/source-map.d.ts +0 -104
  234. package/vite-plugin/node_modules/source-map-js/source-map.js +0 -8
  235. package/vite-plugin/node_modules/tinyglobby/LICENSE +0 -21
  236. package/vite-plugin/node_modules/tinyglobby/README.md +0 -25
  237. package/vite-plugin/node_modules/tinyglobby/dist/index.cjs +0 -334
  238. package/vite-plugin/node_modules/tinyglobby/dist/index.d.cts +0 -148
  239. package/vite-plugin/node_modules/tinyglobby/dist/index.d.mts +0 -148
  240. package/vite-plugin/node_modules/tinyglobby/dist/index.mjs +0 -306
  241. package/vite-plugin/node_modules/tinyglobby/package.json +0 -73
  242. package/vite-plugin/node_modules/vite/LICENSE.md +0 -2230
  243. package/vite-plugin/node_modules/vite/README.md +0 -20
  244. package/vite-plugin/node_modules/vite/bin/openChrome.js +0 -68
  245. package/vite-plugin/node_modules/vite/bin/vite.js +0 -79
  246. package/vite-plugin/node_modules/vite/client.d.ts +0 -282
  247. package/vite-plugin/node_modules/vite/dist/client/client.mjs +0 -1237
  248. package/vite-plugin/node_modules/vite/dist/client/env.mjs +0 -18
  249. package/vite-plugin/node_modules/vite/dist/node/chunks/build.js +0 -5381
  250. package/vite-plugin/node_modules/vite/dist/node/chunks/chunk.js +0 -37
  251. package/vite-plugin/node_modules/vite/dist/node/chunks/dist.js +0 -6784
  252. package/vite-plugin/node_modules/vite/dist/node/chunks/lib.js +0 -371
  253. package/vite-plugin/node_modules/vite/dist/node/chunks/logger.js +0 -322
  254. package/vite-plugin/node_modules/vite/dist/node/chunks/moduleRunnerTransport.d.ts +0 -96
  255. package/vite-plugin/node_modules/vite/dist/node/chunks/node.js +0 -34874
  256. package/vite-plugin/node_modules/vite/dist/node/chunks/postcss-import.js +0 -467
  257. package/vite-plugin/node_modules/vite/dist/node/cli.js +0 -837
  258. package/vite-plugin/node_modules/vite/dist/node/index.d.ts +0 -3867
  259. package/vite-plugin/node_modules/vite/dist/node/index.js +0 -3
  260. package/vite-plugin/node_modules/vite/dist/node/internal.d.ts +0 -2
  261. package/vite-plugin/node_modules/vite/dist/node/internal.js +0 -2
  262. package/vite-plugin/node_modules/vite/dist/node/module-runner.d.ts +0 -315
  263. package/vite-plugin/node_modules/vite/dist/node/module-runner.js +0 -1262
  264. package/vite-plugin/node_modules/vite/misc/false.js +0 -1
  265. package/vite-plugin/node_modules/vite/misc/true.js +0 -1
  266. package/vite-plugin/node_modules/vite/package.json +0 -192
  267. package/vite-plugin/node_modules/vite/types/customEvent.d.ts +0 -79
  268. package/vite-plugin/node_modules/vite/types/hmrPayload.d.ts +0 -80
  269. package/vite-plugin/node_modules/vite/types/hot.d.ts +0 -39
  270. package/vite-plugin/node_modules/vite/types/import-meta.d.ts +0 -5
  271. package/vite-plugin/node_modules/vite/types/importGlob.d.ts +0 -89
  272. package/vite-plugin/node_modules/vite/types/importMeta.d.ts +0 -30
  273. package/vite-plugin/node_modules/vite/types/internal/cssPreprocessorOptions.d.ts +0 -44
  274. package/vite-plugin/node_modules/vite/types/internal/esbuildOptions.d.ts +0 -28
  275. package/vite-plugin/node_modules/vite/types/internal/lightningcssOptions.d.ts +0 -18
  276. package/vite-plugin/node_modules/vite/types/internal/rollupTypeCompat.d.ts +0 -24
  277. package/vite-plugin/node_modules/vite/types/internal/terserOptions.d.ts +0 -11
  278. package/vite-plugin/node_modules/vite/types/metadata.d.ts +0 -47
  279. package/vite-plugin/package.json +0 -17
@@ -1,1237 +0,0 @@
1
- import "@vite/env";
2
- //#region ../../node_modules/.pnpm/nanoid@5.1.9/node_modules/nanoid/non-secure/index.js
3
- let urlAlphabet = "useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";
4
- let nanoid = (size = 21) => {
5
- let id = "";
6
- let i = size | 0;
7
- while (i--) id += urlAlphabet[Math.random() * 64 | 0];
8
- return id;
9
- };
10
- //#endregion
11
- //#region \0@oxc-project+runtime@0.127.0/helpers/typeof.js
12
- function _typeof(o) {
13
- "@babel/helpers - typeof";
14
- return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o) {
15
- return typeof o;
16
- } : function(o) {
17
- return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o;
18
- }, _typeof(o);
19
- }
20
- //#endregion
21
- //#region \0@oxc-project+runtime@0.127.0/helpers/toPrimitive.js
22
- function toPrimitive(t, r) {
23
- if ("object" != _typeof(t) || !t) return t;
24
- var e = t[Symbol.toPrimitive];
25
- if (void 0 !== e) {
26
- var i = e.call(t, r || "default");
27
- if ("object" != _typeof(i)) return i;
28
- throw new TypeError("@@toPrimitive must return a primitive value.");
29
- }
30
- return ("string" === r ? String : Number)(t);
31
- }
32
- //#endregion
33
- //#region \0@oxc-project+runtime@0.127.0/helpers/toPropertyKey.js
34
- function toPropertyKey(t) {
35
- var i = toPrimitive(t, "string");
36
- return "symbol" == _typeof(i) ? i : i + "";
37
- }
38
- //#endregion
39
- //#region \0@oxc-project+runtime@0.127.0/helpers/defineProperty.js
40
- function _defineProperty(e, r, t) {
41
- return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {
42
- value: t,
43
- enumerable: !0,
44
- configurable: !0,
45
- writable: !0
46
- }) : e[r] = t, e;
47
- }
48
- //#endregion
49
- //#region src/shared/hmr.ts
50
- var HMRContext = class {
51
- constructor(hmrClient, ownerPath) {
52
- this.hmrClient = hmrClient;
53
- this.ownerPath = ownerPath;
54
- _defineProperty(this, "newListeners", void 0);
55
- if (!hmrClient.dataMap.has(ownerPath)) hmrClient.dataMap.set(ownerPath, {});
56
- const mod = hmrClient.hotModulesMap.get(ownerPath);
57
- if (mod) mod.callbacks = [];
58
- const staleListeners = hmrClient.ctxToListenersMap.get(ownerPath);
59
- if (staleListeners) for (const [event, staleFns] of staleListeners) {
60
- const listeners = hmrClient.customListenersMap.get(event);
61
- if (listeners) hmrClient.customListenersMap.set(event, listeners.filter((l) => !staleFns.includes(l)));
62
- }
63
- this.newListeners = /* @__PURE__ */ new Map();
64
- hmrClient.ctxToListenersMap.set(ownerPath, this.newListeners);
65
- }
66
- get data() {
67
- return this.hmrClient.dataMap.get(this.ownerPath);
68
- }
69
- accept(deps, callback) {
70
- if (typeof deps === "function" || !deps) this.acceptDeps([this.ownerPath], ([mod]) => deps?.(mod));
71
- else if (typeof deps === "string") this.acceptDeps([deps], ([mod]) => callback?.(mod));
72
- else if (Array.isArray(deps)) this.acceptDeps(deps, callback);
73
- else throw new Error(`invalid hot.accept() usage.`);
74
- }
75
- acceptExports(_, callback) {
76
- this.acceptDeps([this.ownerPath], ([mod]) => callback?.(mod));
77
- }
78
- dispose(cb) {
79
- this.hmrClient.disposeMap.set(this.ownerPath, cb);
80
- }
81
- prune(cb) {
82
- this.hmrClient.pruneMap.set(this.ownerPath, cb);
83
- }
84
- decline() {}
85
- invalidate(message) {
86
- const firstInvalidatedBy = this.hmrClient.currentFirstInvalidatedBy ?? this.ownerPath;
87
- this.hmrClient.notifyListeners("vite:invalidate", {
88
- path: this.ownerPath,
89
- message,
90
- firstInvalidatedBy
91
- });
92
- this.send("vite:invalidate", {
93
- path: this.ownerPath,
94
- message,
95
- firstInvalidatedBy
96
- });
97
- this.hmrClient.logger.debug(`invalidate ${this.ownerPath}${message ? `: ${message}` : ""}`);
98
- }
99
- on(event, cb) {
100
- const addToMap = (map) => {
101
- const existing = map.get(event) || [];
102
- existing.push(cb);
103
- map.set(event, existing);
104
- };
105
- addToMap(this.hmrClient.customListenersMap);
106
- addToMap(this.newListeners);
107
- }
108
- off(event, cb) {
109
- const removeFromMap = (map) => {
110
- const existing = map.get(event);
111
- if (existing === void 0) return;
112
- const pruned = existing.filter((l) => l !== cb);
113
- if (pruned.length === 0) {
114
- map.delete(event);
115
- return;
116
- }
117
- map.set(event, pruned);
118
- };
119
- removeFromMap(this.hmrClient.customListenersMap);
120
- removeFromMap(this.newListeners);
121
- }
122
- send(event, data) {
123
- this.hmrClient.send({
124
- type: "custom",
125
- event,
126
- data
127
- });
128
- }
129
- acceptDeps(deps, callback = () => {}) {
130
- const mod = this.hmrClient.hotModulesMap.get(this.ownerPath) || {
131
- id: this.ownerPath,
132
- callbacks: []
133
- };
134
- mod.callbacks.push({
135
- deps,
136
- fn: callback
137
- });
138
- this.hmrClient.hotModulesMap.set(this.ownerPath, mod);
139
- }
140
- };
141
- var HMRClient = class {
142
- constructor(logger, transport, importUpdatedModule) {
143
- this.logger = logger;
144
- this.transport = transport;
145
- this.importUpdatedModule = importUpdatedModule;
146
- _defineProperty(this, "hotModulesMap", /* @__PURE__ */ new Map());
147
- _defineProperty(this, "disposeMap", /* @__PURE__ */ new Map());
148
- _defineProperty(this, "pruneMap", /* @__PURE__ */ new Map());
149
- _defineProperty(this, "dataMap", /* @__PURE__ */ new Map());
150
- _defineProperty(this, "customListenersMap", /* @__PURE__ */ new Map());
151
- _defineProperty(this, "ctxToListenersMap", /* @__PURE__ */ new Map());
152
- _defineProperty(this, "currentFirstInvalidatedBy", void 0);
153
- _defineProperty(this, "updateQueue", []);
154
- _defineProperty(this, "pendingUpdateQueue", false);
155
- }
156
- async notifyListeners(event, data) {
157
- const cbs = this.customListenersMap.get(event);
158
- if (cbs) await Promise.allSettled(cbs.map((cb) => cb(data)));
159
- }
160
- send(payload) {
161
- this.transport.send(payload).catch((err) => {
162
- this.logger.error(err);
163
- });
164
- }
165
- clear() {
166
- this.hotModulesMap.clear();
167
- this.disposeMap.clear();
168
- this.pruneMap.clear();
169
- this.dataMap.clear();
170
- this.customListenersMap.clear();
171
- this.ctxToListenersMap.clear();
172
- }
173
- async prunePaths(paths) {
174
- await Promise.all(paths.map((path) => {
175
- const disposer = this.disposeMap.get(path);
176
- if (disposer) return disposer(this.dataMap.get(path));
177
- }));
178
- await Promise.all(paths.map((path) => {
179
- const fn = this.pruneMap.get(path);
180
- if (fn) return fn(this.dataMap.get(path));
181
- }));
182
- }
183
- warnFailedUpdate(err, path) {
184
- if (!(err instanceof Error) || !err.message.includes("fetch")) this.logger.error(err);
185
- this.logger.error(`Failed to reload ${path}. This could be due to syntax errors or importing non-existent modules. (see errors above)`);
186
- }
187
- /**
188
- * buffer multiple hot updates triggered by the same src change
189
- * so that they are invoked in the same order they were sent.
190
- * (otherwise the order may be inconsistent because of the http request round trip)
191
- */
192
- async queueUpdate(payload) {
193
- this.updateQueue.push(this.fetchUpdate(payload));
194
- if (!this.pendingUpdateQueue) {
195
- this.pendingUpdateQueue = true;
196
- await Promise.resolve();
197
- this.pendingUpdateQueue = false;
198
- const loading = [...this.updateQueue];
199
- this.updateQueue = [];
200
- (await Promise.all(loading)).forEach((fn) => fn && fn());
201
- }
202
- }
203
- async fetchUpdate(update) {
204
- const { path, acceptedPath, firstInvalidatedBy } = update;
205
- const mod = this.hotModulesMap.get(path);
206
- if (!mod) return;
207
- let fetchedModule;
208
- const isSelfUpdate = path === acceptedPath;
209
- const qualifiedCallbacks = mod.callbacks.filter(({ deps }) => deps.includes(acceptedPath));
210
- if (isSelfUpdate || qualifiedCallbacks.length > 0) {
211
- const disposer = this.disposeMap.get(acceptedPath);
212
- if (disposer) await disposer(this.dataMap.get(acceptedPath));
213
- try {
214
- fetchedModule = await this.importUpdatedModule(update);
215
- } catch (e) {
216
- this.warnFailedUpdate(e, acceptedPath);
217
- }
218
- }
219
- return () => {
220
- try {
221
- this.currentFirstInvalidatedBy = firstInvalidatedBy;
222
- for (const { deps, fn } of qualifiedCallbacks) fn(deps.map((dep) => dep === acceptedPath ? fetchedModule : void 0));
223
- const loggedPath = isSelfUpdate ? path : `${acceptedPath} via ${path}`;
224
- this.logger.debug(`hot updated: ${loggedPath}`);
225
- } finally {
226
- this.currentFirstInvalidatedBy = void 0;
227
- }
228
- };
229
- }
230
- };
231
- //#endregion
232
- //#region src/shared/constants.ts
233
- let SOURCEMAPPING_URL = "sourceMa";
234
- SOURCEMAPPING_URL += "ppingURL";
235
- typeof process !== "undefined" && process.platform;
236
- (async function() {}).constructor;
237
- function promiseWithResolvers() {
238
- let resolve;
239
- let reject;
240
- return {
241
- promise: new Promise((_resolve, _reject) => {
242
- resolve = _resolve;
243
- reject = _reject;
244
- }),
245
- resolve,
246
- reject
247
- };
248
- }
249
- //#endregion
250
- //#region src/shared/moduleRunnerTransport.ts
251
- function reviveInvokeError(e) {
252
- const error = new Error(e.message || "Unknown invoke error");
253
- Object.assign(error, e, { runnerError: /* @__PURE__ */ new Error("RunnerError") });
254
- return error;
255
- }
256
- const createInvokeableTransport = (transport) => {
257
- if (transport.invoke) return {
258
- ...transport,
259
- async invoke(name, data) {
260
- const result = await transport.invoke({
261
- type: "custom",
262
- event: "vite:invoke",
263
- data: {
264
- id: "send",
265
- name,
266
- data
267
- }
268
- });
269
- if ("error" in result) throw reviveInvokeError(result.error);
270
- return result.result;
271
- }
272
- };
273
- if (!transport.send || !transport.connect) throw new Error("transport must implement send and connect when invoke is not implemented");
274
- const rpcPromises = /* @__PURE__ */ new Map();
275
- return {
276
- ...transport,
277
- connect({ onMessage, onDisconnection }) {
278
- return transport.connect({
279
- onMessage(payload) {
280
- if (payload.type === "custom" && payload.event === "vite:invoke") {
281
- const data = payload.data;
282
- if (data.id.startsWith("response:")) {
283
- const invokeId = data.id.slice(9);
284
- const promise = rpcPromises.get(invokeId);
285
- if (!promise) return;
286
- if (promise.timeoutId) clearTimeout(promise.timeoutId);
287
- rpcPromises.delete(invokeId);
288
- const { error, result } = data.data;
289
- if (error) promise.reject(error);
290
- else promise.resolve(result);
291
- return;
292
- }
293
- }
294
- onMessage(payload);
295
- },
296
- onDisconnection
297
- });
298
- },
299
- disconnect() {
300
- rpcPromises.forEach((promise) => {
301
- promise.reject(/* @__PURE__ */ new Error(`transport was disconnected, cannot call ${JSON.stringify(promise.name)}`));
302
- });
303
- rpcPromises.clear();
304
- return transport.disconnect?.();
305
- },
306
- send(data) {
307
- return transport.send(data);
308
- },
309
- async invoke(name, data) {
310
- const promiseId = nanoid();
311
- const wrappedData = {
312
- type: "custom",
313
- event: "vite:invoke",
314
- data: {
315
- name,
316
- id: `send:${promiseId}`,
317
- data
318
- }
319
- };
320
- const sendPromise = transport.send(wrappedData);
321
- const { promise, resolve, reject } = promiseWithResolvers();
322
- const timeout = transport.timeout ?? 6e4;
323
- let timeoutId;
324
- if (timeout > 0) {
325
- timeoutId = setTimeout(() => {
326
- rpcPromises.delete(promiseId);
327
- reject(/* @__PURE__ */ new Error(`transport invoke timed out after ${timeout}ms (data: ${JSON.stringify(wrappedData)})`));
328
- }, timeout);
329
- timeoutId?.unref?.();
330
- }
331
- rpcPromises.set(promiseId, {
332
- resolve,
333
- reject,
334
- name,
335
- timeoutId
336
- });
337
- if (sendPromise) sendPromise.catch((err) => {
338
- clearTimeout(timeoutId);
339
- rpcPromises.delete(promiseId);
340
- reject(err);
341
- });
342
- try {
343
- return await promise;
344
- } catch (err) {
345
- throw reviveInvokeError(err);
346
- }
347
- }
348
- };
349
- };
350
- const normalizeModuleRunnerTransport = (transport) => {
351
- const invokeableTransport = createInvokeableTransport(transport);
352
- let isConnected = !invokeableTransport.connect;
353
- let connectingPromise;
354
- return {
355
- ...transport,
356
- ...invokeableTransport.connect ? { async connect(onMessage) {
357
- if (isConnected) return;
358
- if (connectingPromise) {
359
- await connectingPromise;
360
- return;
361
- }
362
- const maybePromise = invokeableTransport.connect({
363
- onMessage: onMessage ?? (() => {}),
364
- onDisconnection() {
365
- isConnected = false;
366
- }
367
- });
368
- if (maybePromise) {
369
- connectingPromise = maybePromise;
370
- await connectingPromise;
371
- connectingPromise = void 0;
372
- }
373
- isConnected = true;
374
- } } : {},
375
- ...invokeableTransport.disconnect ? { async disconnect() {
376
- if (!isConnected) return;
377
- if (connectingPromise) await connectingPromise;
378
- isConnected = false;
379
- await invokeableTransport.disconnect();
380
- } } : {},
381
- async send(data) {
382
- if (!invokeableTransport.send) return;
383
- if (!isConnected) if (connectingPromise) await connectingPromise;
384
- else throw new Error("send was called before connect");
385
- await invokeableTransport.send(data);
386
- },
387
- async invoke(name, data) {
388
- if (!isConnected) if (connectingPromise) await connectingPromise;
389
- else throw new Error("invoke was called before connect");
390
- return invokeableTransport.invoke(name, data);
391
- }
392
- };
393
- };
394
- const createWebSocketModuleRunnerTransport = (options) => {
395
- const pingInterval = options.pingInterval ?? 3e4;
396
- let ws;
397
- let pingIntervalId;
398
- return {
399
- async connect({ onMessage, onDisconnection }) {
400
- const socket = options.createConnection();
401
- socket.addEventListener("message", async ({ data }) => {
402
- onMessage(JSON.parse(data));
403
- });
404
- let isOpened = socket.readyState === socket.OPEN;
405
- if (!isOpened) await new Promise((resolve, reject) => {
406
- socket.addEventListener("open", () => {
407
- isOpened = true;
408
- resolve();
409
- }, { once: true });
410
- socket.addEventListener("close", async () => {
411
- if (!isOpened) {
412
- reject(/* @__PURE__ */ new Error("WebSocket closed without opened."));
413
- return;
414
- }
415
- onMessage({
416
- type: "custom",
417
- event: "vite:ws:disconnect",
418
- data: { webSocket: socket }
419
- });
420
- onDisconnection();
421
- });
422
- });
423
- onMessage({
424
- type: "custom",
425
- event: "vite:ws:connect",
426
- data: { webSocket: socket }
427
- });
428
- ws = socket;
429
- pingIntervalId = setInterval(() => {
430
- if (socket.readyState === socket.OPEN) socket.send(JSON.stringify({ type: "ping" }));
431
- }, pingInterval);
432
- },
433
- disconnect() {
434
- clearInterval(pingIntervalId);
435
- ws?.close();
436
- },
437
- send(data) {
438
- ws.send(JSON.stringify(data));
439
- }
440
- };
441
- };
442
- //#endregion
443
- //#region src/shared/hmrHandler.ts
444
- function createHMRHandler(handler) {
445
- const queue = new Queue();
446
- return (payload) => queue.enqueue(() => handler(payload));
447
- }
448
- var Queue = class {
449
- constructor() {
450
- _defineProperty(this, "queue", []);
451
- _defineProperty(this, "pending", false);
452
- }
453
- enqueue(promise) {
454
- return new Promise((resolve, reject) => {
455
- this.queue.push({
456
- promise,
457
- resolve,
458
- reject
459
- });
460
- this.dequeue();
461
- });
462
- }
463
- dequeue() {
464
- if (this.pending) return false;
465
- const item = this.queue.shift();
466
- if (!item) return false;
467
- this.pending = true;
468
- item.promise().then(item.resolve).catch(item.reject).finally(() => {
469
- this.pending = false;
470
- this.dequeue();
471
- });
472
- return true;
473
- }
474
- };
475
- //#endregion
476
- //#region src/shared/forwardConsole.ts
477
- function setupForwardConsoleHandler(transport, options) {
478
- if (!options.enabled) return;
479
- function sendError(type, error) {
480
- transport.send({
481
- type: "custom",
482
- event: "vite:forward-console",
483
- data: {
484
- type,
485
- data: {
486
- name: error?.name || "Unknown Error",
487
- message: error?.message || String(error),
488
- stack: error?.stack
489
- }
490
- }
491
- });
492
- }
493
- function sendLog(level, args) {
494
- transport.send({
495
- type: "custom",
496
- event: "vite:forward-console",
497
- data: {
498
- type: "log",
499
- data: {
500
- level,
501
- message: formatConsoleArgs(args)
502
- }
503
- }
504
- });
505
- }
506
- for (const level of options.logLevels) {
507
- const original = console[level];
508
- if (typeof original !== "function") continue;
509
- console[level] = (...args) => {
510
- original(...args);
511
- sendLog(level, args);
512
- };
513
- }
514
- if (options.unhandledErrors && typeof window !== "undefined") {
515
- window.addEventListener("error", (event) => {
516
- sendError("error", event.error ?? (event.message ? new Error(event.message) : event));
517
- });
518
- window.addEventListener("unhandledrejection", (event) => {
519
- sendError("unhandled-rejection", event.reason);
520
- });
521
- }
522
- }
523
- function formatConsoleArgs(args) {
524
- if (args.length === 0) return "";
525
- if (typeof args[0] !== "string") return args.map((arg) => stringifyConsoleArg(arg)).join(" ");
526
- const len = args.length;
527
- let i = 1;
528
- let message = args[0].replace(/%[sdjifoOc%]/g, (specifier) => {
529
- if (specifier === "%%") return "%";
530
- if (i >= len) return specifier;
531
- const arg = args[i++];
532
- switch (specifier) {
533
- case "%s":
534
- if (typeof arg === "bigint") return `${arg.toString()}n`;
535
- return typeof arg === "object" && arg != null ? stringifyConsoleArg(arg) : String(arg);
536
- case "%d":
537
- if (typeof arg === "bigint") return `${arg.toString()}n`;
538
- if (typeof arg === "symbol") return "NaN";
539
- return Number(arg).toString();
540
- case "%i":
541
- if (typeof arg === "bigint") return `${arg.toString()}n`;
542
- return Number.parseInt(String(arg), 10).toString();
543
- case "%f": return Number.parseFloat(String(arg)).toString();
544
- case "%o":
545
- case "%O": return stringifyConsoleArg(arg);
546
- case "%j": try {
547
- return JSON.stringify(arg) ?? "undefined";
548
- } catch {
549
- return "[Circular]";
550
- }
551
- case "%c": return "";
552
- default: return specifier;
553
- }
554
- });
555
- for (let arg = args[i]; i < len; arg = args[++i]) if (arg == null || typeof arg !== "object") message += ` ${typeof arg === "symbol" ? arg.toString() : String(arg)}`;
556
- else message += ` ${stringifyConsoleArg(arg)}`;
557
- return message;
558
- }
559
- function stringifyConsoleArg(value) {
560
- if (typeof value === "string") return value;
561
- if (typeof value === "number" || typeof value === "boolean" || typeof value === "undefined") return String(value);
562
- if (typeof value === "symbol") return value.toString();
563
- if (typeof value === "function") return value.name ? `[Function: ${value.name}]` : "[Function]";
564
- if (value instanceof Error) return value.stack || `${value.name}: ${value.message}`;
565
- if (typeof value === "bigint") return `${value}n`;
566
- const seen = /* @__PURE__ */ new WeakSet();
567
- try {
568
- return JSON.stringify(value, (_, nested) => {
569
- if (typeof nested === "bigint") return `${nested}n`;
570
- if (nested instanceof Error) return {
571
- name: nested.name,
572
- message: nested.message,
573
- stack: nested.stack
574
- };
575
- if (nested && typeof nested === "object") {
576
- if (seen.has(nested)) return "[Circular]";
577
- seen.add(nested);
578
- }
579
- return nested;
580
- }) ?? String(value);
581
- } catch {
582
- return String(value);
583
- }
584
- }
585
- //#endregion
586
- //#region src/client/overlay.ts
587
- const hmrConfigName = __HMR_CONFIG_NAME__;
588
- const base$1 = __BASE__ || "/";
589
- const cspNonce = "document" in globalThis ? document.querySelector("meta[property=csp-nonce]")?.nonce : void 0;
590
- function h(e, attrs = {}, ...children) {
591
- const elem = document.createElement(e);
592
- for (const [k, v] of Object.entries(attrs)) if (v !== void 0) elem.setAttribute(k, v);
593
- elem.append(...children);
594
- return elem;
595
- }
596
- const templateStyle = `
597
- :host {
598
- position: fixed;
599
- top: 0;
600
- left: 0;
601
- width: 100%;
602
- height: 100%;
603
- z-index: 99999;
604
- --monospace: 'SFMono-Regular', Consolas,
605
- 'Liberation Mono', Menlo, Courier, monospace;
606
- --red: #ff5555;
607
- --yellow: #e2aa53;
608
- --purple: #cfa4ff;
609
- --cyan: #2dd9da;
610
- --dim: #c9c9c9;
611
-
612
- --window-background: #181818;
613
- --window-color: #d8d8d8;
614
- }
615
-
616
- .backdrop {
617
- position: fixed;
618
- z-index: 99999;
619
- top: 0;
620
- left: 0;
621
- width: 100%;
622
- height: 100%;
623
- overflow-y: scroll;
624
- margin: 0;
625
- background: rgba(0, 0, 0, 0.66);
626
- }
627
-
628
- .window {
629
- font-family: var(--monospace);
630
- line-height: 1.5;
631
- max-width: 80vw;
632
- color: var(--window-color);
633
- box-sizing: border-box;
634
- margin: 30px auto;
635
- padding: 2.5vh 4vw;
636
- position: relative;
637
- background: var(--window-background);
638
- border-radius: 6px 6px 8px 8px;
639
- box-shadow: 0 19px 38px rgba(0,0,0,0.30), 0 15px 12px rgba(0,0,0,0.22);
640
- overflow: hidden;
641
- border-top: 8px solid var(--red);
642
- direction: ltr;
643
- text-align: left;
644
- }
645
-
646
- pre {
647
- font-family: var(--monospace);
648
- font-size: 16px;
649
- margin-top: 0;
650
- margin-bottom: 1em;
651
- overflow-x: scroll;
652
- scrollbar-width: none;
653
- }
654
-
655
- pre::-webkit-scrollbar {
656
- display: none;
657
- }
658
-
659
- pre.frame::-webkit-scrollbar {
660
- display: block;
661
- height: 5px;
662
- }
663
-
664
- pre.frame::-webkit-scrollbar-thumb {
665
- background: #999;
666
- border-radius: 5px;
667
- }
668
-
669
- pre.frame {
670
- scrollbar-width: thin;
671
- }
672
-
673
- .message {
674
- line-height: 1.3;
675
- font-weight: 600;
676
- white-space: pre-wrap;
677
- }
678
-
679
- .message-body {
680
- color: var(--red);
681
- }
682
-
683
- .plugin {
684
- color: var(--purple);
685
- }
686
-
687
- .file {
688
- color: var(--cyan);
689
- margin-bottom: 0;
690
- white-space: pre-wrap;
691
- word-break: break-all;
692
- }
693
-
694
- .frame {
695
- color: var(--yellow);
696
- }
697
-
698
- .stack {
699
- font-size: 13px;
700
- color: var(--dim);
701
- }
702
-
703
- .tip {
704
- font-size: 13px;
705
- color: #999;
706
- border-top: 1px dotted #999;
707
- padding-top: 13px;
708
- line-height: 1.8;
709
- }
710
-
711
- code {
712
- font-size: 13px;
713
- font-family: var(--monospace);
714
- color: var(--yellow);
715
- }
716
-
717
- .file-link {
718
- text-decoration: underline;
719
- cursor: pointer;
720
- }
721
-
722
- kbd {
723
- line-height: 1.5;
724
- font-family: ui-monospace, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
725
- font-size: 0.75rem;
726
- font-weight: 700;
727
- background-color: rgb(38, 40, 44);
728
- color: rgb(166, 167, 171);
729
- padding: 0.15rem 0.3rem;
730
- border-radius: 0.25rem;
731
- border-width: 0.0625rem 0.0625rem 0.1875rem;
732
- border-style: solid;
733
- border-color: rgb(54, 57, 64);
734
- border-image: initial;
735
- }
736
- `;
737
- const createTemplate = () => h("div", {
738
- class: "backdrop",
739
- part: "backdrop"
740
- }, h("div", {
741
- class: "window",
742
- part: "window"
743
- }, h("pre", {
744
- class: "message",
745
- part: "message"
746
- }, h("span", {
747
- class: "plugin",
748
- part: "plugin"
749
- }), h("span", {
750
- class: "message-body",
751
- part: "message-body"
752
- })), h("pre", {
753
- class: "file",
754
- part: "file"
755
- }), h("pre", {
756
- class: "frame",
757
- part: "frame"
758
- }), h("pre", {
759
- class: "stack",
760
- part: "stack"
761
- }), h("div", {
762
- class: "tip",
763
- part: "tip"
764
- }, "Click outside, press ", h("kbd", {}, "Esc"), " key, or fix the code to dismiss.", h("br"), "You can also disable this overlay by setting ", h("code", { part: "config-option-name" }, "server.hmr.overlay"), " to ", h("code", { part: "config-option-value" }, "false"), " in ", h("code", { part: "config-file-name" }, hmrConfigName), ".")), h("style", { nonce: cspNonce }, templateStyle));
765
- const fileRE = /(?:file:\/\/)?(?:[a-zA-Z]:\\|\/).*?:\d+:\d+/g;
766
- const codeframeRE = /^(?:>?\s*\d+\s+\|.*|\s+\|\s*\^.*)\r?\n/gm;
767
- const { HTMLElement = class {} } = globalThis;
768
- var ErrorOverlay = class extends HTMLElement {
769
- constructor(err, links = true) {
770
- super();
771
- this.root = this.attachShadow({ mode: "open" });
772
- this.root.appendChild(createTemplate());
773
- codeframeRE.lastIndex = 0;
774
- const hasFrame = err.frame && codeframeRE.test(err.frame);
775
- const message = hasFrame ? err.message.replace(codeframeRE, "") : err.message;
776
- if (err.plugin) this.text(".plugin", `[plugin:${err.plugin}] `);
777
- this.text(".message-body", message.trim());
778
- const [file] = (err.loc?.file || err.id || "unknown file").split(`?`);
779
- if (err.loc) this.text(".file", `${file}:${err.loc.line}:${err.loc.column}`, links);
780
- else if (err.id) this.text(".file", file);
781
- if (hasFrame) this.text(".frame", err.frame.trim());
782
- this.text(".stack", err.stack, links);
783
- this.root.querySelector(".window").addEventListener("click", (e) => {
784
- e.stopPropagation();
785
- });
786
- this.addEventListener("click", () => {
787
- this.close();
788
- });
789
- this.closeOnEsc = (e) => {
790
- if (e.key === "Escape" || e.code === "Escape") this.close();
791
- };
792
- document.addEventListener("keydown", this.closeOnEsc);
793
- }
794
- text(selector, text, linkFiles = false) {
795
- const el = this.root.querySelector(selector);
796
- if (!linkFiles) el.textContent = text;
797
- else {
798
- let curIndex = 0;
799
- let match;
800
- fileRE.lastIndex = 0;
801
- while (match = fileRE.exec(text)) {
802
- const { 0: file, index } = match;
803
- const frag = text.slice(curIndex, index);
804
- el.appendChild(document.createTextNode(frag));
805
- const link = document.createElement("a");
806
- link.textContent = file;
807
- link.className = "file-link";
808
- link.onclick = () => {
809
- fetch(new URL(`${base$1}__open-in-editor?file=${encodeURIComponent(file)}`, import.meta.url));
810
- };
811
- el.appendChild(link);
812
- curIndex += frag.length + file.length;
813
- }
814
- if (curIndex < text.length) el.appendChild(document.createTextNode(text.slice(curIndex)));
815
- }
816
- }
817
- close() {
818
- this.parentNode?.removeChild(this);
819
- document.removeEventListener("keydown", this.closeOnEsc);
820
- }
821
- };
822
- const overlayId = "vite-error-overlay";
823
- const { customElements } = globalThis;
824
- if (customElements && !customElements.get("vite-error-overlay")) customElements.define(overlayId, ErrorOverlay);
825
- //#endregion
826
- //#region src/client/client.ts
827
- console.debug("[vite] connecting...");
828
- const importMetaUrl = new URL(import.meta.url);
829
- const serverHost = __SERVER_HOST__;
830
- const socketProtocol = __HMR_PROTOCOL__ || (importMetaUrl.protocol === "https:" ? "wss" : "ws");
831
- const hmrPort = __HMR_PORT__;
832
- const socketHost = `${__HMR_HOSTNAME__ || importMetaUrl.hostname}:${hmrPort || importMetaUrl.port}${__HMR_BASE__}`;
833
- const directSocketHost = __HMR_DIRECT_TARGET__;
834
- const base = __BASE__ || "/";
835
- const hmrTimeout = __HMR_TIMEOUT__;
836
- const wsToken = __WS_TOKEN__;
837
- const isBundleMode = __BUNDLED_DEV__;
838
- const forwardConsole = __SERVER_FORWARD_CONSOLE__;
839
- const transport = normalizeModuleRunnerTransport((() => {
840
- let wsTransport = createWebSocketModuleRunnerTransport({
841
- createConnection: () => new WebSocket(`${socketProtocol}://${socketHost}?token=${wsToken}`, "vite-hmr"),
842
- pingInterval: hmrTimeout
843
- });
844
- return {
845
- async connect(handlers) {
846
- try {
847
- await wsTransport.connect(handlers);
848
- } catch (e) {
849
- if (!hmrPort) {
850
- wsTransport = createWebSocketModuleRunnerTransport({
851
- createConnection: () => new WebSocket(`${socketProtocol}://${directSocketHost}?token=${wsToken}`, "vite-hmr"),
852
- pingInterval: hmrTimeout
853
- });
854
- try {
855
- await wsTransport.connect(handlers);
856
- console.info("[vite] Direct websocket connection fallback. Check out https://vite.dev/config/server-options.html#server-hmr to remove the previous connection error.");
857
- } catch (e) {
858
- if (e instanceof Error && e.message.includes("WebSocket closed without opened.")) {
859
- const currentScriptHostURL = new URL(import.meta.url);
860
- const currentScriptHost = currentScriptHostURL.host + currentScriptHostURL.pathname.replace(/@vite\/client$/, "");
861
- console.error(`[vite] failed to connect to websocket.
862
- your current setup:
863
- (browser) ${currentScriptHost} <--[HTTP]--> ${serverHost} (server)\n (browser) ${socketHost} <--[WebSocket (failing)]--> ${directSocketHost} (server)\nCheck out your Vite / network configuration and https://vite.dev/config/server-options.html#server-hmr .`);
864
- }
865
- }
866
- return;
867
- }
868
- console.error(`[vite] failed to connect to websocket (${e}). `);
869
- throw e;
870
- }
871
- },
872
- async disconnect() {
873
- await wsTransport.disconnect();
874
- },
875
- send(data) {
876
- wsTransport.send(data);
877
- }
878
- };
879
- })());
880
- let willUnload = false;
881
- if (typeof window !== "undefined") window.addEventListener?.("beforeunload", () => {
882
- willUnload = true;
883
- });
884
- function cleanUrl(pathname) {
885
- const url = new URL(pathname, "http://vite.dev");
886
- url.searchParams.delete("direct");
887
- return url.pathname + url.search;
888
- }
889
- let isFirstUpdate = true;
890
- const outdatedLinkTags = /* @__PURE__ */ new WeakSet();
891
- const debounceReload = (time) => {
892
- let timer;
893
- return () => {
894
- if (timer) {
895
- clearTimeout(timer);
896
- timer = null;
897
- }
898
- timer = setTimeout(() => {
899
- location.reload();
900
- }, time);
901
- };
902
- };
903
- const pageReload = debounceReload(20);
904
- const hmrClient = new HMRClient({
905
- error: (err) => console.error("[vite]", err),
906
- debug: (...msg) => console.debug("[vite]", ...msg)
907
- }, transport, isBundleMode ? async function importUpdatedModule({ url, acceptedPath, isWithinCircularImport }) {
908
- const importPromise = import(base + url).then(() => globalThis.__rolldown_runtime__.loadExports(acceptedPath));
909
- if (isWithinCircularImport) importPromise.catch(() => {
910
- console.info(`[hmr] ${acceptedPath} failed to apply HMR as it's within a circular import. Reloading page to reset the execution order. To debug and break the circular import, you can run \`vite --debug hmr\` to log the circular dependency path if a file change triggered it.`);
911
- pageReload();
912
- });
913
- return await importPromise;
914
- } : async function importUpdatedModule({ acceptedPath, timestamp, explicitImportRequired, isWithinCircularImport }) {
915
- const [acceptedPathWithoutQuery, query] = acceptedPath.split(`?`);
916
- const importPromise = import(
917
- /* @vite-ignore */
918
- base + acceptedPathWithoutQuery.slice(1) + `?${explicitImportRequired ? "import&" : ""}t=${timestamp}${query ? `&${query}` : ""}`
919
- );
920
- if (isWithinCircularImport) importPromise.catch(() => {
921
- console.info(`[hmr] ${acceptedPath} failed to apply HMR as it's within a circular import. Reloading page to reset the execution order. To debug and break the circular import, you can run \`vite --debug hmr\` to log the circular dependency path if a file change triggered it.`);
922
- pageReload();
923
- });
924
- return await importPromise;
925
- });
926
- transport.connect(createHMRHandler(handleMessage));
927
- setupForwardConsoleHandler(transport, forwardConsole);
928
- async function handleMessage(payload) {
929
- switch (payload.type) {
930
- case "connected":
931
- console.debug(`[vite] connected.`);
932
- break;
933
- case "update":
934
- await hmrClient.notifyListeners("vite:beforeUpdate", payload);
935
- if (hasDocument) if (isFirstUpdate && hasErrorOverlay()) {
936
- location.reload();
937
- return;
938
- } else {
939
- if (enableOverlay) clearErrorOverlay();
940
- isFirstUpdate = false;
941
- }
942
- await Promise.all(payload.updates.map(async (update) => {
943
- if (update.type === "js-update") return hmrClient.queueUpdate(update);
944
- const { path, timestamp } = update;
945
- const searchUrl = cleanUrl(path);
946
- const el = Array.from(document.querySelectorAll("link")).find((e) => !outdatedLinkTags.has(e) && cleanUrl(e.href).includes(searchUrl));
947
- if (!el) return;
948
- const newPath = `${base}${searchUrl.slice(1)}${searchUrl.includes("?") ? "&" : "?"}t=${timestamp}`;
949
- return new Promise((resolve) => {
950
- const newLinkTag = el.cloneNode();
951
- newLinkTag.href = new URL(newPath, el.href).href;
952
- const removeOldEl = () => {
953
- el.remove();
954
- console.debug(`[vite] css hot updated: ${searchUrl}`);
955
- resolve();
956
- };
957
- newLinkTag.addEventListener("load", removeOldEl);
958
- newLinkTag.addEventListener("error", removeOldEl);
959
- outdatedLinkTags.add(el);
960
- el.after(newLinkTag);
961
- });
962
- }));
963
- await hmrClient.notifyListeners("vite:afterUpdate", payload);
964
- break;
965
- case "custom":
966
- await hmrClient.notifyListeners(payload.event, payload.data);
967
- if (payload.event === "vite:ws:disconnect") {
968
- if (hasDocument && !willUnload) {
969
- console.log(`[vite] server connection lost. Polling for restart...`);
970
- const socket = payload.data.webSocket;
971
- const url = new URL(socket.url);
972
- url.search = "";
973
- await waitForSuccessfulPing(url.href);
974
- location.reload();
975
- }
976
- }
977
- break;
978
- case "full-reload":
979
- await hmrClient.notifyListeners("vite:beforeFullReload", payload);
980
- if (hasDocument) if (payload.path && payload.path.endsWith(".html")) {
981
- const pagePath = decodeURI(location.pathname);
982
- const payloadPath = base + payload.path.slice(1);
983
- if (pagePath === payloadPath || payload.path === "/index.html" || pagePath.endsWith("/") && pagePath + "index.html" === payloadPath) pageReload();
984
- return;
985
- } else pageReload();
986
- break;
987
- case "prune":
988
- await hmrClient.notifyListeners("vite:beforePrune", payload);
989
- await hmrClient.prunePaths(payload.paths);
990
- break;
991
- case "error":
992
- await hmrClient.notifyListeners("vite:error", payload);
993
- if (hasDocument) {
994
- const err = payload.err;
995
- if (enableOverlay) createErrorOverlay(err);
996
- else console.error(`[vite] Internal Server Error\n${err.message}\n${err.stack}`);
997
- }
998
- break;
999
- case "ping": break;
1000
- default: return payload;
1001
- }
1002
- }
1003
- const enableOverlay = __HMR_ENABLE_OVERLAY__;
1004
- const hasDocument = "document" in globalThis;
1005
- function createErrorOverlay(err) {
1006
- clearErrorOverlay();
1007
- const { customElements } = globalThis;
1008
- if (customElements) {
1009
- const ErrorOverlayConstructor = customElements.get(overlayId);
1010
- document.body.appendChild(new ErrorOverlayConstructor(err));
1011
- }
1012
- }
1013
- function clearErrorOverlay() {
1014
- document.querySelectorAll(overlayId).forEach((n) => n.close());
1015
- }
1016
- function hasErrorOverlay() {
1017
- return document.querySelectorAll(overlayId).length;
1018
- }
1019
- function waitForSuccessfulPing(socketUrl) {
1020
- if (typeof SharedWorker === "undefined") {
1021
- const visibilityManager = {
1022
- currentState: document.visibilityState,
1023
- listeners: /* @__PURE__ */ new Set()
1024
- };
1025
- const onVisibilityChange = () => {
1026
- visibilityManager.currentState = document.visibilityState;
1027
- for (const listener of visibilityManager.listeners) listener(visibilityManager.currentState);
1028
- };
1029
- document.addEventListener("visibilitychange", onVisibilityChange);
1030
- return waitForSuccessfulPingInternal(socketUrl, visibilityManager);
1031
- }
1032
- const blob = new Blob([
1033
- "\"use strict\";",
1034
- `const waitForSuccessfulPingInternal = ${waitForSuccessfulPingInternal.toString()};`,
1035
- `const fn = ${pingWorkerContentMain.toString()};`,
1036
- `fn(${JSON.stringify(socketUrl)})`
1037
- ], { type: "application/javascript" });
1038
- const objURL = URL.createObjectURL(blob);
1039
- const sharedWorker = new SharedWorker(objURL);
1040
- return new Promise((resolve, reject) => {
1041
- const onVisibilityChange = () => {
1042
- sharedWorker.port.postMessage({ visibility: document.visibilityState });
1043
- };
1044
- document.addEventListener("visibilitychange", onVisibilityChange);
1045
- sharedWorker.port.addEventListener("message", (event) => {
1046
- document.removeEventListener("visibilitychange", onVisibilityChange);
1047
- sharedWorker.port.close();
1048
- const data = event.data;
1049
- if (data.type === "error") {
1050
- reject(data.error);
1051
- return;
1052
- }
1053
- resolve();
1054
- });
1055
- onVisibilityChange();
1056
- sharedWorker.port.start();
1057
- });
1058
- }
1059
- function pingWorkerContentMain(socketUrl) {
1060
- self.addEventListener("connect", (_event) => {
1061
- const port = _event.ports[0];
1062
- if (!socketUrl) {
1063
- port.postMessage({
1064
- type: "error",
1065
- error: /* @__PURE__ */ new Error("socketUrl not found")
1066
- });
1067
- return;
1068
- }
1069
- const visibilityManager = {
1070
- currentState: "visible",
1071
- listeners: /* @__PURE__ */ new Set()
1072
- };
1073
- port.addEventListener("message", (event) => {
1074
- const { visibility } = event.data;
1075
- visibilityManager.currentState = visibility;
1076
- console.debug("[vite] new window visibility", visibility);
1077
- for (const listener of visibilityManager.listeners) listener(visibility);
1078
- });
1079
- port.start();
1080
- console.debug("[vite] connected from window");
1081
- waitForSuccessfulPingInternal(socketUrl, visibilityManager).then(() => {
1082
- console.debug("[vite] ping successful");
1083
- try {
1084
- port.postMessage({ type: "success" });
1085
- } catch (error) {
1086
- port.postMessage({
1087
- type: "error",
1088
- error
1089
- });
1090
- }
1091
- }, (error) => {
1092
- console.debug("[vite] error happened", error);
1093
- try {
1094
- port.postMessage({
1095
- type: "error",
1096
- error
1097
- });
1098
- } catch (error) {
1099
- port.postMessage({
1100
- type: "error",
1101
- error
1102
- });
1103
- }
1104
- });
1105
- });
1106
- }
1107
- async function waitForSuccessfulPingInternal(socketUrl, visibilityManager, ms = 1e3) {
1108
- function wait(ms) {
1109
- return new Promise((resolve) => setTimeout(resolve, ms));
1110
- }
1111
- async function ping() {
1112
- try {
1113
- const socket = new WebSocket(socketUrl, "vite-ping");
1114
- return new Promise((resolve) => {
1115
- function onOpen() {
1116
- resolve(true);
1117
- close();
1118
- }
1119
- function onError() {
1120
- resolve(false);
1121
- close();
1122
- }
1123
- function close() {
1124
- socket.removeEventListener("open", onOpen);
1125
- socket.removeEventListener("error", onError);
1126
- socket.close();
1127
- }
1128
- socket.addEventListener("open", onOpen);
1129
- socket.addEventListener("error", onError);
1130
- });
1131
- } catch {
1132
- return false;
1133
- }
1134
- }
1135
- function waitForWindowShow(visibilityManager) {
1136
- return new Promise((resolve) => {
1137
- const onChange = (newVisibility) => {
1138
- if (newVisibility === "visible") {
1139
- resolve();
1140
- visibilityManager.listeners.delete(onChange);
1141
- }
1142
- };
1143
- visibilityManager.listeners.add(onChange);
1144
- });
1145
- }
1146
- if (await ping()) return;
1147
- await wait(ms);
1148
- while (true) if (visibilityManager.currentState === "visible") {
1149
- if (await ping()) break;
1150
- await wait(ms);
1151
- } else await waitForWindowShow(visibilityManager);
1152
- }
1153
- const sheetsMap = /* @__PURE__ */ new Map();
1154
- const linkSheetsMap = /* @__PURE__ */ new Map();
1155
- if ("document" in globalThis) {
1156
- document.querySelectorAll("style[data-vite-dev-id]").forEach((el) => {
1157
- sheetsMap.set(el.getAttribute("data-vite-dev-id"), el);
1158
- });
1159
- document.querySelectorAll("link[rel=\"stylesheet\"][data-vite-dev-id]").forEach((el) => {
1160
- linkSheetsMap.set(el.getAttribute("data-vite-dev-id"), el);
1161
- });
1162
- }
1163
- let lastInsertedStyle;
1164
- function updateStyle(id, content) {
1165
- if (linkSheetsMap.has(id)) return;
1166
- let style = sheetsMap.get(id);
1167
- if (!style) {
1168
- style = document.createElement("style");
1169
- style.setAttribute("type", "text/css");
1170
- style.setAttribute("data-vite-dev-id", id);
1171
- style.textContent = content;
1172
- if (cspNonce) style.setAttribute("nonce", cspNonce);
1173
- if (!lastInsertedStyle) {
1174
- document.head.appendChild(style);
1175
- setTimeout(() => {
1176
- lastInsertedStyle = void 0;
1177
- }, 0);
1178
- } else lastInsertedStyle.insertAdjacentElement("afterend", style);
1179
- lastInsertedStyle = style;
1180
- } else style.textContent = content;
1181
- sheetsMap.set(id, style);
1182
- }
1183
- function removeStyle(id) {
1184
- if (linkSheetsMap.has(id)) {
1185
- document.querySelectorAll(`link[rel="stylesheet"][data-vite-dev-id]`).forEach((el) => {
1186
- if (el.getAttribute("data-vite-dev-id") === id) el.remove();
1187
- });
1188
- linkSheetsMap.delete(id);
1189
- }
1190
- const style = sheetsMap.get(id);
1191
- if (style) {
1192
- document.head.removeChild(style);
1193
- sheetsMap.delete(id);
1194
- }
1195
- }
1196
- function createHotContext(ownerPath) {
1197
- return new HMRContext(hmrClient, ownerPath);
1198
- }
1199
- /**
1200
- * urls here are dynamic import() urls that couldn't be statically analyzed
1201
- */
1202
- function injectQuery(url, queryToInject) {
1203
- if (url[0] !== "." && url[0] !== "/") return url;
1204
- const pathname = url.replace(/[?#].*$/, "");
1205
- const { search, hash } = new URL(url, "http://vite.dev");
1206
- return `${pathname}?${queryToInject}${search ? `&` + search.slice(1) : ""}${hash || ""}`;
1207
- }
1208
- if (isBundleMode && typeof DevRuntime !== "undefined") {
1209
- var _ref;
1210
- class ViteDevRuntime extends DevRuntime {
1211
- createModuleHotContext(moduleId) {
1212
- const ctx = createHotContext(moduleId);
1213
- ctx._internal = {
1214
- updateStyle,
1215
- removeStyle
1216
- };
1217
- return ctx;
1218
- }
1219
- applyUpdates(_boundaries) {}
1220
- }
1221
- const wrappedSocket = { send(message) {
1222
- switch (message.type) {
1223
- case "hmr:module-registered":
1224
- transport.send({
1225
- type: "custom",
1226
- event: "vite:module-loaded",
1227
- data: { modules: message.modules.slice() }
1228
- });
1229
- break;
1230
- default: throw new Error(`Unknown message type: ${JSON.stringify(message)}`);
1231
- }
1232
- } };
1233
- const clientId = nanoid();
1234
- (_ref = globalThis).__rolldown_runtime__ ?? (_ref.__rolldown_runtime__ = new ViteDevRuntime(wrappedSocket, clientId));
1235
- }
1236
- //#endregion
1237
- export { ErrorOverlay, createHotContext, injectQuery, removeStyle, updateStyle };