@rws-framework/client 2.13.1 → 2.13.3

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 (288) hide show
  1. package/.bin/add-v.sh +9 -9
  2. package/.bin/emerge.sh +15 -15
  3. package/.emerge-fast.yaml +46 -46
  4. package/.emerge-typescript-template.yaml +23 -23
  5. package/.emerge-vis-output/fast-element/emerge-file_result_dependency_graph.graphml +693 -693
  6. package/.emerge-vis-output/fast-element/emerge-filesystem_graph.graphml +705 -705
  7. package/.emerge-vis-output/fast-element/emerge-statistics-metrics.txt +440 -440
  8. package/.emerge-vis-output/fast-element/html/emerge.html +500 -500
  9. package/.emerge-vis-output/fast-element/html/jsconfig.json +8 -8
  10. package/.emerge-vis-output/fast-element/html/resources/css/custom.css +211 -211
  11. package/.emerge-vis-output/fast-element/html/resources/js/emerge_common.js +44 -44
  12. package/.emerge-vis-output/fast-element/html/resources/js/emerge_data.js +13 -13
  13. package/.emerge-vis-output/fast-element/html/resources/js/emerge_git.js +1413 -1413
  14. package/.emerge-vis-output/fast-element/html/resources/js/emerge_graph.js +539 -539
  15. package/.emerge-vis-output/fast-element/html/resources/js/emerge_heatmap.js +219 -219
  16. package/.emerge-vis-output/fast-element/html/resources/js/emerge_hull.js +179 -179
  17. package/.emerge-vis-output/fast-element/html/resources/js/emerge_main.js +1002 -1002
  18. package/.emerge-vis-output/fast-element/html/resources/js/emerge_search.js +71 -71
  19. package/.emerge-vis-output/fast-element/html/resources/js/emerge_ui.js +199 -199
  20. package/.emerge-vis-output/fast-element/html/vendors/bootstrap/css/bootstrap-grid.css +4123 -4123
  21. package/.emerge-vis-output/fast-element/html/vendors/bootstrap/css/bootstrap-grid.min.css +6 -6
  22. package/.emerge-vis-output/fast-element/html/vendors/bootstrap/css/bootstrap-grid.rtl.css +4122 -4122
  23. package/.emerge-vis-output/fast-element/html/vendors/bootstrap/css/bootstrap-grid.rtl.min.css +6 -6
  24. package/.emerge-vis-output/fast-element/html/vendors/bootstrap/css/bootstrap-reboot.css +487 -487
  25. package/.emerge-vis-output/fast-element/html/vendors/bootstrap/css/bootstrap-reboot.min.css +6 -6
  26. package/.emerge-vis-output/fast-element/html/vendors/bootstrap/css/bootstrap-reboot.rtl.css +484 -484
  27. package/.emerge-vis-output/fast-element/html/vendors/bootstrap/css/bootstrap-reboot.rtl.min.css +6 -6
  28. package/.emerge-vis-output/fast-element/html/vendors/bootstrap/css/bootstrap-utilities.css +4265 -4265
  29. package/.emerge-vis-output/fast-element/html/vendors/bootstrap/css/bootstrap-utilities.min.css +6 -6
  30. package/.emerge-vis-output/fast-element/html/vendors/bootstrap/css/bootstrap-utilities.rtl.css +4256 -4256
  31. package/.emerge-vis-output/fast-element/html/vendors/bootstrap/css/bootstrap-utilities.rtl.min.css +6 -6
  32. package/.emerge-vis-output/fast-element/html/vendors/bootstrap/css/bootstrap.css +10877 -10877
  33. package/.emerge-vis-output/fast-element/html/vendors/bootstrap/css/bootstrap.min.css +6 -6
  34. package/.emerge-vis-output/fast-element/html/vendors/bootstrap/css/bootstrap.rtl.css +10841 -10841
  35. package/.emerge-vis-output/fast-element/html/vendors/bootstrap/css/bootstrap.rtl.min.css +6 -6
  36. package/.emerge-vis-output/fast-element/html/vendors/bootstrap/js/bootstrap.bundle.js +7075 -7075
  37. package/.emerge-vis-output/fast-element/html/vendors/bootstrap/js/bootstrap.bundle.min.js +6 -6
  38. package/.emerge-vis-output/fast-element/html/vendors/bootstrap/js/bootstrap.esm.js +5202 -5202
  39. package/.emerge-vis-output/fast-element/html/vendors/bootstrap/js/bootstrap.esm.min.js +6 -6
  40. package/.emerge-vis-output/fast-element/html/vendors/bootstrap/js/bootstrap.js +5249 -5249
  41. package/.emerge-vis-output/fast-element/html/vendors/bootstrap/js/bootstrap.min.js +6 -6
  42. package/.emerge-vis-output/fast-element/html/vendors/d3/d3.v7.8.4.min.js +2 -2
  43. package/.emerge-vis-output/fast-element/html/vendors/d3/d3.v7.min.js +2 -2
  44. package/.emerge-vis-output/fast-element/html/vendors/dark-mode-switch/css/dark-mode.css +148 -148
  45. package/.emerge-vis-output/fast-element/html/vendors/daterangepicker/daterangepicker.min.js +7 -7
  46. package/.emerge-vis-output/fast-element/html/vendors/daterangepicker/moment.min.js +6 -6
  47. package/.emerge-vis-output/fast-element/html/vendors/hull/hull.js +373 -373
  48. package/.emerge-vis-output/fast-element/html/vendors/jquery/jquery-3.6.0.min.js +2 -2
  49. package/.emerge-vis-output/fast-element/html/vendors/popper/popper.min.js +6 -6
  50. package/.emerge-vis-output/fast-element/html/vendors/simpleheat/simpleheat.js +141 -141
  51. package/.emerge-vis-output/fast-foundation/emerge-file_result_dependency_graph.graphml +4043 -4043
  52. package/.emerge-vis-output/fast-foundation/emerge-filesystem_graph.graphml +4538 -4538
  53. package/.emerge-vis-output/fast-foundation/emerge-statistics-metrics.txt +2510 -2510
  54. package/.emerge-vis-output/fast-foundation/html/emerge.html +500 -500
  55. package/.emerge-vis-output/fast-foundation/html/jsconfig.json +8 -8
  56. package/.emerge-vis-output/fast-foundation/html/resources/css/custom.css +211 -211
  57. package/.emerge-vis-output/fast-foundation/html/resources/js/emerge_common.js +44 -44
  58. package/.emerge-vis-output/fast-foundation/html/resources/js/emerge_data.js +13 -13
  59. package/.emerge-vis-output/fast-foundation/html/resources/js/emerge_git.js +1413 -1413
  60. package/.emerge-vis-output/fast-foundation/html/resources/js/emerge_graph.js +539 -539
  61. package/.emerge-vis-output/fast-foundation/html/resources/js/emerge_heatmap.js +219 -219
  62. package/.emerge-vis-output/fast-foundation/html/resources/js/emerge_hull.js +179 -179
  63. package/.emerge-vis-output/fast-foundation/html/resources/js/emerge_main.js +1002 -1002
  64. package/.emerge-vis-output/fast-foundation/html/resources/js/emerge_search.js +71 -71
  65. package/.emerge-vis-output/fast-foundation/html/resources/js/emerge_ui.js +199 -199
  66. package/.emerge-vis-output/fast-foundation/html/vendors/bootstrap/css/bootstrap-grid.css +4123 -4123
  67. package/.emerge-vis-output/fast-foundation/html/vendors/bootstrap/css/bootstrap-grid.min.css +6 -6
  68. package/.emerge-vis-output/fast-foundation/html/vendors/bootstrap/css/bootstrap-grid.rtl.css +4122 -4122
  69. package/.emerge-vis-output/fast-foundation/html/vendors/bootstrap/css/bootstrap-grid.rtl.min.css +6 -6
  70. package/.emerge-vis-output/fast-foundation/html/vendors/bootstrap/css/bootstrap-reboot.css +487 -487
  71. package/.emerge-vis-output/fast-foundation/html/vendors/bootstrap/css/bootstrap-reboot.min.css +6 -6
  72. package/.emerge-vis-output/fast-foundation/html/vendors/bootstrap/css/bootstrap-reboot.rtl.css +484 -484
  73. package/.emerge-vis-output/fast-foundation/html/vendors/bootstrap/css/bootstrap-reboot.rtl.min.css +6 -6
  74. package/.emerge-vis-output/fast-foundation/html/vendors/bootstrap/css/bootstrap-utilities.css +4265 -4265
  75. package/.emerge-vis-output/fast-foundation/html/vendors/bootstrap/css/bootstrap-utilities.min.css +6 -6
  76. package/.emerge-vis-output/fast-foundation/html/vendors/bootstrap/css/bootstrap-utilities.rtl.css +4256 -4256
  77. package/.emerge-vis-output/fast-foundation/html/vendors/bootstrap/css/bootstrap-utilities.rtl.min.css +6 -6
  78. package/.emerge-vis-output/fast-foundation/html/vendors/bootstrap/css/bootstrap.css +10877 -10877
  79. package/.emerge-vis-output/fast-foundation/html/vendors/bootstrap/css/bootstrap.min.css +6 -6
  80. package/.emerge-vis-output/fast-foundation/html/vendors/bootstrap/css/bootstrap.rtl.css +10841 -10841
  81. package/.emerge-vis-output/fast-foundation/html/vendors/bootstrap/css/bootstrap.rtl.min.css +6 -6
  82. package/.emerge-vis-output/fast-foundation/html/vendors/bootstrap/js/bootstrap.bundle.js +7075 -7075
  83. package/.emerge-vis-output/fast-foundation/html/vendors/bootstrap/js/bootstrap.bundle.min.js +6 -6
  84. package/.emerge-vis-output/fast-foundation/html/vendors/bootstrap/js/bootstrap.esm.js +5202 -5202
  85. package/.emerge-vis-output/fast-foundation/html/vendors/bootstrap/js/bootstrap.esm.min.js +6 -6
  86. package/.emerge-vis-output/fast-foundation/html/vendors/bootstrap/js/bootstrap.js +5249 -5249
  87. package/.emerge-vis-output/fast-foundation/html/vendors/bootstrap/js/bootstrap.min.js +6 -6
  88. package/.emerge-vis-output/fast-foundation/html/vendors/d3/d3.v7.8.4.min.js +2 -2
  89. package/.emerge-vis-output/fast-foundation/html/vendors/d3/d3.v7.min.js +2 -2
  90. package/.emerge-vis-output/fast-foundation/html/vendors/dark-mode-switch/css/dark-mode.css +148 -148
  91. package/.emerge-vis-output/fast-foundation/html/vendors/daterangepicker/daterangepicker.min.js +7 -7
  92. package/.emerge-vis-output/fast-foundation/html/vendors/daterangepicker/moment.min.js +6 -6
  93. package/.emerge-vis-output/fast-foundation/html/vendors/hull/hull.js +373 -373
  94. package/.emerge-vis-output/fast-foundation/html/vendors/jquery/jquery-3.6.0.min.js +2 -2
  95. package/.emerge-vis-output/fast-foundation/html/vendors/popper/popper.min.js +6 -6
  96. package/.emerge-vis-output/fast-foundation/html/vendors/simpleheat/simpleheat.js +141 -141
  97. package/.emerge-vis-output/rws-client/emerge-file_result_dependency_graph.graphml +1143 -1143
  98. package/.emerge-vis-output/rws-client/emerge-filesystem_graph.graphml +1003 -1003
  99. package/.emerge-vis-output/rws-client/emerge-statistics-metrics.txt +655 -655
  100. package/.emerge-vis-output/rws-client/html/emerge.html +500 -500
  101. package/.emerge-vis-output/rws-client/html/jsconfig.json +8 -8
  102. package/.emerge-vis-output/rws-client/html/resources/css/custom.css +211 -211
  103. package/.emerge-vis-output/rws-client/html/resources/js/emerge_common.js +44 -44
  104. package/.emerge-vis-output/rws-client/html/resources/js/emerge_data.js +13 -13
  105. package/.emerge-vis-output/rws-client/html/resources/js/emerge_git.js +1413 -1413
  106. package/.emerge-vis-output/rws-client/html/resources/js/emerge_graph.js +539 -539
  107. package/.emerge-vis-output/rws-client/html/resources/js/emerge_heatmap.js +219 -219
  108. package/.emerge-vis-output/rws-client/html/resources/js/emerge_hull.js +179 -179
  109. package/.emerge-vis-output/rws-client/html/resources/js/emerge_main.js +1002 -1002
  110. package/.emerge-vis-output/rws-client/html/resources/js/emerge_search.js +71 -71
  111. package/.emerge-vis-output/rws-client/html/resources/js/emerge_ui.js +199 -199
  112. package/.emerge-vis-output/rws-client/html/vendors/bootstrap/css/bootstrap-grid.css +4123 -4123
  113. package/.emerge-vis-output/rws-client/html/vendors/bootstrap/css/bootstrap-grid.min.css +6 -6
  114. package/.emerge-vis-output/rws-client/html/vendors/bootstrap/css/bootstrap-grid.rtl.css +4122 -4122
  115. package/.emerge-vis-output/rws-client/html/vendors/bootstrap/css/bootstrap-grid.rtl.min.css +6 -6
  116. package/.emerge-vis-output/rws-client/html/vendors/bootstrap/css/bootstrap-reboot.css +487 -487
  117. package/.emerge-vis-output/rws-client/html/vendors/bootstrap/css/bootstrap-reboot.min.css +6 -6
  118. package/.emerge-vis-output/rws-client/html/vendors/bootstrap/css/bootstrap-reboot.rtl.css +484 -484
  119. package/.emerge-vis-output/rws-client/html/vendors/bootstrap/css/bootstrap-reboot.rtl.min.css +6 -6
  120. package/.emerge-vis-output/rws-client/html/vendors/bootstrap/css/bootstrap-utilities.css +4265 -4265
  121. package/.emerge-vis-output/rws-client/html/vendors/bootstrap/css/bootstrap-utilities.min.css +6 -6
  122. package/.emerge-vis-output/rws-client/html/vendors/bootstrap/css/bootstrap-utilities.rtl.css +4256 -4256
  123. package/.emerge-vis-output/rws-client/html/vendors/bootstrap/css/bootstrap-utilities.rtl.min.css +6 -6
  124. package/.emerge-vis-output/rws-client/html/vendors/bootstrap/css/bootstrap.css +10877 -10877
  125. package/.emerge-vis-output/rws-client/html/vendors/bootstrap/css/bootstrap.min.css +6 -6
  126. package/.emerge-vis-output/rws-client/html/vendors/bootstrap/css/bootstrap.rtl.css +10841 -10841
  127. package/.emerge-vis-output/rws-client/html/vendors/bootstrap/css/bootstrap.rtl.min.css +6 -6
  128. package/.emerge-vis-output/rws-client/html/vendors/bootstrap/js/bootstrap.bundle.js +7075 -7075
  129. package/.emerge-vis-output/rws-client/html/vendors/bootstrap/js/bootstrap.bundle.min.js +6 -6
  130. package/.emerge-vis-output/rws-client/html/vendors/bootstrap/js/bootstrap.esm.js +5202 -5202
  131. package/.emerge-vis-output/rws-client/html/vendors/bootstrap/js/bootstrap.esm.min.js +6 -6
  132. package/.emerge-vis-output/rws-client/html/vendors/bootstrap/js/bootstrap.js +5249 -5249
  133. package/.emerge-vis-output/rws-client/html/vendors/bootstrap/js/bootstrap.min.js +6 -6
  134. package/.emerge-vis-output/rws-client/html/vendors/d3/d3.v7.8.4.min.js +2 -2
  135. package/.emerge-vis-output/rws-client/html/vendors/d3/d3.v7.min.js +2 -2
  136. package/.emerge-vis-output/rws-client/html/vendors/dark-mode-switch/css/dark-mode.css +148 -148
  137. package/.emerge-vis-output/rws-client/html/vendors/daterangepicker/daterangepicker.min.js +7 -7
  138. package/.emerge-vis-output/rws-client/html/vendors/daterangepicker/moment.min.js +6 -6
  139. package/.emerge-vis-output/rws-client/html/vendors/hull/hull.js +373 -373
  140. package/.emerge-vis-output/rws-client/html/vendors/jquery/jquery-3.6.0.min.js +2 -2
  141. package/.emerge-vis-output/rws-client/html/vendors/popper/popper.min.js +6 -6
  142. package/.emerge-vis-output/rws-client/html/vendors/simpleheat/simpleheat.js +141 -141
  143. package/.eslintrc.json +51 -51
  144. package/.gitmodules +2 -2
  145. package/.setup/.eslintrc.json +11 -11
  146. package/.setup/_base.eslintrc.json +48 -48
  147. package/.setup/tsconfig.json +28 -28
  148. package/PLUGINS.MD +188 -188
  149. package/README.md +1023 -1023
  150. package/_tools.js +396 -396
  151. package/builder/vite/index.ts +4 -4
  152. package/{cfg/build_steps → builder}/vite/loaders/html.ts +11 -11
  153. package/{cfg/build_steps → builder}/vite/loaders/index.ts +8 -8
  154. package/{cfg/build_steps → builder}/vite/loaders/loader.type.ts +27 -27
  155. package/{cfg/build_steps → builder}/vite/loaders/scss.ts +32 -32
  156. package/{cfg/build_steps → builder}/vite/loaders/ts.ts +309 -312
  157. package/builder/vite/rws.vite.config.ts +56 -49
  158. package/{cfg/build_steps → builder}/vite/rws_scss_plugin.ts +61 -60
  159. package/{cfg/build_steps → builder}/vite/scss/_compiler.ts +95 -94
  160. package/{cfg/build_steps → builder}/vite/scss/_fonts.ts +80 -80
  161. package/{cfg/build_steps → builder}/vite/scss/_fs.ts +83 -81
  162. package/{cfg/build_steps → builder}/vite/scss/_import.ts +191 -184
  163. package/builder/webpack/after/copy.js +78 -78
  164. package/builder/webpack/after/sw.js +13 -13
  165. package/builder/webpack/index.js +10 -10
  166. package/builder/webpack/loaders/rws_fast_html_loader.js +17 -17
  167. package/builder/webpack/loaders/rws_fast_scss_loader.js +43 -43
  168. package/builder/webpack/loaders/rws_fast_ts_loader.js +96 -96
  169. package/builder/webpack/loaders/ts/html_error.js +19 -19
  170. package/builder/webpack/rws.webpack.config.js +169 -169
  171. package/builder/webpack/rws_scss_plugin.js +62 -62
  172. package/builder/webpack/rws_webpack_plugin.js +137 -137
  173. package/builder/webpack/scss/_compiler.js +97 -97
  174. package/builder/webpack/scss/_fonts.js +80 -80
  175. package/builder/webpack/scss/_fs.js +84 -84
  176. package/builder/webpack/scss/_import.js +186 -186
  177. package/cfg/_default.cfg.js +26 -26
  178. package/cfg/_storage.d.ts +22 -22
  179. package/cfg/_storage.js +42 -42
  180. package/cfg/build_steps/vite/_build_config.ts +105 -105
  181. package/cfg/build_steps/vite/_env_defines.ts +17 -17
  182. package/cfg/build_steps/vite/_loaders.ts +187 -184
  183. package/cfg/build_steps/vite/index.ts +2 -2
  184. package/cfg/build_steps/vite/types.ts +7 -7
  185. package/cfg/build_steps/webpack/_actions.js +85 -85
  186. package/cfg/build_steps/webpack/_aliases.js +9 -9
  187. package/cfg/build_steps/webpack/_build_config.js +76 -76
  188. package/cfg/build_steps/webpack/_cache.js +98 -98
  189. package/cfg/build_steps/webpack/_component_handling.js +60 -60
  190. package/cfg/build_steps/webpack/_dev_servers.js +14 -14
  191. package/cfg/build_steps/webpack/_env_defines.js +18 -18
  192. package/cfg/build_steps/webpack/_info.js +18 -18
  193. package/cfg/build_steps/webpack/_loaders.js +223 -223
  194. package/cfg/build_steps/webpack/_plugins.js +102 -102
  195. package/cfg/build_steps/webpack/_production.js +37 -37
  196. package/cfg/build_steps/webpack/_rws_externals.js +68 -68
  197. package/cfg/build_steps/webpack/_timing.js +52 -52
  198. package/cfg/build_steps/webpack/_webpack_config.js +58 -58
  199. package/cfg/tsconfigSetup.js +150 -150
  200. package/console.js +86 -86
  201. package/docs/assets/26e93147f10415a0ed4a.svg +6 -6
  202. package/docs/assets/75c9471662e97ee24f29.svg +7 -7
  203. package/docs/assets/db90e4df2373980c497d.svg +9 -9
  204. package/docs/assets/highlight.css +127 -127
  205. package/docs/assets/main.js +59 -59
  206. package/docs/assets/style.css +1414 -1414
  207. package/docs/classes/ApiServiceInstance.html +25 -25
  208. package/docs/classes/ConfigServiceInstance.html +21 -21
  209. package/docs/classes/DOMServiceInstance.html +17 -17
  210. package/docs/classes/NotifyServiceInstance.html +15 -15
  211. package/docs/classes/RWSClientInstance.html +45 -45
  212. package/docs/classes/RWSPlugin.html +13 -13
  213. package/docs/classes/RWSService.html +10 -10
  214. package/docs/classes/RWSViewComponent.html +1022 -1022
  215. package/docs/classes/ServiceWorkerServiceInstance.html +13 -13
  216. package/docs/classes/UtilsServiceInstance.html +13 -13
  217. package/docs/functions/attr.html +5 -5
  218. package/docs/functions/observable.html +3 -3
  219. package/docs/index.html +179 -179
  220. package/docs/interfaces/HTMLTag.html +3 -3
  221. package/docs/interfaces/IRWSConfig.html +20 -20
  222. package/docs/interfaces/IRWSDecoratorOptions.html +5 -5
  223. package/docs/interfaces/IRWSHttpRoute.html +2 -2
  224. package/docs/interfaces/IRWSPrefixedHTTProutes.html +2 -2
  225. package/docs/interfaces/IRWSUser.html +5 -5
  226. package/docs/modules.html +45 -45
  227. package/foundation/index.js +1 -1
  228. package/foundation/rws-foundation.d.ts +7 -7
  229. package/foundation/rws-foundation.js +7 -7
  230. package/package.json +108 -108
  231. package/service_worker/src/_service_worker.ts +83 -83
  232. package/service_worker/tsconfig.json +20 -20
  233. package/service_worker/webpack.config.js +66 -66
  234. package/src/client/components.ts +67 -67
  235. package/src/client/config.ts +165 -165
  236. package/src/client/services.ts +27 -27
  237. package/src/client.ts +212 -212
  238. package/src/components/_attrs/_default_observable_accessor.ts +8 -8
  239. package/src/components/_attrs/_extended_accessor.ts +40 -40
  240. package/src/components/_attrs/_external_handler.ts +7 -7
  241. package/src/components/_attrs/_external_observable_accessor.ts +8 -8
  242. package/src/components/_attrs/angular-attr.ts +34 -34
  243. package/src/components/_attrs/external-attr.ts +59 -59
  244. package/src/components/_attrs/external-observable.ts +52 -52
  245. package/src/components/_attrs/sanitize-html.ts +80 -80
  246. package/src/components/_component.ts +245 -245
  247. package/src/components/_container.ts +15 -15
  248. package/src/components/_decorator.ts +122 -122
  249. package/src/components/_decorators/RWSFillBuild.ts +54 -54
  250. package/src/components/_decorators/RWSInject.ts +49 -49
  251. package/src/components/_decorators/RWSService.ts +11 -11
  252. package/src/components/_decorators/_di.ts +15 -15
  253. package/src/components/_definitions.ts +64 -64
  254. package/src/components/_event_handling.ts +40 -40
  255. package/src/components/index.ts +14 -14
  256. package/src/components/loader/component.ts +12 -12
  257. package/src/components/loader/styles/layout.scss +13 -13
  258. package/src/components/progress/component.ts +54 -54
  259. package/src/components/progress/styles/layout.scss +90 -90
  260. package/src/components/progress/template.html +24 -24
  261. package/src/components/uploader/component.ts +83 -83
  262. package/src/components/uploader/styles/layout.scss +130 -130
  263. package/src/components/uploader/template.html +16 -16
  264. package/src/index.ts +93 -93
  265. package/src/plugins/_builder.js +31 -31
  266. package/src/plugins/_plugin.ts +63 -63
  267. package/src/services/ApiService.ts +242 -242
  268. package/src/services/ConfigService.ts +134 -134
  269. package/src/services/DOMService.ts +100 -100
  270. package/src/services/NotifyService.ts +47 -47
  271. package/src/services/ServiceWorkerService.ts +60 -60
  272. package/src/services/UtilsService.ts +60 -60
  273. package/src/services/_service.ts +64 -64
  274. package/src/styles/_darkreader.scss +30 -30
  275. package/src/styles/_grid.scss +75 -75
  276. package/src/styles/_misc.scss +8 -8
  277. package/src/styles/_scrollbars.scss +40 -40
  278. package/src/styles/includes.scss +4 -4
  279. package/src/types/IRWSConfig.ts +30 -30
  280. package/src/types/IRWSPlugin.ts +18 -18
  281. package/src/types/IRWSUser.ts +6 -6
  282. package/src/types/IRWSViewComponent.ts +36 -36
  283. package/src/types/RWSNotify.ts +6 -6
  284. package/src/types/RWSWindow.ts +41 -41
  285. package/tsconfig.json +30 -30
  286. package/typedoc.json +13 -13
  287. package/types/declarations.d.ts +8 -8
  288. package/types/docs-typings.d.ts +15 -15
