tnp-core 19.0.0 → 19.0.1

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 (67) hide show
  1. package/assets/shared/shared_folder_info.txt +1 -1
  2. package/browser/fesm2022/tnp-core.mjs +0 -1
  3. package/browser/fesm2022/tnp-core.mjs.map +1 -1
  4. package/cli.backend.js +2 -2
  5. package/client/fesm2022/tnp-core.mjs +0 -1
  6. package/client/fesm2022/tnp-core.mjs.map +1 -1
  7. package/lib/helpers.d.ts +1 -1
  8. package/lib/helpers.js.map +1 -1
  9. package/lib/node-chalk-mock.js +2 -2
  10. package/lib/node-path-mock.js +2 -2
  11. package/package.json +1 -1
  12. package/taon.jsonc +5 -5
  13. package/tmp-environment.json +3 -3
  14. package/websql/fesm2022/tnp-core.mjs +0 -1
  15. package/websql/fesm2022/tnp-core.mjs.map +1 -1
  16. package/browser/esm2022/lib/core-cli.mjs +0 -21
  17. package/browser/esm2022/lib/core-config.mjs +0 -8
  18. package/browser/esm2022/lib/core-imports.mjs +0 -205
  19. package/browser/esm2022/lib/core-models.mjs +0 -176
  20. package/browser/esm2022/lib/framework-name.mjs +0 -11
  21. package/browser/esm2022/lib/helpers-isomorphic.mjs +0 -52
  22. package/browser/esm2022/lib/helpers-messages.mjs +0 -548
  23. package/browser/esm2022/lib/helpers.mjs +0 -2238
  24. package/browser/esm2022/lib/index.mjs +0 -14
  25. package/browser/esm2022/lib/node-chalk-mock.mjs +0 -42
  26. package/browser/esm2022/lib/node-path-mock.mjs +0 -422
  27. package/browser/esm2022/lib/progress-data.mjs +0 -55
  28. package/browser/esm2022/lib/required-global-npm-packages.mjs +0 -79
  29. package/browser/esm2022/lib/utils.mjs +0 -1946
  30. package/browser/esm2022/public-api.mjs +0 -2
  31. package/browser/esm2022/tnp-core.mjs +0 -5
  32. package/client/esm2022/lib/core-cli.mjs +0 -21
  33. package/client/esm2022/lib/core-config.mjs +0 -8
  34. package/client/esm2022/lib/core-imports.mjs +0 -205
  35. package/client/esm2022/lib/core-models.mjs +0 -176
  36. package/client/esm2022/lib/framework-name.mjs +0 -11
  37. package/client/esm2022/lib/helpers-isomorphic.mjs +0 -52
  38. package/client/esm2022/lib/helpers-messages.mjs +0 -548
  39. package/client/esm2022/lib/helpers.mjs +0 -2238
  40. package/client/esm2022/lib/index.mjs +0 -14
  41. package/client/esm2022/lib/node-chalk-mock.mjs +0 -42
  42. package/client/esm2022/lib/node-path-mock.mjs +0 -422
  43. package/client/esm2022/lib/progress-data.mjs +0 -55
  44. package/client/esm2022/lib/required-global-npm-packages.mjs +0 -79
  45. package/client/esm2022/lib/utils.mjs +0 -1946
  46. package/client/esm2022/public-api.mjs +0 -2
  47. package/client/esm2022/tnp-core.mjs +0 -5
  48. package/firedev.jsonc +0 -67
  49. package/lib/required.d.ts +0 -44
  50. package/lib/required.js +0 -76
  51. package/lib/required.js.map +0 -1
  52. package/websql/esm2022/lib/core-cli.mjs +0 -21
  53. package/websql/esm2022/lib/core-config.mjs +0 -8
  54. package/websql/esm2022/lib/core-imports.mjs +0 -205
  55. package/websql/esm2022/lib/core-models.mjs +0 -176
  56. package/websql/esm2022/lib/framework-name.mjs +0 -11
  57. package/websql/esm2022/lib/helpers-isomorphic.mjs +0 -52
  58. package/websql/esm2022/lib/helpers-messages.mjs +0 -548
  59. package/websql/esm2022/lib/helpers.mjs +0 -2234
  60. package/websql/esm2022/lib/index.mjs +0 -14
  61. package/websql/esm2022/lib/node-chalk-mock.mjs +0 -42
  62. package/websql/esm2022/lib/node-path-mock.mjs +0 -422
  63. package/websql/esm2022/lib/progress-data.mjs +0 -55
  64. package/websql/esm2022/lib/required-global-npm-packages.mjs +0 -79
  65. package/websql/esm2022/lib/utils.mjs +0 -1945
  66. package/websql/esm2022/public-api.mjs +0 -2
  67. package/websql/esm2022/tnp-core.mjs +0 -5
