tnp-helpers 19.0.66 โ†’ 19.0.71

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 (220) hide show
  1. package/browser/README.md +24 -24
  2. package/browser/fesm2022/tnp-helpers.mjs +596 -220
  3. package/browser/fesm2022/tnp-helpers.mjs.map +1 -1
  4. package/browser/lib/base/classes/base-cli-worker/base-cli-worker-config.d.ts +4 -0
  5. package/browser/lib/base/classes/base-cli-worker/base-cli-worker-controller.d.ts +1 -1
  6. package/browser/lib/base/classes/base-cli-worker/base-cli-worker-terminal-ui.d.ts +5 -4
  7. package/browser/lib/base/classes/base-cli-worker/base-cli-worker.d.ts +29 -2
  8. package/browser/lib/base/classes/base-cli-worker/base-cli-worker.models.d.ts +7 -4
  9. package/browser/lib/base/classes/base-cli-worker/base-cli-worker.utils.d.ts +2 -0
  10. package/browser/lib/base/classes/base-cli-worker/index.d.ts +2 -1
  11. package/browser/lib/base/classes/base-docker.d.ts +3 -7
  12. package/browser/lib/base/classes/base-global-command-line.d.ts +27 -15
  13. package/browser/lib/base/classes/base-linked-projects.d.ts +10 -3
  14. package/browser/lib/base/classes/base-node-modules.d.ts +1 -0
  15. package/browser/lib/base/classes/base-package-json.d.ts +1 -0
  16. package/browser/lib/base/classes/base-vscode.d.ts +1 -1
  17. package/browser/lib/base/tcp-udp-ports/ports.controller.d.ts +2 -2
  18. package/browser/lib/base/tcp-udp-ports/tcp-udp-ports.context.d.ts +1 -1
  19. package/browser/lib/base/tcp-udp-ports/tcp-upd-ports.worker.d.ts +3 -3
  20. package/browser/lib/build-info._auto-generated_.d.ts +1 -1
  21. package/browser/lib/helpers/helpers.d.ts +0 -5
  22. package/browser/lib/utils.d.ts +28 -3
  23. package/browser/migrations/1736198527297_init.d.ts +1 -1
  24. package/browser/migrations/1736199486472_addingNotAssignablePorts.d.ts +3 -3
  25. package/browser/migrations/1736454437350_addFreePorts.d.ts +3 -3
  26. package/browser/migrations/migrations_index._auto-generated_.d.ts +7 -7
  27. package/browser/package.json +1 -1
  28. package/lib/base/classes/base-bower-json.js +1 -1
  29. package/lib/base/classes/base-bower-json.js.map +1 -1
  30. package/lib/base/classes/base-cli-worker/base-cli-worker-config.d.ts +4 -0
  31. package/lib/base/classes/base-cli-worker/base-cli-worker-config.js +4 -0
  32. package/lib/base/classes/base-cli-worker/base-cli-worker-config.js.map +1 -1
  33. package/lib/base/classes/base-cli-worker/base-cli-worker-controller.d.ts +1 -1
  34. package/lib/base/classes/base-cli-worker/base-cli-worker-controller.js +11 -11
  35. package/lib/base/classes/base-cli-worker/base-cli-worker-controller.js.map +1 -1
  36. package/lib/base/classes/base-cli-worker/base-cli-worker-terminal-ui.d.ts +5 -4
  37. package/lib/base/classes/base-cli-worker/base-cli-worker-terminal-ui.js +22 -7
  38. package/lib/base/classes/base-cli-worker/base-cli-worker-terminal-ui.js.map +1 -1
  39. package/lib/base/classes/base-cli-worker/base-cli-worker.d.ts +29 -2
  40. package/lib/base/classes/base-cli-worker/base-cli-worker.js +57 -4
  41. package/lib/base/classes/base-cli-worker/base-cli-worker.js.map +1 -1
  42. package/lib/base/classes/base-cli-worker/base-cli-worker.models.d.ts +7 -4
  43. package/lib/base/classes/base-cli-worker/base-cli-worker.models.js +3 -2
  44. package/lib/base/classes/base-cli-worker/base-cli-worker.models.js.map +1 -1
  45. package/lib/base/classes/base-cli-worker/base-cli-worker.utils.d.ts +2 -0
  46. package/lib/base/classes/base-cli-worker/base-cli-worker.utils.js +11 -0
  47. package/lib/base/classes/base-cli-worker/base-cli-worker.utils.js.map +1 -1
  48. package/lib/base/classes/base-cli-worker/index.d.ts +1 -0
  49. package/lib/base/classes/base-cli-worker/index.js +1 -0
  50. package/lib/base/classes/base-cli-worker/index.js.map +1 -1
  51. package/lib/base/classes/base-compiler-for-project.js +1 -1
  52. package/lib/base/classes/base-compiler-for-project.js.map +1 -1
  53. package/lib/base/classes/base-docker.d.ts +3 -7
  54. package/lib/base/classes/base-docker.js +6 -19
  55. package/lib/base/classes/base-docker.js.map +1 -1
  56. package/lib/base/classes/base-file-folders-operations.js +1 -1
  57. package/lib/base/classes/base-file-folders-operations.js.map +1 -1
  58. package/lib/base/classes/base-git.js +23 -8
  59. package/lib/base/classes/base-git.js.map +1 -1
  60. package/lib/base/classes/base-global-command-line.d.ts +13 -1
  61. package/lib/base/classes/base-global-command-line.js +97 -4
  62. package/lib/base/classes/base-global-command-line.js.map +1 -1
  63. package/lib/base/classes/base-ignore-hide.js +4 -0
  64. package/lib/base/classes/base-ignore-hide.js.map +1 -1
  65. package/lib/base/classes/base-json-file-reader.js +1 -1
  66. package/lib/base/classes/base-json-file-reader.js.map +1 -1
  67. package/lib/base/classes/base-library-build.js +1 -1
  68. package/lib/base/classes/base-library-build.js.map +1 -1
  69. package/lib/base/classes/base-linked-projects.d.ts +10 -3
  70. package/lib/base/classes/base-linked-projects.js +18 -8
  71. package/lib/base/classes/base-linked-projects.js.map +1 -1
  72. package/lib/base/classes/base-linter.js +4 -0
  73. package/lib/base/classes/base-linter.js.map +1 -1
  74. package/lib/base/classes/base-node-modules.d.ts +1 -0
  75. package/lib/base/classes/base-node-modules.js +23 -2
  76. package/lib/base/classes/base-node-modules.js.map +1 -1
  77. package/lib/base/classes/base-npm-helpers.js +1 -1
  78. package/lib/base/classes/base-npm-helpers.js.map +1 -1
  79. package/lib/base/classes/base-package-json.d.ts +1 -0
  80. package/lib/base/classes/base-package-json.js +5 -1
  81. package/lib/base/classes/base-package-json.js.map +1 -1
  82. package/lib/base/classes/base-project-resolver.js +1 -1
  83. package/lib/base/classes/base-project-resolver.js.map +1 -1
  84. package/lib/base/classes/base-project.d.ts +1 -1
  85. package/lib/base/classes/base-project.js +13 -2
  86. package/lib/base/classes/base-project.js.map +1 -1
  87. package/lib/base/classes/base-quick-fixes.js +1 -1
  88. package/lib/base/classes/base-quick-fixes.js.map +1 -1
  89. package/lib/base/classes/base-release-process.js +1 -1
  90. package/lib/base/classes/base-release-process.js.map +1 -1
  91. package/lib/base/classes/base-start-config.backend.js +1 -1
  92. package/lib/base/classes/base-start-config.backend.js.map +1 -1
  93. package/lib/base/classes/base-static-pages.js +1 -1
  94. package/lib/base/classes/base-static-pages.js.map +1 -1
  95. package/lib/base/classes/base-vscode.d.ts +1 -1
  96. package/lib/base/classes/base-vscode.js +10 -1
  97. package/lib/base/classes/base-vscode.js.map +1 -1
  98. package/lib/base/index-rebuilder.backend.js +1 -1
  99. package/lib/base/index-rebuilder.backend.js.map +1 -1
  100. package/lib/base/linked-project.js +1 -1
  101. package/lib/base/linked-project.js.map +1 -1
  102. package/lib/base/tcp-udp-ports/not-assignable-port.entity.js +2 -2
  103. package/lib/base/tcp-udp-ports/ports.controller.d.ts +2 -2
  104. package/lib/base/tcp-udp-ports/ports.controller.js +13 -13
  105. package/lib/base/tcp-udp-ports/ports.controller.js.map +1 -1
  106. package/lib/base/tcp-udp-ports/ports.entity.d.ts +1 -1
  107. package/lib/base/tcp-udp-ports/tcp-udp-ports.context.d.ts +1 -1
  108. package/lib/base/tcp-udp-ports/tcp-udp-ports.context.js +6 -6
  109. package/lib/base/tcp-udp-ports/tcp-udp-ports.context.js.map +1 -1
  110. package/lib/base/tcp-udp-ports/tcp-upd-ports.worker.d.ts +3 -3
  111. package/lib/base/tcp-udp-ports/tcp-upd-ports.worker.js +2 -2
  112. package/lib/base/tcp-udp-ports/tcp-upd-ports.worker.js.map +1 -1
  113. package/lib/build-info._auto-generated_.d.ts +1 -1
  114. package/lib/build-info._auto-generated_.js +1 -1
  115. package/lib/env/env.angular-node-app.d.ts +1 -2
  116. package/lib/env/env.angular-node-app.js +3 -4
  117. package/lib/env/env.angular-node-app.js.map +1 -1
  118. package/lib/env/env.docs-webapp.d.ts +1 -2
  119. package/lib/env/env.docs-webapp.js +3 -4
  120. package/lib/env/env.docs-webapp.js.map +1 -1
  121. package/lib/env/env.electron-app.d.ts +1 -2
  122. package/lib/env/env.electron-app.js +3 -4
  123. package/lib/env/env.electron-app.js.map +1 -1
  124. package/lib/env/env.mobile-app.d.ts +1 -2
  125. package/lib/env/env.mobile-app.js +3 -4
  126. package/lib/env/env.mobile-app.js.map +1 -1
  127. package/lib/env/env.npm-lib-and-cli-tool.d.ts +1 -2
  128. package/lib/env/env.npm-lib-and-cli-tool.js +3 -4
  129. package/lib/env/env.npm-lib-and-cli-tool.js.map +1 -1
  130. package/lib/env/env.vscode-plugin.d.ts +1 -2
  131. package/lib/env/env.vscode-plugin.js +3 -4
  132. package/lib/env/env.vscode-plugin.js.map +1 -1
  133. package/lib/helpers/for-backend/helpers-cli-tool.backend.js +1 -1
  134. package/lib/helpers/for-backend/helpers-cli-tool.backend.js.map +1 -1
  135. package/lib/helpers/for-backend/helpers-file-folders.js +12 -4
  136. package/lib/helpers/for-backend/helpers-file-folders.js.map +1 -1
  137. package/lib/helpers/for-backend/helpers-git.backend.js +1 -1
  138. package/lib/helpers/for-backend/helpers-git.backend.js.map +1 -1
  139. package/lib/helpers/for-backend/helpers-path.backend.js +2 -2
  140. package/lib/helpers/for-backend/helpers-path.backend.js.map +1 -1
  141. package/lib/helpers/for-backend/helpers-process.js +1 -1
  142. package/lib/helpers/for-backend/helpers-process.js.map +1 -1
  143. package/lib/helpers/for-browser/angular.helper.js +2 -2
  144. package/lib/helpers/helpers-json5.backend.js +1 -1
  145. package/lib/helpers/helpers-json5.backend.js.map +1 -1
  146. package/lib/helpers/helpers-numbers.js.map +1 -1
  147. package/lib/helpers/helpers.d.ts +0 -8
  148. package/lib/helpers/helpers.js +1 -55
  149. package/lib/helpers/helpers.js.map +1 -1
  150. package/lib/old/base-component.js +2 -2
  151. package/lib/old/base-formly-component.js +2 -2
  152. package/lib/old/dual-component-ctrl.js +2 -2
  153. package/lib/utils.d.ts +28 -3
  154. package/lib/utils.js +185 -66
  155. package/lib/utils.js.map +1 -1
  156. package/migrations/1736198527297_init.d.ts +1 -1
  157. package/migrations/1736198527297_init.js +6 -6
  158. package/migrations/1736198527297_init.js.map +1 -1
  159. package/migrations/1736199486472_addingNotAssignablePorts.d.ts +3 -3
  160. package/migrations/1736199486472_addingNotAssignablePorts.js +7 -7
  161. package/migrations/1736199486472_addingNotAssignablePorts.js.map +1 -1
  162. package/migrations/1736454437350_addFreePorts.d.ts +3 -3
  163. package/migrations/1736454437350_addFreePorts.js +7 -7
  164. package/migrations/1736454437350_addFreePorts.js.map +1 -1
  165. package/migrations/migrations_index._auto-generated_.d.ts +7 -7
  166. package/migrations/migrations_index._auto-generated_.js +5 -5
  167. package/migrations/migrations_index._auto-generated_.js.map +1 -1
  168. package/package.json +6 -2
  169. package/websql/README.md +24 -24
  170. package/websql/fesm2022/tnp-helpers.mjs +597 -221
  171. package/websql/fesm2022/tnp-helpers.mjs.map +1 -1
  172. package/websql/lib/base/classes/base-cli-worker/base-cli-worker-config.d.ts +4 -0
  173. package/websql/lib/base/classes/base-cli-worker/base-cli-worker-controller.d.ts +1 -1
  174. package/websql/lib/base/classes/base-cli-worker/base-cli-worker-terminal-ui.d.ts +5 -4
  175. package/websql/lib/base/classes/base-cli-worker/base-cli-worker.d.ts +29 -2
  176. package/websql/lib/base/classes/base-cli-worker/base-cli-worker.models.d.ts +7 -4
  177. package/websql/lib/base/classes/base-cli-worker/base-cli-worker.utils.d.ts +2 -0
  178. package/websql/lib/base/classes/base-cli-worker/index.d.ts +2 -1
  179. package/websql/lib/base/classes/base-docker.d.ts +3 -7
  180. package/websql/lib/base/classes/base-global-command-line.d.ts +27 -15
  181. package/websql/lib/base/classes/base-linked-projects.d.ts +10 -3
  182. package/websql/lib/base/classes/base-node-modules.d.ts +1 -0
  183. package/websql/lib/base/classes/base-package-json.d.ts +1 -0
  184. package/websql/lib/base/classes/base-vscode.d.ts +1 -1
  185. package/websql/lib/base/tcp-udp-ports/ports.controller.d.ts +2 -2
  186. package/websql/lib/base/tcp-udp-ports/tcp-udp-ports.context.d.ts +1 -1
  187. package/websql/lib/base/tcp-udp-ports/tcp-upd-ports.worker.d.ts +3 -3
  188. package/websql/lib/build-info._auto-generated_.d.ts +1 -1
  189. package/websql/lib/helpers/helpers.d.ts +0 -5
  190. package/websql/lib/utils.d.ts +28 -3
  191. package/websql/migrations/1736198527297_init.d.ts +1 -1
  192. package/websql/migrations/1736199486472_addingNotAssignablePorts.d.ts +3 -3
  193. package/websql/migrations/1736454437350_addFreePorts.d.ts +3 -3
  194. package/websql/migrations/migrations_index._auto-generated_.d.ts +7 -7
  195. package/websql/package.json +1 -1
  196. package/lib/base/classes/base-command-line-feature.backend.d.ts +0 -47
  197. package/lib/base/classes/base-command-line-feature.backend.js +0 -147
  198. package/lib/base/classes/base-command-line-feature.backend.js.map +0 -1
  199. package/lib/base/classes/base-global-command-line.backend.d.ts +0 -231
  200. package/lib/base/classes/base-global-command-line.backend.js +0 -1807
  201. package/lib/base/classes/base-global-command-line.backend.js.map +0 -1
  202. package/lib/helpers/for-backend/helpers-dependencies.backend.d.ts +0 -3
  203. package/lib/helpers/for-backend/helpers-dependencies.backend.js +0 -34
  204. package/lib/helpers/for-backend/helpers-dependencies.backend.js.map +0 -1
  205. package/lib/helpers/for-backend/helpers-network.backend.d.ts +0 -9
  206. package/lib/helpers/for-backend/helpers-network.backend.js +0 -44
  207. package/lib/helpers/for-backend/helpers-network.backend.js.map +0 -1
  208. package/lib/validators/validators-firedev.d.ts +0 -3
  209. package/lib/validators/validators-firedev.js +0 -34
  210. package/lib/validators/validators-firedev.js.map +0 -1
  211. package/lib/validators/validators-git.d.ts +0 -3
  212. package/lib/validators/validators-git.js +0 -13
  213. package/lib/validators/validators-git.js.map +0 -1
  214. package/lib/validators/validators-network.d.ts +0 -3
  215. package/lib/validators/validators-network.js +0 -19
  216. package/lib/validators/validators-network.js.map +0 -1
  217. package/lib/validators/validators.d.ts +0 -6
  218. package/lib/validators/validators.js +0 -11
  219. package/lib/validators/validators.js.map +0 -1
  220. package/tmp-environment.json +0 -37
