@rws-framework/client 2.13.2 → 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 -309
  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 -186
  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,138 +1,138 @@
1
- const rwsAfterCopy = require('./after/copy');
2
- const rwsAfterSW = require('./after/sw');
3
- const deepmerge = require('deepmerge');
4
-
5
-
6
- const _DEFAULT_CONFIG = { actions: [], executionDir: process.cwd(), packageDir: process.cwd(), dev: false, devDebug: null }
7
-
8
- const _DEFAULT_ACTION = {
9
- type: 'copy',
10
- actionHandler: {
11
- 'targetDir': [
12
- 'filePath0',
13
- 'filePath1'
14
- ]
15
- },
16
- event: 'done'
17
- }
18
-
19
- class RWSWebpackPlugin {
20
- config = _DEFAULT_CONFIG;
21
- _allowedActionTypes = ['copy', 'custom', 'service_worker'];
22
-
23
- constructor(config = {}) {
24
- this.config = deepmerge(this.config, config);
25
- this.customOptions = {
26
- devDebug: this.config.devDebug
27
- }
28
- }
29
-
30
- apply(compiler) {
31
- const actionsEvents = this.config.actions.map(item => item.event ? item.event : 'done');
32
- const errorActionsEvents = this.config.error_actions.map(item => item.event ? item.event : null).filter(item => !!item);
33
-
34
- compiler.hooks.compilation.tap('RWSWebpackPlugin', (compilation) => {
35
- compilation['customOptions'] = this.customOptions;
36
- });
37
-
38
- Array.from(new Set(actionsEvents)).forEach((eventName) => {
39
- compiler.hooks[eventName].tapPromise('RWSWebpackPlugin', async (buildInfo) => {
40
- const proms = this.config.actions.filter(item => item.event === _DEFAULT_ACTION.event || !item.event).map(async (rwsAfterAction) => {
41
- return await this._runActionType(rwsAfterAction.type, rwsAfterAction.actionHandler);
42
- });
43
-
44
- return await Promise.all(proms);
45
- });
46
- });
47
-
48
- if (!this.config.dev) {
49
- compiler.hooks.emit.tapAsync('RWSWebpackPlugin', (compilation, callback) => {
50
- Object.keys(compilation.assets).forEach((filename) => {
51
-
52
- if (filename.endsWith('.js')) {
53
- const asset = compilation.assets[filename];
54
- let source = asset.source();
55
-
56
- if ((source.indexOf('css`') > -1 || source.indexOf('html`') > -1)) {
57
- const updatedSource = source.replace(/\n/g, '');
58
-
59
- // Update the asset with the new content
60
- compilation.assets[filename] = {
61
- source: () => updatedSource,
62
- size: () => updatedSource.length
63
- };
64
- }
65
- }
66
- });
67
-
68
- callback();
69
- });
70
- }
71
-
72
- // compiler.hooks.done.tap('RWSWebpackPlugin', (stats) => {
73
- // // Check if there were any errors
74
- // if (stats.hasErrors()) {
75
- // console.error('Build failed with errors:');
76
-
77
- // // Log the errors
78
- // const info = stats.toJson();
79
- // console.error(info.errors);
80
-
81
- // Array.from(new Set(actionsEvents)).forEach((eventName) => {
82
- // compiler.hooks[eventName].tapPromise('RWSWebpackPlugin', async (buildInfo) => {
83
- // const proms = this.config.actions.filter(item => item.event === _DEFAULT_ACTION.event || !item.event).map(async (rwsAfterAction) => {
84
- // return await this._runActionType(rwsAfterAction.type, rwsAfterAction.actionHandler);
85
- // });
86
-
87
- // return await Promise.all(proms);
88
- // });
89
- // });
90
-
91
- // // Optionally exit the process with a non-zero status
92
- // process.exit(1);
93
- // } else {
94
- // console.log('Build completed successfully.');
95
- // }
96
- // });
97
- }
98
-
99
- async _runActionType(actionType, action) {
100
- if (!this._allowedActionTypes.includes(actionType)) {
101
- throw new Error(`[RWSAfter webpack plugin] Action type ${actionType} is not allowed`);
102
- }
103
-
104
- switch (actionType) {
105
- case 'copy': {
106
- const copyFiles = typeof action === 'function' ? await action() : action;
107
-
108
- await rwsAfterCopy(copyFiles, this.config);
109
- return;
110
- };
111
-
112
- //@TODO
113
- case 'service_worker': {
114
-
115
- const serviceWorkerPath = typeof action === 'function' ? await action() : action;
116
- await rwsAfterSW(serviceWorkerPath);
117
- return;
118
- };
119
-
120
- case 'custom': {
121
-
122
- if (typeof action !== 'function') {
123
- console.error('Custom RWS action must be a function.')
124
- return;
125
- }
126
-
127
- await action();
128
- return;
129
- }
130
-
131
- default:
132
- console.warn('RWSWebpackPlugin::_runActionType could not act upon input. Please resolve.');
133
- return;
134
- }
135
- }
136
- }
137
-
1
+ const rwsAfterCopy = require('./after/copy');
2
+ const rwsAfterSW = require('./after/sw');
3
+ const deepmerge = require('deepmerge');
4
+
5
+
6
+ const _DEFAULT_CONFIG = { actions: [], executionDir: process.cwd(), packageDir: process.cwd(), dev: false, devDebug: null }
7
+
8
+ const _DEFAULT_ACTION = {
9
+ type: 'copy',
10
+ actionHandler: {
11
+ 'targetDir': [
12
+ 'filePath0',
13
+ 'filePath1'
14
+ ]
15
+ },
16
+ event: 'done'
17
+ }
18
+
19
+ class RWSWebpackPlugin {
20
+ config = _DEFAULT_CONFIG;
21
+ _allowedActionTypes = ['copy', 'custom', 'service_worker'];
22
+
23
+ constructor(config = {}) {
24
+ this.config = deepmerge(this.config, config);
25
+ this.customOptions = {
26
+ devDebug: this.config.devDebug
27
+ }
28
+ }
29
+
30
+ apply(compiler) {
31
+ const actionsEvents = this.config.actions.map(item => item.event ? item.event : 'done');
32
+ const errorActionsEvents = this.config.error_actions.map(item => item.event ? item.event : null).filter(item => !!item);
33
+
34
+ compiler.hooks.compilation.tap('RWSWebpackPlugin', (compilation) => {
35
+ compilation['customOptions'] = this.customOptions;
36
+ });
37
+
38
+ Array.from(new Set(actionsEvents)).forEach((eventName) => {
39
+ compiler.hooks[eventName].tapPromise('RWSWebpackPlugin', async (buildInfo) => {
40
+ const proms = this.config.actions.filter(item => item.event === _DEFAULT_ACTION.event || !item.event).map(async (rwsAfterAction) => {
41
+ return await this._runActionType(rwsAfterAction.type, rwsAfterAction.actionHandler);
42
+ });
43
+
44
+ return await Promise.all(proms);
45
+ });
46
+ });
47
+
48
+ if (!this.config.dev) {
49
+ compiler.hooks.emit.tapAsync('RWSWebpackPlugin', (compilation, callback) => {
50
+ Object.keys(compilation.assets).forEach((filename) => {
51
+
52
+ if (filename.endsWith('.js')) {
53
+ const asset = compilation.assets[filename];
54
+ let source = asset.source();
55
+
56
+ if ((source.indexOf('css`') > -1 || source.indexOf('html`') > -1)) {
57
+ const updatedSource = source.replace(/\n/g, '');
58
+
59
+ // Update the asset with the new content
60
+ compilation.assets[filename] = {
61
+ source: () => updatedSource,
62
+ size: () => updatedSource.length
63
+ };
64
+ }
65
+ }
66
+ });
67
+
68
+ callback();
69
+ });
70
+ }
71
+
72
+ // compiler.hooks.done.tap('RWSWebpackPlugin', (stats) => {
73
+ // // Check if there were any errors
74
+ // if (stats.hasErrors()) {
75
+ // console.error('Build failed with errors:');
76
+
77
+ // // Log the errors
78
+ // const info = stats.toJson();
79
+ // console.error(info.errors);
80
+
81
+ // Array.from(new Set(actionsEvents)).forEach((eventName) => {
82
+ // compiler.hooks[eventName].tapPromise('RWSWebpackPlugin', async (buildInfo) => {
83
+ // const proms = this.config.actions.filter(item => item.event === _DEFAULT_ACTION.event || !item.event).map(async (rwsAfterAction) => {
84
+ // return await this._runActionType(rwsAfterAction.type, rwsAfterAction.actionHandler);
85
+ // });
86
+
87
+ // return await Promise.all(proms);
88
+ // });
89
+ // });
90
+
91
+ // // Optionally exit the process with a non-zero status
92
+ // process.exit(1);
93
+ // } else {
94
+ // console.log('Build completed successfully.');
95
+ // }
96
+ // });
97
+ }
98
+
99
+ async _runActionType(actionType, action) {
100
+ if (!this._allowedActionTypes.includes(actionType)) {
101
+ throw new Error(`[RWSAfter webpack plugin] Action type ${actionType} is not allowed`);
102
+ }
103
+
104
+ switch (actionType) {
105
+ case 'copy': {
106
+ const copyFiles = typeof action === 'function' ? await action() : action;
107
+
108
+ await rwsAfterCopy(copyFiles, this.config);
109
+ return;
110
+ };
111
+
112
+ //@TODO
113
+ case 'service_worker': {
114
+
115
+ const serviceWorkerPath = typeof action === 'function' ? await action() : action;
116
+ await rwsAfterSW(serviceWorkerPath);
117
+ return;
118
+ };
119
+
120
+ case 'custom': {
121
+
122
+ if (typeof action !== 'function') {
123
+ console.error('Custom RWS action must be a function.')
124
+ return;
125
+ }
126
+
127
+ await action();
128
+ return;
129
+ }
130
+
131
+ default:
132
+ console.warn('RWSWebpackPlugin::_runActionType could not act upon input. Please resolve.');
133
+ return;
134
+ }
135
+ }
136
+ }
137
+
138
138
  module.exports = RWSWebpackPlugin;