@@ -1 +1 @@
1
- {"version":3,"file":"tnp-core.mjs","sources":["../../../tmp-libs-for-dist/tnp-core/projects/tnp-core/src/lib/framework-name.ts","../../../tmp-libs-for-dist/tnp-core/projects/tnp-core/src/lib/node-chalk-mock.ts","../../../tmp-libs-for-dist/tnp-core/projects/tnp-core/src/lib/node-path-mock.ts","../../../tmp-libs-for-dist/tnp-core/projects/tnp-core/src/lib/core-imports.ts","../../../tmp-libs-for-dist/tnp-core/projects/tnp-core/src/lib/core-models.ts","../../../tmp-libs-for-dist/tnp-core/projects/tnp-core/src/lib/utils.ts","../../../tmp-libs-for-dist/tnp-core/projects/tnp-core/src/lib/helpers-isomorphic.ts","../../../tmp-libs-for-dist/tnp-core/projects/tnp-core/src/lib/helpers-messages.ts","../../../tmp-libs-for-dist/tnp-core/projects/tnp-core/src/lib/helpers.ts","../../../tmp-libs-for-dist/tnp-core/projects/tnp-core/src/lib/core-config.ts","../../../tmp-libs-for-dist/tnp-core/projects/tnp-core/src/lib/progress-data.ts","../../../tmp-libs-for-dist/tnp-core/projects/tnp-core/src/lib/core-cli.ts","../../../tmp-libs-for-dist/tnp-core/projects/tnp-core/src/lib/required-global-npm-packages.ts","../../../tmp-libs-for-dist/tnp-core/projects/tnp-core/src/lib/index.ts","../../../tmp-libs-for-dist/tnp-core/projects/tnp-core/src/tnp-core.ts"],"sourcesContent":["\n\nlet isBrowser = false;\n\nisBrowser = true;\n\n\nconst frameworkNameBeTmp: 'taon' | 'tnp' = '' as any;\n\n/* */\n/* */\n/* */\n \nexport const frameworkNameBe = frameworkNameBeTmp;\n\nexport const frameworkName = isBrowser ? 'taon' : frameworkNameBe;\n\n ;({}); // @--end-of-file-for-module=tnp-core lib/framework-name.ts","\n\n\nimport { Chalk } from 'chalk';\n\n\n\n\nconst allObj = {\n black(a) {\n console.log(a);\n },\n gray(a) {\n console.log(a);\n },\n red(a) {\n console.log(a);\n },\n green(a) {\n console.log(a);\n },\n italic(a) {\n console.log(a);\n },\n magenta(a) {\n console.log(a);\n },\n bold(a) {\n console.log(a);\n },\n underline(a) {\n console.log(a);\n },\n};\n\nconst map = new Map<Function, string>();\n\nconst all = Object.keys(allObj).map(key => {\n map.set(allObj[key], key);\n return allObj[key];\n});\n\nfor (let i = 0; i < all.length; i++) {\n const e1 = all[i] as Function;\n for (let j = 0; j < all.length; j++) {\n const e2 = all[j] as Function; // @ts-ignore\n e1[map.get(e2)] = e2;\n }\n}\n\nexport const chalk: Chalk = allObj as any;\n\n\n ;({}); // @--end-of-file-for-module=tnp-core lib/node-chalk-mock.ts","\n\n\nfunction assertPath(path) {\n if (typeof path !== 'string') {\n throw new TypeError(\n '[taon-core] Path must be a string. Received ' + JSON.stringify(path),\n );\n }\n}\n\n\nfunction normalizeStringPosix(path, allowAboveRoot) {\n var res = '';\n var lastSegmentLength = 0;\n var lastSlash = -1;\n var dots = 0;\n var code;\n for (var i = 0; i <= path.length; ++i) {\n if (i < path.length) code = path.charCodeAt(i);\n else if (code === 47 /*/*/) break;\n else code = 47 /*/*/;\n if (code === 47 /*/*/) {\n if (lastSlash === i - 1 || dots === 1) {\n\n } else if (lastSlash !== i - 1 && dots === 2) {\n if (\n res.length < 2 ||\n lastSegmentLength !== 2 ||\n res.charCodeAt(res.length - 1) !== 46 /*.*/ ||\n res.charCodeAt(res.length - 2) !== 46 /*.*/\n ) {\n if (res.length > 2) {\n var lastSlashIndex = res.lastIndexOf('/');\n if (lastSlashIndex !== res.length - 1) {\n if (lastSlashIndex === -1) {\n res = '';\n lastSegmentLength = 0;\n } else {\n res = res.slice(0, lastSlashIndex);\n lastSegmentLength = res.length - 1 - res.lastIndexOf('/');\n }\n lastSlash = i;\n dots = 0;\n continue;\n }\n } else if (res.length === 2 || res.length === 1) {\n res = '';\n lastSegmentLength = 0;\n lastSlash = i;\n dots = 0;\n continue;\n }\n }\n if (allowAboveRoot) {\n if (res.length > 0) res += '/..';\n else res = '..';\n lastSegmentLength = 2;\n }\n } else {\n if (res.length > 0) res += '/' + path.slice(lastSlash + 1, i);\n else res = path.slice(lastSlash + 1, i);\n lastSegmentLength = i - lastSlash - 1;\n }\n lastSlash = i;\n dots = 0;\n } else if (code === 46 /*.*/ && dots !== -1) {\n ++dots;\n } else {\n dots = -1;\n }\n }\n return res;\n}\n\nfunction _format(sep, pathObject) {\n var dir = pathObject.dir || pathObject.root;\n var base =\n pathObject.base || (pathObject.name || '') + (pathObject.ext || '');\n if (!dir) {\n return base;\n }\n if (dir === pathObject.root) {\n return dir + base;\n }\n return dir + sep + base;\n}\n\nexport const path = {\n\n resolve: function resolve(pathToResovle) {\n return pathToResovle;\n },\n\n normalize: function normalize(pathArg) {\n assertPath(pathArg);\n\n if (pathArg.length === 0) return '.';\n\n var isAbsolute = pathArg.charCodeAt(0) === 47; /*/*/\n var trailingSeparator = pathArg.charCodeAt(pathArg.length - 1) === 47; /*/*/\n\n\n pathArg = normalizeStringPosix(pathArg, !isAbsolute);\n\n if (pathArg.length === 0 && !isAbsolute) pathArg = '.';\n if (pathArg.length > 0 && trailingSeparator) pathArg += '/';\n\n if (isAbsolute) return '/' + pathArg;\n return pathArg;\n },\n\n isAbsolute: function isAbsolute(pathArg) {\n assertPath(pathArg);\n return pathArg.length > 0 && pathArg.charCodeAt(0) === 47 /*/*/;\n },\n\n join: function join() {\n if (arguments.length === 0) return '.';\n var joined;\n for (var i = 0; i < arguments.length; ++i) {\n var arg = arguments[i];\n assertPath(arg);\n if (arg.length > 0) {\n if (joined === undefined) joined = arg;\n else joined += '/' + arg;\n }\n }\n if (joined === undefined) return '.';\n return path.normalize(joined);\n },\n\n relative: function relative(from, to) {\n assertPath(from);\n assertPath(to);\n\n if (from === to) return '';\n\n from = path.resolve(from);\n to = path.resolve(to);\n\n if (from === to) return '';\n\n\n var fromStart = 1;\n for (; fromStart < from.length; ++fromStart) {\n if (from.charCodeAt(fromStart) !== 47 /*/*/) break;\n }\n var fromEnd = from.length;\n var fromLen = fromEnd - fromStart;\n\n\n var toStart = 1;\n for (; toStart < to.length; ++toStart) {\n if (to.charCodeAt(toStart) !== 47 /*/*/) break;\n }\n var toEnd = to.length;\n var toLen = toEnd - toStart;\n\n\n var length = fromLen < toLen ? fromLen : toLen;\n var lastCommonSep = -1;\n var i = 0;\n for (; i <= length; ++i) {\n if (i === length) {\n if (toLen > length) {\n if (to.charCodeAt(toStart + i) === 47 /*/*/) {\n\n\n return to.slice(toStart + i + 1);\n } else if (i === 0) {\n\n\n return to.slice(toStart + i);\n }\n } else if (fromLen > length) {\n if (from.charCodeAt(fromStart + i) === 47 /*/*/) {\n\n\n lastCommonSep = i;\n } else if (i === 0) {\n\n\n lastCommonSep = 0;\n }\n }\n break;\n }\n var fromCode = from.charCodeAt(fromStart + i);\n var toCode = to.charCodeAt(toStart + i);\n if (fromCode !== toCode) break;\n else if (fromCode === 47 /*/*/) lastCommonSep = i;\n }\n\n var out = '';\n\n\n for (i = fromStart + lastCommonSep + 1; i <= fromEnd; ++i) {\n if (i === fromEnd || from.charCodeAt(i) === 47 /*/*/) {\n if (out.length === 0) out += '..';\n else out += '/..';\n }\n }\n\n\n\n if (out.length > 0) return out + to.slice(toStart + lastCommonSep);\n else {\n toStart += lastCommonSep;\n if (to.charCodeAt(toStart) === 47 /*/*/) ++toStart;\n return to.slice(toStart);\n }\n },\n\n _makeLong: function _makeLong(path) {\n return path;\n },\n\n dirname: function dirname(path) {\n assertPath(path);\n if (path.length === 0) return '.';\n var code = path.charCodeAt(0);\n var hasRoot = code === 47; /*/*/\n var end = -1;\n var matchedSlash = true;\n for (var i = path.length - 1; i >= 1; --i) {\n code = path.charCodeAt(i);\n if (code === 47 /*/*/) {\n if (!matchedSlash) {\n end = i;\n break;\n }\n } else {\n\n matchedSlash = false;\n }\n }\n\n if (end === -1) return hasRoot ? '/' : '.';\n if (hasRoot && end === 1) return '//';\n return path.slice(0, end);\n },\n\n basename: function basename(pathArg, ext) {\n if (ext !== undefined && typeof ext !== 'string')\n throw new TypeError('\"ext\" argument must be a string');\n assertPath(pathArg);\n\n var start = 0;\n var end = -1;\n var matchedSlash = true;\n var i;\n\n if (ext !== undefined && ext.length > 0 && ext.length <= pathArg.length) {\n if (ext.length === pathArg.length && ext === pathArg) return '';\n var extIdx = ext.length - 1;\n var firstNonSlashEnd = -1;\n for (i = pathArg.length - 1; i >= 0; --i) {\n var code = pathArg.charCodeAt(i);\n if (code === 47 /*/*/) {\n\n\n if (!matchedSlash) {\n start = i + 1;\n break;\n }\n } else {\n if (firstNonSlashEnd === -1) {\n\n\n matchedSlash = false;\n firstNonSlashEnd = i + 1;\n }\n if (extIdx >= 0) {\n\n if (code === ext.charCodeAt(extIdx)) {\n if (--extIdx === -1) {\n\n\n end = i;\n }\n } else {\n\n\n extIdx = -1;\n end = firstNonSlashEnd;\n }\n }\n }\n }\n\n if (start === end) end = firstNonSlashEnd;\n else if (end === -1) end = pathArg.length;\n return pathArg.slice(start, end);\n } else {\n for (i = pathArg.length - 1; i >= 0; --i) {\n if (pathArg.charCodeAt(i) === 47 /*/*/) {\n\n\n if (!matchedSlash) {\n start = i + 1;\n break;\n }\n } else if (end === -1) {\n\n\n matchedSlash = false;\n end = i + 1;\n }\n }\n\n if (end === -1) return '';\n return pathArg.slice(start, end);\n }\n },\n\n extname: function extname(pathArg) {\n assertPath(pathArg);\n var startDot = -1;\n var startPart = 0;\n var end = -1;\n var matchedSlash = true;\n\n\n var preDotState = 0;\n for (var i = pathArg.length - 1; i >= 0; --i) {\n var code = pathArg.charCodeAt(i);\n if (code === 47 /*/*/) {\n\n\n if (!matchedSlash) {\n startPart = i + 1;\n break;\n }\n continue;\n }\n if (end === -1) {\n\n\n matchedSlash = false;\n end = i + 1;\n }\n if (code === 46 /*.*/) {\n\n if (startDot === -1) startDot = i;\n else if (preDotState !== 1) preDotState = 1;\n } else if (startDot !== -1) {\n\n\n preDotState = -1;\n }\n }\n\n if (\n startDot === -1 ||\n end === -1 ||\n\n preDotState === 0 ||\n\n (preDotState === 1 && startDot === end - 1 && startDot === startPart + 1)\n ) {\n return '';\n }\n return pathArg.slice(startDot, end);\n },\n\n format: function format(pathObject) {\n if (pathObject === null || typeof pathObject !== 'object') {\n throw new TypeError(\n 'The \"pathObject\" argument must be of type Object. Received type ' +\n typeof pathObject,\n );\n }\n return _format('/', pathObject);\n },\n\n parse: function parse(pathArg) {\n assertPath(pathArg);\n\n var ret = { root: '', dir: '', base: '', ext: '', name: '' };\n if (pathArg.length === 0) return ret;\n var code = pathArg.charCodeAt(0);\n var isAbsolute = code === 47; /*/*/\n var start;\n if (isAbsolute) {\n ret.root = '/';\n start = 1;\n } else {\n start = 0;\n }\n var startDot = -1;\n var startPart = 0;\n var end = -1;\n var matchedSlash = true;\n var i = pathArg.length - 1;\n\n\n\n var preDotState = 0;\n\n\n for (; i >= start; --i) {\n code = pathArg.charCodeAt(i);\n if (code === 47 /*/*/) {\n\n\n if (!matchedSlash) {\n startPart = i + 1;\n break;\n }\n continue;\n }\n if (end === -1) {\n\n\n matchedSlash = false;\n end = i + 1;\n }\n if (code === 46 /*.*/) {\n\n if (startDot === -1) startDot = i;\n else if (preDotState !== 1) preDotState = 1;\n } else if (startDot !== -1) {\n\n\n preDotState = -1;\n }\n }\n\n if (\n startDot === -1 ||\n end === -1 ||\n\n preDotState === 0 ||\n\n (preDotState === 1 && startDot === end - 1 && startDot === startPart + 1)\n ) {\n if (end !== -1) {\n if (startPart === 0 && isAbsolute)\n ret.base = ret.name = pathArg.slice(1, end);\n else ret.base = ret.name = pathArg.slice(startPart, end);\n }\n } else {\n if (startPart === 0 && isAbsolute) {\n ret.name = pathArg.slice(1, startDot);\n ret.base = pathArg.slice(1, end);\n } else {\n ret.name = pathArg.slice(startPart, startDot);\n ret.base = pathArg.slice(startPart, end);\n }\n ret.ext = pathArg.slice(startDot, end);\n }\n\n if (startPart > 0) ret.dir = pathArg.slice(0, startPart - 1);\n else if (isAbsolute) ret.dir = '/';\n\n return ret;\n },\n\n sep: '/',\n delimiter: ':',\n win32: {\n // @ts-ignore\n normalize: p => {\n return p;\n },\n },\n posix: null,\n};\n\n\n ;({}); // @--end-of-file-for-module=tnp-core lib/node-path-mock.ts","\n\nlet forceTrace = false;\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\nimport jQuery from 'jquery';\nimport { chalk as chalkMock } from './node-chalk-mock';\nimport { path as pathMock } from './node-path-mock';\n\nimport * as _ from 'lodash';\nimport * as q from 'q';\nimport * as moment from 'moment';\nimport * as dateformat from 'dateformat';\nimport { Chalk } from 'chalk';\nimport * as json5 from 'json5';\nimport type jQueryType from 'jquery';\nimport type chalkBaseType from 'chalk';\nimport type * as pathBaseType from 'path';\nimport type * as globBaseType from 'glob';\nimport type * as fseBaseType from 'fs-extra';\nimport type * as osBaseType from 'os';\nimport type * as child_processType from 'child_process';\nimport type * as httpBaseType from 'http';\nimport type * as httpsBaseType from 'https';\nimport type * as fkillBaseType from 'fkill';\nimport type * as psListBaseType from 'ps-list';\nimport type * as netBaseType from 'net';\nimport type * as spawnBaseType from 'cross-spawn';\nimport type * as fgBaseType from 'fast-glob';\nimport type { minimatch as minimatchBaseType } from 'minimatch';\nimport type * as rimrafBaseType from 'rimraf';\nimport type * as chokidarBaseType from 'chokidar';\nimport type * as mkdirpBaseType from 'mkdirp';\nimport type * as ncpBaseType from 'copy-paste';\nimport type * as psBaseType from 'ps-node';\nimport { Helpers } from './index';\n\n\n/* */\n/* */\n \n\n\n\n\n\nlet $: jQueryType;\n\n$ = jQuery;\n\n/* */\n/* */\n \n\n\n\n\nlet path = void 0 as typeof pathBaseType;\n/* */\n/* */\n \n\n\n// @ts-ignore\npath = pathMock;\n\n\n\n\n\nlet chalk: Chalk = void 0 as typeof chalkBaseType;\n/* */\n/* */\n \n\n\n// @ts-ignore\nchalk = chalkMock;\n\n\n\n\nlet glob = void 0 as typeof globBaseType;\n/* */\n/* */\n \n\n\n\n\n\n\nlet fse = void 0 as typeof fseBaseType;\n/* */\n/* */\n \n\n\n\n\n\n\nlet os = void 0 as typeof osBaseType;\n/* */\n/* */\n \n\n\n\n\n\n\nlet child_process = void 0 as typeof child_processType;\n/* */\n/* */\n \n\n\n\nlet http = void 0 as typeof httpBaseType;\n/* */\n/* */\n \n\n\n\nlet https = void 0 as typeof httpsBaseType;\n/* */\n/* */\n \n\n\n\nlet isRoot = void 0 as () => Promise<boolean>;\n/* */\n/* */\n \n\n\n\nlet isAdmin = void 0 as () => Promise<boolean>;\n/* */\n/* */\n \n\n\n\n/**\n * check if the current process is elevated\n * - sudo in unix/macos\n * - admin in windows\n */\nlet isElevated = void 0 as () => Promise<boolean>;\n/* */\n/* */\n \n\n\n\nlet fkill = void 0 as typeof fkillBaseType;\n/* */\n/* */\n \n\n\n\nlet psList = void 0 as typeof psListBaseType;\n/* */\n/* */\n \n\n\n\nlet net = void 0 as typeof netBaseType;\n/* */\n/* */\n \n\n\n\nlet spawn = void 0 as typeof spawnBaseType;\n/* */\n/* */\n \n\n\n\nlet minimatch = void 0 as typeof minimatchBaseType;\n/* */\n/* */\n \n\n\n\nlet rimraf = void 0 as typeof rimrafBaseType;\n/* */\n/* */\n \n\n\n\nlet chokidar = void 0 as typeof chokidarBaseType;\n/* */\n/* */\n \n\n\n\nlet mkdirp = void 0 as typeof mkdirpBaseType;\n/* */\n/* */\n \n\n\n\nlet ncp = void 0 as typeof ncpBaseType;\n/* */\n/* */\n \n\n\n\nlet ps = void 0 as typeof psBaseType;\n/* */\n/* */\n \n\n\n\nlet fg = void 0 as typeof fgBaseType;\n/* */\n/* */\n \n\n\n\n\n\n\n\n/**\n * transform unix path to win32 path\n */\nconst win32Path = (p: string): string => {\n/* */\n/* */\n/* */\n/* */\n \n if (/^\\/[a-z]\\//.test(p)) {\n p = p.replace(/^\\/[a-z]\\//, `${p.charAt(1).toUpperCase()}:/`);\n }\n return path.win32.normalize(p);\n};\n\n\n/**\n * This funciton will replace // to /\n */\nconst crossPlatformPath = (\n pathStringOrPathParts: string | string[],\n): string => {\n if (Array.isArray(pathStringOrPathParts)) {\n pathStringOrPathParts = pathStringOrPathParts.join('/');\n }\n\n if (typeof pathStringOrPathParts !== 'string') {\n return pathStringOrPathParts;\n }\n\n\n\n if (\n typeof pathStringOrPathParts === 'string' &&\n /^[A-Z]\\:/.test(pathStringOrPathParts)\n ) {\n pathStringOrPathParts = _.lowerFirst(pathStringOrPathParts);\n }\n\n const isExtendedLengthPath = /^\\\\\\\\\\?\\\\/.test(pathStringOrPathParts);\n const hasNonAscii = /[^\\u0000-\\u0080]+/.test(pathStringOrPathParts); // eslint-disable-line no-control-regex\n if (isExtendedLengthPath) {\n console.warn(`[taon-core][crossPlatformPath]: Path starts with \\\\\\\\,\n this is not supported in crossPlatformPath`);\n if (forceTrace) {\n console.trace(`path: \"${pathStringOrPathParts}\"`);\n }\n }\n\n if (hasNonAscii) {\n const allNonAscii = pathStringOrPathParts.match(/[^\\u0000-\\u0080]+/g) || '';\n Helpers.logWarn(\n `[taon-core][crossPlatformPath]: Path contains non-ascii characters: ${allNonAscii}`,\n );\n Helpers.logWarn(pathStringOrPathParts);\n }\n\n pathStringOrPathParts = (pathStringOrPathParts || '')\n .replace(/\\\\/g, '/')\n .replace(/\\/\\//g, '/')\n .replace(/\\/\\//g, '/'); // TODO probably not needed\n\n let isWindows = false;\n/* */\n/* */\n/* */\n/* */\n \n\n const regexWinPath1 = /^(\\/)[a-zA-Z]\\:/;\n\n\n if (isWindows && regexWinPath1.test(pathStringOrPathParts)) {\n pathStringOrPathParts = pathStringOrPathParts.slice(1);\n }\n\n\n\n\n\n\n\n\n\n\n\n return pathStringOrPathParts;\n};\n\n\n\nexport { _, q, moment, dateformat, crossPlatformPath, win32Path, path, chalk, json5, $, glob, fse, os, child_process, http, https, isElevated, fkill, psList, spawn, minimatch, fg, chokidar, mkdirp, ncp, rimraf, net, ps, };/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n\n\n\n\n ;({}); // @--end-of-file-for-module=tnp-core lib/core-imports.ts","\n\nimport type { ChildProcess } from 'child_process';\n\nimport { PackageJson } from 'type-fest';\n\nexport namespace CoreModels {\n\n export type Package = {\n name: string;\n version?: string;\n installType?: InstalationType;\n };\n\n\n\n export type NpmInstallOptions = {\n pkg?: CoreModels.Package;\n /**\n * false by default\n */\n silent?: boolean;\n /**\n * false by default\n */\n useYarn?: boolean;\n /**\n * false by default\n */\n force?: boolean;\n /**\n * Reason for installing package(s)\n */\n reason?: string;\n /**\n * true by default\n */\n removeYarnOrPackageJsonLock?: boolean;\n /**\n * false by default\n */\n generateYarnOrPackageJsonLock?: boolean;\n };\n\n\n\n export type InstalationType = '-g' | '--save' | '--save-dev' | 'remove';\n\n export const InstalationTypeArr = ['-g', '--save', '--save-dev'];\n\n\n export type ReleaseVersionType = 'major' | 'minor' | 'patch';\n export type PreReleaseVersionTag = 'alpha' | 'beta' | 'rc' | 'next';\n export const NpmSpecialVersions = [\n 'latest',\n 'next',\n 'beta',\n 'alpha',\n 'rc',\n 'lts',\n ];\n\n\n export type PROGRESS_DATA_TYPE = 'info' | 'error' | 'warning' | 'event';\n\n\n\n /**\n * Available application environments.\n */\n export const EnvironmentName = Object.freeze({\n /**\n * Default environment, typically for artifact without application\n * or for storing common data\n */\n __: '__',\n\n /**\n * Local development environment, typically the developer's machine.\n */\n LOCALHOST: 'localhost',\n\n /**\n * Development environment used by engineers to deploy and test new features.\n */\n DEV: 'dev',\n\n /**\n * Staging environment used for final validations before production.\n */\n STAGE: 'stage',\n\n /**\n * Production environment serving live users.\n */\n PROD: 'prod',\n\n /**\n * Automated test environment for running unit, integration, or automated tests.\n */\n TEST: 'test',\n\n /**\n * Quality assurance environment designated for manual and exploratory testing.\n */\n QA: 'qa',\n\n /**\n * Sandbox environment for experimenting and integration without affecting other environments.\n */\n SANDBOX: 'sandbox',\n\n /**\n * User Acceptance Testing environment where clients or stakeholders validate the release candidate.\n */\n UAT: 'uat',\n\n /**\n * Pre-production environment, closely mirroring production for final testing and validation.\n */\n PREPROD: 'preprod',\n\n /**\n * Demonstration environment specifically configured for client presentations and demos.\n */\n DEMO: 'demo',\n\n /**\n * Continuous Integration environment used by CI/CD pipelines for automated builds and deployments.\n */\n CI: 'ci',\n\n /**\n * Training environment dedicated to internal team onboarding and training activities.\n */\n TRAINING: 'training',\n });\n\n export type EnvironmentNameTaon =\n (typeof EnvironmentName)[keyof typeof EnvironmentName];\n\n\n\n\n export type PUSHTYPE =\n | 'feat'\n | 'chore'\n | 'feature'\n | 'refactor'\n | 'perf'\n | 'styles'\n | 'ci'\n | 'build'\n | 'fix'\n | 'bugfix'\n | 'release'\n | 'docs';\n\n\n\n /**\n * @deprecated\n */\n export type UIFramework = 'bootstrap' | 'material' | 'ionic';\n\n\n\n export type FrameworkVersion =\n | 'v1'\n | 'v2'\n | 'v3'\n | 'v4'\n | 'v16'\n | 'v18'\n | 'v19'\n | 'v20'\n | 'v21'\n | 'v22';\n\n\n\n export type CutableFileExt =\n | 'scss'\n | 'css'\n | 'less'\n | 'sass'\n | 'html'\n | 'ts'\n | 'tsx'\n | 'js';\n\n\n\n export type ImageFileExtension = 'jpg' | 'jpeg' | 'png' | 'svg';\n export const ImageFileExtensionArr: CoreModels.ImageFileExtension[] = [\n 'jpg',\n 'jpeg',\n 'png',\n 'svg',\n ];\n\n\n\n export type FileExtension =\n | 'json'\n | 'html'\n | ImageFileExtension\n | 'txt'\n | 'md'\n | CutableFileExt;\n\n\n\n export type HttpMethod =\n | 'get'\n | 'post'\n | 'put'\n | 'delete'\n | 'patch'\n | 'head'\n | 'jsonp';\n\n\n\n export type ParamType = 'Path' | 'Query' | 'Cookie' | 'Header' | 'Body';\n\n\n\n export type TsUsage = 'import' | 'export';\n\n\n\n export type BaseProjectType =\n | 'typescript'\n | 'angular'\n | 'angular-lib'\n | 'unknown'\n | 'unknown-npm-project';\n\n\n\n export const BaseProjectTypeArr = [\n 'typescript',\n 'angular',\n 'angular-lib',\n 'unknown',\n 'unknown-npm-project',\n ];\n\n\n\n export type LibType =\n | BaseProjectType\n | 'isomorphic-lib' // + https://github.com/maximegris/angular-electron\n | 'container'\n | 'unknown-npm-project';\n\n\n\n /**\n * @deprecated\n */\n export type NewFactoryType = LibType | 'model' | 'single-file-project';\n\n\n\n /**\n * @deprecated\n */\n export type CoreLibCategory = LibType | 'common';\n\n\n\n export type FileEvent = 'created' | 'changed' | 'removed' | 'rename';\n\n\n\n /**\n * @deprecated\n */\n export type OutFolder = 'dist' | 'browser';\n\n\n\n export type DatabaseType = ':inmemory' | 'mysql' | 'sqljs';\n\n\n\n export interface UploadedBackendFile {\n data:\n | any\n/* */\n/* */\n \n encoding: string;\n md5: string;\n tempFilePath: string;\n mimetype: ContentType;\n mv: (path, callback) => any;\n name: string;\n truncated: boolean;\n }\n\n\n\n /**\n * @deprecated\n */\n export interface ExecuteOptions {\n /** Extract string from line */\n extractFromLine?: (string | Function)[];\n /**\n * Modify output line by line\n */\n outputLineReplace?: (outputLine: string) => string;\n resolvePromiseMsg?: {\n stdout?: string | string[];\n stderr?: string | string[];\n };\n resolvePromiseMsgCallback?: {\n stdout?: () => any;\n stderr?: () => any;\n exitCode?: (exitCode: number) => any;\n };\n prefix?: string;\n detach?: boolean;\n /**\n * Try command again after fail after n miliseconds\n */\n tryAgainWhenFailAfter?: number;\n /**\n * TODO @LAST implement this\n *\n * Output from processe with this key\n * will not be displayed twice when\n * 2 processes are running at the same time\n */\n similarProcessKey?: string;\n\n /**\n * Use big buffer for big webpack logs\n */\n biggerBuffer?: boolean;\n askToTryAgainOnError?: boolean;\n onChildProcessChange?: (childProcess: ChildProcess) => void;\n exitOnErrorCallback?: (code: number) => void;\n /**\n * From displaying in console\n */\n hideOutput?: {\n stdout?: boolean;\n stderr?: boolean;\n acceptAllExitCodeAsSuccess?: boolean;\n };\n outputBuffer?: string[];\n outputBufferMaxSize?: number;\n }\n\n\n\n /**\n * @deprecated\n */\n export interface RunOptions extends ExecuteOptions {\n showCommand?: boolean;\n\n /**\n * Show process output\n */\n output?: boolean;\n\n silence?: boolean;\n stdio?: any;\n\n\n cwd?: string;\n }\n\n\n\n\n\n export const mimeTypes = {\n '.aac': 'audio/aac',\n '.abw': 'application/x-abiword',\n '.arc': 'application/x-freearc',\n '.avi': 'video/x-msvideo',\n '.azw': 'application/vnd.amazon.ebook',\n '.bin': 'application/octet-stream',\n '.bmp': 'image/bmp',\n '.bz': 'application/x-bzip',\n '.bz2': 'application/x-bzip2',\n '.csh': 'application/x-csh',\n '.css': 'text/css',\n '.csv': 'text/csv',\n '.doc': 'application/msword',\n '.docx':\n 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',\n '.eot': 'application/vnd.ms-fontobject',\n '.epub': 'application/epub+zip',\n '.gz': 'application/gzip',\n '.gif': 'image/gif',\n '.htm': 'text/html',\n '.html': 'text/html',\n '.ico': 'image/vnd.microsoft.icon',\n '.ics': 'text/calendar',\n '.jar': 'application/java-archive',\n '.jpeg': 'image/jpeg',\n '.jpg': 'image/jpeg',\n '.js': 'text/javascript',\n '.json': 'application/json',\n '.jsonld': 'application/ld+json',\n '.mid': 'application/midi',\n '.midi': 'application/midi',\n '.mjs': 'text/javascript',\n '.mp3': 'audio/mpeg',\n '.mp4': 'video/mp4',\n '.mpeg': 'video/mpeg',\n '.mpkg': 'application/vnd.apple.installer+xml',\n '.odp': 'application/vnd.oasis.opendocument.presentation',\n '.ods': 'application/vnd.oasis.opendocument.spreadsheet',\n '.odt': 'application/vnd.oasis.opendocument.text',\n '.oga': 'audio/ogg',\n '.ogg': 'audio/ogg',\n '.ogv': 'video/ogg',\n '.ogx': 'application/ogg',\n '.opus': 'audio/opus',\n '.otf': 'font/otf',\n '.png': 'image/png',\n '.pdf': 'application/pdf',\n '.php': 'application/php',\n '.ppt': 'application/vnd.ms-powerpoint',\n '.pptx':\n 'application/vnd.openxmlformats-officedocument.presentationml.presentation',\n '.rar': 'application/vnd.rar',\n '.rtf': 'application/rtf',\n '.sh': 'application/x-sh',\n '.svg': 'image/svg+xml',\n '.swf': 'application/x-shockwave-flash',\n '.tar': 'application/x-tar',\n '.tif': 'image/tiff',\n '.tiff': 'image/tiff',\n '.ts': 'video/mp2t',\n '.ttf': 'font/ttf',\n '.txt': 'text/plain',\n '.vsd': 'application/vnd.visio',\n '.wav': 'audio/wav',\n '.weba': 'audio/webm',\n '.webm': 'video/webm',\n '.webp': 'image/webp',\n '.woff': 'font/woff',\n '.woff2': 'font/woff2',\n '.xhtml': 'application/xhtml+xml',\n '.xls': 'application/vnd.ms-excel',\n '.xlsx':\n 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',\n '.xml': 'application/xml',\n '.xul': 'application/vnd.mozilla.xul+xml',\n '.zip': 'application/zip',\n '.3gp': 'video/3gpp',\n '.3g2': 'video/3gpp2',\n '.7z': 'application/x-7z-compressed',\n } as const;\n\n export type ContentTypeKeys = keyof typeof mimeTypes;\n export type ContentType =\n | (typeof mimeTypes)[ContentTypeKeys]\n | 'multipart/form-data';\n type ContentType_ = ContentType;\n\n /**\n * https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types\n */\n export type MediaType =\n | 'text'\n | 'image'\n | 'audio'\n | 'font'\n | 'video'\n | 'application'\n | 'multipart'\n | 'message'\n | 'model';\n\n export const MediaTypeAllArr = [\n 'text',\n 'image',\n 'audio',\n 'video',\n 'font',\n 'application',\n 'multipart',\n 'message',\n 'model',\n ] as MediaType[];\n\n export type MimeType = keyof typeof mimeTypes;\n export const MimeTypesObj = mimeTypes;\n\n\n\n export interface ManifestIcon {\n src: string; // \"assets/icons/icon-96x96.png\",\n sizes: string; // \"96x96\",\n type: string; // \"image/png\",\n purpose: string; // \"maskable any\"\n }\n\n export interface PwaManifest {\n name: string; // \"app\",\n short_name: string; // \"app\",\n theme_color: string; // \"#1976d2\",\n background_color: string; // \"#fafafa\",\n display: 'standalone';\n scope: string; // \"./\",\n start_url: string; // \"start_url\": \"./\", => \"start_url\" \"https://darekf77.github.io/bs4-breakpoint/\"\n icons: ManifestIcon[];\n }\n\n\n\n export interface VSCodeSettings {\n 'files.exclude': { [files: string]: boolean };\n 'workbench.colorTheme': 'Default Light+' | 'Kimbie Dark';\n 'workbench.colorCustomizations': {\n 'activityBar.background'?: string;\n 'activityBar.foreground'?: string;\n 'statusBar.background'?: string;\n };\n }\n\n\n\n /**\n * @deprecated\n */\n export interface Position {\n x: number;\n y: number;\n }\n\n\n\n /**\n * @deprecated\n */\n export interface Size {\n w: number;\n h: number;\n }\n\n\n\n interface GlobalNpmDependency {\n name: string;\n installName?: string;\n version?: string | number;\n }\n\n interface GlobalCommandLineProgramDependency {\n name: string;\n website: string;\n version?: string;\n }\n export interface GlobalDependencies {\n npm?: GlobalNpmDependency[];\n programs?: GlobalCommandLineProgramDependency[];\n }\n\n\n\n interface AngularCompilerOptions {\n fullTemplateTypeCheck: boolean;\n strictInjectionParameters: boolean;\n compilationMode: string;\n preserveSymlinks: boolean;\n enableIvy: boolean;\n }\n\n interface CompilerOptions {\n baseUrl: string;\n outDir: string;\n sourceMap: boolean;\n declaration: boolean;\n strictNullChecks: boolean;\n downlevelIteration: boolean;\n experimentalDecorators: boolean;\n emitDecoratorMetadata: boolean;\n esModuleInterop: boolean;\n module: string;\n moduleResolution: string;\n importHelpers: boolean;\n skipLibCheck: boolean;\n target: string;\n typeRoots: string[];\n types: string[];\n lib: string[];\n paths: { [fullPackageName: string]: string[] };\n useDefineForClassFields: boolean;\n }\n export interface TsConfigJson {\n extends: string;\n exclude: string[];\n compileOnSave: boolean;\n compilerOptions: CompilerOptions;\n angularCompilerOptions: AngularCompilerOptions;\n }\n\n export interface TscCompileOptions {\n cwd: string;\n watch?: boolean;\n outDir?: 'dist';\n generateDeclarations?: boolean;\n tsExe?: string;\n diagnostics?: boolean;\n hideErrors?: boolean;\n debug?: boolean;\n }\n\n}\n\n ;({}); // @--end-of-file-for-module=tnp-core lib/core-models.ts","\n\n\nimport { Blob } from 'buffer';\nimport { ChildProcess } from 'child_process';\nimport * as net from 'net';\nimport { promisify } from 'util';\n\nimport axios, { AxiosResponse } from 'axios';\n\nimport { path, _, crossPlatformPath, os, chalk } from './core-imports';\nimport { dateformat } from './core-imports';\nimport { spawn, child_process } from './core-imports';\nimport { fse } from './core-imports';\nimport { CoreModels } from './core-models';\n\nimport { Helpers } from './index';\n\n\nconst BLOB_SUPPORTED_IN_SQLJS = false;\n\n\nexport namespace Utils {\n\n export const uniqArray = <T = any>(\n array: any[],\n uniqueProperty?: keyof T,\n ) => {\n var seen = {};\n return array\n .filter(f => !!f)\n .filter(function (item) {\n return seen.hasOwnProperty(uniqueProperty ? item[uniqueProperty] : item)\n ? false\n : (seen[uniqueProperty ? item[uniqueProperty] : item] = true);\n }) as T[];\n };\n\n\n\n /**\n * @param anyObject\n * @returns object with sorted keys\n */\n export const sortKeys = (anyObject: any): any => {\n if (_.isArray(anyObject)) {\n return anyObject.map(sortKeys);\n }\n if (_.isObject(anyObject)) {\n return _.fromPairs(\n _.keys(anyObject)\n .sort()\n .map(key => [key, sortKeys(anyObject[key])]),\n );\n }\n return anyObject;\n };\n\n\n\n /**\n * Example:\n * new RegExp(escapeStringForRegEx('a.b.c'),'g') => /a\\.b\\.c/g\n */\n export const escapeStringForRegEx = (stringForRegExp: string) => {\n return stringForRegExp.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g, '\\\\$&');\n };\n\n\n\n export function removeChalkSpecialChars(str: string): string {\n\n const ansiRegex = /\\u001b\\[[0-9;]*m/g;\n\n\n return str.replace(ansiRegex, '');\n }\n\n\n\n export const fullDateTime = () => {\n/* */\n/* */\n return (void 0);\n };\n\n\n\n export const fullDate = () => {\n/* */\n/* */\n return (void 0);\n };\n\n\n\n const takenPorts = [];\n export const getFreePort = async (options?: {\n startFrom?: number;\n }): Promise<number> => {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n };\n\n\n\n /**\n * Traverses the cache to search for all the cached\n * files of the specified module name\n */\n const searchCache = (moduleName, callback) => {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n };\n\n /**\n * Removes a module from the cache\n */\n const purgeCache = moduleName => {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n };\n\n export const requireUncached = (module: string) => {\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n };\n\n\n\n\n /**\n * similar to camelCase but remove\n * all non word / repeated characters\n */\n export const camelize = (str: string = '') => {\n str = str.replace(/\\W/g, '').toLowerCase();\n return str\n .replace(/(?:^\\w|[A-Z]|\\b\\w)/g, function (word, index) {\n return index == 0 ? word.toLowerCase() : word.toUpperCase();\n })\n .replace(/\\s+/g, '');\n };\n\n\n\n interface AttrJsoncProp {\n name: string;\n value?: any;\n }\n export namespace json {\n export const getAtrributies = (\n jsonDeepPath: string, // lodash path to property in json ex. deep.path.to.prop\n fileContent: string, // jsonc or json5 - json with comments\n ): AttrJsoncProp[] => {\n const lines = fileContent.split('\\n');\n\n const pathParts = jsonDeepPath.split('.').reduce((a, b) => {\n if (a.length === 0) {\n return [b];\n }\n const last: string = a[a.length - 1];\n if (\n (last.startsWith(`['`) && b.endsWith(`']`)) ||\n (last.startsWith(`[\"`) && b.endsWith(`\"]`))\n ) {\n a[a.length - 1] = [last, b].join('.');\n } else {\n a.push(b);\n }\n return a;\n }, []);\n\n\n const keyName = pathParts.pop()!.replace(/^\\[\"(.+)\"\\]$/, '$1');\n let currentPath = '';\n let attributes: AttrJsoncProp[] = [];\n let collectedComments: string[] = [];\n\n for (const line of lines) {\n const trimmedLine = line.trim();\n\n if (trimmedLine.startsWith('//')) {\n\n collectedComments.push(trimmedLine);\n\n\n } else if (trimmedLine.startsWith('\"') || trimmedLine.startsWith(\"'\")) {\n\n const match = trimmedLine.match(/[\"']([^\"']+)[\"']\\s*:/);\n\n if (match) {\n const key = match[1];\n currentPath = currentPath\n ? `${currentPath}.${key.includes('.') ? `['${key}']` : key}`\n : key;\n\n\n if (\n (currentPath.endsWith(keyName) &&\n !currentPath.endsWith('/' + keyName)) ||\n currentPath.endsWith(`['${keyName}']`)\n ) {\n\n\n\n\n\n attributes = extractAttributesFromComments(collectedComments);\n break;\n }\n\n\n collectedComments = [];\n }\n }\n }\n\n return attributes;\n };\n\n const extractAttributesFromComments = (\n comments: string[],\n ): AttrJsoncProp[] => {\n const attributes: AttrJsoncProp[] = [];\n const attrRegex = /@(\\w+)(?:\\s*=\\s*([^\\s@]+))?/g;\n\n for (const comment of comments) {\n let match;\n while ((match = attrRegex.exec(comment)) !== null) {\n const [, name, value] = match;\n\n const existingAttribute = attributes.find(\n attr => attr.name === `@${name}`,\n );\n\n if (existingAttribute) {\n if (value) {\n if (Array.isArray(existingAttribute.value)) {\n existingAttribute.value.push(value);\n } else {\n existingAttribute.value = [existingAttribute.value, value];\n }\n }\n } else {\n attributes.push({\n name: `@${name}`,\n value: value ? value : true,\n });\n }\n }\n }\n\n\n attributes.forEach(attr => {\n if (Array.isArray(attr.value) && attr.value.length === 1) {\n attr.value = attr.value[0];\n }\n });\n\n return attributes;\n };\n }\n\n\n\n\n\n export enum DbBinaryFormatEnum {\n Blob = 'Blob',\n File = 'File',\n string = 'string',\n/* */\n/* */\n \n }\n\n export type DbBinaryFormatForBrowser = Blob | File | string;\n/* */\n/* */\n \n\n /**\n * Binary format that can be stored in database\n *\n * for nodejs => Buffer\n * for sql.js => string (shoulb be blob - but not supported)\n *\n */\n export type DbBinaryFormat =\n | DbBinaryFormatForBrowser\n/* */\n/* */\n \n\n export namespace binary {\n\n\n /**\n * This is for BROWSER ONLY\n *\n * @param buffer\n * @param contentType\n * @returns\n */\n export async function arrayBufferToBlob(\n buffer: ArrayBuffer,\n contentType: CoreModels.ContentType,\n ): Promise<Blob> {\n // @ts-ignore\n return new Blob([buffer], { type: contentType });\n }\n\n\n\n\n /**\n * This is for BROWSER ONLY\n * @param blob\n * @returns\n */\n export async function blobToArrayBuffer(blob: Blob): Promise<ArrayBuffer> {\n return await new Promise((resolve, reject) => {\n const reader = new FileReader();\n reader.addEventListener('loadend', () => {\n resolve(reader.result as any);\n });\n reader.addEventListener('error', reject); // @ts-ignore\n reader.readAsArrayBuffer(blob);\n });\n }\n\n\n\n /**\n * it is revers to base64toBlob\n * @param blob\n * @returns\n */\n export function blobToBase64(blob: Blob): Promise<string> {\n return new Promise<any>((resolve, _) => {\n const reader = new FileReader();\n reader.onloadend = () => resolve(reader.result); // @ts-ignore\n reader.readAsDataURL(blob);\n });\n }\n\n\n\n /**\n * it is revers to blobToBase64()\n * @param base64Data\n * @returns\n */\n export async function base64toBlob(\n base64Data: string,\n contentTypeOverride?: CoreModels.ContentType,\n ): Promise<Blob> {\n let content_type: CoreModels.ContentType = void 0 as any;\n let file_base64: string = void 0 as any;\n if (!contentTypeOverride) {\n const m = /^data:(.+?);base64,(.+)$/.exec(base64Data);\n if (!m) {\n throw new Error(\n `[taon-framework][base64toBlob] Not a base64 blob [${base64Data}]`,\n );\n }\n\n var [__, contenttype, filebase64] = m;\n content_type = contenttype as any;\n file_base64 = filebase64;\n }\n content_type = (\n contentTypeOverride ? contentTypeOverride : content_type || ''\n ) as any;\n base64Data = contentTypeOverride ? base64Data : file_base64;\n const sliceSize = 1024;\n const byteCharacters = atob(base64Data);\n const bytesLength = byteCharacters.length;\n const slicesCount = Math.ceil(bytesLength / sliceSize);\n const byteArrays = new Array(slicesCount);\n\n for (let sliceIndex = 0; sliceIndex < slicesCount; ++sliceIndex) {\n const begin = sliceIndex * sliceSize;\n const end = Math.min(begin + sliceSize, bytesLength);\n\n const bytes = new Array(end - begin);\n\n for (let offset = begin, i = 0; offset < end; ++i, ++offset) {\n bytes[i] = byteCharacters[offset].charCodeAt(0);\n }\n byteArrays[sliceIndex] = new Uint8Array(bytes);\n }\n return new Blob(byteArrays, { type: content_type });\n }\n\n\n\n\n export async function base64toDbBinaryFormat(\n text: string,\n ): Promise<DbBinaryFormat> {\n let result: DbBinaryFormat;\n\n result = await (async () => {\n if (BLOB_SUPPORTED_IN_SQLJS) {\n const blob = await base64toBlob(text);\n return blob;\n }\n return text as any;\n })();\n\n/* */\n/* */\n/* */\n/* */\n/* */\n \n return result;\n }\n\n\n\n export async function dbBinaryFormatToBase64(\n binaryFormat: DbBinaryFormat,\n ): Promise<string> {\n let result: string;\n\n result = await (async () => {\n if (BLOB_SUPPORTED_IN_SQLJS) {\n const text = await blobToBase64(binaryFormat as any);\n return text;\n }\n return binaryFormat as any;\n })();\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n \n return result;\n }\n\n\n\n\n export async function textToDbBinaryFormat(\n text: string,\n ): Promise<DbBinaryFormat> {\n let result: DbBinaryFormat;\n\n result = await (async () => {\n if (BLOB_SUPPORTED_IN_SQLJS) {\n const blob = await textToBlob(text);\n return blob;\n }\n return text as any;\n })();\n\n/* */\n/* */\n/* */\n/* */\n/* */\n \n return result;\n }\n\n\n\n export async function dbBinaryFormatToText(\n binaryFormat: DbBinaryFormat,\n ): Promise<string> {\n let result: string;\n\n result = await (async () => {\n if (BLOB_SUPPORTED_IN_SQLJS) {\n const text = await blobToText(binaryFormat as any);\n return text;\n }\n return binaryFormat as any;\n })();\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n \n return result;\n }\n\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\n\n export async function fileToBlob(file: File) {\n return new Blob([new Uint8Array(await file.arrayBuffer())], {\n type: file.type,\n });\n }\n\n\n\n export async function blobToFile(\n blob: Blob,\n nameForFile: string = 'my-file-name',\n ): Promise<File> {\n if (!nameForFile) {\n nameForFile = 'nonamefile' + new Date().getTime();\n }\n // @ts-ignore\n return new File([blob], nameForFile);\n }\n\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\n\n export async function textToBlob(\n text: string,\n type: CoreModels.ContentType = 'text/plain',\n ): Promise<Blob> {\n const blob = new Blob([text], { type });\n return blob;\n }\n\n\n\n export async function blobToText(blob: Blob): Promise<string> {\n return await blob.text();\n }\n\n\n\n export async function textToFile(\n text: string,\n fileRelativePathOrName: string,\n ): Promise<File> {\n\n const ext = path.extname(fileRelativePathOrName);\n\n const type = CoreModels.mimeTypes[ext];\n const blob = new Blob([text], { type });\n const file = await blobToFile(blob, fileRelativePathOrName);\n\n\n\n\n\n return file;\n }\n\n\n\n export async function fileToText(file: File): Promise<string> {\n return await file.text();\n }\n\n\n\n export async function jsonToBlob(jsonObj: object): Promise<Blob> {\n const blob = new Blob([JSON.stringify(jsonObj, null, 2)], {\n type: 'application/json',\n });\n return blob;\n }\n\n\n\n /**\n * TODO NOT TESTED\n */\n export async function blobToJson(blob: Blob): Promise<string> {\n return JSON.parse(await blob.text());\n }\n\n\n\n export async function getBlobFrom(url: string): Promise<Blob> {\n const response: AxiosResponse<Blob> = await axios({\n url,\n method: 'get',\n responseType: 'blob',\n });\n return response.data;\n }\n\n }\n\n\n\n export namespace css {\n\n /**\n *\n * @param pixelsCss pixels ex. 100px\n * @returns\n */\n export function numValue(pixelsCss: string | number): number {\n\n return parseInt(\n pixelsCss?.toString()?.replace('px', ''),\n\n\n );\n }\n\n }\n\n}\n\n\n\nexport namespace UtilsProcess {\n\n interface ResolvePromiseMsg {\n /**\n * until this string is in output of stdout\n */\n stdout?: string | string[];\n /**\n * until this string is in output of stderr\n */\n stderr?: string | string[];\n /**\n * by default only resolve when exit code is 0\n */\n resolveAfterAnyExitCode?: boolean;\n }\n\n export interface ProcessStartOptions {\n /**\n * by default is process.cwd();\n */\n cwd?: string;\n /**\n * by default is false\n */\n showCommand?: boolean;\n /**\n * Modify output line by line\n */\n outputLineReplace?: (outputLineStderOrStdout: string) => string;\n resolvePromiseMsg?: ResolvePromiseMsg;\n /**\n * Prefix messages output from child_process\n */\n prefix?: string;\n /**\n * Try command again after fail after n milliseconds\n */\n tryAgainWhenFailAfter?: number;\n askToTryAgainOnError?: boolean;\n exitOnErrorCallback?: (code: number) => void;\n /**\n * Use big buffer for big webpack logs\n * (it may slow down smaller processes execution)\n */\n biggerBuffer?: boolean;\n hideOutput?: {\n stdout?: boolean;\n stderr?: boolean;\n };\n }\n\n\n\n /**\n * TODO IMPLEMENT\n * start async node process\n */\n export const startAsync = async (\n command: string,\n cwd: string,\n\n options?: Omit<CoreModels.ExecuteOptions, 'tryAgainWhenFailAfter'>,\n ): Promise<void> => {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n };\n\n\n\n\n\n\n\n\n\n\n\n\n /**\n * This let you start child process and resolve promise when some\n * condition is met. It is useful for example when you want to start\n * process and wait until some output is in stdout or stderr.\n */\n export const startAsyncChildProcessCommandUntil = async (\n command: string,\n options: {\n /**\n * tels when to resolve promise\n */\n untilOptions: ResolvePromiseMsg;\n displayOutputInParentProcess?: boolean;\n resolveAfterAnyExitCode?: boolean;\n cwd?: string;\n },\n ): Promise<void> => {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n };\n\n\n\n export const getGitBashPath = () => {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n };\n\n\n\n /**\n * TODO IMPLEMENT\n * start async node process\n */\n export const startInNewTerminalWindow = (\n command: string,\n options?: Pick<ProcessStartOptions, 'cwd' | 'hideOutput'>,\n ) => {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n };\n\n\n\n export const getBashOrShellName = ():\n | 'browser'\n | 'cmd'\n | 'powershell'\n | 'gitbash'\n | 'cygwin'\n | 'unknown'\n | 'bash'\n | 'zsh'\n | 'fish'\n | 'sh' => {\n\n return 'browser';\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n };\n\n\n /**\n * Get CPU and memory usage for a single PID.\n */\n export const getUsageForPid = async (\n pid: number,\n ): Promise<{ cpu: number; memoryInGB: number; memoryInMB: number }> => {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n };\n\n /**\n * Return a list of direct child PIDs for the given PID on a Unix-like system.\n * Uses `ps -o pid= --ppid <pid>` to find child processes.\n */\n async function getChildPidsUnix(pid: number): Promise<number[]> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n /**\n * Return a list of direct child PIDs for the given PID on Windows.\n * Uses `wmic process where (ParentProcessId=<pid>) get ProcessId` to find child processes.\n */\n async function getChildPidsWindows(pid: number): Promise<number[]> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n /**\n * Cross-platform function to list *direct* child PIDs of a given PID.\n * Uses the appropriate command depending on `process.platform`.\n */\n export async function getChildPidsOnce(pid: number): Promise<number[]> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n /**\n * Get CPU and memory usage for the current process (the Node.js process itself),\n * plus any child processes spawned by it.\n */\n export const getCurrentProcessAndChildUsage = async (): Promise<{\n current: { cpu: number; memoryInMB: number };\n children: Array<{ pid: number; cpu: number; memoryInMB: number }>;\n }> => {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n };\n}\n\n\n\n\nexport namespace UtilsOs {\n\n /**\n * check if script is running in client browser\n * (websql model -> is also considered as browser\n * because it is running in browser)\n */\n export const isRunningInBrowser = (): boolean => {\n/* */\n/* */\n \n return true;\n };\n\n\n\n /**\n * check if script is running in nodejs\n * (backend script or electron script)\n */\n export const isRunningInNode = (): boolean => {\n/* */\n/* */\n \n return false;\n };\n\n\n\n /**\n * check if script is running special\n * browser mode that has sql.js backend\n * and executes sql queries in browser\n */\n export const isRunningInWebSQL = (): boolean => {\n/* */\n/* */\n \n\n/* */\n/* */\n \n return false;\n };\n\n\n\n /**\n * check whether the current process is running inside\n * Electron backend or browser.\n */\n export const isRunningInElectron = (): boolean => {\n\n // @ts-ignore\n if (\n typeof window !== 'undefined' &&\n typeof window.process === 'object' &&\n // @ts-ignore\n window.process.type === 'renderer'\n ) {\n return true;\n }\n\n\n // @ts-ignore\n if (\n typeof process !== 'undefined' &&\n typeof process.versions === 'object' &&\n !!process.versions.electron\n ) {\n return true;\n }\n\n\n if (\n typeof navigator === 'object' &&\n typeof navigator.userAgent === 'string' &&\n navigator.userAgent.indexOf('Electron') >= 0\n ) {\n return true;\n }\n\n return false;\n };\n\n\n\n /**\n * Check whether the current process is running inside\n * a Visual Studio Code extension.\n */\n export const isRunningInVscodeExtension = (): boolean => {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n };\n\n\n\n /**\n * Check wether the current process is running inside\n * windows subsystem for linux (WSL).\n */\n export const isRunningInWsl = (): boolean => {\n\n return false;\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n };\n\n\n\n const getProcessTree = (): Record<\n number,\n { pid: number; ppid: number; name: string }\n > => {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n };\n\n const findAncestorProcessName = (targets: string[]): string | undefined => {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n };\n\n export const isRunningInWindowsPowerShell = (): boolean => {\n return (\n findAncestorProcessName(['powershell.exe', 'pwsh.exe']) !== undefined\n );\n };\n\n export const isRunningInWindowsCmd = (): boolean => {\n return findAncestorProcessName(['cmd.exe']) !== undefined;\n };\n\n\n\n export const isRunningInDocker = (): boolean => {\n\n return false;\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n };\n\n\n\n export const isRunningInLinuxGraphicsCapableEnvironment = (): boolean => {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n };\n\n\n\n /**\n * Check whether the current process is running in CLI mode.\n */\n export const isRunningInCliMode = (): boolean => {\n\n return false;\n\n/* */\n/* */\n return (void 0);\n };\n\n\n\n /**\n * Check whether the current process is running in mocha test.\n */\n export const isRunningInMochaTest = (): boolean => {\n\n return false;\n\n/* */\n/* */\n return (void 0);\n };\n\n\n\n const isPortInUseOnHost = (port: number, host: string): Promise<boolean> => {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n };\n\n /**\n * Checks if a given port is already in use (bound by another process).\n *\n * @param port - The port number to check.\n * @param host - The hostname or IP address to bind to (default: '127.0.0.1').\n * @returns Promise<boolean> - Resolves to `true` if the port is in use, otherwise `false`.\n */\n export const isPortInUse = async (\n port: number,\n options?: {\n /**\n * '127.0.0.1' etc..\n */\n checkForSpecificOnlyHost?: string;\n },\n ): Promise<boolean> => {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n };\n\n}\n\n\n\nexport namespace UtilsString {\n\n export const kebabCaseNoSplitNumbers = (input: string): string => {\n return (\n input\n\n .replace(/\\s+/g, '-')\n\n .replace(/([a-z0-9])([A-Z])/g, '$1-$2')\n\n .toLowerCase()\n );\n };\n\n}\n\n\n\n/**\n * Taon migration utilities\n */\nexport namespace UtilsMigrations {\n export const getTimestampFromClassName = (\n className: string,\n ): number | undefined => {\n const [maybeTimestamp1, maybeTimestamp2] = className.split('_') || [];\n\n const timestamp1 = parseInt(maybeTimestamp1);\n const timestamp2 = parseInt(maybeTimestamp2);\n const timestamp = !_.isNaN(timestamp1) ? timestamp1 : timestamp2;\n return isValidTimestamp(timestamp) ? timestamp : void 0;\n };\n\n export const getFormattedTimestampFromClassName = (\n className: string,\n ): string | undefined => {\n const timestamp = getTimestampFromClassName(className);\n if (!timestamp) {\n return void 0;\n }\n return formatTimestamp(timestamp);\n };\n\n export const formatTimestamp = (timestamp: number): string => {\n const dateFromTimestamp: Date = new Date(timestamp);\n return `${dateformat(dateFromTimestamp, 'dd-mm-yyyy HH:MM:ss')}`;\n };\n\n export const isValidTimestamp = (value: any): boolean => {\n if (typeof value !== 'number') {\n return false; // Must be a number\n }\n\n const minTimestamp = 0; // Minimum possible timestamp (Unix epoch)\n const maxTimestamp = 8640000000000000; // Max safe timestamp in JS (represents year ~275760)\n\n return value >= minTimestamp && value <= maxTimestamp;\n };\n}\n\n\n\nexport namespace UtilsTerminal {\n\n type SelectActionChoice = {\n [choice: string]: {\n /**\n * Title of the choice\n */\n name: string;\n /**\n * Action to execute\n */\n action?: () => any;\n /**\n * If choice is visible\n * default: true\n */\n visible?: boolean;\n };\n };\n\n\n\n export const wait = (second: number): Promise<void> => {\n return new Promise((resolve, reject) => {\n setTimeout(() => {\n resolve(void 0);\n }, second * 1000);\n });\n };\n\n\n\n export const clearConsole = (): void => {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n };\n\n\n\n const transformChoices = (\n choices: any,\n ): { name: string; value: string }[] => {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n };\n\n\n\n export const multiselect = async <T = string>(options: {\n question: string;\n /**\n * If true, then only one choice can be selected\n * @deprecated use select instead\n */\n onlyOneChoice?: boolean;\n choices:\n | { name: string; value: T }[]\n | { [choice: string]: { name: string } };\n autocomplete?: boolean;\n defaultSelected?: string[];\n }): Promise<T[]> => {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n };\n\n\n\n /**\n * Similar to select but executes action if provided\n * @returns selected and executed value\n */\n export const multiselectActionAndExecute = async <\n CHOICE extends SelectActionChoice = SelectActionChoice,\n >(\n choices: CHOICE,\n options?: {\n question?: string;\n autocomplete?: boolean;\n defaultSelected?: string;\n hint?: string;\n executeActionsOnDefault?: boolean;\n },\n ) => {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n };\n\n\n\n /**\n * Similar to select but executes action if provided\n * @returns selected and executed value\n */\n export const selectActionAndExecute = async <\n CHOICE extends SelectActionChoice = SelectActionChoice,\n >(\n choices: CHOICE,\n options?: {\n question?: string;\n autocomplete?: boolean;\n defaultSelected?: string;\n hint?: string;\n executeActionOnDefault?: boolean;\n },\n ) => {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n };\n\n\n\n export const select = async <T = string>(options: {\n question: string;\n choices:\n | { name: string; value: T }[]\n | { [choice: string]: { name: string } };\n autocomplete?: boolean;\n defaultSelected?: string;\n hint?: string;\n }): Promise<T> => {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n };\n\n\n\n\n export const pipeEnterToStdin = (): void => {\n/* */\n/* */\n return (void 0);\n };\n\n\n\n export const input = async ({\n defaultValue,\n question,\n required, // TODO something is werid with required\n }: {\n defaultValue?: string;\n question: string;\n required?: boolean;\n validate?: (value: string) => boolean;\n }): Promise<string> => {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n };\n\n\n\n export const confirm = async (options?: {\n /**\n * default: Are you sure?\n */\n message?: string;\n callbackTrue?: () => any;\n callbackFalse?: () => any;\n /**\n * default: true\n */\n defaultValue?: boolean;\n engine?: 'inquirer-toggle' | 'prompts' | 'enquirer' | '@inquirer/prompts';\n }) => {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n };\n\n\n\n export const pressAnyKeyToContinueAsync = (options?: {\n message?: string;\n }): Promise<void> => {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n };\n\n\n\n /**\n * @deprecated use UtilsTerminal.pressAnyKeyToContinueAsync()\n */\n export const pressAnyKey = (options?: { message?: string }) => {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n };\n\n\n\n export const previewLongList = async (\n list: string | string[],\n listName = 'List',\n ): Promise<void> => {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n };\n\n\n\n /**\n * Displays a long list in the console using a pager like `less`.\n * Returns a Promise that resolves when the user exits the pager.\n *\n * @param {string} list - The long string content to display.\n * @returns {Promise<void>} A Promise that resolves when the pager exits.\n */\n export const previewLongListGitLogLike = (\n list: string | string[],\n ): Promise<void> => {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n };\n\n}\n\n\n ;({}); // @--end-of-file-for-module=tnp-core lib/utils.ts","\n\nimport { UtilsOs } from './utils';\n\nexport class HelpersIsomorphic {\n /**\n * @deprecated\n * use UtilsOs.isRunningInBrowser() instead\n */\n get isBrowser() {\n return UtilsOs.isRunningInBrowser();\n }\n\n /**\n * @deprecated\n * use UtilsOs.isRunningInWebSQL() instead\n */\n get isWebSQL() {\n return UtilsOs.isRunningInWebSQL();\n }\n\n /**\n * @deprecated\n * use UtilsOs.isRunningInNode() instead\n */\n get isNode() {\n return UtilsOs.isRunningInNode();\n }\n\n /**\n * @deprecated\n * use UtilsOs.isRunningInElectron() instead\n */\n get isElectron() {\n return UtilsOs.isRunningInElectron();\n }\n\n /**\n * TODO what is the purpose of this function?\n * @deprecated\n */\n contain(arr: any[], item: any): boolean {\n return (\n arr.filter(l => {\n if (l instanceof RegExp) {\n return l.test(item);\n }\n if (l === item) {\n return true;\n }\n if (\n item.match && typeof item.match === 'function' ? item.match(l) : false\n ) {\n return true;\n }\n return false;\n }).length > 0\n );\n }\n}\n\n ;({}); // @--end-of-file-for-module=tnp-core lib/helpers-isomorphic.ts","\n\n\ndeclare const global: any;\nimport { chalk, dateformat } from './core-imports';\nimport { _ } from './core-imports';\nimport { frameworkName } from './framework-name';\nimport { HelpersIsomorphic } from './helpers-isomorphic';\nimport { PROGRESS_DATA } from './progress-data';\n\nimport { Helpers } from './index';\n\n\n\nconst KEY = {\n LAST_ERROR: Symbol(),\n LAST_INFO: Symbol(),\n LAST_WARN: Symbol(),\n LAST_LOG: Symbol(),\n LAST_SUCCESS: Symbol(),\n LAST_TASK_STARTED: Symbol(),\n LAST_TASK_DONE: Symbol(),\n};\n\nconst KEY_COUNT = {\n LAST_ERROR: Symbol(),\n LAST_INFO: Symbol(),\n LAST_WARN: Symbol(),\n LAST_LOG: Symbol(),\n LAST_SUCCESS: Symbol(),\n LAST_TASK_STARTED: Symbol(),\n LAST_TASK_DONE: Symbol(),\n};\n\nconst KEY_IMPORTANTCE = {\n LAST_ERROR: Symbol(),\n LAST_INFO: Symbol(),\n LAST_WARN: Symbol(),\n LAST_LOG: Symbol(),\n LAST_SUCCESS: Symbol(),\n LAST_TASK_STARTED: Symbol(),\n LAST_TASK_DONE: Symbol(),\n};\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\nconst LIMIT = 10;\n\n\n/**\n * @param details any data to be transformed\n * @returns string ready to be displayed\n */\nconst transformData = (details: any): string => {\n if (typeof details === 'object') {\n\n\n\n try {\n const json = JSON.stringify(details, null, 2);\n details = json;\n } catch (error) {\n return details;\n }\n }\n return details;\n};\n\n\nexport class HelpersMessages extends HelpersIsomorphic {\n msgCacheClear() {\n/* */\n/* */\n/* */\n/* */\n/* */\n \n }\n\n renderError(err: Error) {\n if (this.isBrowser) {\n\n console.error(err);\n } else {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n }\n }\n\n /**\n * throw error\n */\n throw(details: string) {\n throw new Error(details);\n }\n\n /**\n * throw error and stop application\n * @param details\n */\n stopApplication(details: string) {\n if (this.isBrowser) {\n\n document.body.innerHTML =\n '<h1>Application has encountered an error and stopped.</h1>';\n document.body.style.pointerEvents = 'none';\n\n/* */\n/* */\n/* */\n/* */\n \n }\n throw new Error(details);\n }\n\n tryCatchError(error: any) {\n Helpers.error(error, true, true);\n }\n\n error(details: any, noExit = false, noTrace = false) {\n\n if (Helpers.isBrowser) {\n console.error(details);\n return;\n }\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n }\n\n\n\n info(details: string, repeatable = false) {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n if (Helpers.isBrowser) {\n console.info(details);\n return;\n }\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n }\n\n\n\n success(details: any | string) {\n if (Helpers.isBrowser) {\n console.info(details);\n return;\n }\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n }\n\n\n /**\n *\n * @param details\n * @param isLogTask is less important log task\n * @returns\n */\n taskStarted(details: any | string, isLogTask: boolean = false) {\n if (Helpers.isBrowser) {\n console.info(details);\n return;\n }\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n }\n\n\n taskDone(details?: any | string, isLessImportant = false) {\n if (Helpers.isBrowser) {\n console.info(details);\n return;\n }\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n }\n\n\n get isVerboseMode() {\n\n return true; // TODO what it means in browser\n\n/* */\n/* */\n \n }\n\n\n /**\n * log messages only available in verbose mode\n */\n log(details: any, debugLevel = 0) {\n if (Helpers.isBrowser) {\n console.log(details);\n return;\n }\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n }\n\n\n /**\n * Logs not visible in normal use of taon-cli\n */\n logSuccess(details: any | string) {\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n /**\n * Logs not visible in normal use of taon-cli\n */\n logInfo(details: string, repeatable = false) {\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n /**\n * Logs not visible in normal use of taon-cli\n */\n logError(details: any, noExit = false, noTrace = false) {\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n /**\n * Logs not visible in normal use of taon-cli\n */\n logWarn(details: string, trace = false) {\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n warn(details: string, trace = false) {\n if (Helpers.isBrowser) {\n console.warn(details);\n return;\n }\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n }\n\n}\n\n ;({}); // @--end-of-file-for-module=tnp-core lib/helpers-messages.ts","\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\nimport { Subject, Subscription } from 'rxjs';\n\nimport { _, path, crossPlatformPath } from './core-imports';\nimport { UtilsProcess, UtilsTerminal } from './utils';\nimport { Helpers, Utils, UtilsOs } from './index';\nimport { HelpersMessages } from './helpers-messages';\nimport { CoreModels } from './core-models';\n\nimport type { ChildProcess } from 'child_process';\n\n\n\ndeclare const global: any;\nconst encoding = 'utf8';\n/* */\n/* */\n \nconst WEBSQL_PROC_MOCK_PROCESSES_PID = {};\nconst WEBSQL_PROC_MOCK_PROCESSES_PPID = {};\n\n\n\n\nexport interface RunSyncOrAsyncOptions {\n functionFn: Function;\n context?: object;\n arrayOfParams?: any[];\n}\n\nexport interface CommandOutputOptions {\n biggerBuffer?: boolean;\n showOnlyLastLine?: boolean;\n showStder?: boolean;\n gatherColors?: boolean;\n showErrorWarning?: boolean;\n}\n\n\n\n\n\n\n\nexport class HelpersCore extends HelpersMessages {\n\n private static _instanceCore: HelpersCore;\n public static get InstanceCore() {\n if (!HelpersCore._instanceCore) {\n HelpersCore._instanceCore = new HelpersCore();\n }\n return HelpersCore._instanceCore;\n }\n\n\n\n/* */\n/* */\n \n readonly bigMaxBuffer = 2024 * 500;\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\n\n constructor() {\n super();\n/* */\n/* */\n/* */\n \n }\n\n\n\n /**\n * @deprecated use UtilsOs.isRunningInsideWsl()\n */\n get isWsl() {\n return UtilsOs.isRunningInWsl();\n }\n\n\n\n /**\n * @deprecated use UtilsOs.isRunningInDocker\n */\n isRunningInDocker() {\n return UtilsOs.isRunningInDocker();\n }\n\n\n\n /**\n * @deprecated use UtilsOs.isRunningInLinuxGraphicEnvironment\n */\n isRunningInLinuxGraphicsCapableEnvironment() {\n return UtilsOs.isRunningInLinuxGraphicsCapableEnvironment();\n }\n\n\n\n /**\n * @deprecated use UtilsTerminal.clearConsole\n */\n clearConsole() {\n return UtilsTerminal.clearConsole();\n }\n\n\n\n /**\n * @deprecated\n * get electron browser ipc renderer\n */\n get ipcRenderer(): any { // typeof ipcRenderer\n/* */\n/* */\n \n\n if (!this.isElectron) {\n return;\n }\n return void 0;\n\n\n\n }\n\n\n\n /**\n * get electron web frame\n */\n get webFrame(): any { // typeof webFrame\n //typeof webFrame\n/* */\n/* */\n \n\n if (!this.isElectron) {\n return;\n }\n return void 0;\n\n\n }\n\n\n\n /**\n * @deprecated\n * get electron backend ipc main proces\n */\n get ipcMain() {\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n getElectronWindow({\n allowRunningInsecureContent = true,\n }: { allowRunningInsecureContent?: boolean } = {}) {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n mediaTypeFromSrc(src: string): CoreModels.MediaType {\n const ext = path.extname(src);\n const media = CoreModels.mimeTypes[ext];\n return _.first(media?.split('/'));\n }\n\n\n\n sleep(seconds = 1) {\n/* */\n/* */\n return (void 0);\n }\n\n\n\n removeIfExists(absoluteFileOrFolderPath: string | string[]) {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n /**\n * path.relative that return cross platform path\n */\n relative(cwd: string, to: string) {\n return crossPlatformPath(path.relative(cwd, to));\n }\n\n\n\n removeFileIfExists(absoluteFilePath: string | string[]) {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n removeFolderIfExists(absoluteFolderPath: string | string[]) {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n /**\n * leave max 1 empty line\n */\n removeEmptyLineFromString(str: string) {\n const lines = (str || '').split('\\n');\n let previousWasEmpty = false;\n\n return lines\n .filter(line => {\n if (line.trim() === '') {\n if (previousWasEmpty) {\n\n return false;\n } else {\n\n previousWasEmpty = true;\n return true;\n }\n } else {\n\n previousWasEmpty = false;\n return true;\n }\n })\n .join('\\n');\n }\n\n\n\n /**\n * @deprecated\n */\n tryRemoveDir(\n dirpath: string,\n contentOnly = false,\n omitWarningNotExisted = false,\n ) {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n remove(fileOrFolderPathOrPatter: string | string[], exactFolder = false) {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\n\n get isRunningInGitBash(): boolean {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n /**\n * Check if the current shell is supported by Taon framework.\n */\n get isSupportedTaonTerminal(): boolean {\n\n return false;\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n /**\n * check if function is class\n */\n isClass(funcOrClass: any): boolean {\n let isClass = false;\n if (typeof funcOrClass === 'function') {\n\n\n isClass =\n !!funcOrClass.prototype &&\n Object.getOwnPropertyNames(funcOrClass.prototype).filter(\n f => f !== 'constructor',\n ).length > 0;\n }\n\n return isClass;\n }\n\n\n\n /**\n * check if data is nodejs/browser blob\n *\n * @param maybeBlob\n * @returns\n */\n public isBlob(maybeBlob): maybeBlob is Blob {\n\n return maybeBlob instanceof Blob; // || toString.call(maybeBlob) === '[object Blob]';\n }\n\n\n\n /**\n * Check if data is nodejs buffer\n *\n * @param maybeNodejsBuffer\n * @returns\n */\n/* */\n/* */\n/* */\n/* */\n \n\n\n\n public removeSlashAtEnd(s: string): string {\n s = s?.endsWith(`/`) ? s.slice(0, s.length - 1) : s;\n return s;\n }\n\n\n\n public removeSlashAtBegin(s: string): string {\n s = s?.startsWith(`/`) ? s.slice(1) : s;\n return s;\n }\n\n\n\n /**\n * stringify to pretty json string\n */\n public stringify(inputObject: any): string {\n\n\n\n\n\n\n\n return JSON.stringify(inputObject, null, 2);\n }\n\n\n\n public async runSyncOrAsync<FUNCTION_RETURN_TYPE = any>(\n fnOrOptions: RunSyncOrAsyncOptions,\n ): Promise<FUNCTION_RETURN_TYPE> {\n if (_.isUndefined(fnOrOptions)) {\n return void 0 as any;\n }\n let promisOrValue: any;\n\n\n\n\n\n\n\n const { functionFn, context, arrayOfParams } = fnOrOptions;\n promisOrValue = functionFn.apply(context, arrayOfParams);\n\n // // @ts-ignore\n\n\n\n\n if (promisOrValue instanceof Promise) {\n\n promisOrValue = Promise.resolve(promisOrValue);\n }\n\n return promisOrValue;\n }\n\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\n\n /**\n * symlink may have existed or unexisted destiantion url\n * @param destUrl M\n */\n public isSymlinkThatMatchesUrl(\n possibleSymlink: string,\n destUrl: string,\n absoluteFileMatch = false,\n ): boolean {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n public isSymlinkFileExitedOrUnexisted(filePath: string | string[]): boolean {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n /**\n * If symbolnk link that target file does not exits\n */\n isUnexistedLink(filePath: string | string[]): boolean {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n /**\n * @param existedLink check if source of link exists\n */\n isExistedSymlink(filePath: string | string[]): boolean {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\n\n public exists(\n folderOrFilePath: string | string[],\n\n ) {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n /**\n * this is HACK for running procesess inside processes\n */\n public _fixCommand(command: string): string {\n if (\n (command.startsWith('tnp ') || command.startsWith('taon ')) && // TODO every cli projects here that uses run and need to kill process easly!\n command.search('-spinner=false') === -1 &&\n command.search('-spinner=off') === -1\n ) {\n command = `${command} -spinner=false`;\n }\n\n if (\n global.skipCoreCheck &&\n (command.startsWith('tnp ') || command.startsWith('taon '))\n ) {\n command = `${command} --skipCoreCheck`;\n }\n return command;\n }\n\n\n\n public command(command: string) {\n\n command = Helpers._fixCommand(command);\n\n return {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n };\n }\n\n\n\n /**\n * @deprecated use UtilsTerminal.wait\n */\n public async wait(second: number): Promise<void> {\n await UtilsTerminal.wait(second);\n }\n\n public async timeout(seconds: number): Promise<void> {\n return await Helpers.wait(seconds);\n }\n\n\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\n\n async killProcessByPort(\n portOrPortsToKill: number | number[],\n options?: {\n silent?: boolean;\n },\n ) {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n async killOnPort(\n portOrPortsToKill: number | number[],\n options?: {\n silent?: boolean;\n },\n ) {\n return await Helpers.killProcessByPort(portOrPortsToKill, options);\n }\n\n\n\n public killProcess(byPid: number) {\n/* */\n/* */\n \n/* */\n/* */\n/* */\n \n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n }\n\n\n\n public run(command: string, options?: CoreModels.RunOptions) {\n command = Helpers._fixCommand(command);\n\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n return {\n /**\n * start command as synchronous nodej proces\n */\n\n sync() {\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n },\n\n /**\n * start command as asynchronous nodej proces\n * @param detach (default: false) - if true process will be detached\n */\n async(\n detach = false,\n\n mockFun?: (\n stdoutCallback: (dataForStdout: any) => any,\n stdErrcCallback: (dataForStder: any) => any,\n shouldProcesBeDead?: () => boolean,\n ) => Promise<number> | number,\n\n ): ChildProcess {\n\n\n\n if (mockFun) {\n const subStdoutSub = new Subject();\n const subStderSub = new Subject();\n const exitSub = new Subject();\n const subscribtions: Subscription[] = [];\n\n const procDummy = {\n stdout: {\n on(action: 'data', stdoutCallback: any) {\n if (action == 'data') {\n subscribtions.push(\n subStdoutSub.subscribe(d => {\n stdoutCallback(d);\n }),\n );\n }\n },\n },\n stderr: {\n on(action: 'data', stdoutCallback: any) {\n if (action == 'data') {\n subscribtions.push(\n subStderSub.subscribe(d => {\n stdoutCallback(d);\n }),\n );\n }\n },\n },\n on(action: 'exit', exitFun: any) {\n if (action == 'exit') {\n subscribtions.push(\n exitSub.subscribe(d => {\n exitFun(d);\n }),\n );\n }\n }, // @ts-ignore\n ppid: void 0 as number, // @ts-ignore\n pid: void 0 as number,\n };\n\n procDummy.pid = Math.round(Math.random() * (1000 - 100)) + 100;\n procDummy.ppid = procDummy.pid + 9999;\n\n WEBSQL_PROC_MOCK_PROCESSES_PID[procDummy.pid] = procDummy;\n if (!WEBSQL_PROC_MOCK_PROCESSES_PPID[procDummy.ppid]) {\n WEBSQL_PROC_MOCK_PROCESSES_PPID[procDummy.ppid] = {\n childProcesses: [],\n };\n }\n WEBSQL_PROC_MOCK_PROCESSES_PPID[procDummy.ppid].childProcesses.push(\n procDummy.pid,\n );\n\n const checkIfProcessShouldBeDead = () => {\n return (\n _.isNil(WEBSQL_PROC_MOCK_PROCESSES_PID[procDummy.pid]) ||\n _.isNil(WEBSQL_PROC_MOCK_PROCESSES_PPID[procDummy.ppid])\n );\n };\n\n const f = Helpers.runSyncOrAsync({\n functionFn: mockFun,\n arrayOfParams: [\n d => {\n setTimeout(() => {\n subStdoutSub.next(d);\n });\n },\n d => {\n setTimeout(() => {\n subStderSub.next(d);\n });\n },\n () => {\n const shouldBeDead = checkIfProcessShouldBeDead();\n return shouldBeDead;\n },\n ],\n });\n f.then(exitCode => {\n if (_.isNil(exitCode)) {\n exitCode = 0;\n }\n setTimeout(() => {\n exitSub.next(exitCode);\n subscribtions.forEach(s => s.unsubscribe());\n });\n }).catch(e => {\n console.error(e);\n console.error(`Something wrong with your mock funciton`);\n exitSub.next(1);\n subscribtions.forEach(s => s.unsubscribe());\n });\n return procDummy as any;\n }\n\n\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n\n },\n\n /**\n * start command as asynchronous nodej proces inside promise\n */\n asyncAsPromise(): Promise<void> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n },\n\n unitlOutput(optionsOutput: {\n stdoutMsg: string | string[];\n stderMsg?: string | string[];\n timeout?: number;\n stdoutOutputContainsCallback?: () => any;\n outputLineReplace?: (outputLine: string) => string;\n }): Promise<void> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n },\n\n /**\n * @deprecated use unitlOutput\n * start command as asynchronous nodej proces inside promise\n * and wait until output contains some string\n */\n unitlOutputContains(\n stdoutMsg: string | string[],\n stderMsg?: string | string[],\n timeout = 0,\n stdoutOutputContainsCallback?: () => any,\n ) {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n },\n };\n }\n\n\n\n /**\n * @deprecated use UtilsTerminal.confirm\n */\n async questionYesNo(\n message: string,\n callbackTrue?: () => any,\n callbackFalse?: () => any,\n defaultValue = true,\n ) {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\n\n /**\n * Quick fix for object values\n * @deprecated\n */\n public values(obj: any) {\n if (_.isObject(obj) && !Array.isArray(obj)) {\n const values = [];\n for (const key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n // @ts-ignore\n values.push(obj[key]);\n }\n }\n return values;\n }\n return [];\n }\n\n\n\n /**\n * does not make sense\n * @deprecated\n */\n private isFile(pathToFileOrMaybeFolder: string) {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n async tryReadFile(\n absoluteFilePath: string | string[], // @ts-ignore\n defaultValueWhenNotExists = void 0 as string,\n notTrim = false,\n ): Promise<string | undefined> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n /**\n * wrapper for fs.readFileSync\n */\n readFile(\n absoluteFilePath: string | string[], // @ts-ignore\n defaultValueWhenNotExists = void 0 as string,\n notTrim = false,\n ): string | undefined {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n /**\n * read json from absolute path\n * @returns json object\n */\n public readJson(\n absoluteFilePath: string | string[],\n defaultValue = {},\n useJson5 = false,\n ): any {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n public readJson5(\n absoluteFilePath: string | string[],\n defaultValue: any = {},\n ): any {\n/* */\n/* */\n return (void 0);\n }\n\n public readJsonC(\n absoluteFilePath: string | string[],\n defaultValue: any = {},\n ): any {\n/* */\n/* */\n return (void 0);\n }\n\n\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\n\n replaceLinesInFile(\n absoluteFilePath: string | string[],\n lineReplaceFn: (line: string) => string,\n ) {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n }\n\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\n\n hideNodeWarnings() {\n/* */\n/* */\n/* */\n \n }\n\n}\n\n ;({}); // @--end-of-file-for-module=tnp-core lib/helpers.ts","\n\nexport const CoreConfig = {\n message: {\n globalSystemToolMode: 'globalSystemToolMode',\n },\n};\n\n ;({}); // @--end-of-file-for-module=tnp-core lib/core-config.ts","\n\nimport { Helpers } from '.';\nimport { _ } from './core-imports';\nimport { CoreModels } from './core-models';\n\n/* */\n/* */\n \n\nexport interface IPROGRESS_DATA {\n /**\n * How man percent of\n */\n value?: number;\n msg?: string;\n type?: CoreModels.PROGRESS_DATA_TYPE;\n date?: Date;\n}\n\nexport class PROGRESS_DATA implements IPROGRESS_DATA {\n public static log(log: IPROGRESS_DATA) {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n }\n\n public static resolveFrom(\n chunk: string,\n callbackOnFounded?: (json: PROGRESS_DATA) => any,\n checkSplit = true,\n ): PROGRESS_DATA[] {\n let progress;\n let res: PROGRESS_DATA[] = [];\n if (!_.isString(chunk)) {\n return [];\n }\n chunk = chunk.trim();\n\n if (checkSplit) {\n const split = chunk.split(/\\r\\n|\\n|\\r/);\n if (split.length > 1) {\n\n split.forEach(s => {\n res = res.concat(this.resolveFrom(s, callbackOnFounded, false));\n });\n return res;\n }\n }\n\n if (/\\[\\[\\[.*\\]\\]\\]/g.test(chunk)) {\n chunk = chunk.replace(/^\\[\\[\\[/g, '').replace(/\\]\\]\\]$/g, '');\n progress = chunk;\n }\n if (!_.isUndefined(progress)) {\n try {\n const p = JSON.parse(progress);\n const single = _.merge(new PROGRESS_DATA(), p);\n res = res.concat([single]);\n if (_.isFunction(callbackOnFounded)) {\n callbackOnFounded(single);\n }\n } catch (err) {\n Helpers.error(err, true, true);\n Helpers.error(\n `ProgresssBarData: fail to parse \"${progress}\"`,\n true,\n true,\n );\n }\n }\n return res;\n }\n\n public value?: number;\n public msg?: string;\n\n public type: CoreModels.PROGRESS_DATA_TYPE = 'event';\n\n public date?: Date;\n}\n\n ;({}); // @--end-of-file-for-module=tnp-core lib/progress-data.ts","\n\nimport { chalk } from './core-imports';\nimport { Helpers } from './index';\nimport { frameworkName } from './framework-name';\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\nexport class CLI {\n\n/* */\n/* */\n/* */\n \n\n public static chalk = chalk;\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n}\n\n\n ;({}); // @--end-of-file-for-module=tnp-core lib/core-cli.ts","\n\n/**\n * TODO slowly refactor this.. only actually globally needed are:\n * pm2, yarn, npm-run, ts-node ???\n */\nexport const requiredForDev = {\n npm: [\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n ],\n niceTools: [\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n ],\n programs: [\n ,\n/* */\n/* */\n/* */\n/* */\n/* */\n \n ],\n};\n\n ;({}); // @--end-of-file-for-module=tnp-core lib/required-global-npm-packages.ts","\n\nexport * from './framework-name';\nexport * from './core-imports';\nexport * from './core-models';\nimport { HelpersCore as Base } from './helpers';\nexport * from './core-config';\nexport * from './progress-data';\nexport * from './utils';\nexport * from './core-cli';\nexport * from './required-global-npm-packages';\nexport { HelpersCore as CoreHelpers, CommandOutputOptions } from './helpers';\nexport let Helpers = Base.InstanceCore;\n\n ;({}); // @--end-of-file-for-module=tnp-core lib/index.ts","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["chalk","path","pathMock","chalkMock","Blob","Base"],"mappings":"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"}
1
+ {"version":3,"file":"tnp-core.mjs","sources":["../../../tmp-libs-for-dist/tnp-core/projects/tnp-core/src/lib/framework-name.ts","../../../tmp-libs-for-dist/tnp-core/projects/tnp-core/src/lib/node-chalk-mock.ts","../../../tmp-libs-for-dist/tnp-core/projects/tnp-core/src/lib/node-path-mock.ts","../../../tmp-libs-for-dist/tnp-core/projects/tnp-core/src/lib/core-imports.ts","../../../tmp-libs-for-dist/tnp-core/projects/tnp-core/src/lib/core-models.ts","../../../tmp-libs-for-dist/tnp-core/projects/tnp-core/src/lib/utils.ts","../../../tmp-libs-for-dist/tnp-core/projects/tnp-core/src/lib/helpers-isomorphic.ts","../../../tmp-libs-for-dist/tnp-core/projects/tnp-core/src/lib/helpers-messages.ts","../../../tmp-libs-for-dist/tnp-core/projects/tnp-core/src/lib/helpers.ts","../../../tmp-libs-for-dist/tnp-core/projects/tnp-core/src/lib/core-config.ts","../../../tmp-libs-for-dist/tnp-core/projects/tnp-core/src/lib/progress-data.ts","../../../tmp-libs-for-dist/tnp-core/projects/tnp-core/src/lib/core-cli.ts","../../../tmp-libs-for-dist/tnp-core/projects/tnp-core/src/lib/required-global-npm-packages.ts","../../../tmp-libs-for-dist/tnp-core/projects/tnp-core/src/lib/index.ts","../../../tmp-libs-for-dist/tnp-core/projects/tnp-core/src/tnp-core.ts"],"sourcesContent":["\n\nlet isBrowser = false;\n\nisBrowser = true;\n\n\nconst frameworkNameBeTmp: 'taon' | 'tnp' = '' as any;\n\n/* */\n/* */\n/* */\n \nexport const frameworkNameBe = frameworkNameBeTmp;\n\nexport const frameworkName = isBrowser ? 'taon' : frameworkNameBe;\n\n ;({}); // @--end-of-file-for-module=tnp-core lib/framework-name.ts","\n\n\nimport { Chalk } from 'chalk';\n\n\n\n\nconst allObj = {\n black(a) {\n console.log(a);\n },\n gray(a) {\n console.log(a);\n },\n red(a) {\n console.log(a);\n },\n green(a) {\n console.log(a);\n },\n italic(a) {\n console.log(a);\n },\n magenta(a) {\n console.log(a);\n },\n bold(a) {\n console.log(a);\n },\n underline(a) {\n console.log(a);\n },\n};\n\nconst map = new Map<Function, string>();\n\nconst all = Object.keys(allObj).map(key => {\n map.set(allObj[key], key);\n return allObj[key];\n});\n\nfor (let i = 0; i < all.length; i++) {\n const e1 = all[i] as Function;\n for (let j = 0; j < all.length; j++) {\n const e2 = all[j] as Function; // @ts-ignore\n e1[map.get(e2)] = e2;\n }\n}\n\nexport const chalk: Chalk = allObj as any;\n\n\n ;({}); // @--end-of-file-for-module=tnp-core lib/node-chalk-mock.ts","\n\n\nfunction assertPath(path) {\n if (typeof path !== 'string') {\n throw new TypeError(\n '[taon-core] Path must be a string. Received ' + JSON.stringify(path),\n );\n }\n}\n\n\nfunction normalizeStringPosix(path, allowAboveRoot) {\n var res = '';\n var lastSegmentLength = 0;\n var lastSlash = -1;\n var dots = 0;\n var code;\n for (var i = 0; i <= path.length; ++i) {\n if (i < path.length) code = path.charCodeAt(i);\n else if (code === 47 /*/*/) break;\n else code = 47 /*/*/;\n if (code === 47 /*/*/) {\n if (lastSlash === i - 1 || dots === 1) {\n\n } else if (lastSlash !== i - 1 && dots === 2) {\n if (\n res.length < 2 ||\n lastSegmentLength !== 2 ||\n res.charCodeAt(res.length - 1) !== 46 /*.*/ ||\n res.charCodeAt(res.length - 2) !== 46 /*.*/\n ) {\n if (res.length > 2) {\n var lastSlashIndex = res.lastIndexOf('/');\n if (lastSlashIndex !== res.length - 1) {\n if (lastSlashIndex === -1) {\n res = '';\n lastSegmentLength = 0;\n } else {\n res = res.slice(0, lastSlashIndex);\n lastSegmentLength = res.length - 1 - res.lastIndexOf('/');\n }\n lastSlash = i;\n dots = 0;\n continue;\n }\n } else if (res.length === 2 || res.length === 1) {\n res = '';\n lastSegmentLength = 0;\n lastSlash = i;\n dots = 0;\n continue;\n }\n }\n if (allowAboveRoot) {\n if (res.length > 0) res += '/..';\n else res = '..';\n lastSegmentLength = 2;\n }\n } else {\n if (res.length > 0) res += '/' + path.slice(lastSlash + 1, i);\n else res = path.slice(lastSlash + 1, i);\n lastSegmentLength = i - lastSlash - 1;\n }\n lastSlash = i;\n dots = 0;\n } else if (code === 46 /*.*/ && dots !== -1) {\n ++dots;\n } else {\n dots = -1;\n }\n }\n return res;\n}\n\nfunction _format(sep, pathObject) {\n var dir = pathObject.dir || pathObject.root;\n var base =\n pathObject.base || (pathObject.name || '') + (pathObject.ext || '');\n if (!dir) {\n return base;\n }\n if (dir === pathObject.root) {\n return dir + base;\n }\n return dir + sep + base;\n}\n\nexport const path = {\n\n resolve: function resolve(pathToResovle) {\n return pathToResovle;\n },\n\n normalize: function normalize(pathArg) {\n assertPath(pathArg);\n\n if (pathArg.length === 0) return '.';\n\n var isAbsolute = pathArg.charCodeAt(0) === 47; /*/*/\n var trailingSeparator = pathArg.charCodeAt(pathArg.length - 1) === 47; /*/*/\n\n\n pathArg = normalizeStringPosix(pathArg, !isAbsolute);\n\n if (pathArg.length === 0 && !isAbsolute) pathArg = '.';\n if (pathArg.length > 0 && trailingSeparator) pathArg += '/';\n\n if (isAbsolute) return '/' + pathArg;\n return pathArg;\n },\n\n isAbsolute: function isAbsolute(pathArg) {\n assertPath(pathArg);\n return pathArg.length > 0 && pathArg.charCodeAt(0) === 47 /*/*/;\n },\n\n join: function join() {\n if (arguments.length === 0) return '.';\n var joined;\n for (var i = 0; i < arguments.length; ++i) {\n var arg = arguments[i];\n assertPath(arg);\n if (arg.length > 0) {\n if (joined === undefined) joined = arg;\n else joined += '/' + arg;\n }\n }\n if (joined === undefined) return '.';\n return path.normalize(joined);\n },\n\n relative: function relative(from, to) {\n assertPath(from);\n assertPath(to);\n\n if (from === to) return '';\n\n from = path.resolve(from);\n to = path.resolve(to);\n\n if (from === to) return '';\n\n\n var fromStart = 1;\n for (; fromStart < from.length; ++fromStart) {\n if (from.charCodeAt(fromStart) !== 47 /*/*/) break;\n }\n var fromEnd = from.length;\n var fromLen = fromEnd - fromStart;\n\n\n var toStart = 1;\n for (; toStart < to.length; ++toStart) {\n if (to.charCodeAt(toStart) !== 47 /*/*/) break;\n }\n var toEnd = to.length;\n var toLen = toEnd - toStart;\n\n\n var length = fromLen < toLen ? fromLen : toLen;\n var lastCommonSep = -1;\n var i = 0;\n for (; i <= length; ++i) {\n if (i === length) {\n if (toLen > length) {\n if (to.charCodeAt(toStart + i) === 47 /*/*/) {\n\n\n return to.slice(toStart + i + 1);\n } else if (i === 0) {\n\n\n return to.slice(toStart + i);\n }\n } else if (fromLen > length) {\n if (from.charCodeAt(fromStart + i) === 47 /*/*/) {\n\n\n lastCommonSep = i;\n } else if (i === 0) {\n\n\n lastCommonSep = 0;\n }\n }\n break;\n }\n var fromCode = from.charCodeAt(fromStart + i);\n var toCode = to.charCodeAt(toStart + i);\n if (fromCode !== toCode) break;\n else if (fromCode === 47 /*/*/) lastCommonSep = i;\n }\n\n var out = '';\n\n\n for (i = fromStart + lastCommonSep + 1; i <= fromEnd; ++i) {\n if (i === fromEnd || from.charCodeAt(i) === 47 /*/*/) {\n if (out.length === 0) out += '..';\n else out += '/..';\n }\n }\n\n\n\n if (out.length > 0) return out + to.slice(toStart + lastCommonSep);\n else {\n toStart += lastCommonSep;\n if (to.charCodeAt(toStart) === 47 /*/*/) ++toStart;\n return to.slice(toStart);\n }\n },\n\n _makeLong: function _makeLong(path) {\n return path;\n },\n\n dirname: function dirname(path) {\n assertPath(path);\n if (path.length === 0) return '.';\n var code = path.charCodeAt(0);\n var hasRoot = code === 47; /*/*/\n var end = -1;\n var matchedSlash = true;\n for (var i = path.length - 1; i >= 1; --i) {\n code = path.charCodeAt(i);\n if (code === 47 /*/*/) {\n if (!matchedSlash) {\n end = i;\n break;\n }\n } else {\n\n matchedSlash = false;\n }\n }\n\n if (end === -1) return hasRoot ? '/' : '.';\n if (hasRoot && end === 1) return '//';\n return path.slice(0, end);\n },\n\n basename: function basename(pathArg, ext) {\n if (ext !== undefined && typeof ext !== 'string')\n throw new TypeError('\"ext\" argument must be a string');\n assertPath(pathArg);\n\n var start = 0;\n var end = -1;\n var matchedSlash = true;\n var i;\n\n if (ext !== undefined && ext.length > 0 && ext.length <= pathArg.length) {\n if (ext.length === pathArg.length && ext === pathArg) return '';\n var extIdx = ext.length - 1;\n var firstNonSlashEnd = -1;\n for (i = pathArg.length - 1; i >= 0; --i) {\n var code = pathArg.charCodeAt(i);\n if (code === 47 /*/*/) {\n\n\n if (!matchedSlash) {\n start = i + 1;\n break;\n }\n } else {\n if (firstNonSlashEnd === -1) {\n\n\n matchedSlash = false;\n firstNonSlashEnd = i + 1;\n }\n if (extIdx >= 0) {\n\n if (code === ext.charCodeAt(extIdx)) {\n if (--extIdx === -1) {\n\n\n end = i;\n }\n } else {\n\n\n extIdx = -1;\n end = firstNonSlashEnd;\n }\n }\n }\n }\n\n if (start === end) end = firstNonSlashEnd;\n else if (end === -1) end = pathArg.length;\n return pathArg.slice(start, end);\n } else {\n for (i = pathArg.length - 1; i >= 0; --i) {\n if (pathArg.charCodeAt(i) === 47 /*/*/) {\n\n\n if (!matchedSlash) {\n start = i + 1;\n break;\n }\n } else if (end === -1) {\n\n\n matchedSlash = false;\n end = i + 1;\n }\n }\n\n if (end === -1) return '';\n return pathArg.slice(start, end);\n }\n },\n\n extname: function extname(pathArg) {\n assertPath(pathArg);\n var startDot = -1;\n var startPart = 0;\n var end = -1;\n var matchedSlash = true;\n\n\n var preDotState = 0;\n for (var i = pathArg.length - 1; i >= 0; --i) {\n var code = pathArg.charCodeAt(i);\n if (code === 47 /*/*/) {\n\n\n if (!matchedSlash) {\n startPart = i + 1;\n break;\n }\n continue;\n }\n if (end === -1) {\n\n\n matchedSlash = false;\n end = i + 1;\n }\n if (code === 46 /*.*/) {\n\n if (startDot === -1) startDot = i;\n else if (preDotState !== 1) preDotState = 1;\n } else if (startDot !== -1) {\n\n\n preDotState = -1;\n }\n }\n\n if (\n startDot === -1 ||\n end === -1 ||\n\n preDotState === 0 ||\n\n (preDotState === 1 && startDot === end - 1 && startDot === startPart + 1)\n ) {\n return '';\n }\n return pathArg.slice(startDot, end);\n },\n\n format: function format(pathObject) {\n if (pathObject === null || typeof pathObject !== 'object') {\n throw new TypeError(\n 'The \"pathObject\" argument must be of type Object. Received type ' +\n typeof pathObject,\n );\n }\n return _format('/', pathObject);\n },\n\n parse: function parse(pathArg) {\n assertPath(pathArg);\n\n var ret = { root: '', dir: '', base: '', ext: '', name: '' };\n if (pathArg.length === 0) return ret;\n var code = pathArg.charCodeAt(0);\n var isAbsolute = code === 47; /*/*/\n var start;\n if (isAbsolute) {\n ret.root = '/';\n start = 1;\n } else {\n start = 0;\n }\n var startDot = -1;\n var startPart = 0;\n var end = -1;\n var matchedSlash = true;\n var i = pathArg.length - 1;\n\n\n\n var preDotState = 0;\n\n\n for (; i >= start; --i) {\n code = pathArg.charCodeAt(i);\n if (code === 47 /*/*/) {\n\n\n if (!matchedSlash) {\n startPart = i + 1;\n break;\n }\n continue;\n }\n if (end === -1) {\n\n\n matchedSlash = false;\n end = i + 1;\n }\n if (code === 46 /*.*/) {\n\n if (startDot === -1) startDot = i;\n else if (preDotState !== 1) preDotState = 1;\n } else if (startDot !== -1) {\n\n\n preDotState = -1;\n }\n }\n\n if (\n startDot === -1 ||\n end === -1 ||\n\n preDotState === 0 ||\n\n (preDotState === 1 && startDot === end - 1 && startDot === startPart + 1)\n ) {\n if (end !== -1) {\n if (startPart === 0 && isAbsolute)\n ret.base = ret.name = pathArg.slice(1, end);\n else ret.base = ret.name = pathArg.slice(startPart, end);\n }\n } else {\n if (startPart === 0 && isAbsolute) {\n ret.name = pathArg.slice(1, startDot);\n ret.base = pathArg.slice(1, end);\n } else {\n ret.name = pathArg.slice(startPart, startDot);\n ret.base = pathArg.slice(startPart, end);\n }\n ret.ext = pathArg.slice(startDot, end);\n }\n\n if (startPart > 0) ret.dir = pathArg.slice(0, startPart - 1);\n else if (isAbsolute) ret.dir = '/';\n\n return ret;\n },\n\n sep: '/',\n delimiter: ':',\n win32: {\n // @ts-ignore\n normalize: p => {\n return p;\n },\n },\n posix: null,\n};\n\n\n ;({}); // @--end-of-file-for-module=tnp-core lib/node-path-mock.ts","\n\nlet forceTrace = false;\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\nimport jQuery from 'jquery';\nimport { chalk as chalkMock } from './node-chalk-mock';\nimport { path as pathMock } from './node-path-mock';\n\nimport * as _ from 'lodash';\nimport * as q from 'q';\nimport * as moment from 'moment';\nimport * as dateformat from 'dateformat';\nimport { Chalk } from 'chalk';\nimport * as json5 from 'json5';\nimport type jQueryType from 'jquery';\nimport type chalkBaseType from 'chalk';\nimport type * as pathBaseType from 'path';\nimport type * as globBaseType from 'glob';\nimport type * as fseBaseType from 'fs-extra';\nimport type * as osBaseType from 'os';\nimport type * as child_processType from 'child_process';\nimport type * as httpBaseType from 'http';\nimport type * as httpsBaseType from 'https';\nimport type * as fkillBaseType from 'fkill';\nimport type * as psListBaseType from 'ps-list';\nimport type * as netBaseType from 'net';\nimport type * as spawnBaseType from 'cross-spawn';\nimport type * as fgBaseType from 'fast-glob';\nimport type { minimatch as minimatchBaseType } from 'minimatch';\nimport type * as rimrafBaseType from 'rimraf';\nimport type * as chokidarBaseType from 'chokidar';\nimport type * as mkdirpBaseType from 'mkdirp';\nimport type * as ncpBaseType from 'copy-paste';\nimport type * as psBaseType from 'ps-node';\nimport { Helpers } from './index';\n\n\n/* */\n/* */\n \n\n\n\n\n\nlet $: jQueryType;\n\n$ = jQuery;\n\n/* */\n/* */\n \n\n\n\n\nlet path = void 0 as typeof pathBaseType;\n/* */\n/* */\n \n\n\n// @ts-ignore\npath = pathMock;\n\n\n\n\n\nlet chalk: Chalk = void 0 as typeof chalkBaseType;\n/* */\n/* */\n \n\n\n// @ts-ignore\nchalk = chalkMock;\n\n\n\n\nlet glob = void 0 as typeof globBaseType;\n/* */\n/* */\n \n\n\n\n\n\n\nlet fse = void 0 as typeof fseBaseType;\n/* */\n/* */\n \n\n\n\n\n\n\nlet os = void 0 as typeof osBaseType;\n/* */\n/* */\n \n\n\n\n\n\n\nlet child_process = void 0 as typeof child_processType;\n/* */\n/* */\n \n\n\n\nlet http = void 0 as typeof httpBaseType;\n/* */\n/* */\n \n\n\n\nlet https = void 0 as typeof httpsBaseType;\n/* */\n/* */\n \n\n\n\nlet isRoot = void 0 as () => Promise<boolean>;\n/* */\n/* */\n \n\n\n\nlet isAdmin = void 0 as () => Promise<boolean>;\n/* */\n/* */\n \n\n\n\n/**\n * check if the current process is elevated\n * - sudo in unix/macos\n * - admin in windows\n */\nlet isElevated = void 0 as () => Promise<boolean>;\n/* */\n/* */\n \n\n\n\nlet fkill = void 0 as typeof fkillBaseType;\n/* */\n/* */\n \n\n\n\nlet psList = void 0 as typeof psListBaseType;\n/* */\n/* */\n \n\n\n\nlet net = void 0 as typeof netBaseType;\n/* */\n/* */\n \n\n\n\nlet spawn = void 0 as typeof spawnBaseType;\n/* */\n/* */\n \n\n\n\nlet minimatch = void 0 as typeof minimatchBaseType;\n/* */\n/* */\n \n\n\n\nlet rimraf = void 0 as typeof rimrafBaseType;\n/* */\n/* */\n \n\n\n\nlet chokidar = void 0 as typeof chokidarBaseType;\n/* */\n/* */\n \n\n\n\nlet mkdirp = void 0 as typeof mkdirpBaseType;\n/* */\n/* */\n \n\n\n\nlet ncp = void 0 as typeof ncpBaseType;\n/* */\n/* */\n \n\n\n\nlet ps = void 0 as typeof psBaseType;\n/* */\n/* */\n \n\n\n\nlet fg = void 0 as typeof fgBaseType;\n/* */\n/* */\n \n\n\n\n\n\n\n\n/**\n * transform unix path to win32 path\n */\nconst win32Path = (p: string): string => {\n/* */\n/* */\n/* */\n/* */\n \n if (/^\\/[a-z]\\//.test(p)) {\n p = p.replace(/^\\/[a-z]\\//, `${p.charAt(1).toUpperCase()}:/`);\n }\n return path.win32.normalize(p);\n};\n\n\n/**\n * This funciton will replace // to /\n */\nconst crossPlatformPath = (\n pathStringOrPathParts: string | string[],\n): string => {\n if (Array.isArray(pathStringOrPathParts)) {\n pathStringOrPathParts = pathStringOrPathParts.join('/');\n }\n\n if (typeof pathStringOrPathParts !== 'string') {\n return pathStringOrPathParts;\n }\n\n\n\n if (\n typeof pathStringOrPathParts === 'string' &&\n /^[A-Z]\\:/.test(pathStringOrPathParts)\n ) {\n pathStringOrPathParts = _.lowerFirst(pathStringOrPathParts);\n }\n\n const isExtendedLengthPath = /^\\\\\\\\\\?\\\\/.test(pathStringOrPathParts);\n const hasNonAscii = /[^\\u0000-\\u0080]+/.test(pathStringOrPathParts); // eslint-disable-line no-control-regex\n if (isExtendedLengthPath) {\n console.warn(`[taon-core][crossPlatformPath]: Path starts with \\\\\\\\,\n this is not supported in crossPlatformPath`);\n if (forceTrace) {\n console.trace(`path: \"${pathStringOrPathParts}\"`);\n }\n }\n\n if (hasNonAscii) {\n const allNonAscii = pathStringOrPathParts.match(/[^\\u0000-\\u0080]+/g) || '';\n Helpers.logWarn(\n `[taon-core][crossPlatformPath]: Path contains non-ascii characters: ${allNonAscii}`,\n );\n Helpers.logWarn(pathStringOrPathParts);\n }\n\n pathStringOrPathParts = (pathStringOrPathParts || '')\n .replace(/\\\\/g, '/')\n .replace(/\\/\\//g, '/')\n .replace(/\\/\\//g, '/'); // TODO probably not needed\n\n let isWindows = false;\n/* */\n/* */\n/* */\n/* */\n \n\n const regexWinPath1 = /^(\\/)[a-zA-Z]\\:/;\n\n\n if (isWindows && regexWinPath1.test(pathStringOrPathParts)) {\n pathStringOrPathParts = pathStringOrPathParts.slice(1);\n }\n\n\n\n\n\n\n\n\n\n\n\n return pathStringOrPathParts;\n};\n\n\n\nexport { _, q, moment, dateformat, crossPlatformPath, win32Path, path, chalk, json5, $, glob, fse, os, child_process, http, https, isElevated, fkill, psList, spawn, minimatch, fg, chokidar, mkdirp, ncp, rimraf, net, ps, };/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n\n\n\n\n ;({}); // @--end-of-file-for-module=tnp-core lib/core-imports.ts","\n\nimport type { ChildProcess } from 'child_process';\n\nimport { PackageJson } from 'type-fest';\n\nexport namespace CoreModels {\n\n export type Package = {\n name: string;\n version?: string;\n installType?: InstalationType;\n };\n\n\n\n export type NpmInstallOptions = {\n pkg?: CoreModels.Package;\n /**\n * false by default\n */\n silent?: boolean;\n /**\n * false by default\n */\n useYarn?: boolean;\n /**\n * false by default\n */\n force?: boolean;\n /**\n * Reason for installing package(s)\n */\n reason?: string;\n /**\n * true by default\n */\n removeYarnOrPackageJsonLock?: boolean;\n /**\n * false by default\n */\n generateYarnOrPackageJsonLock?: boolean;\n };\n\n\n\n export type InstalationType = '-g' | '--save' | '--save-dev' | 'remove';\n\n export const InstalationTypeArr = ['-g', '--save', '--save-dev'];\n\n\n export type ReleaseVersionType = 'major' | 'minor' | 'patch';\n export type PreReleaseVersionTag = 'alpha' | 'beta' | 'rc' | 'next';\n export const NpmSpecialVersions = [\n 'latest',\n 'next',\n 'beta',\n 'alpha',\n 'rc',\n 'lts',\n ];\n\n\n export type PROGRESS_DATA_TYPE = 'info' | 'error' | 'warning' | 'event';\n\n\n\n /**\n * Available application environments.\n */\n export const EnvironmentName = Object.freeze({\n /**\n * Default environment, typically for artifact without application\n * or for storing common data\n */\n __: '__',\n\n /**\n * Local development environment, typically the developer's machine.\n */\n LOCALHOST: 'localhost',\n\n /**\n * Development environment used by engineers to deploy and test new features.\n */\n DEV: 'dev',\n\n /**\n * Staging environment used for final validations before production.\n */\n STAGE: 'stage',\n\n /**\n * Production environment serving live users.\n */\n PROD: 'prod',\n\n /**\n * Automated test environment for running unit, integration, or automated tests.\n */\n TEST: 'test',\n\n /**\n * Quality assurance environment designated for manual and exploratory testing.\n */\n QA: 'qa',\n\n /**\n * Sandbox environment for experimenting and integration without affecting other environments.\n */\n SANDBOX: 'sandbox',\n\n /**\n * User Acceptance Testing environment where clients or stakeholders validate the release candidate.\n */\n UAT: 'uat',\n\n /**\n * Pre-production environment, closely mirroring production for final testing and validation.\n */\n PREPROD: 'preprod',\n\n /**\n * Demonstration environment specifically configured for client presentations and demos.\n */\n DEMO: 'demo',\n\n /**\n * Continuous Integration environment used by CI/CD pipelines for automated builds and deployments.\n */\n CI: 'ci',\n\n /**\n * Training environment dedicated to internal team onboarding and training activities.\n */\n TRAINING: 'training',\n });\n\n export type EnvironmentNameTaon =\n (typeof EnvironmentName)[keyof typeof EnvironmentName];\n\n\n\n\n export type PUSHTYPE =\n | 'feat'\n | 'chore'\n | 'feature'\n | 'refactor'\n | 'perf'\n | 'styles'\n | 'ci'\n | 'build'\n | 'fix'\n | 'bugfix'\n | 'release'\n | 'docs';\n\n\n\n /**\n * @deprecated\n */\n export type UIFramework = 'bootstrap' | 'material' | 'ionic';\n\n\n\n export type FrameworkVersion =\n | 'v1'\n | 'v2'\n | 'v3'\n | 'v4'\n | 'v16'\n | 'v18'\n | 'v19'\n | 'v20'\n | 'v21'\n | 'v22';\n\n\n\n export type CutableFileExt =\n | 'scss'\n | 'css'\n | 'less'\n | 'sass'\n | 'html'\n | 'ts'\n | 'tsx'\n | 'js';\n\n\n\n export type ImageFileExtension = 'jpg' | 'jpeg' | 'png' | 'svg';\n export const ImageFileExtensionArr: CoreModels.ImageFileExtension[] = [\n 'jpg',\n 'jpeg',\n 'png',\n 'svg',\n ];\n\n\n\n export type FileExtension =\n | 'json'\n | 'html'\n | ImageFileExtension\n | 'txt'\n | 'md'\n | CutableFileExt;\n\n\n\n export type HttpMethod =\n | 'get'\n | 'post'\n | 'put'\n | 'delete'\n | 'patch'\n | 'head'\n | 'jsonp';\n\n\n\n export type ParamType = 'Path' | 'Query' | 'Cookie' | 'Header' | 'Body';\n\n\n\n export type TsUsage = 'import' | 'export';\n\n\n\n export type BaseProjectType =\n | 'typescript'\n | 'angular'\n | 'angular-lib'\n | 'unknown'\n | 'unknown-npm-project';\n\n\n\n export const BaseProjectTypeArr = [\n 'typescript',\n 'angular',\n 'angular-lib',\n 'unknown',\n 'unknown-npm-project',\n ];\n\n\n\n export type LibType =\n | BaseProjectType\n | 'isomorphic-lib' // + https://github.com/maximegris/angular-electron\n | 'container'\n | 'unknown-npm-project';\n\n\n\n /**\n * @deprecated\n */\n export type NewFactoryType = LibType | 'model' | 'single-file-project';\n\n\n\n /**\n * @deprecated\n */\n export type CoreLibCategory = LibType | 'common';\n\n\n\n export type FileEvent = 'created' | 'changed' | 'removed' | 'rename';\n\n\n\n /**\n * @deprecated\n */\n export type OutFolder = 'dist' | 'browser';\n\n\n\n export type DatabaseType = ':inmemory' | 'mysql' | 'sqljs';\n\n\n\n export interface UploadedBackendFile {\n data:\n | any\n/* */\n/* */\n \n encoding: string;\n md5: string;\n tempFilePath: string;\n mimetype: ContentType;\n mv: (path, callback) => any;\n name: string;\n truncated: boolean;\n }\n\n\n\n /**\n * @deprecated\n */\n export interface ExecuteOptions {\n /** Extract string from line */\n extractFromLine?: (string | Function)[];\n /**\n * Modify output line by line\n */\n outputLineReplace?: (outputLine: string) => string;\n resolvePromiseMsg?: {\n stdout?: string | string[];\n stderr?: string | string[];\n };\n resolvePromiseMsgCallback?: {\n stdout?: () => any;\n stderr?: () => any;\n exitCode?: (exitCode: number) => any;\n };\n prefix?: string;\n detach?: boolean;\n /**\n * Try command again after fail after n miliseconds\n */\n tryAgainWhenFailAfter?: number;\n /**\n * TODO @LAST implement this\n *\n * Output from processe with this key\n * will not be displayed twice when\n * 2 processes are running at the same time\n */\n similarProcessKey?: string;\n\n /**\n * Use big buffer for big webpack logs\n */\n biggerBuffer?: boolean;\n askToTryAgainOnError?: boolean;\n onChildProcessChange?: (childProcess: ChildProcess) => void;\n exitOnErrorCallback?: (code: number) => void;\n /**\n * From displaying in console\n */\n hideOutput?: {\n stdout?: boolean;\n stderr?: boolean;\n acceptAllExitCodeAsSuccess?: boolean;\n };\n outputBuffer?: string[];\n outputBufferMaxSize?: number;\n }\n\n\n\n /**\n * @deprecated\n */\n export interface RunOptions extends ExecuteOptions {\n showCommand?: boolean;\n\n /**\n * Show process output\n */\n output?: boolean;\n\n silence?: boolean;\n stdio?: any;\n\n\n cwd?: string;\n }\n\n\n\n\n\n export const mimeTypes = {\n '.aac': 'audio/aac',\n '.abw': 'application/x-abiword',\n '.arc': 'application/x-freearc',\n '.avi': 'video/x-msvideo',\n '.azw': 'application/vnd.amazon.ebook',\n '.bin': 'application/octet-stream',\n '.bmp': 'image/bmp',\n '.bz': 'application/x-bzip',\n '.bz2': 'application/x-bzip2',\n '.csh': 'application/x-csh',\n '.css': 'text/css',\n '.csv': 'text/csv',\n '.doc': 'application/msword',\n '.docx':\n 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',\n '.eot': 'application/vnd.ms-fontobject',\n '.epub': 'application/epub+zip',\n '.gz': 'application/gzip',\n '.gif': 'image/gif',\n '.htm': 'text/html',\n '.html': 'text/html',\n '.ico': 'image/vnd.microsoft.icon',\n '.ics': 'text/calendar',\n '.jar': 'application/java-archive',\n '.jpeg': 'image/jpeg',\n '.jpg': 'image/jpeg',\n '.js': 'text/javascript',\n '.json': 'application/json',\n '.jsonld': 'application/ld+json',\n '.mid': 'application/midi',\n '.midi': 'application/midi',\n '.mjs': 'text/javascript',\n '.mp3': 'audio/mpeg',\n '.mp4': 'video/mp4',\n '.mpeg': 'video/mpeg',\n '.mpkg': 'application/vnd.apple.installer+xml',\n '.odp': 'application/vnd.oasis.opendocument.presentation',\n '.ods': 'application/vnd.oasis.opendocument.spreadsheet',\n '.odt': 'application/vnd.oasis.opendocument.text',\n '.oga': 'audio/ogg',\n '.ogg': 'audio/ogg',\n '.ogv': 'video/ogg',\n '.ogx': 'application/ogg',\n '.opus': 'audio/opus',\n '.otf': 'font/otf',\n '.png': 'image/png',\n '.pdf': 'application/pdf',\n '.php': 'application/php',\n '.ppt': 'application/vnd.ms-powerpoint',\n '.pptx':\n 'application/vnd.openxmlformats-officedocument.presentationml.presentation',\n '.rar': 'application/vnd.rar',\n '.rtf': 'application/rtf',\n '.sh': 'application/x-sh',\n '.svg': 'image/svg+xml',\n '.swf': 'application/x-shockwave-flash',\n '.tar': 'application/x-tar',\n '.tif': 'image/tiff',\n '.tiff': 'image/tiff',\n '.ts': 'video/mp2t',\n '.ttf': 'font/ttf',\n '.txt': 'text/plain',\n '.vsd': 'application/vnd.visio',\n '.wav': 'audio/wav',\n '.weba': 'audio/webm',\n '.webm': 'video/webm',\n '.webp': 'image/webp',\n '.woff': 'font/woff',\n '.woff2': 'font/woff2',\n '.xhtml': 'application/xhtml+xml',\n '.xls': 'application/vnd.ms-excel',\n '.xlsx':\n 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',\n '.xml': 'application/xml',\n '.xul': 'application/vnd.mozilla.xul+xml',\n '.zip': 'application/zip',\n '.3gp': 'video/3gpp',\n '.3g2': 'video/3gpp2',\n '.7z': 'application/x-7z-compressed',\n } as const;\n\n export type ContentTypeKeys = keyof typeof mimeTypes;\n export type ContentType =\n | (typeof mimeTypes)[ContentTypeKeys]\n | 'multipart/form-data';\n type ContentType_ = ContentType;\n\n /**\n * https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types\n */\n export type MediaType =\n | 'text'\n | 'image'\n | 'audio'\n | 'font'\n | 'video'\n | 'application'\n | 'multipart'\n | 'message'\n | 'model';\n\n export const MediaTypeAllArr = [\n 'text',\n 'image',\n 'audio',\n 'video',\n 'font',\n 'application',\n 'multipart',\n 'message',\n 'model',\n ] as MediaType[];\n\n export type MimeType = keyof typeof mimeTypes;\n export const MimeTypesObj = mimeTypes;\n\n\n\n export interface ManifestIcon {\n src: string; // \"assets/icons/icon-96x96.png\",\n sizes: string; // \"96x96\",\n type: string; // \"image/png\",\n purpose: string; // \"maskable any\"\n }\n\n export interface PwaManifest {\n name: string; // \"app\",\n short_name: string; // \"app\",\n theme_color: string; // \"#1976d2\",\n background_color: string; // \"#fafafa\",\n display: 'standalone';\n scope: string; // \"./\",\n start_url: string; // \"start_url\": \"./\", => \"start_url\" \"https://darekf77.github.io/bs4-breakpoint/\"\n icons: ManifestIcon[];\n }\n\n\n\n export interface VSCodeSettings {\n 'files.exclude': { [files: string]: boolean };\n 'workbench.colorTheme': 'Default Light+' | 'Kimbie Dark';\n 'workbench.colorCustomizations': {\n 'activityBar.background'?: string;\n 'activityBar.foreground'?: string;\n 'statusBar.background'?: string;\n };\n }\n\n\n\n /**\n * @deprecated\n */\n export interface Position {\n x: number;\n y: number;\n }\n\n\n\n /**\n * @deprecated\n */\n export interface Size {\n w: number;\n h: number;\n }\n\n\n\n interface GlobalNpmDependency {\n name: string;\n installName?: string;\n version?: string | number;\n }\n\n interface GlobalCommandLineProgramDependency {\n name: string;\n website: string;\n version?: string;\n }\n export interface GlobalDependencies {\n npm?: GlobalNpmDependency[];\n programs?: GlobalCommandLineProgramDependency[];\n }\n\n\n\n interface AngularCompilerOptions {\n fullTemplateTypeCheck: boolean;\n strictInjectionParameters: boolean;\n compilationMode: string;\n preserveSymlinks: boolean;\n enableIvy: boolean;\n }\n\n interface CompilerOptions {\n baseUrl: string;\n outDir: string;\n sourceMap: boolean;\n declaration: boolean;\n strictNullChecks: boolean;\n downlevelIteration: boolean;\n experimentalDecorators: boolean;\n emitDecoratorMetadata: boolean;\n esModuleInterop: boolean;\n module: string;\n moduleResolution: string;\n importHelpers: boolean;\n skipLibCheck: boolean;\n target: string;\n typeRoots: string[];\n types: string[];\n lib: string[];\n paths: { [fullPackageName: string]: string[] };\n useDefineForClassFields: boolean;\n }\n export interface TsConfigJson {\n extends: string;\n exclude: string[];\n compileOnSave: boolean;\n compilerOptions: CompilerOptions;\n angularCompilerOptions: AngularCompilerOptions;\n }\n\n export interface TscCompileOptions {\n cwd: string;\n watch?: boolean;\n outDir?: 'dist';\n generateDeclarations?: boolean;\n tsExe?: string;\n diagnostics?: boolean;\n hideErrors?: boolean;\n debug?: boolean;\n }\n\n}\n\n ;({}); // @--end-of-file-for-module=tnp-core lib/core-models.ts","\n\n\nimport { Blob } from 'buffer';\nimport { ChildProcess } from 'child_process';\nimport * as net from 'net';\nimport { promisify } from 'util';\n\nimport axios, { AxiosResponse } from 'axios';\n\nimport { path, _, crossPlatformPath, os, chalk } from './core-imports';\nimport { dateformat } from './core-imports';\nimport { spawn, child_process } from './core-imports';\nimport { fse } from './core-imports';\nimport { CoreModels } from './core-models';\n\nimport { Helpers } from './index';\n\n\nconst BLOB_SUPPORTED_IN_SQLJS = false;\n\n\nexport namespace Utils {\n\n export const uniqArray = <T = any>(\n array: any[],\n uniqueProperty?: keyof T,\n ) => {\n var seen = {};\n return array\n .filter(f => !!f)\n .filter(function (item) {\n return seen.hasOwnProperty(uniqueProperty ? item[uniqueProperty] : item)\n ? false\n : (seen[uniqueProperty ? item[uniqueProperty] : item] = true);\n }) as T[];\n };\n\n\n\n /**\n * @param anyObject\n * @returns object with sorted keys\n */\n export const sortKeys = (anyObject: any): any => {\n if (_.isArray(anyObject)) {\n return anyObject.map(sortKeys);\n }\n if (_.isObject(anyObject)) {\n return _.fromPairs(\n _.keys(anyObject)\n .sort()\n .map(key => [key, sortKeys(anyObject[key])]),\n );\n }\n return anyObject;\n };\n\n\n\n /**\n * Example:\n * new RegExp(escapeStringForRegEx('a.b.c'),'g') => /a\\.b\\.c/g\n */\n export const escapeStringForRegEx = (stringForRegExp: string) => {\n return stringForRegExp.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g, '\\\\$&');\n };\n\n\n\n export function removeChalkSpecialChars(str: string): string {\n\n const ansiRegex = /\\u001b\\[[0-9;]*m/g;\n\n\n return str.replace(ansiRegex, '');\n }\n\n\n\n export const fullDateTime = () => {\n/* */\n/* */\n return (void 0);\n };\n\n\n\n export const fullDate = () => {\n/* */\n/* */\n return (void 0);\n };\n\n\n\n const takenPorts = [];\n export const getFreePort = async (options?: {\n startFrom?: number;\n }): Promise<number> => {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n };\n\n\n\n /**\n * Traverses the cache to search for all the cached\n * files of the specified module name\n */\n const searchCache = (moduleName, callback) => {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n };\n\n /**\n * Removes a module from the cache\n */\n const purgeCache = moduleName => {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n };\n\n export const requireUncached = (module: string) => {\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n };\n\n\n\n\n /**\n * similar to camelCase but remove\n * all non word / repeated characters\n */\n export const camelize = (str: string = '') => {\n str = str.replace(/\\W/g, '').toLowerCase();\n return str\n .replace(/(?:^\\w|[A-Z]|\\b\\w)/g, function (word, index) {\n return index == 0 ? word.toLowerCase() : word.toUpperCase();\n })\n .replace(/\\s+/g, '');\n };\n\n\n\n interface AttrJsoncProp {\n name: string;\n value?: any;\n }\n export namespace json {\n export const getAtrributies = (\n jsonDeepPath: string, // lodash path to property in json ex. deep.path.to.prop\n fileContent: string, // jsonc or json5 - json with comments\n ): AttrJsoncProp[] => {\n const lines = fileContent.split('\\n');\n\n const pathParts = jsonDeepPath.split('.').reduce((a, b) => {\n if (a.length === 0) {\n return [b];\n }\n const last: string = a[a.length - 1];\n if (\n (last.startsWith(`['`) && b.endsWith(`']`)) ||\n (last.startsWith(`[\"`) && b.endsWith(`\"]`))\n ) {\n a[a.length - 1] = [last, b].join('.');\n } else {\n a.push(b);\n }\n return a;\n }, []);\n\n\n const keyName = pathParts.pop()!.replace(/^\\[\"(.+)\"\\]$/, '$1');\n let currentPath = '';\n let attributes: AttrJsoncProp[] = [];\n let collectedComments: string[] = [];\n\n for (const line of lines) {\n const trimmedLine = line.trim();\n\n if (trimmedLine.startsWith('//')) {\n\n collectedComments.push(trimmedLine);\n\n\n } else if (trimmedLine.startsWith('\"') || trimmedLine.startsWith(\"'\")) {\n\n const match = trimmedLine.match(/[\"']([^\"']+)[\"']\\s*:/);\n\n if (match) {\n const key = match[1];\n currentPath = currentPath\n ? `${currentPath}.${key.includes('.') ? `['${key}']` : key}`\n : key;\n\n\n if (\n (currentPath.endsWith(keyName) &&\n !currentPath.endsWith('/' + keyName)) ||\n currentPath.endsWith(`['${keyName}']`)\n ) {\n\n\n\n\n\n attributes = extractAttributesFromComments(collectedComments);\n break;\n }\n\n\n collectedComments = [];\n }\n }\n }\n\n return attributes;\n };\n\n const extractAttributesFromComments = (\n comments: string[],\n ): AttrJsoncProp[] => {\n const attributes: AttrJsoncProp[] = [];\n const attrRegex = /@(\\w+)(?:\\s*=\\s*([^\\s@]+))?/g;\n\n for (const comment of comments) {\n let match;\n while ((match = attrRegex.exec(comment)) !== null) {\n const [, name, value] = match;\n\n const existingAttribute = attributes.find(\n attr => attr.name === `@${name}`,\n );\n\n if (existingAttribute) {\n if (value) {\n if (Array.isArray(existingAttribute.value)) {\n existingAttribute.value.push(value);\n } else {\n existingAttribute.value = [existingAttribute.value, value];\n }\n }\n } else {\n attributes.push({\n name: `@${name}`,\n value: value ? value : true,\n });\n }\n }\n }\n\n\n attributes.forEach(attr => {\n if (Array.isArray(attr.value) && attr.value.length === 1) {\n attr.value = attr.value[0];\n }\n });\n\n return attributes;\n };\n }\n\n\n\n\n\n export enum DbBinaryFormatEnum {\n Blob = 'Blob',\n File = 'File',\n string = 'string',\n/* */\n/* */\n \n }\n\n export type DbBinaryFormatForBrowser = Blob | File | string;\n/* */\n/* */\n \n\n /**\n * Binary format that can be stored in database\n *\n * for nodejs => Buffer\n * for sql.js => string (shoulb be blob - but not supported)\n *\n */\n export type DbBinaryFormat =\n | DbBinaryFormatForBrowser\n/* */\n/* */\n \n\n export namespace binary {\n\n\n /**\n * This is for BROWSER ONLY\n *\n * @param buffer\n * @param contentType\n * @returns\n */\n export async function arrayBufferToBlob(\n buffer: ArrayBuffer,\n contentType: CoreModels.ContentType,\n ): Promise<Blob> {\n // @ts-ignore\n return new Blob([buffer], { type: contentType });\n }\n\n\n\n\n /**\n * This is for BROWSER ONLY\n * @param blob\n * @returns\n */\n export async function blobToArrayBuffer(blob: Blob): Promise<ArrayBuffer> {\n return await new Promise((resolve, reject) => {\n const reader = new FileReader();\n reader.addEventListener('loadend', () => {\n resolve(reader.result as any);\n });\n reader.addEventListener('error', reject); // @ts-ignore\n reader.readAsArrayBuffer(blob);\n });\n }\n\n\n\n /**\n * it is revers to base64toBlob\n * @param blob\n * @returns\n */\n export function blobToBase64(blob: Blob): Promise<string> {\n return new Promise<any>((resolve, _) => {\n const reader = new FileReader();\n reader.onloadend = () => resolve(reader.result); // @ts-ignore\n reader.readAsDataURL(blob);\n });\n }\n\n\n\n /**\n * it is revers to blobToBase64()\n * @param base64Data\n * @returns\n */\n export async function base64toBlob(\n base64Data: string,\n contentTypeOverride?: CoreModels.ContentType,\n ): Promise<Blob> {\n let content_type: CoreModels.ContentType = void 0 as any;\n let file_base64: string = void 0 as any;\n if (!contentTypeOverride) {\n const m = /^data:(.+?);base64,(.+)$/.exec(base64Data);\n if (!m) {\n throw new Error(\n `[taon-framework][base64toBlob] Not a base64 blob [${base64Data}]`,\n );\n }\n\n var [__, contenttype, filebase64] = m;\n content_type = contenttype as any;\n file_base64 = filebase64;\n }\n content_type = (\n contentTypeOverride ? contentTypeOverride : content_type || ''\n ) as any;\n base64Data = contentTypeOverride ? base64Data : file_base64;\n const sliceSize = 1024;\n const byteCharacters = atob(base64Data);\n const bytesLength = byteCharacters.length;\n const slicesCount = Math.ceil(bytesLength / sliceSize);\n const byteArrays = new Array(slicesCount);\n\n for (let sliceIndex = 0; sliceIndex < slicesCount; ++sliceIndex) {\n const begin = sliceIndex * sliceSize;\n const end = Math.min(begin + sliceSize, bytesLength);\n\n const bytes = new Array(end - begin);\n\n for (let offset = begin, i = 0; offset < end; ++i, ++offset) {\n bytes[i] = byteCharacters[offset].charCodeAt(0);\n }\n byteArrays[sliceIndex] = new Uint8Array(bytes);\n }\n return new Blob(byteArrays, { type: content_type });\n }\n\n\n\n\n export async function base64toDbBinaryFormat(\n text: string,\n ): Promise<DbBinaryFormat> {\n let result: DbBinaryFormat;\n\n result = await (async () => {\n if (BLOB_SUPPORTED_IN_SQLJS) {\n const blob = await base64toBlob(text);\n return blob;\n }\n return text as any;\n })();\n\n/* */\n/* */\n/* */\n/* */\n/* */\n \n return result;\n }\n\n\n\n export async function dbBinaryFormatToBase64(\n binaryFormat: DbBinaryFormat,\n ): Promise<string> {\n let result: string;\n\n result = await (async () => {\n if (BLOB_SUPPORTED_IN_SQLJS) {\n const text = await blobToBase64(binaryFormat as any);\n return text;\n }\n return binaryFormat as any;\n })();\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n \n return result;\n }\n\n\n\n\n export async function textToDbBinaryFormat(\n text: string,\n ): Promise<DbBinaryFormat> {\n let result: DbBinaryFormat;\n\n result = await (async () => {\n if (BLOB_SUPPORTED_IN_SQLJS) {\n const blob = await textToBlob(text);\n return blob;\n }\n return text as any;\n })();\n\n/* */\n/* */\n/* */\n/* */\n/* */\n \n return result;\n }\n\n\n\n export async function dbBinaryFormatToText(\n binaryFormat: DbBinaryFormat,\n ): Promise<string> {\n let result: string;\n\n result = await (async () => {\n if (BLOB_SUPPORTED_IN_SQLJS) {\n const text = await blobToText(binaryFormat as any);\n return text;\n }\n return binaryFormat as any;\n })();\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n \n return result;\n }\n\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\n\n export async function fileToBlob(file: File) {\n return new Blob([new Uint8Array(await file.arrayBuffer())], {\n type: file.type,\n });\n }\n\n\n\n export async function blobToFile(\n blob: Blob,\n nameForFile: string = 'my-file-name',\n ): Promise<File> {\n if (!nameForFile) {\n nameForFile = 'nonamefile' + new Date().getTime();\n }\n // @ts-ignore\n return new File([blob], nameForFile);\n }\n\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\n\n export async function textToBlob(\n text: string,\n type: CoreModels.ContentType = 'text/plain',\n ): Promise<Blob> {\n const blob = new Blob([text], { type });\n return blob;\n }\n\n\n\n export async function blobToText(blob: Blob): Promise<string> {\n return await blob.text();\n }\n\n\n\n export async function textToFile(\n text: string,\n fileRelativePathOrName: string,\n ): Promise<File> {\n\n const ext = path.extname(fileRelativePathOrName);\n\n const type = CoreModels.mimeTypes[ext];\n const blob = new Blob([text], { type });\n const file = await blobToFile(blob, fileRelativePathOrName);\n\n\n\n\n\n return file;\n }\n\n\n\n export async function fileToText(file: File): Promise<string> {\n return await file.text();\n }\n\n\n\n export async function jsonToBlob(jsonObj: object): Promise<Blob> {\n const blob = new Blob([JSON.stringify(jsonObj, null, 2)], {\n type: 'application/json',\n });\n return blob;\n }\n\n\n\n /**\n * TODO NOT TESTED\n */\n export async function blobToJson(blob: Blob): Promise<string> {\n return JSON.parse(await blob.text());\n }\n\n\n\n export async function getBlobFrom(url: string): Promise<Blob> {\n const response: AxiosResponse<Blob> = await axios({\n url,\n method: 'get',\n responseType: 'blob',\n });\n return response.data;\n }\n\n }\n\n\n\n export namespace css {\n\n /**\n *\n * @param pixelsCss pixels ex. 100px\n * @returns\n */\n export function numValue(pixelsCss: string | number): number {\n\n return parseInt(\n pixelsCss?.toString()?.replace('px', ''),\n\n\n );\n }\n\n }\n\n}\n\n\n\nexport namespace UtilsProcess {\n\n interface ResolvePromiseMsg {\n /**\n * until this string is in output of stdout\n */\n stdout?: string | string[];\n /**\n * until this string is in output of stderr\n */\n stderr?: string | string[];\n /**\n * by default only resolve when exit code is 0\n */\n resolveAfterAnyExitCode?: boolean;\n }\n\n export interface ProcessStartOptions {\n /**\n * by default is process.cwd();\n */\n cwd?: string;\n /**\n * by default is false\n */\n showCommand?: boolean;\n /**\n * Modify output line by line\n */\n outputLineReplace?: (outputLineStderOrStdout: string) => string;\n resolvePromiseMsg?: ResolvePromiseMsg;\n /**\n * Prefix messages output from child_process\n */\n prefix?: string;\n /**\n * Try command again after fail after n milliseconds\n */\n tryAgainWhenFailAfter?: number;\n askToTryAgainOnError?: boolean;\n exitOnErrorCallback?: (code: number) => void;\n /**\n * Use big buffer for big webpack logs\n * (it may slow down smaller processes execution)\n */\n biggerBuffer?: boolean;\n hideOutput?: {\n stdout?: boolean;\n stderr?: boolean;\n };\n }\n\n\n\n /**\n * TODO IMPLEMENT\n * start async node process\n */\n export const startAsync = async (\n command: string,\n cwd: string,\n\n options?: Omit<CoreModels.ExecuteOptions, 'tryAgainWhenFailAfter'>,\n ): Promise<void> => {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n };\n\n\n\n\n\n\n\n\n\n\n\n\n /**\n * This let you start child process and resolve promise when some\n * condition is met. It is useful for example when you want to start\n * process and wait until some output is in stdout or stderr.\n */\n export const startAsyncChildProcessCommandUntil = async (\n command: string,\n options: {\n /**\n * tels when to resolve promise\n */\n untilOptions: ResolvePromiseMsg;\n displayOutputInParentProcess?: boolean;\n resolveAfterAnyExitCode?: boolean;\n cwd?: string;\n },\n ): Promise<void> => {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n };\n\n\n\n export const getGitBashPath = () => {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n };\n\n\n\n /**\n * TODO IMPLEMENT\n * start async node process\n */\n export const startInNewTerminalWindow = (\n command: string,\n options?: Pick<ProcessStartOptions, 'cwd' | 'hideOutput'>,\n ) => {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n };\n\n\n\n export const getBashOrShellName = ():\n | 'browser'\n | 'cmd'\n | 'powershell'\n | 'gitbash'\n | 'cygwin'\n | 'unknown'\n | 'bash'\n | 'zsh'\n | 'fish'\n | 'sh' => {\n\n return 'browser';\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n };\n\n\n /**\n * Get CPU and memory usage for a single PID.\n */\n export const getUsageForPid = async (\n pid: number,\n ): Promise<{ cpu: number; memoryInGB: number; memoryInMB: number }> => {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n };\n\n /**\n * Return a list of direct child PIDs for the given PID on a Unix-like system.\n * Uses `ps -o pid= --ppid <pid>` to find child processes.\n */\n async function getChildPidsUnix(pid: number): Promise<number[]> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n /**\n * Return a list of direct child PIDs for the given PID on Windows.\n * Uses `wmic process where (ParentProcessId=<pid>) get ProcessId` to find child processes.\n */\n async function getChildPidsWindows(pid: number): Promise<number[]> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n /**\n * Cross-platform function to list *direct* child PIDs of a given PID.\n * Uses the appropriate command depending on `process.platform`.\n */\n export async function getChildPidsOnce(pid: number): Promise<number[]> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n /**\n * Get CPU and memory usage for the current process (the Node.js process itself),\n * plus any child processes spawned by it.\n */\n export const getCurrentProcessAndChildUsage = async (): Promise<{\n current: { cpu: number; memoryInMB: number };\n children: Array<{ pid: number; cpu: number; memoryInMB: number }>;\n }> => {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n };\n}\n\n\n\n\nexport namespace UtilsOs {\n\n /**\n * check if script is running in client browser\n * (websql model -> is also considered as browser\n * because it is running in browser)\n */\n export const isRunningInBrowser = (): boolean => {\n/* */\n/* */\n \n return true;\n };\n\n\n\n /**\n * check if script is running in nodejs\n * (backend script or electron script)\n */\n export const isRunningInNode = (): boolean => {\n/* */\n/* */\n \n return false;\n };\n\n\n\n /**\n * check if script is running special\n * browser mode that has sql.js backend\n * and executes sql queries in browser\n */\n export const isRunningInWebSQL = (): boolean => {\n/* */\n/* */\n \n\n/* */\n/* */\n \n return false;\n };\n\n\n\n /**\n * check whether the current process is running inside\n * Electron backend or browser.\n */\n export const isRunningInElectron = (): boolean => {\n\n // @ts-ignore\n if (\n typeof window !== 'undefined' &&\n typeof window.process === 'object' &&\n // @ts-ignore\n window.process.type === 'renderer'\n ) {\n return true;\n }\n\n\n // @ts-ignore\n if (\n typeof process !== 'undefined' &&\n typeof process.versions === 'object' &&\n !!process.versions.electron\n ) {\n return true;\n }\n\n\n if (\n typeof navigator === 'object' &&\n typeof navigator.userAgent === 'string' &&\n navigator.userAgent.indexOf('Electron') >= 0\n ) {\n return true;\n }\n\n return false;\n };\n\n\n\n /**\n * Check whether the current process is running inside\n * a Visual Studio Code extension.\n */\n export const isRunningInVscodeExtension = (): boolean => {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n };\n\n\n\n /**\n * Check wether the current process is running inside\n * windows subsystem for linux (WSL).\n */\n export const isRunningInWsl = (): boolean => {\n\n return false;\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n };\n\n\n\n const getProcessTree = (): Record<\n number,\n { pid: number; ppid: number; name: string }\n > => {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n };\n\n const findAncestorProcessName = (targets: string[]): string | undefined => {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n };\n\n export const isRunningInWindowsPowerShell = (): boolean => {\n return (\n findAncestorProcessName(['powershell.exe', 'pwsh.exe']) !== undefined\n );\n };\n\n export const isRunningInWindowsCmd = (): boolean => {\n return findAncestorProcessName(['cmd.exe']) !== undefined;\n };\n\n\n\n export const isRunningInDocker = (): boolean => {\n\n return false;\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n };\n\n\n\n export const isRunningInLinuxGraphicsCapableEnvironment = (): boolean => {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n };\n\n\n\n /**\n * Check whether the current process is running in CLI mode.\n */\n export const isRunningInCliMode = (): boolean => {\n\n return false;\n\n/* */\n/* */\n return (void 0);\n };\n\n\n\n /**\n * Check whether the current process is running in mocha test.\n */\n export const isRunningInMochaTest = (): boolean => {\n\n return false;\n\n/* */\n/* */\n return (void 0);\n };\n\n\n\n const isPortInUseOnHost = (port: number, host: string): Promise<boolean> => {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n };\n\n /**\n * Checks if a given port is already in use (bound by another process).\n *\n * @param port - The port number to check.\n * @param host - The hostname or IP address to bind to (default: '127.0.0.1').\n * @returns Promise<boolean> - Resolves to `true` if the port is in use, otherwise `false`.\n */\n export const isPortInUse = async (\n port: number,\n options?: {\n /**\n * '127.0.0.1' etc..\n */\n checkForSpecificOnlyHost?: string;\n },\n ): Promise<boolean> => {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n };\n\n}\n\n\n\nexport namespace UtilsString {\n\n export const kebabCaseNoSplitNumbers = (input: string): string => {\n return (\n input\n\n .replace(/\\s+/g, '-')\n\n .replace(/([a-z0-9])([A-Z])/g, '$1-$2')\n\n .toLowerCase()\n );\n };\n\n}\n\n\n\n/**\n * Taon migration utilities\n */\nexport namespace UtilsMigrations {\n export const getTimestampFromClassName = (\n className: string,\n ): number | undefined => {\n const [maybeTimestamp1, maybeTimestamp2] = className.split('_') || [];\n\n const timestamp1 = parseInt(maybeTimestamp1);\n const timestamp2 = parseInt(maybeTimestamp2);\n const timestamp = !_.isNaN(timestamp1) ? timestamp1 : timestamp2;\n return isValidTimestamp(timestamp) ? timestamp : void 0;\n };\n\n export const getFormattedTimestampFromClassName = (\n className: string,\n ): string | undefined => {\n const timestamp = getTimestampFromClassName(className);\n if (!timestamp) {\n return void 0;\n }\n return formatTimestamp(timestamp);\n };\n\n export const formatTimestamp = (timestamp: number): string => {\n const dateFromTimestamp: Date = new Date(timestamp);\n return `${dateformat(dateFromTimestamp, 'dd-mm-yyyy HH:MM:ss')}`;\n };\n\n export const isValidTimestamp = (value: any): boolean => {\n if (typeof value !== 'number') {\n return false; // Must be a number\n }\n\n const minTimestamp = 0; // Minimum possible timestamp (Unix epoch)\n const maxTimestamp = 8640000000000000; // Max safe timestamp in JS (represents year ~275760)\n\n return value >= minTimestamp && value <= maxTimestamp;\n };\n}\n\n\n\nexport namespace UtilsTerminal {\n\n type SelectActionChoice = {\n [choice: string]: {\n /**\n * Title of the choice\n */\n name: string;\n /**\n * Action to execute\n */\n action?: () => any;\n /**\n * If choice is visible\n * default: true\n */\n visible?: boolean;\n };\n };\n\n\n\n export const wait = (second: number): Promise<void> => {\n return new Promise((resolve, reject) => {\n setTimeout(() => {\n resolve(void 0);\n }, second * 1000);\n });\n };\n\n\n\n export const clearConsole = (): void => {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n };\n\n\n\n const transformChoices = (\n choices: any,\n ): { name: string; value: string }[] => {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n };\n\n\n\n export const multiselect = async <T = string>(options: {\n question: string;\n /**\n * If true, then only one choice can be selected\n * @deprecated use select instead\n */\n onlyOneChoice?: boolean;\n choices:\n | { name: string; value: T }[]\n | { [choice: string]: { name: string } };\n autocomplete?: boolean;\n defaultSelected?: string[];\n }): Promise<T[]> => {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n };\n\n\n\n /**\n * Similar to select but executes action if provided\n * @returns selected and executed value\n */\n export const multiselectActionAndExecute = async <\n CHOICE extends SelectActionChoice = SelectActionChoice,\n >(\n choices: CHOICE,\n options?: {\n question?: string;\n autocomplete?: boolean;\n defaultSelected?: string;\n hint?: string;\n executeActionsOnDefault?: boolean;\n },\n ) => {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n };\n\n\n\n /**\n * Similar to select but executes action if provided\n * @returns selected and executed value\n */\n export const selectActionAndExecute = async <\n CHOICE extends SelectActionChoice = SelectActionChoice,\n >(\n choices: CHOICE,\n options?: {\n question?: string;\n autocomplete?: boolean;\n defaultSelected?: string;\n hint?: string;\n executeActionOnDefault?: boolean;\n },\n ) => {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n };\n\n\n\n export const select = async <T = string>(options: {\n question: string;\n choices:\n | { name: string; value: T }[]\n | { [choice: string]: { name: string } };\n autocomplete?: boolean;\n defaultSelected?: string;\n hint?: string;\n }): Promise<T> => {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n };\n\n\n\n\n export const pipeEnterToStdin = (): void => {\n/* */\n/* */\n return (void 0);\n };\n\n\n\n export const input = async ({\n defaultValue,\n question,\n required, // TODO something is werid with required\n }: {\n defaultValue?: string;\n question: string;\n required?: boolean;\n validate?: (value: string) => boolean;\n }): Promise<string> => {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n };\n\n\n\n export const confirm = async (options?: {\n /**\n * default: Are you sure?\n */\n message?: string;\n callbackTrue?: () => any;\n callbackFalse?: () => any;\n /**\n * default: true\n */\n defaultValue?: boolean;\n engine?: 'inquirer-toggle' | 'prompts' | 'enquirer' | '@inquirer/prompts';\n }) => {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n };\n\n\n\n export const pressAnyKeyToContinueAsync = (options?: {\n message?: string;\n }): Promise<void> => {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n };\n\n\n\n /**\n * @deprecated use UtilsTerminal.pressAnyKeyToContinueAsync()\n */\n export const pressAnyKey = (options?: { message?: string }) => {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n };\n\n\n\n export const previewLongList = async (\n list: string | string[],\n listName = 'List',\n ): Promise<void> => {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n };\n\n\n\n /**\n * Displays a long list in the console using a pager like `less`.\n * Returns a Promise that resolves when the user exits the pager.\n *\n * @param {string} list - The long string content to display.\n * @returns {Promise<void>} A Promise that resolves when the pager exits.\n */\n export const previewLongListGitLogLike = (\n list: string | string[],\n ): Promise<void> => {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n };\n\n}\n\n\n ;({}); // @--end-of-file-for-module=tnp-core lib/utils.ts","\n\nimport { UtilsOs } from './utils';\n\nexport class HelpersIsomorphic {\n /**\n * @deprecated\n * use UtilsOs.isRunningInBrowser() instead\n */\n get isBrowser() {\n return UtilsOs.isRunningInBrowser();\n }\n\n /**\n * @deprecated\n * use UtilsOs.isRunningInWebSQL() instead\n */\n get isWebSQL() {\n return UtilsOs.isRunningInWebSQL();\n }\n\n /**\n * @deprecated\n * use UtilsOs.isRunningInNode() instead\n */\n get isNode() {\n return UtilsOs.isRunningInNode();\n }\n\n /**\n * @deprecated\n * use UtilsOs.isRunningInElectron() instead\n */\n get isElectron() {\n return UtilsOs.isRunningInElectron();\n }\n\n /**\n * TODO what is the purpose of this function?\n * @deprecated\n */\n contain(arr: any[], item: any): boolean {\n return (\n arr.filter(l => {\n if (l instanceof RegExp) {\n return l.test(item);\n }\n if (l === item) {\n return true;\n }\n if (\n item.match && typeof item.match === 'function' ? item.match(l) : false\n ) {\n return true;\n }\n return false;\n }).length > 0\n );\n }\n}\n\n ;({}); // @--end-of-file-for-module=tnp-core lib/helpers-isomorphic.ts","\n\n\ndeclare const global: any;\nimport { chalk, dateformat } from './core-imports';\nimport { _ } from './core-imports';\nimport { frameworkName } from './framework-name';\nimport { HelpersIsomorphic } from './helpers-isomorphic';\nimport { PROGRESS_DATA } from './progress-data';\n\nimport { Helpers } from './index';\n\n\n\nconst KEY = {\n LAST_ERROR: Symbol(),\n LAST_INFO: Symbol(),\n LAST_WARN: Symbol(),\n LAST_LOG: Symbol(),\n LAST_SUCCESS: Symbol(),\n LAST_TASK_STARTED: Symbol(),\n LAST_TASK_DONE: Symbol(),\n};\n\nconst KEY_COUNT = {\n LAST_ERROR: Symbol(),\n LAST_INFO: Symbol(),\n LAST_WARN: Symbol(),\n LAST_LOG: Symbol(),\n LAST_SUCCESS: Symbol(),\n LAST_TASK_STARTED: Symbol(),\n LAST_TASK_DONE: Symbol(),\n};\n\nconst KEY_IMPORTANTCE = {\n LAST_ERROR: Symbol(),\n LAST_INFO: Symbol(),\n LAST_WARN: Symbol(),\n LAST_LOG: Symbol(),\n LAST_SUCCESS: Symbol(),\n LAST_TASK_STARTED: Symbol(),\n LAST_TASK_DONE: Symbol(),\n};\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\nconst LIMIT = 10;\n\n\n/**\n * @param details any data to be transformed\n * @returns string ready to be displayed\n */\nconst transformData = (details: any): string => {\n if (typeof details === 'object') {\n\n\n\n try {\n const json = JSON.stringify(details, null, 2);\n details = json;\n } catch (error) {\n return details;\n }\n }\n return details;\n};\n\n\nexport class HelpersMessages extends HelpersIsomorphic {\n msgCacheClear() {\n/* */\n/* */\n/* */\n/* */\n/* */\n \n }\n\n renderError(err: Error) {\n if (this.isBrowser) {\n\n console.error(err);\n } else {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n }\n }\n\n /**\n * throw error\n */\n throw(details: string) {\n throw new Error(details);\n }\n\n /**\n * throw error and stop application\n * @param details\n */\n stopApplication(details: string) {\n if (this.isBrowser) {\n\n document.body.innerHTML =\n '<h1>Application has encountered an error and stopped.</h1>';\n document.body.style.pointerEvents = 'none';\n\n/* */\n/* */\n/* */\n/* */\n \n }\n throw new Error(details);\n }\n\n tryCatchError(error: any) {\n Helpers.error(error, true, true);\n }\n\n error(details: any, noExit = false, noTrace = false) {\n\n if (Helpers.isBrowser) {\n console.error(details);\n return;\n }\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n }\n\n\n\n info(details: string, repeatable = false) {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n if (Helpers.isBrowser) {\n console.info(details);\n return;\n }\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n }\n\n\n\n success(details: any | string) {\n if (Helpers.isBrowser) {\n console.info(details);\n return;\n }\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n }\n\n\n /**\n *\n * @param details\n * @param isLogTask is less important log task\n * @returns\n */\n taskStarted(details: any | string, isLogTask: boolean = false) {\n if (Helpers.isBrowser) {\n console.info(details);\n return;\n }\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n }\n\n\n taskDone(details?: any | string, isLessImportant = false) {\n if (Helpers.isBrowser) {\n console.info(details);\n return;\n }\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n }\n\n\n get isVerboseMode() {\n\n return true; // TODO what it means in browser\n\n/* */\n/* */\n \n }\n\n\n /**\n * log messages only available in verbose mode\n */\n log(details: any, debugLevel = 0) {\n if (Helpers.isBrowser) {\n console.log(details);\n return;\n }\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n }\n\n\n /**\n * Logs not visible in normal use of taon-cli\n */\n logSuccess(details: any | string) {\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n /**\n * Logs not visible in normal use of taon-cli\n */\n logInfo(details: string, repeatable = false) {\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n /**\n * Logs not visible in normal use of taon-cli\n */\n logError(details: any, noExit = false, noTrace = false) {\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n /**\n * Logs not visible in normal use of taon-cli\n */\n logWarn(details: string, trace = false) {\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n warn(details: string, trace = false) {\n if (Helpers.isBrowser) {\n console.warn(details);\n return;\n }\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n }\n\n}\n\n ;({}); // @--end-of-file-for-module=tnp-core lib/helpers-messages.ts","\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\nimport { Subject, Subscription } from 'rxjs';\n\nimport { _, path, crossPlatformPath } from './core-imports';\nimport { UtilsProcess, UtilsTerminal } from './utils';\nimport { Helpers, Utils, UtilsOs } from './index';\nimport { HelpersMessages } from './helpers-messages';\nimport { CoreModels } from './core-models';\n\nimport type { ChildProcess } from 'child_process';\n\n\n\ndeclare const global: any;\nconst encoding = 'utf8';\n/* */\n/* */\n \nconst WEBSQL_PROC_MOCK_PROCESSES_PID = {};\nconst WEBSQL_PROC_MOCK_PROCESSES_PPID = {};\n\n\n\n\nexport interface RunSyncOrAsyncOptions {\n functionFn: Function;\n context?: object;\n arrayOfParams?: any[];\n}\n\nexport interface CommandOutputOptions {\n biggerBuffer?: boolean;\n showOnlyLastLine?: boolean;\n showStder?: boolean;\n gatherColors?: boolean;\n showErrorWarning?: boolean;\n}\n\n\n\n\n\n\n\nexport class HelpersCore extends HelpersMessages {\n\n private static _instanceCore: HelpersCore;\n public static get InstanceCore() {\n if (!HelpersCore._instanceCore) {\n HelpersCore._instanceCore = new HelpersCore();\n }\n return HelpersCore._instanceCore;\n }\n\n\n\n/* */\n/* */\n \n readonly bigMaxBuffer = 2024 * 500;\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\n\n constructor() {\n super();\n/* */\n/* */\n/* */\n \n }\n\n\n\n /**\n * @deprecated use UtilsOs.isRunningInsideWsl()\n */\n get isWsl() {\n return UtilsOs.isRunningInWsl();\n }\n\n\n\n /**\n * @deprecated use UtilsOs.isRunningInDocker\n */\n isRunningInDocker() {\n return UtilsOs.isRunningInDocker();\n }\n\n\n\n /**\n * @deprecated use UtilsOs.isRunningInLinuxGraphicEnvironment\n */\n isRunningInLinuxGraphicsCapableEnvironment() {\n return UtilsOs.isRunningInLinuxGraphicsCapableEnvironment();\n }\n\n\n\n /**\n * @deprecated use UtilsTerminal.clearConsole\n */\n clearConsole() {\n return UtilsTerminal.clearConsole();\n }\n\n\n\n /**\n * @deprecated\n * get electron browser ipc renderer\n */\n get ipcRenderer(): any { // typeof ipcRenderer\n/* */\n/* */\n \n\n if (!this.isElectron) {\n return;\n }\n return void 0;\n\n\n\n }\n\n\n\n /**\n * get electron web frame\n */\n get webFrame(): any { // typeof webFrame\n //typeof webFrame\n/* */\n/* */\n \n\n if (!this.isElectron) {\n return;\n }\n return void 0;\n\n\n }\n\n\n\n /**\n * @deprecated\n * get electron backend ipc main proces\n */\n get ipcMain() {\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n getElectronWindow({\n allowRunningInsecureContent = true,\n }: { allowRunningInsecureContent?: boolean } = {}) {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n mediaTypeFromSrc(src: string): CoreModels.MediaType {\n const ext = path.extname(src);\n const media = CoreModels.mimeTypes[ext];\n return _.first(media?.split('/'));\n }\n\n\n\n sleep(seconds = 1) {\n/* */\n/* */\n return (void 0);\n }\n\n\n\n removeIfExists(absoluteFileOrFolderPath: string | string[]) {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n /**\n * path.relative that return cross platform path\n */\n relative(cwd: string, to: string) {\n return crossPlatformPath(path.relative(cwd, to));\n }\n\n\n\n removeFileIfExists(absoluteFilePath: string | string[]) {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n removeFolderIfExists(absoluteFolderPath: string | string[]) {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n /**\n * leave max 1 empty line\n */\n removeEmptyLineFromString(str: string) {\n const lines = (str || '').split('\\n');\n let previousWasEmpty = false;\n\n return lines\n .filter(line => {\n if (line.trim() === '') {\n if (previousWasEmpty) {\n\n return false;\n } else {\n\n previousWasEmpty = true;\n return true;\n }\n } else {\n\n previousWasEmpty = false;\n return true;\n }\n })\n .join('\\n');\n }\n\n\n\n /**\n * @deprecated\n */\n tryRemoveDir(\n dirpath: string,\n contentOnly = false,\n omitWarningNotExisted = false,\n ) {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n remove(fileOrFolderPathOrPatter: string | string[], exactFolder = false) {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\n\n get isRunningInGitBash(): boolean {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n /**\n * Check if the current shell is supported by Taon framework.\n */\n get isSupportedTaonTerminal(): boolean {\n\n return false;\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n /**\n * check if function is class\n */\n isClass(funcOrClass: any): boolean {\n let isClass = false;\n if (typeof funcOrClass === 'function') {\n\n\n isClass =\n !!funcOrClass.prototype &&\n Object.getOwnPropertyNames(funcOrClass.prototype).filter(\n f => f !== 'constructor',\n ).length > 0;\n }\n\n return isClass;\n }\n\n\n\n /**\n * check if data is nodejs/browser blob\n *\n * @param maybeBlob\n * @returns\n */\n public isBlob(maybeBlob): maybeBlob is Blob {\n\n return maybeBlob instanceof Blob; // || toString.call(maybeBlob) === '[object Blob]';\n }\n\n\n\n /**\n * Check if data is nodejs buffer\n *\n * @param maybeNodejsBuffer\n * @returns\n */\n/* */\n/* */\n/* */\n/* */\n \n\n\n\n public removeSlashAtEnd(s: string): string {\n s = s?.endsWith(`/`) ? s.slice(0, s.length - 1) : s;\n return s;\n }\n\n\n\n public removeSlashAtBegin(s: string): string {\n s = s?.startsWith(`/`) ? s.slice(1) : s;\n return s;\n }\n\n\n\n /**\n * stringify to pretty json string\n */\n public stringify(inputObject: any): string {\n\n\n\n\n\n\n\n return JSON.stringify(inputObject, null, 2);\n }\n\n\n\n public async runSyncOrAsync<FUNCTION_RETURN_TYPE = any>(\n fnOrOptions: RunSyncOrAsyncOptions,\n ): Promise<FUNCTION_RETURN_TYPE> {\n if (_.isUndefined(fnOrOptions)) {\n return void 0 as any;\n }\n let promisOrValue: any;\n\n\n\n\n\n\n\n const { functionFn, context, arrayOfParams } = fnOrOptions;\n promisOrValue = functionFn.apply(context, arrayOfParams);\n\n // // @ts-ignore\n\n\n\n\n if (promisOrValue instanceof Promise) {\n\n promisOrValue = Promise.resolve(promisOrValue);\n }\n\n return promisOrValue;\n }\n\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\n\n /**\n * symlink may have existed or unexisted destiantion url\n * @param destUrl M\n */\n public isSymlinkThatMatchesUrl(\n possibleSymlink: string,\n destUrl: string,\n absoluteFileMatch = false,\n ): boolean {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n public isSymlinkFileExitedOrUnexisted(filePath: string | string[]): boolean {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n /**\n * If symbolnk link that target file does not exits\n */\n isUnexistedLink(filePath: string | string[]): boolean {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n /**\n * @param existedLink check if source of link exists\n */\n isExistedSymlink(filePath: string | string[]): boolean {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\n\n public exists(\n folderOrFilePath: string | string[],\n\n ) {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n /**\n * this is HACK for running procesess inside processes\n */\n public _fixCommand(command: string): string {\n if (\n (command.startsWith('tnp ') || command.startsWith('taon ')) && // TODO every cli projects here that uses run and need to kill process easly!\n command.search('-spinner=false') === -1 &&\n command.search('-spinner=off') === -1\n ) {\n command = `${command} -spinner=false`;\n }\n\n if (\n global.skipCoreCheck &&\n (command.startsWith('tnp ') || command.startsWith('taon '))\n ) {\n command = `${command} --skipCoreCheck`;\n }\n return command;\n }\n\n\n\n public command(command: string) {\n\n command = Helpers._fixCommand(command);\n\n return {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n };\n }\n\n\n\n /**\n * @deprecated use UtilsTerminal.wait\n */\n public async wait(second: number): Promise<void> {\n await UtilsTerminal.wait(second);\n }\n\n public async timeout(seconds: number): Promise<void> {\n return await Helpers.wait(seconds);\n }\n\n\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\n\n async killProcessByPort(\n portOrPortsToKill: number | number[],\n options?: {\n silent?: boolean;\n },\n ) {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n async killOnPort(\n portOrPortsToKill: number | number[],\n options?: {\n silent?: boolean;\n },\n ) {\n return await Helpers.killProcessByPort(portOrPortsToKill, options);\n }\n\n\n\n public killProcess(byPid: number) {\n/* */\n/* */\n \n/* */\n/* */\n/* */\n \n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n }\n\n\n\n public run(command: string, options?: CoreModels.RunOptions) {\n command = Helpers._fixCommand(command);\n\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n return {\n /**\n * start command as synchronous nodej proces\n */\n\n sync() {\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n },\n\n /**\n * start command as asynchronous nodej proces\n * @param detach (default: false) - if true process will be detached\n */\n async(\n detach = false,\n\n mockFun?: (\n stdoutCallback: (dataForStdout: any) => any,\n stdErrcCallback: (dataForStder: any) => any,\n shouldProcesBeDead?: () => boolean,\n ) => Promise<number> | number,\n\n ): ChildProcess {\n\n\n\n if (mockFun) {\n const subStdoutSub = new Subject();\n const subStderSub = new Subject();\n const exitSub = new Subject();\n const subscribtions: Subscription[] = [];\n\n const procDummy = {\n stdout: {\n on(action: 'data', stdoutCallback: any) {\n if (action == 'data') {\n subscribtions.push(\n subStdoutSub.subscribe(d => {\n stdoutCallback(d);\n }),\n );\n }\n },\n },\n stderr: {\n on(action: 'data', stdoutCallback: any) {\n if (action == 'data') {\n subscribtions.push(\n subStderSub.subscribe(d => {\n stdoutCallback(d);\n }),\n );\n }\n },\n },\n on(action: 'exit', exitFun: any) {\n if (action == 'exit') {\n subscribtions.push(\n exitSub.subscribe(d => {\n exitFun(d);\n }),\n );\n }\n }, // @ts-ignore\n ppid: void 0 as number, // @ts-ignore\n pid: void 0 as number,\n };\n\n procDummy.pid = Math.round(Math.random() * (1000 - 100)) + 100;\n procDummy.ppid = procDummy.pid + 9999;\n\n WEBSQL_PROC_MOCK_PROCESSES_PID[procDummy.pid] = procDummy;\n if (!WEBSQL_PROC_MOCK_PROCESSES_PPID[procDummy.ppid]) {\n WEBSQL_PROC_MOCK_PROCESSES_PPID[procDummy.ppid] = {\n childProcesses: [],\n };\n }\n WEBSQL_PROC_MOCK_PROCESSES_PPID[procDummy.ppid].childProcesses.push(\n procDummy.pid,\n );\n\n const checkIfProcessShouldBeDead = () => {\n return (\n _.isNil(WEBSQL_PROC_MOCK_PROCESSES_PID[procDummy.pid]) ||\n _.isNil(WEBSQL_PROC_MOCK_PROCESSES_PPID[procDummy.ppid])\n );\n };\n\n const f = Helpers.runSyncOrAsync({\n functionFn: mockFun,\n arrayOfParams: [\n d => {\n setTimeout(() => {\n subStdoutSub.next(d);\n });\n },\n d => {\n setTimeout(() => {\n subStderSub.next(d);\n });\n },\n () => {\n const shouldBeDead = checkIfProcessShouldBeDead();\n return shouldBeDead;\n },\n ],\n });\n f.then(exitCode => {\n if (_.isNil(exitCode)) {\n exitCode = 0;\n }\n setTimeout(() => {\n exitSub.next(exitCode);\n subscribtions.forEach(s => s.unsubscribe());\n });\n }).catch(e => {\n console.error(e);\n console.error(`Something wrong with your mock funciton`);\n exitSub.next(1);\n subscribtions.forEach(s => s.unsubscribe());\n });\n return procDummy as any;\n }\n\n\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n\n },\n\n /**\n * start command as asynchronous nodej proces inside promise\n */\n asyncAsPromise(): Promise<void> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n },\n\n unitlOutput(optionsOutput: {\n stdoutMsg: string | string[];\n stderMsg?: string | string[];\n timeout?: number;\n stdoutOutputContainsCallback?: () => any;\n outputLineReplace?: (outputLine: string) => string;\n }): Promise<void> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n },\n\n /**\n * @deprecated use unitlOutput\n * start command as asynchronous nodej proces inside promise\n * and wait until output contains some string\n */\n unitlOutputContains(\n stdoutMsg: string | string[],\n stderMsg?: string | string[],\n timeout = 0,\n stdoutOutputContainsCallback?: () => any,\n ) {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n },\n };\n }\n\n\n\n /**\n * @deprecated use UtilsTerminal.confirm\n */\n async questionYesNo(\n message: string,\n callbackTrue?: () => any,\n callbackFalse?: () => any,\n defaultValue = true,\n ) {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\n\n /**\n * Quick fix for object values\n * @deprecated\n */\n public values(obj: any) {\n if (_.isObject(obj) && !Array.isArray(obj)) {\n const values = [];\n for (const key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n // @ts-ignore\n values.push(obj[key]);\n }\n }\n return values;\n }\n return [];\n }\n\n\n\n /**\n * does not make sense\n * @deprecated\n */\n private isFile(pathToFileOrMaybeFolder: string) {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n async tryReadFile(\n absoluteFilePath: string | string[], // @ts-ignore\n defaultValueWhenNotExists = void 0 as string,\n notTrim = false,\n ): Promise<string | undefined> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n /**\n * wrapper for fs.readFileSync\n */\n readFile(\n absoluteFilePath: string | string[], // @ts-ignore\n defaultValueWhenNotExists = void 0 as string,\n notTrim = false,\n ): string | undefined {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n /**\n * read json from absolute path\n * @returns json object\n */\n public readJson(\n absoluteFilePath: string | string[],\n defaultValue = {},\n useJson5 = false,\n ): any {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n public readJson5(\n absoluteFilePath: string | string[],\n defaultValue: any = {},\n ): any {\n/* */\n/* */\n return (void 0);\n }\n\n public readJsonC(\n absoluteFilePath: string | string[],\n defaultValue: any = {},\n ): any {\n/* */\n/* */\n return (void 0);\n }\n\n\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\n\n replaceLinesInFile(\n absoluteFilePath: string | string[],\n lineReplaceFn: (line: string) => string,\n ) {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n }\n\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\n\n hideNodeWarnings() {\n/* */\n/* */\n/* */\n \n }\n\n}\n\n ;({}); // @--end-of-file-for-module=tnp-core lib/helpers.ts","\n\nexport const CoreConfig = {\n message: {\n globalSystemToolMode: 'globalSystemToolMode',\n },\n};\n\n ;({}); // @--end-of-file-for-module=tnp-core lib/core-config.ts","\n\nimport { Helpers } from '.';\nimport { _ } from './core-imports';\nimport { CoreModels } from './core-models';\n\n/* */\n/* */\n \n\nexport interface IPROGRESS_DATA {\n /**\n * How man percent of\n */\n value?: number;\n msg?: string;\n type?: CoreModels.PROGRESS_DATA_TYPE;\n date?: Date;\n}\n\nexport class PROGRESS_DATA implements IPROGRESS_DATA {\n public static log(log: IPROGRESS_DATA) {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n }\n\n public static resolveFrom(\n chunk: string,\n callbackOnFounded?: (json: PROGRESS_DATA) => any,\n checkSplit = true,\n ): PROGRESS_DATA[] {\n let progress;\n let res: PROGRESS_DATA[] = [];\n if (!_.isString(chunk)) {\n return [];\n }\n chunk = chunk.trim();\n\n if (checkSplit) {\n const split = chunk.split(/\\r\\n|\\n|\\r/);\n if (split.length > 1) {\n\n split.forEach(s => {\n res = res.concat(this.resolveFrom(s, callbackOnFounded, false));\n });\n return res;\n }\n }\n\n if (/\\[\\[\\[.*\\]\\]\\]/g.test(chunk)) {\n chunk = chunk.replace(/^\\[\\[\\[/g, '').replace(/\\]\\]\\]$/g, '');\n progress = chunk;\n }\n if (!_.isUndefined(progress)) {\n try {\n const p = JSON.parse(progress);\n const single = _.merge(new PROGRESS_DATA(), p);\n res = res.concat([single]);\n if (_.isFunction(callbackOnFounded)) {\n callbackOnFounded(single);\n }\n } catch (err) {\n Helpers.error(err, true, true);\n Helpers.error(\n `ProgresssBarData: fail to parse \"${progress}\"`,\n true,\n true,\n );\n }\n }\n return res;\n }\n\n public value?: number;\n public msg?: string;\n\n public type: CoreModels.PROGRESS_DATA_TYPE = 'event';\n\n public date?: Date;\n}\n\n ;({}); // @--end-of-file-for-module=tnp-core lib/progress-data.ts","\n\nimport { chalk } from './core-imports';\nimport { Helpers } from './index';\nimport { frameworkName } from './framework-name';\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\nexport class CLI {\n\n/* */\n/* */\n/* */\n \n\n public static chalk = chalk;\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n}\n\n\n ;({}); // @--end-of-file-for-module=tnp-core lib/core-cli.ts","\n\n/**\n * TODO slowly refactor this.. only actually globally needed are:\n * pm2, yarn, npm-run, ts-node ???\n */\nexport const requiredForDev = {\n npm: [\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n ],\n niceTools: [\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n ],\n programs: [\n ,\n/* */\n/* */\n/* */\n/* */\n/* */\n \n ],\n};\n\n ;({}); // @--end-of-file-for-module=tnp-core lib/required-global-npm-packages.ts","\n\nexport * from './framework-name';\nexport * from './core-imports';\nexport * from './core-models';\nimport { HelpersCore as Base } from './helpers';\nexport * from './core-config';\nexport * from './progress-data';\nexport * from './utils';\nexport * from './core-cli';\nexport * from './required-global-npm-packages';\nexport { HelpersCore as CoreHelpers, CommandOutputOptions } from './helpers';\nexport let Helpers = Base.InstanceCore;\n\n ;({}); // @--end-of-file-for-module=tnp-core lib/index.ts","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["chalk","path","pathMock","chalkMock","Blob","Base"],"mappings":"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"}