tnp-helpers 18.0.16 → 18.0.18

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 (412) hide show
  1. package/assets/shared/shared_folder_info.txt +1 -1
  2. package/browser/README.md +24 -24
  3. package/browser/esm2022/lib/base/classes/base-cli-worker-config.mjs +40 -0
  4. package/browser/esm2022/lib/base/classes/base-cli-worker-controller.mjs +125 -0
  5. package/browser/esm2022/lib/base/classes/base-cli-worker.mjs +466 -0
  6. package/browser/esm2022/lib/base/classes/base-compiler-for-project.mjs +61 -0
  7. package/browser/esm2022/lib/base/classes/base-db.mjs +31 -0
  8. package/browser/esm2022/lib/base/classes/base-debounce-compiler-for-project.mjs +56 -0
  9. package/browser/esm2022/lib/base/classes/base-feature-for-project.mjs +8 -0
  10. package/{websql/esm2022/lib/base → browser/esm2022/lib/base/classes}/base-git.mjs +2 -2
  11. package/{websql/esm2022/lib/base → browser/esm2022/lib/base/classes}/base-github-pages.mjs +2 -2
  12. package/{websql/esm2022/lib/base → browser/esm2022/lib/base/classes}/base-library-build.mjs +3 -3
  13. package/browser/esm2022/lib/base/classes/base-linked-projects.mjs +320 -0
  14. package/browser/esm2022/lib/base/classes/base-npm-helpers.mjs +630 -0
  15. package/browser/esm2022/lib/base/classes/base-project-resolver.mjs +291 -0
  16. package/browser/esm2022/lib/base/classes/base-project.mjs +926 -0
  17. package/browser/esm2022/lib/base/classes/base-quick-fixes.mjs +24 -0
  18. package/{websql/esm2022/lib/base → browser/esm2022/lib/base/classes}/base-release-process.mjs +4 -4
  19. package/browser/esm2022/lib/base/classes/base-vscode.mjs +488 -0
  20. package/browser/esm2022/lib/base/classes/index.mjs +22 -0
  21. package/browser/esm2022/lib/base/commit-data.mjs +1 -1
  22. package/browser/esm2022/lib/base/config-database.mjs +5 -2
  23. package/browser/esm2022/lib/base/core-project.mjs +1 -1
  24. package/browser/esm2022/lib/base/index.mjs +3 -19
  25. package/browser/esm2022/lib/base/project-database.mjs +2 -2
  26. package/browser/esm2022/lib/base/tcp-udp-ports/index.mjs +7 -0
  27. package/browser/esm2022/lib/base/tcp-udp-ports/not-assignable-port.entity.mjs +19 -0
  28. package/browser/esm2022/lib/base/tcp-udp-ports/ports.controller.mjs +108 -0
  29. package/browser/esm2022/lib/base/tcp-udp-ports/ports.entity.mjs +26 -0
  30. package/browser/esm2022/lib/base/tcp-udp-ports/tcp-udp-ports.context.mjs +35 -0
  31. package/browser/esm2022/lib/base/tcp-udp-ports/tcp-upd-ports.worker.mjs +122 -0
  32. package/browser/esm2022/lib/utils.mjs +33 -144
  33. package/browser/esm2022/migrations/1736198527297_init.mjs +41 -0
  34. package/browser/esm2022/migrations/1736199486472_addingNotAssignablePorts.mjs +55 -0
  35. package/browser/esm2022/migrations/1736454437350_addFreePorts.mjs +37 -0
  36. package/browser/esm2022/migrations/index.mjs +5 -0
  37. package/browser/esm2022/migrations/migrations_index._auto-generated_.mjs +16 -0
  38. package/browser/fesm2022/tnp-helpers.mjs +2136 -1591
  39. package/browser/fesm2022/tnp-helpers.mjs.map +1 -1
  40. package/{client/lib/base → browser/lib/base/classes}/base-cli-worker-controller.d.ts +2 -2
  41. package/browser/lib/base/{base-cli-worker.d.ts → classes/base-cli-worker.d.ts} +7 -1
  42. package/browser/lib/base/{base-git.d.ts → classes/base-git.d.ts} +1 -1
  43. package/{client/lib/base → browser/lib/base/classes}/base-library-build.d.ts +1 -1
  44. package/{websql/lib/base → browser/lib/base/classes}/base-linked-projects.d.ts +1 -1
  45. package/{client/lib/base → browser/lib/base/classes}/base-project-resolver.d.ts +4 -4
  46. package/browser/lib/base/{base-project.d.ts → classes/base-project.d.ts} +11 -4
  47. package/browser/lib/base/{base-release-process.d.ts → classes/base-release-process.d.ts} +1 -1
  48. package/browser/lib/base/classes/base-vscode.d.ts +24 -0
  49. package/browser/lib/base/classes/index.d.ts +16 -0
  50. package/browser/lib/base/config-database.d.ts +2 -2
  51. package/browser/lib/base/core-project.d.ts +1 -1
  52. package/browser/lib/base/index.d.ts +3 -16
  53. package/browser/lib/base/project-database.d.ts +2 -2
  54. package/browser/lib/base/tcp-udp-ports/index.d.ts +5 -0
  55. package/browser/lib/base/tcp-udp-ports/not-assignable-port.entity.d.ts +7 -0
  56. package/browser/lib/base/tcp-udp-ports/ports.controller.d.ts +20 -0
  57. package/browser/lib/base/tcp-udp-ports/ports.entity.d.ts +15 -0
  58. package/browser/lib/base/tcp-udp-ports/tcp-udp-ports.context.d.ts +59 -0
  59. package/browser/lib/base/tcp-udp-ports/tcp-upd-ports.worker.d.ts +23 -0
  60. package/browser/lib/utils.d.ts +2 -38
  61. package/browser/migrations/1736198527297_init.d.ts +19 -0
  62. package/browser/migrations/1736199486472_addingNotAssignablePorts.d.ts +11 -0
  63. package/browser/migrations/1736454437350_addFreePorts.d.ts +10 -0
  64. package/browser/migrations/index.d.ts +2 -0
  65. package/browser/migrations/migrations_index._auto-generated_.d.ts +12 -0
  66. package/client/README.md +24 -24
  67. package/client/esm2022/lib/base/classes/base-cli-worker-config.mjs +40 -0
  68. package/client/esm2022/lib/base/classes/base-cli-worker-controller.mjs +125 -0
  69. package/client/esm2022/lib/base/classes/base-cli-worker.mjs +466 -0
  70. package/client/esm2022/lib/base/classes/base-compiler-for-project.mjs +61 -0
  71. package/client/esm2022/lib/base/classes/base-db.mjs +31 -0
  72. package/client/esm2022/lib/base/classes/base-debounce-compiler-for-project.mjs +56 -0
  73. package/client/esm2022/lib/base/classes/base-feature-for-project.mjs +8 -0
  74. package/client/esm2022/lib/base/classes/base-git.mjs +932 -0
  75. package/client/esm2022/lib/base/classes/base-github-pages.mjs +110 -0
  76. package/{browser/esm2022/lib/base → client/esm2022/lib/base/classes}/base-library-build.mjs +2 -2
  77. package/client/esm2022/lib/base/classes/base-linked-projects.mjs +320 -0
  78. package/client/esm2022/lib/base/classes/base-npm-helpers.mjs +630 -0
  79. package/client/esm2022/lib/base/classes/base-project-resolver.mjs +291 -0
  80. package/client/esm2022/lib/base/classes/base-project.mjs +926 -0
  81. package/client/esm2022/lib/base/classes/base-quick-fixes.mjs +24 -0
  82. package/{browser/esm2022/lib/base → client/esm2022/lib/base/classes}/base-release-process.mjs +3 -3
  83. package/client/esm2022/lib/base/classes/base-vscode.mjs +488 -0
  84. package/client/esm2022/lib/base/classes/index.mjs +22 -0
  85. package/client/esm2022/lib/base/commit-data.mjs +1 -1
  86. package/client/esm2022/lib/base/config-database.mjs +5 -2
  87. package/client/esm2022/lib/base/core-project.mjs +1 -1
  88. package/client/esm2022/lib/base/index.mjs +3 -19
  89. package/client/esm2022/lib/base/project-database.mjs +2 -2
  90. package/client/esm2022/lib/base/tcp-udp-ports/index.mjs +7 -0
  91. package/client/esm2022/lib/base/tcp-udp-ports/not-assignable-port.entity.mjs +19 -0
  92. package/client/esm2022/lib/base/tcp-udp-ports/ports.controller.mjs +108 -0
  93. package/client/esm2022/lib/base/tcp-udp-ports/ports.entity.mjs +26 -0
  94. package/client/esm2022/lib/base/tcp-udp-ports/tcp-udp-ports.context.mjs +35 -0
  95. package/client/esm2022/lib/base/tcp-udp-ports/tcp-upd-ports.worker.mjs +122 -0
  96. package/client/esm2022/lib/utils.mjs +33 -144
  97. package/client/esm2022/migrations/1736198527297_init.mjs +41 -0
  98. package/client/esm2022/migrations/1736199486472_addingNotAssignablePorts.mjs +55 -0
  99. package/client/esm2022/migrations/1736454437350_addFreePorts.mjs +37 -0
  100. package/client/esm2022/migrations/index.mjs +5 -0
  101. package/client/esm2022/migrations/migrations_index._auto-generated_.mjs +16 -0
  102. package/client/fesm2022/tnp-helpers.mjs +2136 -1591
  103. package/client/fesm2022/tnp-helpers.mjs.map +1 -1
  104. package/{browser/lib/base → client/lib/base/classes}/base-cli-worker-controller.d.ts +2 -2
  105. package/client/lib/base/{base-cli-worker.d.ts → classes/base-cli-worker.d.ts} +7 -1
  106. package/{websql/lib/base → client/lib/base/classes}/base-git.d.ts +1 -1
  107. package/{browser/lib/base → client/lib/base/classes}/base-library-build.d.ts +1 -1
  108. package/{browser/lib/base → client/lib/base/classes}/base-linked-projects.d.ts +1 -1
  109. package/{websql/lib/base → client/lib/base/classes}/base-project-resolver.d.ts +4 -4
  110. package/client/lib/base/{base-project.d.ts → classes/base-project.d.ts} +11 -4
  111. package/client/lib/base/{base-release-process.d.ts → classes/base-release-process.d.ts} +1 -1
  112. package/client/lib/base/classes/base-vscode.d.ts +24 -0
  113. package/client/lib/base/classes/index.d.ts +16 -0
  114. package/client/lib/base/config-database.d.ts +2 -2
  115. package/client/lib/base/core-project.d.ts +1 -1
  116. package/client/lib/base/index.d.ts +3 -16
  117. package/client/lib/base/project-database.d.ts +2 -2
  118. package/client/lib/base/tcp-udp-ports/index.d.ts +5 -0
  119. package/client/lib/base/tcp-udp-ports/not-assignable-port.entity.d.ts +7 -0
  120. package/client/lib/base/tcp-udp-ports/ports.controller.d.ts +20 -0
  121. package/client/lib/base/tcp-udp-ports/ports.entity.d.ts +15 -0
  122. package/client/lib/base/tcp-udp-ports/tcp-udp-ports.context.d.ts +59 -0
  123. package/client/lib/base/tcp-udp-ports/tcp-upd-ports.worker.d.ts +23 -0
  124. package/client/lib/utils.d.ts +2 -38
  125. package/client/migrations/1736198527297_init.d.ts +19 -0
  126. package/client/migrations/1736199486472_addingNotAssignablePorts.d.ts +11 -0
  127. package/client/migrations/1736454437350_addFreePorts.d.ts +10 -0
  128. package/client/migrations/index.d.ts +2 -0
  129. package/client/migrations/migrations_index._auto-generated_.d.ts +12 -0
  130. package/lib/base/{base-cli-worker-controller.d.ts → classes/base-cli-worker-controller.d.ts} +4 -4
  131. package/lib/base/{base-cli-worker-controller.js → classes/base-cli-worker-controller.js} +3 -3
  132. package/lib/base/classes/base-cli-worker-controller.js.map +1 -0
  133. package/lib/base/{base-cli-worker.d.ts → classes/base-cli-worker.d.ts} +7 -1
  134. package/lib/base/{base-cli-worker.js → classes/base-cli-worker.js} +48 -29
  135. package/lib/base/classes/base-cli-worker.js.map +1 -0
  136. package/lib/base/{command-line-feature.backend.d.ts → classes/base-command-line-feature.backend.d.ts} +1 -1
  137. package/lib/base/{command-line-feature.backend.js → classes/base-command-line-feature.backend.js} +15 -15
  138. package/lib/base/classes/base-command-line-feature.backend.js.map +1 -0
  139. package/lib/base/{base-compiler-for-project.d.ts → classes/base-compiler-for-project.d.ts} +2 -2
  140. package/lib/base/{base-compiler-for-project.js → classes/base-compiler-for-project.js} +1 -1
  141. package/lib/base/{base-compiler-for-project.js.map → classes/base-compiler-for-project.js.map} +1 -1
  142. package/lib/base/{base-db.d.ts → classes/base-db.d.ts} +1 -1
  143. package/lib/base/{base-db.js → classes/base-db.js} +1 -1
  144. package/lib/base/{base-db.js.map → classes/base-db.js.map} +1 -1
  145. package/lib/base/{base-debounce-compiler-for-project.d.ts → classes/base-debounce-compiler-for-project.d.ts} +2 -2
  146. package/lib/base/{base-debounce-compiler-for-project.js.map → classes/base-debounce-compiler-for-project.js.map} +1 -1
  147. package/lib/base/{base-git.d.ts → classes/base-git.d.ts} +1 -1
  148. package/lib/base/{base-git.js → classes/base-git.js} +3 -3
  149. package/lib/base/{base-git.js.map → classes/base-git.js.map} +1 -1
  150. package/lib/base/{base-github-pages.js → classes/base-github-pages.js} +1 -1
  151. package/lib/base/{base-github-pages.js.map → classes/base-github-pages.js.map} +1 -1
  152. package/lib/base/{base-command-line.backend.d.ts → classes/base-global-command-line.backend.d.ts} +17 -4
  153. package/lib/base/{base-command-line.backend.js → classes/base-global-command-line.backend.js} +236 -161
  154. package/lib/base/classes/base-global-command-line.backend.js.map +1 -0
  155. package/lib/base/{base-ignore-hide.js → classes/base-ignore-hide.js} +1 -1
  156. package/lib/base/{base-ignore-hide.js.map → classes/base-ignore-hide.js.map} +1 -1
  157. package/lib/base/{base-library-build.d.ts → classes/base-library-build.d.ts} +3 -3
  158. package/lib/base/{base-library-build.js → classes/base-library-build.js} +2 -2
  159. package/lib/base/{base-library-build.js.map → classes/base-library-build.js.map} +1 -1
  160. package/lib/base/{base-linked-projects.d.ts → classes/base-linked-projects.d.ts} +1 -1
  161. package/lib/base/{base-linked-projects.js → classes/base-linked-projects.js} +1 -1
  162. package/lib/base/{base-linked-projects.js.map → classes/base-linked-projects.js.map} +1 -1
  163. package/lib/base/{base-npm-helpers.d.ts → classes/base-npm-helpers.d.ts} +3 -3
  164. package/lib/base/{base-npm-helpers.js → classes/base-npm-helpers.js} +1 -1
  165. package/lib/base/{base-npm-helpers.js.map → classes/base-npm-helpers.js.map} +1 -1
  166. package/lib/base/{base-project-resolver.d.ts → classes/base-project-resolver.d.ts} +4 -4
  167. package/lib/base/{base-project-resolver.js → classes/base-project-resolver.js} +6 -6
  168. package/lib/base/{base-project-resolver.js.map → classes/base-project-resolver.js.map} +1 -1
  169. package/lib/base/{base-project.d.ts → classes/base-project.d.ts} +14 -7
  170. package/lib/base/{base-project.js → classes/base-project.js} +34 -5
  171. package/lib/base/classes/base-project.js.map +1 -0
  172. package/lib/base/{base-quick-fixes.js → classes/base-quick-fixes.js} +1 -1
  173. package/lib/base/{base-quick-fixes.js.map → classes/base-quick-fixes.js.map} +1 -1
  174. package/lib/base/{base-release-process.d.ts → classes/base-release-process.d.ts} +3 -3
  175. package/lib/base/{base-release-process.js → classes/base-release-process.js} +2 -2
  176. package/lib/base/{base-release-process.js.map → classes/base-release-process.js.map} +1 -1
  177. package/lib/base/{base-start-config.backend.js → classes/base-start-config.backend.js} +2 -2
  178. package/lib/base/{base-start-config.backend.js.map → classes/base-start-config.backend.js.map} +1 -1
  179. package/lib/base/classes/base-vscode.d.ts +23 -0
  180. package/lib/base/classes/base-vscode.js +451 -0
  181. package/lib/base/classes/base-vscode.js.map +1 -0
  182. package/lib/base/classes/index.d.ts +18 -0
  183. package/lib/base/classes/index.js +24 -0
  184. package/lib/base/classes/index.js.map +1 -0
  185. package/lib/base/commit-data.js.map +1 -1
  186. package/lib/base/config-database.d.ts +2 -2
  187. package/lib/base/config-database.js +5 -8
  188. package/lib/base/config-database.js.map +1 -1
  189. package/lib/base/core-project.d.ts +3 -3
  190. package/lib/base/gh-temp-code.d.ts +1 -1
  191. package/lib/base/index.d.ts +2 -18
  192. package/lib/base/index.js +2 -18
  193. package/lib/base/index.js.map +1 -1
  194. package/lib/base/project-database.d.ts +2 -2
  195. package/lib/base/project-database.js +1 -1
  196. package/lib/base/project-database.js.map +1 -1
  197. package/lib/base/tcp-udp-ports/index.d.ts +4 -0
  198. package/lib/base/tcp-udp-ports/index.js +8 -0
  199. package/lib/base/tcp-udp-ports/index.js.map +1 -0
  200. package/lib/base/tcp-udp-ports/not-assignable-port.entity.d.ts +6 -0
  201. package/lib/base/tcp-udp-ports/not-assignable-port.entity.js +45 -0
  202. package/lib/base/tcp-udp-ports/not-assignable-port.entity.js.map +1 -0
  203. package/lib/base/tcp-udp-ports/ports.controller.d.ts +19 -0
  204. package/lib/base/tcp-udp-ports/ports.controller.js +135 -0
  205. package/lib/base/tcp-udp-ports/ports.controller.js.map +1 -0
  206. package/lib/base/tcp-udp-ports/ports.entity.d.ts +14 -0
  207. package/lib/base/tcp-udp-ports/ports.entity.js +45 -0
  208. package/lib/base/tcp-udp-ports/ports.entity.js.map +1 -0
  209. package/lib/base/tcp-udp-ports/tcp-udp-ports.context.d.ts +58 -0
  210. package/lib/base/tcp-udp-ports/tcp-udp-ports.context.js +41 -0
  211. package/lib/base/tcp-udp-ports/tcp-udp-ports.context.js.map +1 -0
  212. package/lib/base/tcp-udp-ports/tcp-upd-ports.worker.d.ts +31 -0
  213. package/lib/base/tcp-udp-ports/tcp-upd-ports.worker.js +215 -0
  214. package/lib/base/tcp-udp-ports/tcp-upd-ports.worker.js.map +1 -0
  215. package/lib/helpers/for-backend/helpers-cli-tool.backend.d.ts +1 -1
  216. package/lib/helpers/for-backend/helpers-cli-tool.backend.js.map +1 -1
  217. package/lib/helpers/for-backend/helpers-console-gui.js +2 -1
  218. package/lib/helpers/for-backend/helpers-console-gui.js.map +1 -1
  219. package/lib/helpers/for-backend/helpers-file-folders.backend.d.ts +2 -2
  220. package/lib/helpers/for-backend/helpers-git.backend.js +2 -2
  221. package/lib/helpers/for-backend/helpers-git.backend.js.map +1 -1
  222. package/lib/helpers/for-backend/helpers-process.backend.d.ts +3 -3
  223. package/lib/helpers/for-backend/helpers-process.backend.js +4 -26
  224. package/lib/helpers/for-backend/helpers-process.backend.js.map +1 -1
  225. package/lib/helpers/for-backend/helpers-vscode.backend.d.ts +2 -2
  226. package/lib/helpers/for-browser/angular.helper.js +2 -2
  227. package/lib/helpers/helpers.d.ts +1 -1
  228. package/lib/models.d.ts +2 -2
  229. package/lib/old/base-component.js +2 -2
  230. package/lib/old/base-formly-component.js +2 -2
  231. package/lib/old/dual-component-ctrl.js +2 -2
  232. package/lib/utils.d.ts +2 -38
  233. package/lib/utils.js +51 -158
  234. package/lib/utils.js.map +1 -1
  235. package/migrations/1736198527297_init.d.ts +18 -0
  236. package/migrations/1736198527297_init.js +72 -0
  237. package/migrations/1736198527297_init.js.map +1 -0
  238. package/migrations/1736199486472_addingNotAssignablePorts.d.ts +10 -0
  239. package/migrations/1736199486472_addingNotAssignablePorts.js +94 -0
  240. package/migrations/1736199486472_addingNotAssignablePorts.js.map +1 -0
  241. package/migrations/1736454437350_addFreePorts.d.ts +9 -0
  242. package/migrations/1736454437350_addFreePorts.js +78 -0
  243. package/migrations/1736454437350_addFreePorts.js.map +1 -0
  244. package/migrations/migrations_index._auto-generated_.d.ts +11 -0
  245. package/migrations/migrations_index._auto-generated_.js +14 -0
  246. package/migrations/migrations_index._auto-generated_.js.map +1 -1
  247. package/package.json +5 -5
  248. package/taon.jsonc +49 -49
  249. package/tmp-environment.json +30 -29
  250. package/websql/README.md +24 -24
  251. package/websql/esm2022/lib/base/classes/base-cli-worker-config.mjs +40 -0
  252. package/websql/esm2022/lib/base/classes/base-cli-worker-controller.mjs +125 -0
  253. package/websql/esm2022/lib/base/classes/base-cli-worker.mjs +466 -0
  254. package/websql/esm2022/lib/base/classes/base-compiler-for-project.mjs +61 -0
  255. package/websql/esm2022/lib/base/classes/base-db.mjs +31 -0
  256. package/websql/esm2022/lib/base/classes/base-debounce-compiler-for-project.mjs +56 -0
  257. package/websql/esm2022/lib/base/classes/base-feature-for-project.mjs +8 -0
  258. package/{browser/esm2022/lib/base → websql/esm2022/lib/base/classes}/base-git.mjs +2 -2
  259. package/{client/esm2022/lib/base → websql/esm2022/lib/base/classes}/base-github-pages.mjs +2 -2
  260. package/{client/esm2022/lib/base → websql/esm2022/lib/base/classes}/base-library-build.mjs +3 -3
  261. package/websql/esm2022/lib/base/classes/base-linked-projects.mjs +320 -0
  262. package/websql/esm2022/lib/base/classes/base-npm-helpers.mjs +630 -0
  263. package/websql/esm2022/lib/base/classes/base-project-resolver.mjs +280 -0
  264. package/websql/esm2022/lib/base/classes/base-project.mjs +896 -0
  265. package/websql/esm2022/lib/base/classes/base-quick-fixes.mjs +24 -0
  266. package/{client/esm2022/lib/base → websql/esm2022/lib/base/classes}/base-release-process.mjs +4 -4
  267. package/websql/esm2022/lib/base/classes/base-vscode.mjs +488 -0
  268. package/websql/esm2022/lib/base/classes/index.mjs +22 -0
  269. package/websql/esm2022/lib/base/commit-data.mjs +1 -1
  270. package/websql/esm2022/lib/base/config-database.mjs +5 -2
  271. package/websql/esm2022/lib/base/core-project.mjs +1 -1
  272. package/websql/esm2022/lib/base/index.mjs +3 -19
  273. package/websql/esm2022/lib/base/project-database.mjs +2 -2
  274. package/websql/esm2022/lib/base/tcp-udp-ports/index.mjs +7 -0
  275. package/websql/esm2022/lib/base/tcp-udp-ports/not-assignable-port.entity.mjs +34 -0
  276. package/websql/esm2022/lib/base/tcp-udp-ports/ports.controller.mjs +108 -0
  277. package/websql/esm2022/lib/base/tcp-udp-ports/ports.entity.mjs +34 -0
  278. package/websql/esm2022/lib/base/tcp-udp-ports/tcp-udp-ports.context.mjs +35 -0
  279. package/websql/esm2022/lib/base/tcp-udp-ports/tcp-upd-ports.worker.mjs +122 -0
  280. package/websql/esm2022/lib/utils.mjs +33 -144
  281. package/websql/esm2022/migrations/1736198527297_init.mjs +41 -0
  282. package/websql/esm2022/migrations/1736199486472_addingNotAssignablePorts.mjs +55 -0
  283. package/websql/esm2022/migrations/1736454437350_addFreePorts.mjs +37 -0
  284. package/websql/esm2022/migrations/index.mjs +5 -0
  285. package/websql/esm2022/migrations/migrations_index._auto-generated_.mjs +16 -0
  286. package/websql/fesm2022/tnp-helpers.mjs +1942 -1379
  287. package/websql/fesm2022/tnp-helpers.mjs.map +1 -1
  288. package/websql/lib/base/{base-cli-worker-controller.d.ts → classes/base-cli-worker-controller.d.ts} +2 -2
  289. package/websql/lib/base/{base-cli-worker.d.ts → classes/base-cli-worker.d.ts} +7 -1
  290. package/{client/lib/base → websql/lib/base/classes}/base-git.d.ts +1 -1
  291. package/websql/lib/base/{base-library-build.d.ts → classes/base-library-build.d.ts} +1 -1
  292. package/{client/lib/base → websql/lib/base/classes}/base-linked-projects.d.ts +1 -1
  293. package/{browser/lib/base → websql/lib/base/classes}/base-project-resolver.d.ts +4 -4
  294. package/websql/lib/base/{base-project.d.ts → classes/base-project.d.ts} +11 -4
  295. package/websql/lib/base/{base-release-process.d.ts → classes/base-release-process.d.ts} +1 -1
  296. package/websql/lib/base/classes/base-vscode.d.ts +24 -0
  297. package/websql/lib/base/classes/index.d.ts +16 -0
  298. package/websql/lib/base/config-database.d.ts +2 -2
  299. package/websql/lib/base/core-project.d.ts +1 -1
  300. package/websql/lib/base/index.d.ts +3 -16
  301. package/websql/lib/base/project-database.d.ts +2 -2
  302. package/websql/lib/base/tcp-udp-ports/index.d.ts +5 -0
  303. package/websql/lib/base/tcp-udp-ports/not-assignable-port.entity.d.ts +7 -0
  304. package/websql/lib/base/tcp-udp-ports/ports.controller.d.ts +20 -0
  305. package/websql/lib/base/tcp-udp-ports/ports.entity.d.ts +15 -0
  306. package/websql/lib/base/tcp-udp-ports/tcp-udp-ports.context.d.ts +59 -0
  307. package/websql/lib/base/tcp-udp-ports/tcp-upd-ports.worker.d.ts +23 -0
  308. package/websql/lib/utils.d.ts +2 -38
  309. package/websql/migrations/1736198527297_init.d.ts +19 -0
  310. package/websql/migrations/1736199486472_addingNotAssignablePorts.d.ts +11 -0
  311. package/websql/migrations/1736454437350_addFreePorts.d.ts +10 -0
  312. package/websql/migrations/index.d.ts +2 -0
  313. package/websql/migrations/migrations_index._auto-generated_.d.ts +12 -0
  314. package/browser/esm2022/lib/base/base-cli-worker-config.mjs +0 -40
  315. package/browser/esm2022/lib/base/base-cli-worker-controller.mjs +0 -125
  316. package/browser/esm2022/lib/base/base-cli-worker.mjs +0 -451
  317. package/browser/esm2022/lib/base/base-compiler-for-project.mjs +0 -61
  318. package/browser/esm2022/lib/base/base-db.mjs +0 -31
  319. package/browser/esm2022/lib/base/base-debounce-compiler-for-project.mjs +0 -56
  320. package/browser/esm2022/lib/base/base-feature-for-project.mjs +0 -8
  321. package/browser/esm2022/lib/base/base-github-pages.mjs +0 -110
  322. package/browser/esm2022/lib/base/base-linked-projects.mjs +0 -321
  323. package/browser/esm2022/lib/base/base-npm-helpers.mjs +0 -630
  324. package/browser/esm2022/lib/base/base-project-resolver.mjs +0 -291
  325. package/browser/esm2022/lib/base/base-project.mjs +0 -911
  326. package/browser/esm2022/lib/base/base-quick-fixes.mjs +0 -24
  327. package/browser/esm2022/lib/base/base-vscode.mjs +0 -145
  328. package/browser/esm2022/lib/base/ports-worker.mjs +0 -162
  329. package/browser/lib/base/base-vscode.d.ts +0 -13
  330. package/browser/lib/base/ports-worker.d.ts +0 -33
  331. package/client/esm2022/lib/base/base-cli-worker-config.mjs +0 -40
  332. package/client/esm2022/lib/base/base-cli-worker-controller.mjs +0 -125
  333. package/client/esm2022/lib/base/base-cli-worker.mjs +0 -451
  334. package/client/esm2022/lib/base/base-compiler-for-project.mjs +0 -61
  335. package/client/esm2022/lib/base/base-db.mjs +0 -31
  336. package/client/esm2022/lib/base/base-debounce-compiler-for-project.mjs +0 -56
  337. package/client/esm2022/lib/base/base-feature-for-project.mjs +0 -8
  338. package/client/esm2022/lib/base/base-git.mjs +0 -932
  339. package/client/esm2022/lib/base/base-linked-projects.mjs +0 -321
  340. package/client/esm2022/lib/base/base-npm-helpers.mjs +0 -630
  341. package/client/esm2022/lib/base/base-project-resolver.mjs +0 -291
  342. package/client/esm2022/lib/base/base-project.mjs +0 -911
  343. package/client/esm2022/lib/base/base-quick-fixes.mjs +0 -24
  344. package/client/esm2022/lib/base/base-vscode.mjs +0 -145
  345. package/client/esm2022/lib/base/ports-worker.mjs +0 -162
  346. package/client/lib/base/base-vscode.d.ts +0 -13
  347. package/client/lib/base/ports-worker.d.ts +0 -33
  348. package/lib/base/base-cli-worker-controller.js.map +0 -1
  349. package/lib/base/base-cli-worker.js.map +0 -1
  350. package/lib/base/base-command-line.backend.js.map +0 -1
  351. package/lib/base/base-project.js.map +0 -1
  352. package/lib/base/base-vscode.d.ts +0 -12
  353. package/lib/base/base-vscode.js +0 -139
  354. package/lib/base/base-vscode.js.map +0 -1
  355. package/lib/base/command-line-feature.backend.js.map +0 -1
  356. package/lib/base/ports-worker.d.ts +0 -32
  357. package/lib/base/ports-worker.js +0 -244
  358. package/lib/base/ports-worker.js.map +0 -1
  359. package/websql/esm2022/lib/base/base-cli-worker-config.mjs +0 -40
  360. package/websql/esm2022/lib/base/base-cli-worker-controller.mjs +0 -125
  361. package/websql/esm2022/lib/base/base-cli-worker.mjs +0 -451
  362. package/websql/esm2022/lib/base/base-compiler-for-project.mjs +0 -61
  363. package/websql/esm2022/lib/base/base-db.mjs +0 -31
  364. package/websql/esm2022/lib/base/base-debounce-compiler-for-project.mjs +0 -56
  365. package/websql/esm2022/lib/base/base-feature-for-project.mjs +0 -8
  366. package/websql/esm2022/lib/base/base-linked-projects.mjs +0 -321
  367. package/websql/esm2022/lib/base/base-npm-helpers.mjs +0 -630
  368. package/websql/esm2022/lib/base/base-project-resolver.mjs +0 -280
  369. package/websql/esm2022/lib/base/base-project.mjs +0 -883
  370. package/websql/esm2022/lib/base/base-quick-fixes.mjs +0 -24
  371. package/websql/esm2022/lib/base/base-vscode.mjs +0 -145
  372. package/websql/esm2022/lib/base/ports-worker.mjs +0 -165
  373. package/websql/lib/base/base-vscode.d.ts +0 -13
  374. package/websql/lib/base/ports-worker.d.ts +0 -33
  375. /package/browser/lib/base/{base-cli-worker-config.d.ts → classes/base-cli-worker-config.d.ts} +0 -0
  376. /package/browser/lib/base/{base-compiler-for-project.d.ts → classes/base-compiler-for-project.d.ts} +0 -0
  377. /package/browser/lib/base/{base-db.d.ts → classes/base-db.d.ts} +0 -0
  378. /package/browser/lib/base/{base-debounce-compiler-for-project.d.ts → classes/base-debounce-compiler-for-project.d.ts} +0 -0
  379. /package/browser/lib/base/{base-feature-for-project.d.ts → classes/base-feature-for-project.d.ts} +0 -0
  380. /package/browser/lib/base/{base-github-pages.d.ts → classes/base-github-pages.d.ts} +0 -0
  381. /package/browser/lib/base/{base-npm-helpers.d.ts → classes/base-npm-helpers.d.ts} +0 -0
  382. /package/browser/lib/base/{base-quick-fixes.d.ts → classes/base-quick-fixes.d.ts} +0 -0
  383. /package/client/lib/base/{base-cli-worker-config.d.ts → classes/base-cli-worker-config.d.ts} +0 -0
  384. /package/client/lib/base/{base-compiler-for-project.d.ts → classes/base-compiler-for-project.d.ts} +0 -0
  385. /package/client/lib/base/{base-db.d.ts → classes/base-db.d.ts} +0 -0
  386. /package/client/lib/base/{base-debounce-compiler-for-project.d.ts → classes/base-debounce-compiler-for-project.d.ts} +0 -0
  387. /package/client/lib/base/{base-feature-for-project.d.ts → classes/base-feature-for-project.d.ts} +0 -0
  388. /package/client/lib/base/{base-github-pages.d.ts → classes/base-github-pages.d.ts} +0 -0
  389. /package/client/lib/base/{base-npm-helpers.d.ts → classes/base-npm-helpers.d.ts} +0 -0
  390. /package/client/lib/base/{base-quick-fixes.d.ts → classes/base-quick-fixes.d.ts} +0 -0
  391. /package/lib/base/{base-cli-worker-config.d.ts → classes/base-cli-worker-config.d.ts} +0 -0
  392. /package/lib/base/{base-cli-worker-config.js → classes/base-cli-worker-config.js} +0 -0
  393. /package/lib/base/{base-cli-worker-config.js.map → classes/base-cli-worker-config.js.map} +0 -0
  394. /package/lib/base/{base-debounce-compiler-for-project.js → classes/base-debounce-compiler-for-project.js} +0 -0
  395. /package/lib/base/{base-detached-service.d.ts → classes/base-detached-service.d.ts} +0 -0
  396. /package/lib/base/{base-detached-service.js → classes/base-detached-service.js} +0 -0
  397. /package/lib/base/{base-detached-service.js.map → classes/base-detached-service.js.map} +0 -0
  398. /package/lib/base/{base-feature-for-project.d.ts → classes/base-feature-for-project.d.ts} +0 -0
  399. /package/lib/base/{base-feature-for-project.js → classes/base-feature-for-project.js} +0 -0
  400. /package/lib/base/{base-feature-for-project.js.map → classes/base-feature-for-project.js.map} +0 -0
  401. /package/lib/base/{base-github-pages.d.ts → classes/base-github-pages.d.ts} +0 -0
  402. /package/lib/base/{base-ignore-hide.d.ts → classes/base-ignore-hide.d.ts} +0 -0
  403. /package/lib/base/{base-quick-fixes.d.ts → classes/base-quick-fixes.d.ts} +0 -0
  404. /package/lib/base/{base-start-config.backend.d.ts → classes/base-start-config.backend.d.ts} +0 -0
  405. /package/websql/lib/base/{base-cli-worker-config.d.ts → classes/base-cli-worker-config.d.ts} +0 -0
  406. /package/websql/lib/base/{base-compiler-for-project.d.ts → classes/base-compiler-for-project.d.ts} +0 -0
  407. /package/websql/lib/base/{base-db.d.ts → classes/base-db.d.ts} +0 -0
  408. /package/websql/lib/base/{base-debounce-compiler-for-project.d.ts → classes/base-debounce-compiler-for-project.d.ts} +0 -0
  409. /package/websql/lib/base/{base-feature-for-project.d.ts → classes/base-feature-for-project.d.ts} +0 -0
  410. /package/websql/lib/base/{base-github-pages.d.ts → classes/base-github-pages.d.ts} +0 -0
  411. /package/websql/lib/base/{base-npm-helpers.d.ts → classes/base-npm-helpers.d.ts} +0 -0
  412. /package/websql/lib/base/{base-quick-fixes.d.ts → classes/base-quick-fixes.d.ts} +0 -0
