tnp-core 18.0.27 → 18.0.30
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.
- package/assets/shared/shared_folder_info.txt +1 -1
- package/browser/esm2022/lib/core-models.mjs +1 -1
- package/browser/esm2022/lib/helpers.mjs +2 -1
- package/browser/esm2022/lib/utils.mjs +8 -1
- package/browser/fesm2022/tnp-core.mjs +8 -0
- package/browser/fesm2022/tnp-core.mjs.map +1 -1
- package/browser/lib/core-models.d.ts +19 -3
- package/browser/lib/utils.d.ts +49 -0
- package/cli.backend.js +2 -2
- package/client/esm2022/lib/core-models.mjs +1 -1
- package/client/esm2022/lib/helpers.mjs +2 -1
- package/client/esm2022/lib/utils.mjs +8 -1
- package/client/fesm2022/tnp-core.mjs +8 -0
- package/client/fesm2022/tnp-core.mjs.map +1 -1
- package/client/lib/core-models.d.ts +19 -3
- package/client/lib/utils.d.ts +49 -0
- package/lib/core-models.d.ts +19 -3
- package/lib/core-models.js.map +1 -1
- package/lib/helpers.js +1 -1
- package/lib/helpers.js.map +1 -1
- package/lib/node-chalk-mock.js +2 -2
- package/lib/node-path-mock.js +2 -2
- package/lib/utils.d.ts +49 -0
- package/lib/utils.js +13 -0
- package/lib/utils.js.map +1 -1
- package/package.json +3 -3
- package/tmp-environment.json +47 -44
- package/websql/esm2022/lib/core-models.mjs +1 -1
- package/websql/esm2022/lib/helpers.mjs +2 -1
- package/websql/esm2022/lib/utils.mjs +8 -1
- package/websql/fesm2022/tnp-core.mjs +8 -0
- package/websql/fesm2022/tnp-core.mjs.map +1 -1
- package/websql/lib/core-models.d.ts +19 -3
- package/websql/lib/utils.d.ts +49 -0
@@ -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/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/utils.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: 'firedev' | 'tnp' = '' as any;\n\n/* */\n/* */\n/* */\n \nexport const frameworkNameBe = frameworkNameBeTmp;\n\nexport const frameworkName = isBrowser ? 'firedev' : 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 '[firedev-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\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\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';\n\nimport { Helpers } from './index';\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\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/**\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(`[firedev-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 `[firedev-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, $, };/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n\n\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\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 silent?: boolean;\n remove?: boolean;\n useYarn?: boolean;\n force?: boolean;\n reason?: string;\n removeYarnOrPackageJsonLock?: boolean;\n generateYarnOrPackageJsonLock?: boolean;\n ignoreOptional?: boolean;\n };\n\n\n\n export type InstalationType = '-g' | '--save' | '--save-dev';\n\n export const InstalationTypeArr = ['-g', '--save', '--save-dev'];\n\n\n\n export type PackageJsonDependencyObj =\n | 'dependencies'\n | 'devDependencies'\n | 'peerDependencies'\n | 'resolutions';\n\n export const PackageJsonDependencyObjArr = [\n 'dependencies',\n 'devDependencies',\n 'peerDependencies',\n 'resolutions',\n ] as PackageJsonDependencyObj[];\n\n\n\n export type LibraryType = 'angular' | 'typescript';\n\n\n\n export type ReleaseType = 'major' | 'minor' | 'patch';\n export type PreReleaseType = 'alpha' | 'beta' | 'rc' | 'next';\n export const NpmSpecialVersions = [\n 'latest',\n 'next',\n 'beta',\n 'alpha',\n 'rc',\n 'lts',\n ];\n\n\n\n export type PROGRESS_DATA_TYPE = 'info' | 'error' | 'warning' | 'event';\n\n\n\n export type EnvironmentName =\n | 'local'\n | 'static'\n | 'dev'\n | 'stage'\n | 'prod'\n | 'online'\n | 'test'\n | 'qa'\n | 'custom';\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 | 'v20';\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\n\n\n export type FileExtension =\n | 'json'\n | 'html'\n | ImageFileExtension\n | 'txt'\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 | 'unknow'\n | 'unknow-npm-project';\n\n\n\n export const BaseProjectTypeArr = [\n 'typescript',\n 'angular',\n 'angular-lib',\n 'unknow',\n 'unknow-npm-project',\n ];\n\n\n\n export type LibType =\n | BaseProjectType\n | 'isomorphic-lib' // + https://github.com/maximegris/angular-electron\n | 'container'\n | 'docker'\n | 'vscode-ext'\n | 'chrome-ext'\n | 'unknow-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 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 exitOnErrorCallback?: (code: number) => void;\n /**\n * From displaying in console\n */\n hideOutput?: {\n stdout?: boolean;\n stderr?: boolean;\n acceptAllExitCodeAsSuccess?: boolean;\n };\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\n\n export interface FiredevJson {\n type: CoreModels.LibType;\n version?: CoreModels.FrameworkVersion;\n smartContainerBuildTarget?: string;\n smart?: boolean;\n monorepo?: boolean;\n libReleaseOptions: {\n cliBuildObscure?: boolean;\n cliBuildUglify?: boolean;\n cliBuildNoDts?: boolean;\n cliBuildIncludeNodeModules?: boolean;\n };\n /**\n * project is template for other project\n */\n isCoreProject: boolean;\n scripts?: { [script in string]: string };\n description?: string;\n license?: string;\n private?: boolean;\n author?: string;\n homepage?: string;\n overrided: {\n dependencies?: { [name: string]: string };\n };\n }\n\n}\n\n ;({}); // @--end-of-file-for-module=tnp-core lib/core-models.ts","\n\nexport class HelpersIsomorphic {\n get isBrowser() {\n/* */\n/* */\n \n return true;\n }\n\n get isWebSQL() {\n/* */\n/* */\n \n\n/* */\n/* */\n \n return false;\n }\n get isNode() {\n/* */\n/* */\n \n return false;\n }\n\n get isElectron() {\n\n // @ts-ignore\n if (\n typeof window !== 'undefined' &&\n typeof window.process === 'object' &&\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 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/* */\n/* */\n/* */\n \nimport { _ } from './core-imports';\n\n\nimport { Helpers } from './index';\nimport { HelpersIsomorphic } from './helpers-isomorphic';\nimport { PROGRESS_DATA } from './progress-data';\nimport { frameworkName } from './framework-name';\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\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 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\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 firedev-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 firedev-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 firedev-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 firedev-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\nfunction transformData(details: any) {\n if (typeof details === 'object') {\n if (Array.isArray(details)) {\n return details.join('\\n');\n }\n try {\n const json = JSON.stringify(details);\n details = json;\n } catch (error) {\n return details;\n }\n }\n return details;\n}\n\n ;({}); // @--end-of-file-for-module=tnp-core lib/helpers-messages.ts","\n\n\nimport { _, path, /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ } from './core-imports';/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n\nimport { Helpers } from './index';\nimport { HelpersMessages } from './helpers-messages';\nimport { CoreModels } from './core-models';\nimport { ipcRenderer, webFrame } from 'electron';\nimport type { ChildProcess } from 'child_process';\n\nimport { Subject, Subscription } from 'rxjs';\n\n/* */\n/* */\n/* */\n/* */\n \n\n\n\ndeclare const global: any;\nconst encoding = 'utf8';\n/* */\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 constructor() {\n super();\n/* */\n/* */\n/* */\n \n }\n\n\n\n get isWsl() {\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 isRunningInDocker() {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n clearConsole() {\n Helpers.msgCacheClear();\n console.log('\\x1Bc');\n\n\n\n\n\n\n\n }\n\n\n\n /**\n * get electron browser ipc renderer\n */\n get ipcRenderer(): typeof ipcRenderer {\n/* */\n/* */\n \n\n if (!this.isElectron) {\n return;\n }\n return (window as any).require('electron')\n .ipcRenderer as typeof ipcRenderer;\n\n }\n\n\n\n /**\n * get electron web frame\n */\n get webFrame(): typeof webFrame {\n/* */\n/* */\n \n\n if (!this.isElectron) {\n return;\n }\n return (window as any).require('electron').webFrame as typeof webFrame;\n\n }\n\n\n\n /**\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 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 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 Firedev framework.\n */\n get isSupportedFiredevTerminal(): boolean {\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 * 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('firedev ')) && // 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('firedev '))\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 public 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/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\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 }): 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 return (void 0);\n },\n\n /**\n * @deprecated use unitOutput\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 async questionYesNo(\n message: string,\n callbackTrue?: () => any,\n callbackFalse?: () => any,\n defaultValue = true,\n /**\n * in non interactive mode\n */\n mustAnswerQuestion = 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 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/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\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/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\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 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 { CoreModels } from './core-models';\nimport axios, { AxiosResponse } from 'axios';\nimport { path, _ } from './core-imports';\nimport { Helpers } from './index';\n/* */\n/* */\n/* */\n \n\nconst BLOB_SUPPORTED_IN_SQLJS = false;\n\nexport namespace Utils {\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 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 `[firedev-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 ;({}); // @--end-of-file-for-module=tnp-core lib/utils.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 { 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","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/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/utils.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: 'firedev' | 'tnp' = '' as any;\n\n/* */\n/* */\n/* */\n \nexport const frameworkNameBe = frameworkNameBeTmp;\n\nexport const frameworkName = isBrowser ? 'firedev' : 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 '[firedev-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\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\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';\n\nimport { Helpers } from './index';\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\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/**\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(`[firedev-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 `[firedev-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, $, };/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n\n\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\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\n export type PackageJsonDependencyObj =\n | 'dependencies'\n | 'devDependencies'\n | 'peerDependencies'\n | 'resolutions';\n\n export const PackageJsonDependencyObjArr = [\n 'dependencies',\n 'devDependencies',\n 'peerDependencies',\n 'resolutions',\n ] as PackageJsonDependencyObj[];\n\n\n\n export type LibraryType = 'angular' | 'typescript';\n\n\n\n export type ReleaseType = 'major' | 'minor' | 'patch';\n export type PreReleaseType = 'alpha' | 'beta' | 'rc' | 'next';\n export const NpmSpecialVersions = [\n 'latest',\n 'next',\n 'beta',\n 'alpha',\n 'rc',\n 'lts',\n ];\n\n\n\n export type PROGRESS_DATA_TYPE = 'info' | 'error' | 'warning' | 'event';\n\n\n\n export type EnvironmentName =\n | 'local'\n | 'static'\n | 'dev'\n | 'stage'\n | 'prod'\n | 'online'\n | 'test'\n | 'qa'\n | 'custom';\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 | 'v20';\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\n\n\n export type FileExtension =\n | 'json'\n | 'html'\n | ImageFileExtension\n | 'txt'\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 | 'unknow'\n | 'unknow-npm-project';\n\n\n\n export const BaseProjectTypeArr = [\n 'typescript',\n 'angular',\n 'angular-lib',\n 'unknow',\n 'unknow-npm-project',\n ];\n\n\n\n export type LibType =\n | BaseProjectType\n | 'isomorphic-lib' // + https://github.com/maximegris/angular-electron\n | 'container'\n | 'docker'\n | 'vscode-ext'\n | 'chrome-ext'\n | 'unknow-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 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 exitOnErrorCallback?: (code: number) => void;\n /**\n * From displaying in console\n */\n hideOutput?: {\n stdout?: boolean;\n stderr?: boolean;\n acceptAllExitCodeAsSuccess?: boolean;\n };\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\n\n export interface FiredevJson {\n type: CoreModels.LibType;\n version?: CoreModels.FrameworkVersion;\n smartContainerBuildTarget?: string;\n smart?: boolean;\n monorepo?: boolean;\n libReleaseOptions: {\n cliBuildObscure?: boolean;\n cliBuildUglify?: boolean;\n cliBuildNoDts?: boolean;\n cliBuildIncludeNodeModules?: boolean;\n };\n /**\n * project is template for other project\n */\n isCoreProject: boolean;\n scripts?: { [script in string]: string };\n description?: string;\n license?: string;\n private?: boolean;\n author?: string;\n homepage?: string;\n overrided: {\n dependencies?: { [name: string]: string };\n };\n }\n\n}\n\n ;({}); // @--end-of-file-for-module=tnp-core lib/core-models.ts","\n\nexport class HelpersIsomorphic {\n get isBrowser() {\n/* */\n/* */\n \n return true;\n }\n\n get isWebSQL() {\n/* */\n/* */\n \n\n/* */\n/* */\n \n return false;\n }\n get isNode() {\n/* */\n/* */\n \n return false;\n }\n\n get isElectron() {\n\n // @ts-ignore\n if (\n typeof window !== 'undefined' &&\n typeof window.process === 'object' &&\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 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/* */\n/* */\n/* */\n \nimport { _ } from './core-imports';\n\n\nimport { Helpers } from './index';\nimport { HelpersIsomorphic } from './helpers-isomorphic';\nimport { PROGRESS_DATA } from './progress-data';\nimport { frameworkName } from './framework-name';\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\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 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\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 firedev-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 firedev-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 firedev-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 firedev-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\nfunction transformData(details: any) {\n if (typeof details === 'object') {\n if (Array.isArray(details)) {\n return details.join('\\n');\n }\n try {\n const json = JSON.stringify(details);\n details = json;\n } catch (error) {\n return details;\n }\n }\n return details;\n}\n\n ;({}); // @--end-of-file-for-module=tnp-core lib/helpers-messages.ts","\n\n\nimport { _, path, /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ } from './core-imports';/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n\nimport { Helpers } from './index';\nimport { HelpersMessages } from './helpers-messages';\nimport { CoreModels } from './core-models';\nimport { ipcRenderer, webFrame } from 'electron';\nimport type { ChildProcess } from 'child_process';\n\nimport { Subject, Subscription } from 'rxjs';\n\n/* */\n/* */\n/* */\n/* */\n \n\n\n\ndeclare const global: any;\nconst encoding = 'utf8';\n/* */\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 constructor() {\n super();\n/* */\n/* */\n/* */\n \n }\n\n\n\n get isWsl() {\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 isRunningInDocker() {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n clearConsole() {\n Helpers.msgCacheClear();\n console.log('\\x1Bc');\n\n\n\n\n\n\n\n }\n\n\n\n /**\n * get electron browser ipc renderer\n */\n get ipcRenderer(): typeof ipcRenderer {\n/* */\n/* */\n \n\n if (!this.isElectron) {\n return;\n }\n return (window as any).require('electron')\n .ipcRenderer as typeof ipcRenderer;\n\n }\n\n\n\n /**\n * get electron web frame\n */\n get webFrame(): typeof webFrame {\n/* */\n/* */\n \n\n if (!this.isElectron) {\n return;\n }\n return (window as any).require('electron').webFrame as typeof webFrame;\n\n }\n\n\n\n /**\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 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 Firedev framework.\n */\n get isSupportedFiredevTerminal(): boolean {\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 * 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('firedev ')) && // 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('firedev '))\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 public 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/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\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 }): 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 return (void 0);\n },\n\n /**\n * @deprecated use unitOutput\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 async questionYesNo(\n message: string,\n callbackTrue?: () => any,\n callbackFalse?: () => any,\n defaultValue = true,\n /**\n * in non interactive mode\n */\n mustAnswerQuestion = 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 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/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\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/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\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 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 { CoreModels } from './core-models';\nimport axios, { AxiosResponse } from 'axios';\nimport { path, _ } from './core-imports';\nimport { Helpers } from './index';\n/* */\n/* */\n/* */\n \n\nconst BLOB_SUPPORTED_IN_SQLJS = false;\n\nexport namespace Utils {\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 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 `[firedev-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 export namespace process {\n export interface ProcessStartOptions {\n /**\n * by default is process.cwd();\n */\n cwd?: string;\n showCommand?: boolean;\n /**\n * Modify output line by line\n */\n outputLineReplace?: (outputLineStderOrStdout: string) => string;\n resolvePromiseMsg?: {\n /**\n * unitil this string is in output of stdout\n */\n stdout?: string | string[];\n /**\n * unitil 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 * Prefix messages output from child_prcess\n */\n prefix?: string;\n /**\n * Try command again after fail after n miliseconds\n */\n tryAgainWhenFailAfter?: number;\n askToTryAgainOnError?: boolean;\n exitOnErrorCallback?: (code: number) => void;\n /**\n * Use big buffer for big webpack logs\n */\n biggerBuffer?: boolean;\n hideOutput?: {\n stdout?: boolean;\n stderr?: boolean;\n };\n }\n\n export async function startAsync(\n command: string,\n options?: ProcessStartOptions & { detach?: boolean },\n ) {}\n export function startSync(command: string, options?: ProcessStartOptions) {}\n }\n\n\n}\n\n ;({}); // @--end-of-file-for-module=tnp-core lib/utils.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 { 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","Base"],"mappings":"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"}
|