@@ -1,313 +1,310 @@
1
- import { IRWSViteLoader, TSLoaderParams } from "./loader.type";
2
- import fs from 'fs';
3
- import path from 'path';
4
-
5
- import chalk from 'chalk';
6
- import md5 from 'md5';
7
- import JSON5 from 'json5'
8
- import { RWSScssPlugin } from "../rws_scss_plugin";
9
-
10
- interface DecoratorArgsData {
11
- template?: string;
12
- styles?: string;
13
- ignorePackaging?: boolean;
14
- debugPackaging?: boolean;
15
- fastElementOptions?: any;
16
- }
17
-
18
- interface ViewDecoratorData {
19
- decoratorArgs?: DecoratorArgsData;
20
- tagName: string;
21
- className: string;
22
- classNamePrefix?: string | null; // Added this field
23
- }
24
-
25
- interface DecoratorExtract {
26
- viewDecoratorData?: ViewDecoratorData | null;
27
- replacedDecorator: string;
28
- }
29
-
30
- // Cache manager - możesz to wydzielić do osobnego pliku
31
- class CacheManager {
32
- private cache: Map<string, string> = new Map();
33
- private customOptions: any;
34
-
35
- constructor(customOptions: any = null) {
36
- this.customOptions = customOptions;
37
- }
38
-
39
- getCachedItem(filePath: string, hash: string): string | null {
40
- const key = `${filePath}:${hash}`;
41
- return this.cache.get(key) || null;
42
- }
43
-
44
- cacheItem(filePath: string, content: string, originalContent: string): void {
45
- const key = `${filePath}:${md5(originalContent)}`;
46
- this.cache.set(key, content);
47
- }
48
- }
49
-
50
- // Helper functions - też możesz wydzielić
51
- class LoadersHelper {
52
- static extractRWSViewArgs(content: string, noReplace = false): DecoratorExtract | null {
53
- const viewReg = /@RWSView\(\s*["']([^"']+)["'](?:\s*,\s*([\s\S]*?))?\s*\)\s*(.*?\s+)?class\s+([a-zA-Z0-9_-]+)\s+extends\s+RWSViewComponent/gm;
54
-
55
- let m: RegExpExecArray | null = null;;
56
- let tagName: string | null = null;
57
- let className: string | null = null;
58
- let classNamePrefix: string | null = null;
59
- let decoratorArgs: DecoratorArgsData | null = null;
60
-
61
- const _defaultRWSLoaderOptions = {
62
- templatePath: 'template.html',
63
- stylesPath: 'styles.scss',
64
- fastOptions: { shadowOptions: { mode: 'open' } }
65
- }
66
-
67
- while ((m = viewReg.exec(content)) !== null) {
68
- if (m.index === viewReg.lastIndex) {
69
- viewReg.lastIndex++;
70
- }
71
-
72
- m.forEach((match, groupIndex) => {
73
- if (groupIndex === 1) {
74
- tagName = match;
75
- }
76
-
77
- if (groupIndex === 2) {
78
- if (match) {
79
- try {
80
- decoratorArgs = JSON5.parse(match);
81
- } catch(e){
82
- console.log(chalk.red('Decorator options parse error: ') + e.message + '\n Problematic line:');
83
- console.log(`
84
- @RWSView(${tagName}, ${match})
85
- `);
86
- console.log(chalk.yellowBright(`Decorator options failed to parse for "${tagName}" component.`) + ' { decoratorArgs } defaulting to null.');
87
- console.log(match);
88
-
89
- throw new Error('Failed parsing @RWSView')
90
- }
91
- }
92
- }
93
-
94
- if (groupIndex === 3) {
95
- if(match){
96
- classNamePrefix = match;
97
- }
98
- }
99
-
100
- if (groupIndex === 4) {
101
- className = match;
102
- }
103
- });
104
- }
105
-
106
- if(!tagName || !className){
107
- return null;
108
- }
109
-
110
- let processedContent = content;
111
-
112
- let fastOptions = _defaultRWSLoaderOptions.fastOptions;
113
- decoratorArgs = decoratorArgs as unknown as DecoratorArgsData;
114
- if (decoratorArgs?.fastElementOptions) {
115
- fastOptions = decoratorArgs.fastElementOptions;
116
- }
117
-
118
- let replacedDecorator: string | null = null;
119
-
120
- if(!noReplace){
121
- const [addedParamDefs, addedParams] = this._extractRWSViewDefs(fastOptions, decoratorArgs || {});
122
- const replacedViewDecoratorContent = processedContent.replace(
123
- viewReg,
124
- `@RWSView('$1', null, { template: rwsTemplate, styles${addedParams.length ? ', options: {' + (addedParams.join(', ')) + '}' : ''} })\n$3class $4 extends RWSViewComponent `
125
- );
126
-
127
- replacedDecorator = `${addedParamDefs.join('\n')}\n${replacedViewDecoratorContent}`;
128
- }
129
-
130
- return {
131
- viewDecoratorData: {
132
- tagName,
133
- className,
134
- classNamePrefix,
135
- decoratorArgs
136
- },
137
- replacedDecorator: replacedDecorator || '' // Ensure it's never null
138
- }
139
- }
140
-
141
- private static _extractRWSViewDefs(fastOptions = {}, decoratorArgs = {})
142
- {
143
- const addedParamDefs: string[] = [];
144
- const addedParams: string[] = [];
145
-
146
- for (const key in fastOptions){
147
- addedParamDefs.push(`const ${key} = ${JSON.stringify(fastOptions[key])};`);
148
- addedParams.push(key);
149
- }
150
-
151
- return [addedParamDefs, addedParams];
152
- }
153
-
154
- static async getStyles(plugin: RWSScssPlugin, filePath: string, addDependency: (path: string) => void, templateExists: boolean, stylesPath?: string, isDev?: boolean): Promise<string> {
155
- if(!stylesPath){
156
- stylesPath = 'styles/layout.scss';
157
- }
158
-
159
- let styles = 'const styles: null = null;'
160
- const stylesFilePath = path.dirname(filePath) + '/' + stylesPath;
161
-
162
- if (fs.existsSync(stylesFilePath)) {
163
- const scsscontent = fs.readFileSync(stylesFilePath, 'utf-8');
164
-
165
- const codeData = await plugin.compileScssCode(scsscontent, path.dirname(filePath) + '/styles');
166
- const cssCode = codeData.code;
167
-
168
- styles = isDev ? `import './${stylesPath}';\n` : '';
169
-
170
- if (!templateExists) {
171
- styles += `import { css } from '@microsoft/fast-element';\n`;
172
- }
173
- styles += `const styles = ${templateExists ? 'T.' : ''}css\`${cssCode}\`;\n`;
174
-
175
- addDependency(path.dirname(filePath) + '/' + stylesPath);
176
- }
177
-
178
- return styles;
179
- }
180
-
181
- static async getTemplate(filePath: string, addDependency: (path: string) => void, templateName?: string, isDev?: boolean) {
182
- if(!templateName){
183
- templateName = 'template';
184
- }
185
- const templatePath = path.dirname(filePath) + `/${templateName}.html`;
186
- let htmlFastImports: string | null = null;
187
- const templateExists = fs.existsSync(templatePath);
188
- let template = 'const rwsTemplate: null = null;';
189
-
190
- if (templateExists) {
191
- const templateContent = fs.readFileSync(templatePath, 'utf-8').replace(/<!--[\s\S]*?-->/g, '');
192
- htmlFastImports = `import * as T from '@microsoft/fast-element';\nimport './${templateName}.html';\n`;
193
- template = `
194
- //@ts-ignore
195
- let rwsTemplate: any = T.html\`${templateContent}\`;
196
- `;
197
- addDependency(templatePath);
198
- }
199
-
200
- return [template, htmlFastImports, templateExists];
201
- }
202
- }
203
-
204
- // Główny loader
205
- const loader: IRWSViteLoader<TSLoaderParams> = async (params: TSLoaderParams) => {
206
-
207
- const cacheManager = new CacheManager();
208
-
209
- return {
210
- name: 'rws-typescript',
211
- enforce: 'pre',
212
- async transform(code: string, id: string) {
213
-
214
- if (!id.endsWith('.ts')) return null;
215
- if (id.endsWith('.debug.ts') || id.endsWith('.d.ts')) return null;
216
- if (id.includes('node_modules') && !id.includes('@rws-framework')) return null;
217
-
218
- let processedContent: string = code;
219
- const isDev: boolean = params.dev;
220
- let isIgnored: boolean = false;
221
- let isDebugged: boolean = false;
222
-
223
- try {
224
- const decoratorExtract: DecoratorExtract | null = await LoadersHelper.extractRWSViewArgs(processedContent);
225
- const decoratorData: ViewDecoratorData | null = decoratorExtract?.viewDecoratorData || null;
226
-
227
- const cachedCode: string = processedContent;
228
- // const cachedTS = cacheManager.getCachedItem(id, md5(cachedCode as string));
229
-
230
- // if (cachedTS) {
231
- // return {
232
- // code: cachedTS,
233
- // map: null
234
- // };
235
- // }
236
-
237
- if (!decoratorData) {
238
- return null;
239
- }
240
-
241
- let templateName: string | null = decoratorData.decoratorArgs?.template || null;
242
- let stylesPath = decoratorData.decoratorArgs?.styles || null;
243
- isIgnored = decoratorData.decoratorArgs?.ignorePackaging || false;
244
- isDebugged = decoratorData.decoratorArgs?.debugPackaging || false;
245
-
246
- const tagName = decoratorData.tagName;
247
- const className = decoratorData.className;
248
-
249
- const defaultTemplatePath = path.resolve(path.dirname(id), 'template.html');
250
- const defaultStylesPath = path.resolve(path.dirname(id), 'styles', 'layout.scss');
251
-
252
- if(!templateName && fs.existsSync(defaultTemplatePath)){
253
- templateName ='template';
254
- }
255
-
256
- if(!stylesPath && fs.existsSync(defaultStylesPath)){
257
- stylesPath ='styles/layout.scss';
258
- }
259
- console.log({stylesPath, templateName, tagName})
260
-
261
- if (tagName && templateName && stylesPath) {
262
- const [template, htmlFastImports, templateExists] = await LoadersHelper.getTemplate(
263
- id,
264
- (path) => this.addWatchFile(path),
265
- templateName,
266
- isDev
267
- );
268
-
269
- const styles = await LoadersHelper.getStyles(
270
- params.scssPlugin,
271
- id,
272
- (path) => this.addWatchFile(path),
273
- templateExists as boolean,
274
- stylesPath,
275
- isDev
276
- );
277
-
278
- console.log({styles})
279
-
280
- if (className && decoratorExtract?.replacedDecorator) {
281
- processedContent = `${template}\n${styles}\n${decoratorExtract.replacedDecorator}`;
282
- }
283
-
284
- processedContent = `${htmlFastImports ? htmlFastImports + '\n' : ''}${processedContent}`;
285
- }
286
-
287
- const debugTsPath = id.replace('.ts', '.debug.ts');
288
-
289
- if (fs.existsSync(debugTsPath)) {
290
- fs.unlinkSync(debugTsPath);
291
- }
292
-
293
- if (isDebugged) {
294
- console.log(chalk.red('[RWS BUILD] Debugging into: ' + debugTsPath));
295
- fs.writeFileSync(debugTsPath, processedContent);
296
- }
297
-
298
- cacheManager.cacheItem(id, processedContent, cachedCode);
299
-
300
- return {
301
- code: processedContent,
302
- map: null
303
- };
304
- } catch (e) {
305
- console.log(chalk.red('RWS Typescript loader error:'));
306
- console.error(e);
307
- throw new Error('RWS Build failed on: ' + id);
308
- }
309
- }
310
- };
311
- };
312
-
1
+ import { IRWSViteLoader, TSLoaderParams } from "./loader.type";
2
+ import fs from 'fs';
3
+ import path from 'path';
4
+
5
+ import chalk from 'chalk';
6
+ import md5 from 'md5';
7
+ import JSON5 from 'json5'
8
+ import { RWSScssPlugin } from "../rws_scss_plugin";
9
+
10
+ interface DecoratorArgsData {
11
+ template?: string;
12
+ styles?: string;
13
+ ignorePackaging?: boolean;
14
+ debugPackaging?: boolean;
15
+ fastElementOptions?: any;
16
+ }
17
+
18
+ interface ViewDecoratorData {
19
+ decoratorArgs?: DecoratorArgsData;
20
+ tagName: string;
21
+ className: string;
22
+ classNamePrefix?: string | null; // Added this field
23
+ }
24
+
25
+ interface DecoratorExtract {
26
+ viewDecoratorData?: ViewDecoratorData | null;
27
+ replacedDecorator: string;
28
+ }
29
+
30
+ // Cache manager - możesz to wydzielić do osobnego pliku
31
+ class CacheManager {
32
+ private cache: Map<string, string> = new Map();
33
+ private customOptions: any;
34
+
35
+ constructor(customOptions: any = null) {
36
+ this.customOptions = customOptions;
37
+ }
38
+
39
+ getCachedItem(filePath: string, hash: string): string | null {
40
+ const key = `${filePath}:${hash}`;
41
+ return this.cache.get(key) || null;
42
+ }
43
+
44
+ cacheItem(filePath: string, content: string, originalContent: string): void {
45
+ const key = `${filePath}:${md5(originalContent)}`;
46
+ this.cache.set(key, content);
47
+ }
48
+ }
49
+
50
+ // Helper functions - też możesz wydzielić
51
+ class LoadersHelper {
52
+ static extractRWSViewArgs(content: string, noReplace = false): DecoratorExtract | null {
53
+ const viewReg = /@RWSView\(\s*["']([^"']+)["'](?:\s*,\s*([\s\S]*?))?\s*\)\s*(.*?\s+)?class\s+([a-zA-Z0-9_-]+)\s+extends\s+RWSViewComponent/gm;
54
+
55
+ let m: RegExpExecArray | null = null;;
56
+ let tagName: string | null = null;
57
+ let className: string | null = null;
58
+ let classNamePrefix: string | null = null;
59
+ let decoratorArgs: DecoratorArgsData | null = null;
60
+
61
+ const _defaultRWSLoaderOptions = {
62
+ templatePath: 'template.html',
63
+ stylesPath: 'styles.scss',
64
+ fastOptions: { shadowOptions: { mode: 'open' } }
65
+ }
66
+
67
+ while ((m = viewReg.exec(content)) !== null) {
68
+ if (m.index === viewReg.lastIndex) {
69
+ viewReg.lastIndex++;
70
+ }
71
+
72
+ m.forEach((match, groupIndex) => {
73
+ if (groupIndex === 1) {
74
+ tagName = match;
75
+ }
76
+
77
+ if (groupIndex === 2) {
78
+ if (match) {
79
+ try {
80
+ decoratorArgs = JSON5.parse(match);
81
+ } catch(e){
82
+ console.log(chalk.red('Decorator options parse error: ') + e.message + '\n Problematic line:');
83
+ console.log(`
84
+ @RWSView(${tagName}, ${match})
85
+ `);
86
+ console.log(chalk.yellowBright(`Decorator options failed to parse for "${tagName}" component.`) + ' { decoratorArgs } defaulting to null.');
87
+ console.log(match);
88
+
89
+ throw new Error('Failed parsing @RWSView')
90
+ }
91
+ }
92
+ }
93
+
94
+ if (groupIndex === 3) {
95
+ if(match){
96
+ classNamePrefix = match;
97
+ }
98
+ }
99
+
100
+ if (groupIndex === 4) {
101
+ className = match;
102
+ }
103
+ });
104
+ }
105
+
106
+ if(!tagName || !className){
107
+ return null;
108
+ }
109
+
110
+ let processedContent = content;
111
+
112
+ let fastOptions = _defaultRWSLoaderOptions.fastOptions;
113
+ decoratorArgs = decoratorArgs as unknown as DecoratorArgsData;
114
+ if (decoratorArgs?.fastElementOptions) {
115
+ fastOptions = decoratorArgs.fastElementOptions;
116
+ }
117
+
118
+ let replacedDecorator: string | null = null;
119
+
120
+ if(!noReplace){
121
+ const [addedParamDefs, addedParams] = this._extractRWSViewDefs(fastOptions, decoratorArgs || {});
122
+ const replacedViewDecoratorContent = processedContent.replace(
123
+ viewReg,
124
+ `@RWSView('$1', null, { template: rwsTemplate, styles${addedParams.length ? ', options: {' + (addedParams.join(', ')) + '}' : ''} })\n$3class $4 extends RWSViewComponent `
125
+ );
126
+
127
+ replacedDecorator = `${addedParamDefs.join('\n')}\n${replacedViewDecoratorContent}`;
128
+ }
129
+
130
+ return {
131
+ viewDecoratorData: {
132
+ tagName,
133
+ className,
134
+ classNamePrefix,
135
+ decoratorArgs
136
+ },
137
+ replacedDecorator: replacedDecorator || '' // Ensure it's never null
138
+ }
139
+ }
140
+
141
+ private static _extractRWSViewDefs(fastOptions = {}, decoratorArgs = {})
142
+ {
143
+ const addedParamDefs: string[] = [];
144
+ const addedParams: string[] = [];
145
+
146
+ for (const key in fastOptions){
147
+ addedParamDefs.push(`const ${key} = ${JSON.stringify(fastOptions[key])};`);
148
+ addedParams.push(key);
149
+ }
150
+
151
+ return [addedParamDefs, addedParams];
152
+ }
153
+
154
+ static async getStyles(plugin: RWSScssPlugin, filePath: string, addDependency: (path: string) => void, templateExists: boolean, stylesPath?: string, isDev?: boolean): Promise<string> {
155
+ if(!stylesPath){
156
+ stylesPath = 'styles/layout.scss';
157
+ }
158
+
159
+ let styles = 'const styles: null = null;'
160
+ const stylesFilePath = path.join(path.dirname(filePath), stylesPath);
161
+
162
+ if (fs.existsSync(stylesFilePath)) {
163
+ const scsscontent = fs.readFileSync(stylesFilePath, 'utf-8');
164
+
165
+ const codeData = await plugin.compileScssCode(scsscontent, path.join(path.dirname(filePath), 'styles'));
166
+ const cssCode = codeData.code;
167
+
168
+ styles = isDev ? `` : '';
169
+
170
+ if (!templateExists) {
171
+ styles += `import { css } from '@microsoft/fast-element';\n`;
172
+ }
173
+ styles += `const styles = ${templateExists ? 'T.' : ''}css\`${cssCode}\`;\n`;
174
+
175
+ addDependency(path.join(path.dirname(filePath), stylesPath));
176
+ }
177
+
178
+ return styles;
179
+ }
180
+
181
+ static async getTemplate(filePath: string, addDependency: (path: string) => void, templateName?: string, isDev?: boolean) {
182
+ if(!templateName){
183
+ templateName = 'template';
184
+ }
185
+ const templatePath = path.dirname(filePath) + `/${templateName}.html`;
186
+ let htmlFastImports: string | null = null;
187
+ const templateExists = fs.existsSync(templatePath);
188
+ let template = 'const rwsTemplate: null = null;';
189
+
190
+ if (templateExists) {
191
+ const templateContent = fs.readFileSync(templatePath, 'utf-8').replace(/<!--[\s\S]*?-->/g, '');
192
+ htmlFastImports = `import * as T from '@microsoft/fast-element';\n`;
193
+ template = `
194
+ //@ts-ignore
195
+ let rwsTemplate: any = T.html\`${templateContent}\`;
196
+ `;
197
+ addDependency(templatePath);
198
+ }
199
+
200
+ return [template, htmlFastImports, templateExists];
201
+ }
202
+ }
203
+
204
+ // Główny loader
205
+ const loader: IRWSViteLoader<TSLoaderParams> = async (params: TSLoaderParams) => {
206
+
207
+ const cacheManager = new CacheManager();
208
+
209
+ return {
210
+ name: 'rws-typescript',
211
+ enforce: 'pre',
212
+ async transform(code: string, id: string) {
213
+
214
+ if (!id.endsWith('.ts')) return null;
215
+ if (id.endsWith('.debug.ts') || id.endsWith('.d.ts')) return null;
216
+ if (id.includes('node_modules') && !id.includes('@rws-framework')) return null;
217
+
218
+ let processedContent: string = code;
219
+ const isDev: boolean = params.dev;
220
+ let isIgnored: boolean = false;
221
+ let isDebugged: boolean = false;
222
+
223
+ try {
224
+ const decoratorExtract: DecoratorExtract | null = await LoadersHelper.extractRWSViewArgs(processedContent);
225
+ const decoratorData: ViewDecoratorData | null = decoratorExtract?.viewDecoratorData || null;
226
+
227
+ const cachedCode: string = processedContent;
228
+ // const cachedTS = cacheManager.getCachedItem(id, md5(cachedCode as string));
229
+
230
+ // if (cachedTS) {
231
+ // return {
232
+ // code: cachedTS,
233
+ // map: null
234
+ // };
235
+ // }
236
+
237
+ if (!decoratorData) {
238
+ return null;
239
+ }
240
+
241
+ let templateName: string | null = decoratorData.decoratorArgs?.template || null;
242
+ let stylesPath = decoratorData.decoratorArgs?.styles || null;
243
+ isIgnored = decoratorData.decoratorArgs?.ignorePackaging || false;
244
+ isDebugged = decoratorData.decoratorArgs?.debugPackaging || false;
245
+
246
+ const tagName = decoratorData.tagName;
247
+ const className = decoratorData.className;
248
+
249
+ const defaultTemplatePath = path.resolve(path.dirname(id), 'template.html');
250
+ const defaultStylesPath = path.resolve(path.dirname(id), 'styles', 'layout.scss');
251
+
252
+ if(!templateName && fs.existsSync(defaultTemplatePath)){
253
+ templateName ='template';
254
+ }
255
+
256
+ if(!stylesPath && fs.existsSync(defaultStylesPath)){
257
+ stylesPath ='styles/layout.scss';
258
+ }
259
+
260
+ if (tagName && templateName && stylesPath) {
261
+ const [template, htmlFastImports, templateExists] = await LoadersHelper.getTemplate(
262
+ id,
263
+ (path) => this.addWatchFile(path),
264
+ templateName,
265
+ isDev
266
+ );
267
+
268
+ const styles = await LoadersHelper.getStyles(
269
+ params.scssPlugin,
270
+ id,
271
+ (path) => this.addWatchFile(path),
272
+ templateExists as boolean,
273
+ stylesPath,
274
+ isDev
275
+ );
276
+
277
+ if (className && decoratorExtract?.replacedDecorator) {
278
+ processedContent = `${template}\n${styles}\n${decoratorExtract.replacedDecorator}`;
279
+ }
280
+
281
+ processedContent = `${htmlFastImports ? htmlFastImports + '\n' : ''}${processedContent}`;
282
+ }
283
+
284
+ const debugTsPath = id.replace('.ts', '.debug.ts');
285
+
286
+ if (fs.existsSync(debugTsPath)) {
287
+ fs.unlinkSync(debugTsPath);
288
+ }
289
+
290
+ if (isDebugged) {
291
+ console.log(chalk.red('[RWS BUILD] Debugging into: ' + debugTsPath));
292
+ fs.writeFileSync(debugTsPath, processedContent);
293
+ }
294
+
295
+ cacheManager.cacheItem(id, processedContent, cachedCode);
296
+
297
+ return {
298
+ code: processedContent,
299
+ map: null
300
+ };
301
+ } catch (e) {
302
+ console.log(chalk.red('RWS Typescript loader error:'));
303
+ console.error(e);
304
+ throw new Error('RWS Build failed on: ' + id);
305
+ }
306
+ }
307
+ };
308
+ };
309
+
313
310
  export default loader;