@@ -19,7 +19,6 @@ const helpers_cli_tool_backend_1 = require("./for-backend/helpers-cli-tool.backe
19
19
  const helpers_npm_backend_1 = require("./for-backend/helpers-npm.backend");
20
20
  const helpers_system_terminal_backend_1 = require("./for-backend/helpers-system-terminal.backend");
21
21
  const helpers_path_backend_1 = require("./for-backend/helpers-path.backend");
22
- const helpers_network_backend_1 = require("./for-backend/helpers-network.backend");
23
22
  const helpers_json5_backend_1 = require("./helpers-json5.backend");
24
23
  const lib_4 = require("tnp-core/lib");
25
24
  const helpers_vscode_backend_1 = require("./for-backend/helpers-vscode.backend");
@@ -60,7 +59,6 @@ class HelpersTaon extends lib_6.CoreHelpers {
60
59
  git;
61
60
  npm;
62
61
  path;
63
- network;
64
62
  json5;
65
63
  vscode;
66
64
  consoleGui;
@@ -79,7 +77,7 @@ class HelpersTaon extends lib_6.CoreHelpers {
79
77
  //#region constructor
80
78
  constructor(
81
79
  //#region @backend
82
- cliTool = new helpers_cli_tool_backend_1.HelpersCliTool(), terminal = new helpers_system_terminal_backend_1.HelpersTerminal(), git = new helpers_git_backend_1.HelpersGit(), npm = new helpers_npm_backend_1.HelpersNpm(), path = new helpers_path_backend_1.HelpersPath(), network = new helpers_network_backend_1.HelpersNetwork(), json5 = new helpers_json5_backend_1.HelpersJSON5(), vscode = new helpers_vscode_backend_1.HelpersVscode(), consoleGui = new helpers_console_gui_1.HelpersConsoleGui(),
80
+ cliTool = new helpers_cli_tool_backend_1.HelpersCliTool(), terminal = new helpers_system_terminal_backend_1.HelpersTerminal(), git = new helpers_git_backend_1.HelpersGit(), npm = new helpers_npm_backend_1.HelpersNpm(), path = new helpers_path_backend_1.HelpersPath(), json5 = new helpers_json5_backend_1.HelpersJSON5(), vscode = new helpers_vscode_backend_1.HelpersVscode(), consoleGui = new helpers_console_gui_1.HelpersConsoleGui(),
83
81
  //#endregion
84
82
  arrays = new helpers_array_obj_1.HelpersArrayObj(), strings = new helpers_strings_1.HelpersStrings(), numbers = new helpers_numbers_1.HelpersNumber()) {
85
83
  super();
@@ -88,7 +86,6 @@ class HelpersTaon extends lib_6.CoreHelpers {
88
86
  this.git = git;
89
87
  this.npm = npm;
90
88
  this.path = path;
91
- this.network = network;
92
89
  this.json5 = json5;
93
90
  this.vscode = vscode;
94
91
  this.consoleGui = consoleGui;
@@ -257,57 +254,6 @@ class HelpersTaon extends lib_6.CoreHelpers {
257
254
  //#endregion
258
255
  }
259
256
  //#endregion
260
- //#region methods & getters / get local ip addresses
261
- /**
262
- * TODO fix this methods
263
- */
264
- async localIpAddress() {
265
- //#region @backendFunc
266
- if (process.platform === 'win32') {
267
- const command = 'ipconfig';
268
- // Execute the command
269
- // exec(command, (error, stdout, stderr) => {
270
- // if (error) {
271
- // console.error(`Error executing command: ${error}`);
272
- // return;
273
- // }
274
- // // Find the IP address for the specified interface
275
- // const interfaceName = 'Ethernet'; // Change this to the name of your interface
276
- // const ipRegex = /IPv4 Address[.\s]+:\s+([0-9.]+)/g; // Regular expression to match IPv4 addresses
277
- // let match;
278
- // while ((match = ipRegex.exec(stdout)) !== null) {
279
- // const ipAddress = match[1];
280
- // console.log(`IPv4 Address for ${interfaceName}: ${ipAddress}`);
281
- // }
282
- // });
283
- }
284
- return index_1.Helpers.getStringFrom('ipconfig getifaddr en0', `ip v4 address of first ethernet interface`);
285
- //#endregion
286
- }
287
- //#endregion
288
- //#region methods & getters / get all local ip addresses
289
- allLocalIpAddresses() {
290
- //#region @backendFunc
291
- const { networkInterfaces } = require('os');
292
- const nets = networkInterfaces();
293
- const results = Object.create(null); // Or just '{}', an empty object
294
- const ips = [];
295
- for (const name of Object.keys(nets)) {
296
- for (const net of nets[name]) {
297
- // Skip over non-IPv4 and internal (i.e. 127.0.0.1) addresses
298
- if (net.family === 'IPv4' && !net.internal) {
299
- if (!results[name]) {
300
- results[name] = [];
301
- }
302
- ips.push(net.address);
303
- results[name].push(net.address);
304
- }
305
- }
306
- }
307
- return ips.map(a => lib_1.UtilsNetwork.urlParse(a));
308
- //#endregion
309
- }
310
- //#endregion
311
257
  //#region methods & getters / mesure execution in ms
312
258
  async mesureExectionInMs(description, functionToExecute, ...functionArguments) {
313
259
  var start = new Date();
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","sourceRoot":"","sources":[""],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":[""],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.dummy1762382635265 = dummy1762382635265;
4
- function dummy1762382635265() { }
3
+ exports.dummy1764106167707 = dummy1764106167707;
4
+ function dummy1764106167707() { }
5
5
  //# sourceMappingURL=base-component.js.map
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.dummy1762382635270 = dummy1762382635270;
4
- function dummy1762382635270() { }
3
+ exports.dummy1764106167709 = dummy1764106167709;
4
+ function dummy1764106167709() { }
5
5
  //# sourceMappingURL=base-formly-component.js.map
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.dummy1762382635277 = dummy1762382635277;
4
- function dummy1762382635277() { }
3
+ exports.dummy1764106167711 = dummy1764106167711;
4
+ function dummy1764106167711() { }
5
5
  //# sourceMappingURL=dual-component-ctrl.js.map
package/lib/utils.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ import { ChildProcess, StdioOptions } from 'node:child_process';
1
2
  import type * as ts from 'typescript';
2
3
  import type * as vscodeType from 'vscode';
3
4
  export declare namespace UtilsNpm {
@@ -100,8 +101,7 @@ export declare namespace UtilsTypescript {
100
101
  const recognizeImportsFromContent: (fileContent: string) => TsImportExport[];
101
102
  /**
102
103
  * Transition methods ng18 => ng19
103
- * Remove standalone:true from component decorator
104
- * and add standalone: false if not exists
104
+ * Adds standalone: false if not exists in component decorator
105
105
  */
106
106
  function transformComponentStandaloneOption(sourceText: string): string;
107
107
  const fixHtmlTemplatesInDir: (directoryPath: string) => void;
@@ -194,5 +194,30 @@ export declare namespace UtilsPasswords {
194
194
  }
195
195
  export declare namespace UtilsDocker {
196
196
  const DOCKER_LABEL_KEY = "com.docker.compose.project";
197
- const cleanImagesByDockerLabel: (labelKey: string, labelValue: string) => Promise<void>;
197
+ const DOCKER_TAON_PROJECT_LABEL = "com.docker.compose.taon.project=true";
198
+ const cleanImagesAndContainersByDockerLabel: (labelKey: string, labelValue: string) => Promise<void>;
199
+ interface DockerComposeActionOptions {
200
+ composeFileName?: string;
201
+ cwd?: string;
202
+ env?: NodeJS.ProcessEnv;
203
+ skipBuild?: boolean;
204
+ stdio?: StdioOptions;
205
+ useFirstYmlFound?: boolean;
206
+ }
207
+ type DockerComposeActionType = 'up' | 'down';
208
+ /**
209
+ * @returns cmd + args array
210
+ * you can use with child_process.spawn
211
+ * const [cmd, ...args] = getDockerComposeActionCommand('up');
212
+ * child.spawn(cmd, args, { ... });
213
+ *
214
+ * @param action 'up' | 'down'
215
+ */
216
+ const getDockerComposeActionCommand: (action: DockerComposeActionType, options?: Omit<DockerComposeActionOptions, "cwd" | "env" | "stdio" | "useFirstYmlFound">) => string[];
217
+ const getDockerComposeActionChildProcess: (action: DockerComposeActionType, options?: DockerComposeActionOptions) => ChildProcess;
218
+ const removeAllTaonContainersAndImagesFromDocker: () => Promise<void>;
219
+ /**
220
+ * @TODO @REFACTOR use async stuff
221
+ */
222
+ const linkPodmanAsDockerIfNecessary: () => Promise<void>;
198
223
  }
package/lib/utils.js CHANGED
@@ -1,10 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.UtilsDocker = exports.UtilsPasswords = exports.UtilsJava = exports.UtilsTaonWorker = exports.UtilsZip = exports.UtilsZipBrowser = exports.UtilsVSCode = exports.UtilsQuickFixes = exports.UtilsMd = exports.UtilsHttp = exports.UtilsTypescript = exports.UtilsNpm = void 0;
4
- //#region imports
5
4
  const node_crypto_1 = require("node:crypto"); // @backend
6
5
  const node_util_1 = require("node:util"); // @backend
7
- const lib_1 = require("tnp-config/lib");
6
+ const lib_1 = require("tnp-core/lib");
8
7
  const lib_2 = require("tnp-core/lib");
9
8
  const lib_3 = require("tnp-core/lib");
10
9
  const typescript_1 = require("typescript");
@@ -327,11 +326,12 @@ var UtilsTypescript;
327
326
  //#region @backendFunc
328
327
  absPathToFile = (0, lib_2.crossPlatformPath)(absPathToFile);
329
328
  if (index_1.Helpers.exists(absPathToFile)) {
330
- const { execSync } = require('child_process');
331
329
  index_1.Helpers.logInfo(`Fixing file with eslint: ${absPathToFile}`);
332
330
  try {
333
- execSync(`npx --yes eslint --fix ${lib_2.path.basename(absPathToFile)}`, {
331
+ // use local eslint first
332
+ lib_2.child_process.execSync(`npx --yes eslint --fix ${lib_2.path.basename(absPathToFile)}`, {
334
333
  cwd: lib_2.path.dirname(absPathToFile),
334
+ stdio: 'inherit',
335
335
  });
336
336
  }
337
337
  catch (error) { }
@@ -346,15 +346,14 @@ var UtilsTypescript;
346
346
  index_1.Helpers.info(`Fixing files with eslint in: ${absPathToFolder}`);
347
347
  const lintFixFn = () => {
348
348
  try {
349
- index_1.Helpers.run(`npx --yes eslint --fix . `, {
349
+ lib_2.child_process.execSync(`npx --yes eslint --fix . `, {
350
350
  cwd: absPathToFolder,
351
- output: false,
352
- silence: true,
353
- }).sync();
351
+ stdio: 'inherit',
352
+ });
354
353
  }
355
354
  catch (error) { }
356
355
  };
357
- lintFixFn();
356
+ lintFixFn(); // TODO QUICK_FIX
358
357
  lintFixFn(); // sometimes it needs to be run twice
359
358
  index_1.Helpers.info(`Eslint fixing files done.`);
360
359
  }
@@ -777,66 +776,33 @@ var UtilsTypescript;
777
776
  //#endregion
778
777
  };
779
778
  //#endregion
780
- //#region fix standalone ng 19
781
779
  /**
782
780
  * Transition methods ng18 => ng19
783
- * Remove standalone:true from component decorator
784
- * and add standalone: false if not exists
781
+ * Adds standalone: false if not exists in component decorator
785
782
  */
786
783
  function transformComponentStandaloneOption(sourceText) {
787
784
  //#region @backendFunc
788
- const sourceFile = (0, typescript_1.createSourceFile)('temp.ts', sourceText, typescript_1.ScriptTarget.Latest, true, typescript_1.ScriptKind.TS);
789
- const printer = (0, typescript_1.createPrinter)({ newLine: typescript_1.NewLineKind.LineFeed });
790
- // @ts-ignore
791
- const transformerFactory = context => {
792
- const { factory } = context;
793
- const visit = node => {
794
- if ((0, typescript_1.isDecorator)(node) &&
795
- (0, typescript_1.isCallExpression)(node.expression) &&
796
- (0, typescript_1.isIdentifier)(node.expression.expression) &&
797
- node.expression.expression.text === 'Component') {
798
- const args = node.expression.arguments;
799
- if (args.length === 1 && (0, typescript_1.isObjectLiteralExpression)(args[0])) {
800
- const originalProps = args[0].properties;
801
- const newProps = [];
802
- let hasStandalone = false;
803
- let standaloneIsTrue = false;
804
- for (const prop of originalProps) {
805
- if ((0, typescript_1.isPropertyAssignment)(prop) &&
806
- (0, typescript_1.isIdentifier)(prop.name) &&
807
- prop.name.text === 'standalone') {
808
- hasStandalone = true;
809
- if (prop.initializer.kind === typescript_1.SyntaxKind.TrueKeyword) {
810
- standaloneIsTrue = true;
811
- continue; // skip it
812
- }
813
- }
814
- newProps.push(prop);
815
- }
816
- if (!hasStandalone) {
817
- // add standalone: false
818
- newProps.push(factory.createPropertyAssignment(factory.createIdentifier('standalone'), factory.createFalse()));
819
- }
820
- const newArgs = [
821
- factory.updateObjectLiteralExpression(args[0], newProps),
822
- ];
823
- const newExpression = factory.updateCallExpression(node.expression, node.expression.expression, undefined, newArgs);
824
- return factory.updateDecorator(node, newExpression);
825
- }
785
+ return sourceText.replace(/@Component\s*\(\s*\{([\s\S]*?)\}\s*\)/g, (full, propsBlock) => {
786
+ let props = propsBlock;
787
+ // 1. Remove standalone: true
788
+ // props = props.replace(/\s*standalone\s*:\s*true\s*,?/g, '');
789
+ // 2. Check if standalone exists after removal
790
+ const hasStandalone = /standalone\s*:/.test(props);
791
+ // 3. Insert standalone: false if missing
792
+ if (!hasStandalone) {
793
+ // If block is empty or only whitespace
794
+ if (/^\s*$/.test(props)) {
795
+ props = `\n standalone: false\n`;
826
796
  }
827
- return (0, typescript_1.visitEachChild)(node, visit, context);
828
- };
829
- return node => (0, typescript_1.visitNode)(node, visit);
830
- };
831
- const result = (0, typescript_1.transform)(sourceFile, [transformerFactory]);
832
- const transformedSourceFile = result.transformed[0];
833
- const resultText = printer.printFile(transformedSourceFile);
834
- result.dispose();
835
- return resultText;
797
+ else {
798
+ props += `\n standalone: false`;
799
+ }
800
+ }
801
+ return `@Component({${props}})`;
802
+ });
836
803
  //#endregion
837
804
  }
838
805
  UtilsTypescript.transformComponentStandaloneOption = transformComponentStandaloneOption;
839
- //#endregion
840
806
  //#region escape @ in html text
841
807
  const escapeAtInHtmlText = (fileContent) => {
842
808
  return fileContent.replace(/>([^<@]*?)@([^<]*)</g, (_match, before, after) => {
@@ -874,7 +840,7 @@ var UtilsTypescript;
874
840
  const tagRegex = new RegExp(tags
875
841
  .map(t => (Array.isArray(t) ? t[0] : t))
876
842
  .filter(Boolean)
877
- .map(lib_3.Utils.escapeStringForRegEx)
843
+ .map(t => lib_3.Utils.escapeStringForRegEx(t))
878
844
  .join('|'), 'i');
879
845
  let a = 0;
880
846
  for (const statement of sourceFile.statements) {
@@ -915,8 +881,20 @@ var UtilsTypescript;
915
881
  //#region wrap first imports in region
916
882
  UtilsTypescript.wrapFirstImportsInImportsRegion = (fileContent) => {
917
883
  //#region @backendFunc
918
- const importRegionStart = `//#re` + `gion imports`;
884
+ const importRegion = `//#re` + `gion`;
885
+ const importRegionStart = `${importRegion} imports`;
919
886
  const importRegionEnd = `//#end` + `region`;
887
+ if (fileContent.startsWith(importRegionStart)) {
888
+ return fileContent; // already wrapped
889
+ }
890
+ let firstRegionLine = undefined;
891
+ if (fileContent.startsWith(importRegion)) {
892
+ const lines = fileContent.split(/\r?\n/);
893
+ if (lines[0].includes('@notF' + 'orNpm')) {
894
+ firstRegionLine = lines[0];
895
+ fileContent = lines.slice(1).join('\n');
896
+ }
897
+ }
920
898
  const sourceFile = (0, typescript_1.createSourceFile)('temp.ts', fileContent, typescript_1.ScriptTarget.Latest, true);
921
899
  const lines = fileContent.split(/\r?\n/);
922
900
  const importDeclarations = [];
@@ -935,7 +913,7 @@ var UtilsTypescript;
935
913
  }
936
914
  }
937
915
  if (importDeclarations.length === 0) {
938
- return fileContent; // nothing to wrap
916
+ return fileContent + (firstRegionLine ? `\n${firstRegionLine}` : ''); // nothing to wrap
939
917
  }
940
918
  const firstImportStart = importDeclarations[0].getFullStart();
941
919
  const lastImportEnd = importDeclarations[importDeclarations.length - 1].getEnd();
@@ -947,11 +925,14 @@ var UtilsTypescript;
947
925
  const after = lines.slice(endLine + 1);
948
926
  return [
949
927
  ...before,
928
+ firstRegionLine,
950
929
  importRegionStart,
951
930
  ...importBlock,
952
931
  importRegionEnd,
953
932
  ...after,
954
- ].join('\n');
933
+ ]
934
+ .filter(f => f !== undefined)
935
+ .join('\n');
955
936
  //#endregion
956
937
  };
957
938
  //#endregion
@@ -1913,12 +1894,21 @@ var UtilsPasswords;
1913
1894
  //#region utils docker
1914
1895
  var UtilsDocker;
1915
1896
  (function (UtilsDocker) {
1897
+ //#region utils docker / constants
1898
+ const DOCKER_TAON_PROJECT_LABEL_KEY = 'com.docker.compose.taon.project'; // change to your app name
1899
+ const DOCKER_TAON_PROJECT_LABEL_VALUE = 'true'; // change to your app name
1916
1900
  UtilsDocker.DOCKER_LABEL_KEY = 'com.docker.compose.project'; // change to your app name
1917
- //#region clean images by docker label
1918
- UtilsDocker.cleanImagesByDockerLabel = async (labelKey, labelValue) => {
1901
+ UtilsDocker.DOCKER_TAON_PROJECT_LABEL = `${DOCKER_TAON_PROJECT_LABEL_KEY}=${DOCKER_TAON_PROJECT_LABEL_VALUE}`;
1902
+ //#endregion
1903
+ //#region utils docker / clean images by docker label
1904
+ UtilsDocker.cleanImagesAndContainersByDockerLabel = async (labelKey, labelValue) => {
1919
1905
  //#region @backendFunc
1920
1906
  const label = `${labelKey}=${labelValue}`;
1921
1907
  const execAsync = (0, node_util_1.promisify)(lib_2.child_process.exec);
1908
+ if (!(await lib_2.UtilsOs.isDockerAvailable())) {
1909
+ index_1.Helpers.warn('Docker is not available in the system. Skipping cleanup.', false);
1910
+ return;
1911
+ }
1922
1912
  try {
1923
1913
  console.log(`๐Ÿงน Cleaning containers with label: ${label}`);
1924
1914
  const { stdout: containers } = await execAsync(`docker ps -a -q --filter "label=${label}"`);
@@ -1945,6 +1935,135 @@ var UtilsDocker;
1945
1935
  //#endregion
1946
1936
  };
1947
1937
  //#endregion
1938
+ //#region utils docker / get docker compose up/down command
1939
+ /**
1940
+ * @returns cmd + args array
1941
+ * you can use with child_process.spawn
1942
+ * const [cmd, ...args] = getDockerComposeActionCommand('up');
1943
+ * child.spawn(cmd, args, { ... });
1944
+ *
1945
+ * @param action 'up' | 'down'
1946
+ */
1947
+ UtilsDocker.getDockerComposeActionCommand = (action, options) => {
1948
+ options = options || {};
1949
+ options.skipBuild = !!options?.skipBuild;
1950
+ const composeFileName = options?.composeFileName || 'docker-compose.yml';
1951
+ return ['docker', 'compose', '-f', composeFileName].concat(action === 'up'
1952
+ ? options.skipBuild
1953
+ ? ['up']
1954
+ : ['up', '--build']
1955
+ : ['down']);
1956
+ };
1957
+ //#endregion
1958
+ //#region utils docker / get docker compose up/down child process
1959
+ UtilsDocker.getDockerComposeActionChildProcess = (action, options) => {
1960
+ //#region @backendFunc
1961
+ options = options || {};
1962
+ const cwd = options?.cwd || process.cwd();
1963
+ const env = {
1964
+ ...process.env,
1965
+ ...(options?.env || {}),
1966
+ };
1967
+ if (options.useFirstYmlFound) {
1968
+ const foundYml = index_1.Helpers.getFilesFrom(cwd, { recursive: false }).find(f => f.endsWith('.yml') || f.endsWith('.yaml'));
1969
+ options.composeFileName = foundYml ? lib_2.path.basename(foundYml) : void 0;
1970
+ }
1971
+ const [cmd, ...args] = UtilsDocker.getDockerComposeActionCommand(action, options);
1972
+ const child = lib_2.child_process.spawn(cmd, args, {
1973
+ env,
1974
+ cwd,
1975
+ stdio: options.stdio || 'inherit', // inherit stdio so output shows in terminal
1976
+ });
1977
+ return child;
1978
+ //#endregion
1979
+ };
1980
+ //#endregion
1981
+ //#region utils docker / remove all taon containers and images from docker
1982
+ UtilsDocker.removeAllTaonContainersAndImagesFromDocker = async () => {
1983
+ //#region @backendFunc
1984
+ await UtilsDocker.cleanImagesAndContainersByDockerLabel(DOCKER_TAON_PROJECT_LABEL_KEY, DOCKER_TAON_PROJECT_LABEL_VALUE);
1985
+ //#endregion
1986
+ };
1987
+ //#endregion
1988
+ //#region utils docker / link podman as docker if necessary
1989
+ /**
1990
+ * @TODO @REFACTOR use async stuff
1991
+ */
1992
+ UtilsDocker.linkPodmanAsDockerIfNecessary = async () => {
1993
+ //#region @backendFunc
1994
+ const isWin = process.platform === 'win32';
1995
+ const isMac = process.platform === 'darwin';
1996
+ const isLinux = process.platform === 'linux';
1997
+ const hasDocker = await lib_2.UtilsOs.commandExistsAsync('docker');
1998
+ const hasPodman = await lib_2.UtilsOs.commandExistsAsync('podman');
1999
+ // Rule: if docker already exists โ†’ do nothing
2000
+ if (hasDocker) {
2001
+ console.log('docker command already exists. Skipping Podman โ†’ docker linking.');
2002
+ return;
2003
+ }
2004
+ // Rule: if no podman โ†’ nothing to do
2005
+ if (!hasPodman) {
2006
+ console.log('podman not found. Cannot create docker alias.');
2007
+ return;
2008
+ }
2009
+ console.log('podman found, docker not found โ†’ creating docker โ†’ podman link...');
2010
+ try {
2011
+ if (isLinux || isMac) {
2012
+ // Find podman binary path
2013
+ const podmanPath = index_1.Helpers.commandOutputAsString('command -v podman').trim();
2014
+ const dockerPath = (0, lib_2.crossPlatformPath)(lib_2.path.resolve('/usr/local/bin/docker'));
2015
+ // Remove old symlink if broken
2016
+ index_1.Helpers.removeFileIfExists(dockerPath);
2017
+ index_1.Helpers.createSymLink(podmanPath, dockerPath);
2018
+ console.log(`Created symlink: ${dockerPath} โ†’ ${podmanPath}`);
2019
+ }
2020
+ else if (isWin) {
2021
+ // Windows: Best effort via Podman Desktop or WSL
2022
+ // Option 1: Try to use Podman Desktop's podman.exe (common location)
2023
+ const commonPaths = [
2024
+ `${process.env.LOCALAPPDATA}\\Programs\\Podman\\podman.exe`,
2025
+ `${process.env.ProgramFiles}\\RedHat\\Podman\\podman.exe`,
2026
+ ];
2027
+ let podmanExe = commonPaths.find(p => index_1.Helpers.exists(p));
2028
+ if (!podmanExe) {
2029
+ // Fallback: ask WSL for podman path
2030
+ try {
2031
+ podmanExe = index_1.Helpers.commandOutputAsString('wsl podman --version').includes('podman version')
2032
+ ? 'wsl podman'.trim()
2033
+ : null;
2034
+ }
2035
+ catch {
2036
+ podmanExe = null;
2037
+ }
2038
+ }
2039
+ if (!podmanExe) {
2040
+ console.log('Could not locate podman.exe or WSL podman. Skipping Windows shim.');
2041
+ return;
2042
+ }
2043
+ // Create docker.bat in a user-writable PATH directory
2044
+ const userBin = (0, lib_2.crossPlatformPath)(lib_2.path.resolve(process.env.USERPROFILE || '', 'bin'));
2045
+ const dockerBatPath = (0, lib_2.crossPlatformPath)(lib_2.path.resolve(userBin, 'docker.bat'));
2046
+ // Ensure directory exists and is in PATH
2047
+ lib_2.child_process.execSync(`mkdir "${userBin}" 2>nul`, {
2048
+ shell: 'cmd.exe',
2049
+ });
2050
+ const pathAdd = `setx PATH "%PATH%;${userBin}"`;
2051
+ lib_2.child_process.execSync(pathAdd, { shell: 'cmd.exe', stdio: 'ignore' });
2052
+ const batContent = podmanExe.startsWith('wsl')
2053
+ ? `@echo off\r\nwsl podman %*`
2054
+ : `@echo off\r\n"${podmanExe}" %*`;
2055
+ require('fs').writeFileSync(dockerBatPath, batContent);
2056
+ console.log(`Created docker.bat shim โ†’ ${dockerBatPath}`);
2057
+ console.log('Note: You may need to restart your terminal for PATH to update.');
2058
+ }
2059
+ console.log('Successfully linked docker โ†’ podman');
2060
+ }
2061
+ catch (err) {
2062
+ console.error('Failed to create docker โ†’ podman link:', err instanceof Error ? err.message : err);
2063
+ }
2064
+ //#endregion
2065
+ };
2066
+ //#endregion
1948
2067
  })(UtilsDocker || (exports.UtilsDocker = UtilsDocker = {}));
1949
2068
  //#endregion
1950
2069
  //# sourceMappingURL=utils.js.map