@@ -1,98 +1,98 @@
1
- const sass = require('sass');
2
- const path = require('path');
3
- const chalk = require('chalk');
4
- const emojiRegex = require('emoji-regex');
5
-
6
- const _scss_fonts_builder = require('./_fonts');
7
- let _scss_fonts = null;
8
-
9
- const _scss_import_builder = require('./_import');
10
- let _scss_import = null;
11
-
12
- function compileScssCode(scssCode, fileRootDir, createFile = false, filePath = null, minify = false) {
13
- _scss_fonts = _scss_fonts_builder(this);
14
- _scss_import = _scss_import_builder(this);
15
-
16
- const [scssImports] = _scss_import.extractScssImports(scssCode, fileRootDir);
17
-
18
- const dependencies = scssImports.map((item) => item[2]);
19
-
20
- if (scssImports && scssImports.length) {
21
- scssCode = _scss_import.replaceImports(_scss_import.processImports(scssImports, fileRootDir), scssCode);
22
- }
23
-
24
- const uses = _scss_import.extractScssUses(scssCode)[0];
25
- let scssUses = '';
26
-
27
-
28
- uses.forEach(scssUse => {
29
- const useLine = scssUse[1];
30
- if(scssCode.indexOf(useLine) === -1){
31
- scssUses += useLine + '\n';
32
- scssCode = scssCode.replace(useLine + '\n', '');
33
- }
34
- });
35
-
36
- scssCode = removeComments(scssUses + scssCode);
37
-
38
- try {
39
- const result = sass.compileString(scssCode, { loadPaths: [fileRootDir]});
40
-
41
- let compiledCode = result.css.toString();
42
- compiledCode = _scss_fonts.replaceFontUrlWithBase64(compiledCode);
43
- compiledCode = replaceEmojisWithQuestionMark(compiledCode, fileRootDir);
44
- return { code: compiledCode, dependencies};
45
- } catch (err) {
46
- console.error('SASS Error in', fileRootDir);
47
-
48
- console.error(err);
49
- throw err;
50
- return '';
51
- };
52
- }
53
-
54
- function checkForImporterType(_module, checkTypeExt) {
55
- let importingFileExtension = '';
56
-
57
- if (_module && _module.issuer && _module.issuer.resource) {
58
- importingFileExtension = path.extname(_module.issuer.resource);
59
- if (importingFileExtension === ('.' + checkTypeExt)) {
60
- return true;
61
- }
62
- } else {
63
- return false;
64
- }
65
-
66
- return false
67
- }
68
-
69
- function replaceEmojisWithQuestionMark(code, componentDir) {
70
- const regex = emojiRegex();
71
- let hasEmoji = false;
72
-
73
- const result = code.replace(regex, (match) => {
74
- hasEmoji = true;
75
- return '?';
76
- });
77
-
78
- if (hasEmoji) {
79
- console.log(chalk.yellow(`Emojis in css detected and replaced with "?" in "${path.dirname(componentDir)}" component`));
80
- }
81
-
82
- return result;
83
- }
84
-
85
- function removeComments(code) {
86
- code = code.replace(/\/\/.*$/gm, '');
87
- code = code.replace(/\/\*[\s\S]*?\*\//g, '');
88
- code = code.replace(/^\s*$(?:\r\n?|\n)/gm, '');
89
-
90
- return code;
91
- }
92
-
93
- module.exports = function(element) {
94
- return {
95
- checkForImporterType: checkForImporterType.bind(element),
96
- compileScssCode: compileScssCode.bind(element)
97
- };
1
+ const sass = require('sass');
2
+ const path = require('path');
3
+ const chalk = require('chalk');
4
+ const emojiRegex = require('emoji-regex');
5
+
6
+ const _scss_fonts_builder = require('./_fonts');
7
+ let _scss_fonts = null;
8
+
9
+ const _scss_import_builder = require('./_import');
10
+ let _scss_import = null;
11
+
12
+ function compileScssCode(scssCode, fileRootDir, createFile = false, filePath = null, minify = false) {
13
+ _scss_fonts = _scss_fonts_builder(this);
14
+ _scss_import = _scss_import_builder(this);
15
+
16
+ const [scssImports] = _scss_import.extractScssImports(scssCode, fileRootDir);
17
+
18
+ const dependencies = scssImports.map((item) => item[2]);
19
+
20
+ if (scssImports && scssImports.length) {
21
+ scssCode = _scss_import.replaceImports(_scss_import.processImports(scssImports, fileRootDir), scssCode);
22
+ }
23
+
24
+ const uses = _scss_import.extractScssUses(scssCode)[0];
25
+ let scssUses = '';
26
+
27
+
28
+ uses.forEach(scssUse => {
29
+ const useLine = scssUse[1];
30
+ if(scssCode.indexOf(useLine) === -1){
31
+ scssUses += useLine + '\n';
32
+ scssCode = scssCode.replace(useLine + '\n', '');
33
+ }
34
+ });
35
+
36
+ scssCode = removeComments(scssUses + scssCode);
37
+
38
+ try {
39
+ const result = sass.compileString(scssCode, { loadPaths: [fileRootDir]});
40
+
41
+ let compiledCode = result.css.toString();
42
+ compiledCode = _scss_fonts.replaceFontUrlWithBase64(compiledCode);
43
+ compiledCode = replaceEmojisWithQuestionMark(compiledCode, fileRootDir);
44
+ return { code: compiledCode, dependencies};
45
+ } catch (err) {
46
+ console.error('SASS Error in', fileRootDir);
47
+
48
+ console.error(err);
49
+ throw err;
50
+ return '';
51
+ };
52
+ }
53
+
54
+ function checkForImporterType(_module, checkTypeExt) {
55
+ let importingFileExtension = '';
56
+
57
+ if (_module && _module.issuer && _module.issuer.resource) {
58
+ importingFileExtension = path.extname(_module.issuer.resource);
59
+ if (importingFileExtension === ('.' + checkTypeExt)) {
60
+ return true;
61
+ }
62
+ } else {
63
+ return false;
64
+ }
65
+
66
+ return false
67
+ }
68
+
69
+ function replaceEmojisWithQuestionMark(code, componentDir) {
70
+ const regex = emojiRegex();
71
+ let hasEmoji = false;
72
+
73
+ const result = code.replace(regex, (match) => {
74
+ hasEmoji = true;
75
+ return '?';
76
+ });
77
+
78
+ if (hasEmoji) {
79
+ console.log(chalk.yellow(`Emojis in css detected and replaced with "?" in "${path.dirname(componentDir)}" component`));
80
+ }
81
+
82
+ return result;
83
+ }
84
+
85
+ function removeComments(code) {
86
+ code = code.replace(/\/\/.*$/gm, '');
87
+ code = code.replace(/\/\*[\s\S]*?\*\//g, '');
88
+ code = code.replace(/^\s*$(?:\r\n?|\n)/gm, '');
89
+
90
+ return code;
91
+ }
92
+
93
+ module.exports = function(element) {
94
+ return {
95
+ checkForImporterType: checkForImporterType.bind(element),
96
+ compileScssCode: compileScssCode.bind(element)
97
+ };
98
98
  };
@@ -1,81 +1,81 @@
1
- const fs = require('fs');
2
- const path = require('path');
3
- const FONT_REGEX = /url\(['"]?(.+?\.(woff|woff2|eot|ttf|otf))['"]?\)/gm;
4
-
5
- const _scss_import_builder = require('./_import');
6
- let _scss_import = null;
7
-
8
- function hasFontEmbeds(css) {
9
- return FONT_REGEX.test(css);
10
- }
11
-
12
- function embedFontsInCss(css, cssFilePath) {
13
- let match;
14
-
15
- while ((match = FONT_REGEX.exec(css)) !== null) {
16
- const fontPath = match[1];
17
- const absoluteFontPath = path.resolve(path.dirname(cssFilePath), fontPath);
18
-
19
- if (fs.existsSync(absoluteFontPath)) {
20
- const fontData = fs.readFileSync(absoluteFontPath);
21
- const base64Font = fontData.toString('base64');
22
- const fontMimeType = getFontMimeType(path.extname(absoluteFontPath));
23
- const fontDataURL = `data:${fontMimeType};base64,${base64Font}`;
24
-
25
- css = css.replace(new RegExp(match[0], 'g'), `url(${fontDataURL})`);
26
- }
27
- }
28
-
29
- return css;
30
- }
31
-
32
- function getFontMimeType(extension) {
33
- switch (extension) {
34
- case '.woff': return 'font/woff';
35
- case '.woff2': return 'font/woff2';
36
- case '.eot': return 'application/vnd.ms-fontobject';
37
- case '.ttf': return 'font/ttf';
38
- case '.otf': return 'font/otf';
39
- default: return 'application/octet-stream';
40
- }
41
- }
42
-
43
- function convertFontToBase64(fontPath) {
44
- return fs.readFileSync(fontPath, { encoding: 'base64' });
45
- }
46
-
47
- function replaceFontUrlWithBase64(cssContent) {
48
- const fontFaceRegex = /@font-face\s*\{[^}]*\}/g;
49
- let fontFaces = [...cssContent.matchAll(fontFaceRegex)];
50
- _scss_import = _scss_import_builder(this);
51
-
52
- for (const fontFace of fontFaces) {
53
- const fontFaceContent = fontFace[0];
54
- const urlRegex = /url\((['"]?)([^)'"]+)(\1)\)/g;
55
- let match;
56
-
57
- let modifiedFontFaceContent = fontFaceContent;
58
-
59
- while ((match = urlRegex.exec(fontFaceContent)) !== null) {
60
- // Create a promise to convert each font to Base64 and replace in CSS
61
- const base64 = convertFontToBase64(_scss_import.processImportPath(match[2], null, true));
62
- const base64Font = `data:font/woff2;base64,${base64}`;
63
-
64
- modifiedFontFaceContent = modifiedFontFaceContent.replace(match[2], base64Font);
65
- }
66
-
67
- cssContent = cssContent.replace(fontFaceContent, modifiedFontFaceContent)
68
- };
69
-
70
- return cssContent;
71
- }
72
-
73
- module.exports = function(element) {
74
- return {
75
- hasFontEmbeds: hasFontEmbeds.bind(element),
76
- embedFontsInCss: embedFontsInCss.bind(element),
77
- getFontMimeType: getFontMimeType.bind(element),
78
- convertFontToBase64: convertFontToBase64.bind(element),
79
- replaceFontUrlWithBase64: replaceFontUrlWithBase64.bind(element)
80
- };
1
+ const fs = require('fs');
2
+ const path = require('path');
3
+ const FONT_REGEX = /url\(['"]?(.+?\.(woff|woff2|eot|ttf|otf))['"]?\)/gm;
4
+
5
+ const _scss_import_builder = require('./_import');
6
+ let _scss_import = null;
7
+
8
+ function hasFontEmbeds(css) {
9
+ return FONT_REGEX.test(css);
10
+ }
11
+
12
+ function embedFontsInCss(css, cssFilePath) {
13
+ let match;
14
+
15
+ while ((match = FONT_REGEX.exec(css)) !== null) {
16
+ const fontPath = match[1];
17
+ const absoluteFontPath = path.resolve(path.dirname(cssFilePath), fontPath);
18
+
19
+ if (fs.existsSync(absoluteFontPath)) {
20
+ const fontData = fs.readFileSync(absoluteFontPath);
21
+ const base64Font = fontData.toString('base64');
22
+ const fontMimeType = getFontMimeType(path.extname(absoluteFontPath));
23
+ const fontDataURL = `data:${fontMimeType};base64,${base64Font}`;
24
+
25
+ css = css.replace(new RegExp(match[0], 'g'), `url(${fontDataURL})`);
26
+ }
27
+ }
28
+
29
+ return css;
30
+ }
31
+
32
+ function getFontMimeType(extension) {
33
+ switch (extension) {
34
+ case '.woff': return 'font/woff';
35
+ case '.woff2': return 'font/woff2';
36
+ case '.eot': return 'application/vnd.ms-fontobject';
37
+ case '.ttf': return 'font/ttf';
38
+ case '.otf': return 'font/otf';
39
+ default: return 'application/octet-stream';
40
+ }
41
+ }
42
+
43
+ function convertFontToBase64(fontPath) {
44
+ return fs.readFileSync(fontPath, { encoding: 'base64' });
45
+ }
46
+
47
+ function replaceFontUrlWithBase64(cssContent) {
48
+ const fontFaceRegex = /@font-face\s*\{[^}]*\}/g;
49
+ let fontFaces = [...cssContent.matchAll(fontFaceRegex)];
50
+ _scss_import = _scss_import_builder(this);
51
+
52
+ for (const fontFace of fontFaces) {
53
+ const fontFaceContent = fontFace[0];
54
+ const urlRegex = /url\((['"]?)([^)'"]+)(\1)\)/g;
55
+ let match;
56
+
57
+ let modifiedFontFaceContent = fontFaceContent;
58
+
59
+ while ((match = urlRegex.exec(fontFaceContent)) !== null) {
60
+ // Create a promise to convert each font to Base64 and replace in CSS
61
+ const base64 = convertFontToBase64(_scss_import.processImportPath(match[2], null, true));
62
+ const base64Font = `data:font/woff2;base64,${base64}`;
63
+
64
+ modifiedFontFaceContent = modifiedFontFaceContent.replace(match[2], base64Font);
65
+ }
66
+
67
+ cssContent = cssContent.replace(fontFaceContent, modifiedFontFaceContent)
68
+ };
69
+
70
+ return cssContent;
71
+ }
72
+
73
+ module.exports = function(element) {
74
+ return {
75
+ hasFontEmbeds: hasFontEmbeds.bind(element),
76
+ embedFontsInCss: embedFontsInCss.bind(element),
77
+ getFontMimeType: getFontMimeType.bind(element),
78
+ convertFontToBase64: convertFontToBase64.bind(element),
79
+ replaceFontUrlWithBase64: replaceFontUrlWithBase64.bind(element)
80
+ };
81
81
  };