@@ -1,321 +0,0 @@
1
- /* */
2
- /* */
3
- /* */
4
- import { _, crossPlatformPath } from 'tnp-core/browser';
5
- import { Helpers, LinkedProject, } from '../index'; /* */
6
- /* */
7
- /* */
8
- /* */
9
- /* */
10
- import { BaseFeatureForProject } from './base-feature-for-project';
11
- import { config } from 'tnp-config/browser';
12
- export class BaseLinkedProjects extends BaseFeatureForProject {
13
- constructor() {
14
- super(...arguments);
15
- this.cache = {};
16
- }
17
- get embeddedProject() {
18
- const cacheKey = 'embeddedProject' + _.kebabCase(this.project.location);
19
- if (!_.isUndefined(this.cache[cacheKey])) {
20
- return this.cache[cacheKey];
21
- }
22
- const nearsetProj = this.project.ins.nearestTo(crossPlatformPath([this.project.location, '..']));
23
- const linkedPorj = nearsetProj?.linkedProjects?.linkedProjects.find(l => {
24
- const copareTo = crossPlatformPath([
25
- nearsetProj.location,
26
- l.relativeClonePath,
27
- ]);
28
- if (this.project.location === copareTo) {
29
- return true;
30
- }
31
- if (l.remoteUrl() === this.project.git.originURL) {
32
- return true;
33
- }
34
- return false;
35
- });
36
- if (!linkedPorj || !linkedPorj.internalRealtiveProjectPath) {
37
- return;
38
- }
39
- const pathToEmbededProj = crossPlatformPath([
40
- nearsetProj.location,
41
- linkedPorj.relativeClonePath,
42
- linkedPorj.internalRealtiveProjectPath || '',
43
- ]);
44
- const embdedresult = this.project.ins.From(pathToEmbededProj);
45
- this.cache[cacheKey] = embdedresult;
46
- return this.cache[cacheKey];
47
- }
48
- get projectsDbLocation() {
49
- /* */
50
- /* */
51
- return (void 0);
52
- }
53
- async saveLocationToDB() {
54
- /* */
55
- /* */
56
- /* */
57
- /* */
58
- /* */
59
- /* */
60
- /* */
61
- /* */
62
- /* */
63
- /* */
64
- /* */
65
- /* */
66
- /* */
67
- /* */
68
- /* */
69
- /* */
70
- /* */
71
- /* */
72
- /* */
73
- /* */
74
- /* */
75
- /* */
76
- return (void 0);
77
- }
78
- async saveAllLinkedProjectsToDB() {
79
- const proj = this.project;
80
- await proj.linkedProjects.saveLocationToDB();
81
- for (const link of proj.linkedProjects.linkedProjects) {
82
- const linkedPorj = this.project.ins.From([
83
- proj.location,
84
- link.relativeClonePath,
85
- link.internalRealtiveProjectPath || '',
86
- ]);
87
- if (linkedPorj) {
88
- await linkedPorj.linkedProjects.saveLocationToDB();
89
- }
90
- else {
91
- Helpers.warn(`Folder ${link.relativeClonePath} is missing projects...`);
92
- }
93
- }
94
- }
95
- addLinkedProject(linkedProj) {
96
- const linkedProject = _.isString(linkedProj)
97
- ? LinkedProject.fromName(linkedProj)
98
- : linkedProj;
99
- /* */
100
- /* */
101
- /* */
102
- /* */
103
- return (void 0);
104
- }
105
- addLinkedProjects(linkedProjs) {
106
- /* */
107
- /* */
108
- /* */
109
- /* */
110
- return (void 0);
111
- }
112
- setLinkedProjectsConfig(linkedPorjectsConfig) {
113
- /* */
114
- /* */
115
- /* */
116
- /* */
117
- /* */
118
- /* */
119
- /* */
120
- /* */
121
- /* */
122
- /* */
123
- /* */
124
- /* */
125
- /* */
126
- /* */
127
- /* */
128
- /* */
129
- /* */
130
- /* */
131
- /* */
132
- /* */
133
- /* */
134
- /* */
135
- /* */
136
- /* */
137
- /* */
138
- /* */
139
- /* */
140
- /* */
141
- /* */
142
- /* */
143
- /* */
144
- /* */
145
- /* */
146
- /* */
147
- /* */
148
- /* */
149
- /* */
150
- return (void 0);
151
- }
152
- get linkedProjectsConfigPath() {
153
- return this.project.pathFor(config.file.linked_projects_json);
154
- }
155
- get linkedProjectsConfigTempPath() {
156
- return this.project.pathFor([`tmp-${config.file.linked_projects_json}`]);
157
- }
158
- recreateLinkedProjectsConfig() {
159
- /* */
160
- /* */
161
- /* */
162
- /* */
163
- /* */
164
- /* */
165
- /* */
166
- /* */
167
- /* */
168
- /* */
169
- return (void 0);
170
- }
171
- getLinkedProjectsConfig() {
172
- /* */
173
- /* */
174
- /* */
175
- /* */
176
- /* */
177
- /* */
178
- /* */
179
- /* */
180
- /* */
181
- /* */
182
- /* */
183
- /* */
184
- /* */
185
- /* */
186
- /* */
187
- /* */
188
- /* */
189
- /* */
190
- /* */
191
- /* */
192
- /* */
193
- /* */
194
- /* */
195
- /* */
196
- /* */
197
- /* */
198
- /* */
199
- /* */
200
- /* */
201
- /* */
202
- /* */
203
- /* */
204
- /* */
205
- /* */
206
- /* */
207
- /* */
208
- /* */
209
- /* */
210
- /* */
211
- /* */
212
- /* */
213
- /* */
214
- /* */
215
- /* */
216
- /* */
217
- /* */
218
- /* */
219
- return (void 0);
220
- }
221
- get linkedProjects() {
222
- return this.getLinkedProjectsConfig().projects || [];
223
- }
224
- get detectedLinkedProjects() {
225
- const detectedLinkedProjects = LinkedProject.detect(this.project.location, true);
226
- return detectedLinkedProjects;
227
- }
228
- get linkedProjectsPrefix() {
229
- return this.getLinkedProjectsConfig().prefix;
230
- }
231
- resetLinkedProjectsOnlyToCoreBranches() {
232
- return false;
233
- }
234
- async cloneUnexistedLinkedProjects(actionType, setOrigin, cloneChildren = false) {
235
- /* */
236
- /* */
237
- /* */
238
- /* */
239
- /* */
240
- /* */
241
- /* */
242
- /* */
243
- /* */
244
- /* */
245
- /* */
246
- /* */
247
- /* */
248
- /* */
249
- /* */
250
- /* */
251
- /* */
252
- /* */
253
- /* */
254
- /* */
255
- /* */
256
- /* */
257
- /* */
258
- /* */
259
- /* */
260
- /* */
261
- /* */
262
- /* */
263
- /* */
264
- /* */
265
- /* */
266
- /* */
267
- /* */
268
- /* */
269
- /* */
270
- /* */
271
- /* */
272
- /* */
273
- /* */
274
- /* */
275
- /* */
276
- /* */
277
- /* */
278
- /* */
279
- /* */
280
- /* */
281
- /* */
282
- /* */
283
- /* */
284
- /* */
285
- /* */
286
- /* */
287
- /* */
288
- /* */
289
- /* */
290
- /* */
291
- /* */
292
- /* */
293
- /* */
294
- /* */
295
- /* */
296
- /* */
297
- /* */
298
- /* */
299
- /* */
300
- /* */
301
- /* */
302
- /* */
303
- /* */
304
- /* */
305
- /* */
306
- /* */
307
- /* */
308
- /* */
309
- /* */
310
- /* */
311
- /* */
312
- /* */
313
- /* */
314
- /* */
315
- /* */
316
- return (void 0);
317
- }
318
- }
319
- ;
320
- ({}); // @--end-of-file-for-module=tnp-helpers lib/base/base-linked-projects.ts
321
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1saW5rZWQtcHJvamVjdHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItZGlzdC90bnAtaGVscGVycy9wcm9qZWN0cy90bnAtaGVscGVycy9zcmMvbGliL2Jhc2UvYmFzZS1saW5rZWQtcHJvamVjdHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBRUwsT0FBTyxFQUFFLENBQUMsRUFBUyxpQkFBaUIsRUFBUSxNQUFNLGtCQUFrQixDQUFDO0FBQ3JFLE9BQU8sRUFBSSxPQUFPLEVBQTRCLGFBQWEsR0FBc0IsTUFBTSxVQUFVLENBQUMsQ0FBQSxLQUFLO0FBQ3ZHLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFFTCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUduRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFHNUMsTUFBTSxPQUFPLGtCQUVYLFNBQVEscUJBQXFCO0lBRi9COztRQUdVLFVBQUssR0FBUSxFQUFFLENBQUM7SUF3VzFCLENBQUM7SUFwV0MsSUFBSSxlQUFlO1FBQ2pCLE1BQU0sUUFBUSxHQUFHLGlCQUFpQixHQUFHLENBQUMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN4RSxJQUFJLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUN6QyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDOUIsQ0FBQztRQUVELE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FDNUMsaUJBQWlCLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEs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Q0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbEIsQ0FBQztDQUVGO0FBRUEsQ0FBQztBQUFBLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyx5RUFBeUUiLCJzb3VyY2VzQ29udGVudCI6WyJcblxuXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuaW1wb3J0IHsgXywgY2hhbGssIGNyb3NzUGxhdGZvcm1QYXRoLCBwYXRoIH0gZnJvbSAndG5wLWNvcmUvYnJvd3Nlcic7XG5pbXBvcnQgeyAgIEhlbHBlcnMsICAgTGlua2VkUG9yamVjdHNDb25maWcsICAgTGlua2VkUHJvamVjdCwgICBVdGlsc1R5cGVzY3JpcHQsIH0gZnJvbSAnLi4vaW5kZXgnOy8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuXG5pbXBvcnQgeyBCYXNlRmVhdHVyZUZvclByb2plY3QgfSBmcm9tICcuL2Jhc2UtZmVhdHVyZS1mb3ItcHJvamVjdCc7XG5pbXBvcnQgdHlwZSB7IEJhc2VQcm9qZWN0IH0gZnJvbSAnLi9iYXNlLXByb2plY3QnO1xuaW1wb3J0ICogYXMganNvbjVXcml0ZSBmcm9tICdqc29uMTAtd3JpdGVyL2Jyb3dzZXInO1xuaW1wb3J0IHsgY29uZmlnIH0gZnJvbSAndG5wLWNvbmZpZy9icm93c2VyJztcblxuXG5leHBvcnQgY2xhc3MgQmFzZUxpbmtlZFByb2plY3RzPFxuICBQUk9KRUNUIGV4dGVuZHMgQmFzZVByb2plY3QgPSBhbnksXG4+IGV4dGVuZHMgQmFzZUZlYXR1cmVGb3JQcm9qZWN0IHtcbiAgcHJpdmF0ZSBjYWNoZTogYW55ID0ge307XG4gIHByb2plY3Q6IFBST0pFQ1Q7XG5cblxuICBnZXQgZW1iZWRkZWRQcm9qZWN0KCk6IFBST0pFQ1Qge1xuICAgIGNvbnN0IGNhY2hlS2V5ID0gJ2VtYmVkZGVkUHJvamVjdCcgKyBfLmtlYmFiQ2FzZSh0aGlzLnByb2plY3QubG9jYXRpb24pO1xuICAgIGlmICghXy5pc1VuZGVmaW5lZCh0aGlzLmNhY2hlW2NhY2hlS2V5XSkpIHtcbiAgICAgIHJldHVybiB0aGlzLmNhY2hlW2NhY2hlS2V5XTtcbiAgICB9XG5cbiAgICBjb25zdCBuZWFyc2V0UHJvaiA9IHRoaXMucHJvamVjdC5pbnMubmVhcmVzdFRvKFxuICAgICAgY3Jvc3NQbGF0Zm9ybVBhdGgoW3RoaXMucHJvamVjdC5sb2NhdGlvbiwgJy4uJ10pLFxuICAgICkgYXMgUFJPSkVDVDtcbiAgICBjb25zdCBsaW5rZWRQb3JqID0gbmVhcnNldFByb2o/LmxpbmtlZFByb2plY3RzPy5saW5rZWRQcm9qZWN0cy5maW5kKGwgPT4ge1xuICAgICAgY29uc3QgY29wYXJlVG8gPSBjcm9zc1BsYXRmb3JtUGF0aChbXG4gICAgICAgIG5lYXJzZXRQcm9qLmxvY2F0aW9uLFxuICAgICAgICBsLnJlbGF0aXZlQ2xvbmVQYXRoLFxuICAgICAgXSk7XG4gICAgICBpZiAodGhpcy5wcm9qZWN0LmxvY2F0aW9uID09PSBjb3BhcmVUbykge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICAgIGlmIChsLnJlbW90ZVVybCgpID09PSB0aGlzLnByb2plY3QuZ2l0Lm9yaWdpblVSTCkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9KTtcbiAgICBpZiAoIWxpbmtlZFBvcmogfHwgIWxpbmtlZFBvcmouaW50ZXJuYWxSZWFsdGl2ZVByb2plY3RQYXRoKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IHBhdGhUb0VtYmVkZWRQcm9qID0gY3Jvc3NQbGF0Zm9ybVBhdGgoW1xuICAgICAgbmVhcnNldFByb2oubG9jYXRpb24sXG4gICAgICBsaW5rZWRQb3JqLnJlbGF0aXZlQ2xvbmVQYXRoLFxuICAgICAgbGlua2VkUG9yai5pbnRlcm5hbFJlYWx0aXZlUHJvamVjdFBhdGggfHwgJycsXG4gICAgXSk7XG4gICAgY29uc3QgZW1iZGVkcmVzdWx0ID0gdGhpcy5wcm9qZWN0Lmlucy5Gcm9tKHBhdGhUb0VtYmVkZWRQcm9qKSBhcyBQUk9KRUNUO1xuXG4gICAgdGhpcy5jYWNoZVtjYWNoZUtleV0gPSBlbWJkZWRyZXN1bHQ7XG4gICAgcmV0dXJuIHRoaXMuY2FjaGVbY2FjaGVLZXldO1xuICB9XG5cblxuXG4gIGdldCBwcm9qZWN0c0RiTG9jYXRpb24oKSB7XG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgYXN5bmMgc2F2ZUxvY2F0aW9uVG9EQigpIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIGFzeW5jIHNhdmVBbGxMaW5rZWRQcm9qZWN0c1RvREIoKSB7XG4gICAgY29uc3QgcHJvaiA9IHRoaXMucHJvamVjdDtcbiAgICBhd2FpdCBwcm9qLmxpbmtlZFByb2plY3RzLnNhdmVMb2NhdGlvblRvREIoKTtcbiAgICBmb3IgKGNvbnN0IGxpbmsgb2YgcHJvai5saW5rZWRQcm9qZWN0cy5saW5rZWRQcm9qZWN0cykge1xuICAgICAgY29uc3QgbGlua2VkUG9yaiA9IHRoaXMucHJvamVjdC5pbnMuRnJvbShbXG4gICAgICAgIHByb2oubG9jYXRpb24sXG4gICAgICAgIGxpbmsucmVsYXRpdmVDbG9uZVBhdGgsXG4gICAgICAgIGxpbmsuaW50ZXJuYWxSZWFsdGl2ZVByb2plY3RQYXRoIHx8ICcnLFxuICAgICAgXSkgYXMgUFJPSkVDVDtcblxuICAgICAgaWYgKGxpbmtlZFBvcmopIHtcbiAgICAgICAgYXdhaXQgbGlua2VkUG9yai5saW5rZWRQcm9qZWN0cy5zYXZlTG9jYXRpb25Ub0RCKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBIZWxwZXJzLndhcm4oYEZvbGRlciAke2xpbmsucmVsYXRpdmVDbG9uZVBhdGh9IGlzIG1pc3NpbmcgcHJvamVjdHMuLi5gKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuXG5cbiAgYWRkTGlua2VkUHJvamVjdChsaW5rZWRQcm9qOiBMaW5rZWRQcm9qZWN0IHwgc3RyaW5nKSB7XG4gICAgY29uc3QgbGlua2VkUHJvamVjdDogTGlua2VkUHJvamVjdCA9IF8uaXNTdHJpbmcobGlua2VkUHJvailcbiAgICAgID8gTGlua2VkUHJvamVjdC5mcm9tTmFtZShsaW5rZWRQcm9qKVxuICAgICAgOiBsaW5rZWRQcm9qO1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICAgICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIGFkZExpbmtlZFByb2plY3RzKGxpbmtlZFByb2pzOiBMaW5rZWRQcm9qZWN0W10pIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIHNldExpbmtlZFByb2plY3RzQ29uZmlnKGxpbmtlZFBvcmplY3RzQ29uZmlnOiBQYXJ0aWFsPExpbmtlZFBvcmplY3RzQ29uZmlnPikge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cbiAgcHJpdmF0ZSBnZXQgbGlua2VkUHJvamVjdHNDb25maWdQYXRoKCkge1xuICAgIHJldHVybiB0aGlzLnByb2plY3QucGF0aEZvcihjb25maWcuZmlsZS5saW5rZWRfcHJvamVjdHNfanNvbik7XG4gIH1cblxuICBwcml2YXRlIGdldCBsaW5rZWRQcm9qZWN0c0NvbmZpZ1RlbXBQYXRoKCkge1xuICAgIHJldHVybiB0aGlzLnByb2plY3QucGF0aEZvcihbYHRtcC0ke2NvbmZpZy5maWxlLmxpbmtlZF9wcm9qZWN0c19qc29ufWBdKTtcbiAgfVxuXG5cblxuICBwcm90ZWN0ZWQgcmVjcmVhdGVMaW5rZWRQcm9qZWN0c0NvbmZpZygpIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG4gIGdldExpbmtlZFByb2plY3RzQ29uZmlnKCk6IExpbmtlZFBvcmplY3RzQ29uZmlnIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuICBnZXQgbGlua2VkUHJvamVjdHMoKTogTGlua2VkUHJvamVjdFtdIHtcbiAgICByZXR1cm4gdGhpcy5nZXRMaW5rZWRQcm9qZWN0c0NvbmZpZygpLnByb2plY3RzIHx8IFtdO1xuICB9XG5cblxuXG4gIGdldCBkZXRlY3RlZExpbmtlZFByb2plY3RzKCk6IExpbmtlZFByb2plY3RbXSB7XG4gICAgY29uc3QgZGV0ZWN0ZWRMaW5rZWRQcm9qZWN0cyA9IExpbmtlZFByb2plY3QuZGV0ZWN0KFxuICAgICAgdGhpcy5wcm9qZWN0LmxvY2F0aW9uLFxuICAgICAgdHJ1ZSwgLy8gVE9PRCBmaXggcmVjcnVzaXZlXG4gICAgKTtcbiAgICByZXR1cm4gZGV0ZWN0ZWRMaW5rZWRQcm9qZWN0cztcbiAgfVxuXG5cblxuICBnZXQgbGlua2VkUHJvamVjdHNQcmVmaXgoKSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0TGlua2VkUHJvamVjdHNDb25maWcoKS5wcmVmaXg7XG4gIH1cblxuXG5cbiAgcmVzZXRMaW5rZWRQcm9qZWN0c09ubHlUb0NvcmVCcmFuY2hlcygpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuXG5cbiAgYXN5bmMgY2xvbmVVbmV4aXN0ZWRMaW5rZWRQcm9qZWN0cyhcbiAgICBhY3Rpb25UeXBlOiAncHVsbCcgfCAncHVzaCcsXG4gICAgc2V0T3JpZ2luOiAnc3NoJyB8ICdodHRwJyxcbiAgICBjbG9uZUNoaWxkcmVuID0gZmFsc2UsXG4gICkge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG59XG5cbiA7KHt9KTsgLy8gQC0tZW5kLW9mLWZpbGUtZm9yLW1vZHVsZT10bnAtaGVscGVycyBsaWIvYmFzZS9iYXNlLWxpbmtlZC1wcm9qZWN0cy50cyJdfQ==