tnp-helpers 18.0.3 → 18.0.6
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/base/base-git.mjs +2 -2
- package/browser/esm2022/lib/base/base-library-build.mjs +19 -1
- package/browser/esm2022/lib/base/base-linked-projects.mjs +1 -1
- package/browser/esm2022/lib/base/base-npm-helpers.mjs +46 -13
- package/browser/esm2022/lib/base/base-project-resolver.mjs +3 -2
- package/browser/esm2022/lib/base/base-project.mjs +10 -1
- package/browser/esm2022/lib/base/base-release-process.mjs +2 -2
- package/browser/esm2022/lib/base/core-project.mjs +1 -1
- package/browser/esm2022/lib/models.mjs +1 -1
- package/browser/fesm2022/tnp-helpers.mjs +76 -15
- package/browser/fesm2022/tnp-helpers.mjs.map +1 -1
- package/browser/lib/base/base-git.d.ts +1 -1
- package/browser/lib/base/base-library-build.d.ts +1 -0
- package/browser/lib/base/base-npm-helpers.d.ts +4 -15
- package/browser/lib/base/base-project.d.ts +4 -0
- package/browser/lib/base/core-project.d.ts +2 -1
- package/browser/lib/models.d.ts +4 -0
- package/client/esm2022/lib/base/base-git.mjs +2 -2
- package/client/esm2022/lib/base/base-library-build.mjs +19 -1
- package/client/esm2022/lib/base/base-linked-projects.mjs +1 -1
- package/client/esm2022/lib/base/base-npm-helpers.mjs +46 -13
- package/client/esm2022/lib/base/base-project-resolver.mjs +3 -2
- package/client/esm2022/lib/base/base-project.mjs +10 -1
- package/client/esm2022/lib/base/base-release-process.mjs +2 -2
- package/client/esm2022/lib/base/core-project.mjs +1 -1
- package/client/esm2022/lib/models.mjs +1 -1
- package/client/fesm2022/tnp-helpers.mjs +76 -15
- package/client/fesm2022/tnp-helpers.mjs.map +1 -1
- package/client/lib/base/base-git.d.ts +1 -1
- package/client/lib/base/base-library-build.d.ts +1 -0
- package/client/lib/base/base-npm-helpers.d.ts +4 -15
- package/client/lib/base/base-project.d.ts +4 -0
- package/client/lib/base/core-project.d.ts +2 -1
- package/client/lib/models.d.ts +4 -0
- package/lib/base/base-command-line.backend.d.ts +16 -10
- package/lib/base/base-command-line.backend.js +381 -164
- package/lib/base/base-command-line.backend.js.map +1 -1
- package/lib/base/base-git.d.ts +1 -1
- package/lib/base/base-git.js +23 -18
- package/lib/base/base-git.js.map +1 -1
- package/lib/base/base-library-build.d.ts +1 -0
- package/lib/base/base-library-build.js +23 -8
- package/lib/base/base-library-build.js.map +1 -1
- package/lib/base/base-linked-projects.js +0 -1
- package/lib/base/base-linked-projects.js.map +1 -1
- package/lib/base/base-npm-helpers.d.ts +3 -10
- package/lib/base/base-npm-helpers.js +79 -38
- package/lib/base/base-npm-helpers.js.map +1 -1
- package/lib/base/base-project-resolver.js +3 -1
- package/lib/base/base-project-resolver.js.map +1 -1
- package/lib/base/base-project.d.ts +4 -0
- package/lib/base/base-project.js +16 -0
- package/lib/base/base-project.js.map +1 -1
- package/lib/base/base-release-process.js +9 -4
- package/lib/base/base-release-process.js.map +1 -1
- package/lib/base/core-project.d.ts +2 -1
- package/lib/base/core-project.js.map +1 -1
- package/lib/helpers/for-backend/helpers-cli-tool.backend.js +0 -1
- package/lib/helpers/for-backend/helpers-cli-tool.backend.js.map +1 -1
- package/lib/helpers/for-backend/helpers-file-folders.backend.js +4 -4
- package/lib/helpers/for-backend/helpers-file-folders.backend.js.map +1 -1
- package/lib/helpers/for-backend/helpers-git.backend.d.ts +2 -2
- package/lib/helpers/for-backend/helpers-git.backend.js +122 -89
- package/lib/helpers/for-backend/helpers-git.backend.js.map +1 -1
- package/lib/helpers/for-backend/helpers-process.backend.js.map +1 -1
- package/lib/helpers/for-browser/angular.helper.js +2 -2
- package/lib/models.d.ts +4 -0
- package/lib/old/base-component.js +2 -2
- package/lib/old/base-formly-component.js +2 -2
- package/lib/old/dual-component-ctrl.js +2 -2
- package/package.json +4 -4
- package/tmp-environment.json +47 -44
- package/websql/esm2022/lib/base/base-git.mjs +2 -2
- package/websql/esm2022/lib/base/base-library-build.mjs +19 -1
- package/websql/esm2022/lib/base/base-linked-projects.mjs +1 -1
- package/websql/esm2022/lib/base/base-npm-helpers.mjs +46 -13
- package/websql/esm2022/lib/base/base-project-resolver.mjs +3 -2
- package/websql/esm2022/lib/base/base-project.mjs +10 -1
- package/websql/esm2022/lib/base/base-release-process.mjs +2 -2
- package/websql/esm2022/lib/base/core-project.mjs +1 -1
- package/websql/esm2022/lib/models.mjs +1 -1
- package/websql/fesm2022/tnp-helpers.mjs +76 -15
- package/websql/fesm2022/tnp-helpers.mjs.map +1 -1
- package/websql/lib/base/base-git.d.ts +1 -1
- package/websql/lib/base/base-library-build.d.ts +1 -0
- package/websql/lib/base/base-npm-helpers.d.ts +4 -13
- package/websql/lib/base/base-project.d.ts +4 -0
- package/websql/lib/base/core-project.d.ts +2 -1
- package/websql/lib/models.d.ts +4 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tnp-helpers.mjs","sources":["../../../tmp-libs-for-dist-websql/tnp-helpers/projects/tnp-helpers/src/lib/validators/validators-git.ts","../../../tmp-libs-for-dist-websql/tnp-helpers/projects/tnp-helpers/src/lib/validators/validators-network.ts","../../../tmp-libs-for-dist-websql/tnp-helpers/projects/tnp-helpers/src/lib/validators/validators.ts","../../../tmp-libs-for-dist-websql/tnp-helpers/projects/tnp-helpers/src/lib/helpers/for-browser/angular.helper.ts","../../../tmp-libs-for-dist-websql/tnp-helpers/projects/tnp-helpers/src/lib/utils.ts","../../../tmp-libs-for-dist-websql/tnp-helpers/projects/tnp-helpers/src/lib/helpers/helpers-array-obj.ts","../../../tmp-libs-for-dist-websql/tnp-helpers/projects/tnp-helpers/src/lib/helpers/helpers-strings-regexes.ts","../../../tmp-libs-for-dist-websql/tnp-helpers/projects/tnp-helpers/src/lib/helpers/helpers-strings.ts","../../../tmp-libs-for-dist-websql/tnp-helpers/projects/tnp-helpers/src/lib/helpers/helpers-numbers.ts","../../../tmp-libs-for-dist-websql/tnp-helpers/projects/tnp-helpers/src/lib/helpers/for-browser/helpers-browser.ts","../../../tmp-libs-for-dist-websql/tnp-helpers/projects/tnp-helpers/src/lib/helpers/helpers.ts","../../../tmp-libs-for-dist-websql/tnp-helpers/projects/tnp-helpers/src/lib/base/base-db.ts","../../../tmp-libs-for-dist-websql/tnp-helpers/projects/tnp-helpers/src/lib/base/config-database.ts","../../../tmp-libs-for-dist-websql/tnp-helpers/projects/tnp-helpers/src/lib/base/project-database.ts","../../../tmp-libs-for-dist-websql/tnp-helpers/projects/tnp-helpers/src/lib/base/base-project-resolver.ts","../../../tmp-libs-for-dist-websql/tnp-helpers/projects/tnp-helpers/src/lib/base/base-project.ts","../../../tmp-libs-for-dist-websql/tnp-helpers/projects/tnp-helpers/src/lib/base/base-feature-for-project.ts","../../../tmp-libs-for-dist-websql/tnp-helpers/projects/tnp-helpers/src/lib/base/base-library-build.ts","../../../tmp-libs-for-dist-websql/tnp-helpers/projects/tnp-helpers/src/lib/base/base-npm-helpers.ts","../../../tmp-libs-for-dist-websql/tnp-helpers/projects/tnp-helpers/src/lib/base/base-linked-projects.ts","../../../tmp-libs-for-dist-websql/tnp-helpers/projects/tnp-helpers/src/lib/base/base-git.ts","../../../tmp-libs-for-dist-websql/tnp-helpers/projects/tnp-helpers/src/lib/base/base-release-process.ts","../../../tmp-libs-for-dist-websql/tnp-helpers/projects/tnp-helpers/src/lib/base/commit-data.ts","../../../tmp-libs-for-dist-websql/tnp-helpers/projects/tnp-helpers/src/lib/base/core-project.ts","../../../tmp-libs-for-dist-websql/tnp-helpers/projects/tnp-helpers/src/lib/base/linked-project.ts","../../../tmp-libs-for-dist-websql/tnp-helpers/projects/tnp-helpers/src/lib/base/index.ts","../../../tmp-libs-for-dist-websql/tnp-helpers/projects/tnp-helpers/src/lib/models.ts","../../../tmp-libs-for-dist-websql/tnp-helpers/projects/tnp-helpers/src/lib/index.ts","../../../tmp-libs-for-dist-websql/tnp-helpers/projects/tnp-helpers/src/tnp-helpers.ts"],"sourcesContent":["\n\n\nexport namespace ValidatorsGit {\n\n export function isValidRepoUrl(url: string) {\n const regex = /^([A-Za-z0-9]+@|http(|s)\\:\\/\\/)([A-Za-z0-9.]+(:\\d+)?)(?::|\\/)([\\d\\/\\w.-]+?)(\\.git)?$/;\n const res = regex.test(url);\n return res;\n }\n\n}\n\n ;({}); // @--end-of-file-for-module=tnp-helpers lib/validators/validators-git.ts","\n\nimport { _ } from 'tnp-core/websql';\n\nexport namespace ValidatorsNetwork {\n export function isValidIp(ip: string) {\n if (!_.isString(ip)) {\n return false;\n }\n ip = ip.trim();\n if (ip === 'localhost') {\n return true;\n }\n return /^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/.test(ip)\n }\n}\n\n ;({}); // @--end-of-file-for-module=tnp-helpers lib/validators/validators-network.ts","\n\nimport { ValidatorsGit } from \"./validators-git\";\nimport { ValidatorsNetwork } from \"./validators-network\";\n\nexport namespace Validators {\n export import git = ValidatorsGit;\n export import network = ValidatorsNetwork;\n}\n\n\n ;({}); // @--end-of-file-for-module=tnp-helpers lib/validators/validators.ts","\n\n\nimport { Observable, Subject } from \"rxjs\";\n\nconst componentContextSymbol = Symbol();\nconst componentsDestroy$Subjects = {};\n\n\nexport namespace HelpersAngular {\n\n export class SerializedSubject<T> {\n constructor(\n public id: string\n ) { }\n }\n\n\n function subjectId(destroySubject: Subject<any>): SerializedSubject<any> {\n const id = Math.random().toString(36).substring(2);\n if (!destroySubject[componentContextSymbol]) {\n destroySubject[componentContextSymbol] = new SerializedSubject(id);\n componentsDestroy$Subjects[id] = destroySubject;\n }\n return destroySubject[componentContextSymbol];\n }\n\n /**\n * if you are using this.. please call Helpers.ng.unsubscribe(this.$destroy) in ngOnDestroy();\n */\n export function serialize(destroy$: Subject<any>): SerializedSubject<any> {\n return subjectId(destroy$);\n }\n\n /**\n * if you are using this.. please call Helpers.ng.unsubscribe(this.$destroy) in ngOnDestroy();\n */\n export function deserialize(destroy$: SerializedSubject<any>): Subject<any> {\n if (destroy$?.id) {\n const realDestroySubject = componentsDestroy$Subjects[destroy$.id];\n return realDestroySubject;\n }\n return new Subject();\n }\n\n export function unsubscribe(destroy$: Subject<any>) {\n const destroySubject = subjectId(destroy$);\n if (destroySubject?.id) {\n delete componentsDestroy$Subjects[destroySubject.id];\n delete destroySubject[componentContextSymbol];\n }\n }\n\n\n\n /**\n get properties from scss file\n\n\n import styles from './tasks-ngrx-data.component.scss';\n\n export class ExampleComponent {\n sassFile = sassFile(styles);\n\n async ngOnInit() {\n this.tasksService.getAll();\n console.log(this.sassFile.stringValue('--max-container-size'))\n console.log(this.sassFile.numberValue('--max-container-size'))\n }\n }\n */\n export function sassFile(styles: string) {\n const lines = (styles.split('\\n'));\n return {\n stringValue: (name: string) => {\n for (let index = 0; index < lines.length; index++) {\n const l = lines[index];\n const [varName, value] = l.trim().split(':');\n if (varName === name) {\n return value.replace(';', '');\n }\n }\n },\n numberValue: (name: string): number => {\n for (let index = 0; index < lines.length; index++) {\n const l = lines[index];\n const [varName, value] = l.trim().split(':');\n if (varName === name) {\n return Number(value.replace('px', '').replace(';', ''));\n }\n }\n }\n }\n }\n}\n\n\n\n ;({}); // @--end-of-file-for-module=tnp-helpers lib/helpers/for-browser/angular.helper.ts","\n\nimport { _, CoreModels, Helpers, Utils } from 'tnp-core/websql';\n\n\nexport namespace UtilsNpm {\n\n export const isSpecialVersion = (version: string) => {\n return CoreModels.NpmSpecialVersions.includes(version);\n };\n\n\n\n export const clearVersion = (\n version: string,\n options: {\n removePrefixes?: boolean;\n /**\n * Remove alpha, beta, rc, latest, next etc.\n */\n removeSuffix?: boolean;\n },\n ) => {\n const { removePrefixes, removeSuffix } = options || {};\n\n if (!version || isSpecialVersion(version)) {\n return version;\n }\n\n version = (version || '')\n .trim()\n .replace(new RegExp(Utils.escapeStringForRegEx('undefined'), 'g'), '0');\n\n if (removePrefixes) {\n version = version.replace('^', '').replace('~', '');\n }\n let [major, minor, patch, alphaOrBetaOrRc] = version.split('.');\n if (removeSuffix) {\n alphaOrBetaOrRc = '';\n }\n return fixMajorVerNumber(\n `${major}.${minor}.${patch}${alphaOrBetaOrRc ? '.' + alphaOrBetaOrRc : ''}`,\n );\n };\n\n\n\n export const fixMajorVerNumber = (version: string) => {\n if (!version || isSpecialVersion(version)) {\n return version;\n }\n version = (version || '')\n .trim()\n .replace(new RegExp(Utils.escapeStringForRegEx('undefined'), 'g'), '0');\n const splited = version.split('.');\n let [major, minor, patch, alphaOrBetaOrRc] = splited;\n if (splited.length === 1) {\n minor = '0';\n patch = '0';\n } else if (splited.length === 2) {\n patch = '0';\n }\n return `${major}.${minor}.${patch}${alphaOrBetaOrRc ? '.' + alphaOrBetaOrRc : ''}`;\n };\n\n}\n\n\n ;({}); // @--end-of-file-for-module=tnp-helpers lib/utils.ts","\n\nimport { _ } from 'tnp-core/websql';\nimport * as fuzzy from 'fuzzy';\n\n\nexport class HelpersArrayObj {\n\n from(s: string | string[]): string[] {\n if (_.isArray(s)) {\n return s;\n }\n if (_.isString(s)) {\n return s.split(' ')\n }\n }\n\n second(arr) {\n if (!Array.isArray(arr) || arr.length < 2) {\n return void 0;\n }\n return arr[1];\n }\n\n /**\n * @deprecated\n * use moveObjectBefore\n */\n arrayMoveElementBefore<T = any>(arr: any[], a: any, b: any, prop?: keyof T) {\n let indexA = prop ? arr.findIndex(elem => elem[prop] === a[prop]) : arr.indexOf(a);\n _.pullAt(arr, indexA);\n let indexB = prop ? arr.findIndex(elem => elem[prop] === b[prop]) : arr.indexOf(b);\n if (indexB === 0) {\n arr.unshift(a);\n } else {\n arr.splice(indexB - 1, 0, a);\n }\n return arr;\n }\n\n /**\n * @deprecated\n * use moveObjectAfter\n */\n arrayMoveElementAfterB<T = any>(arr: any[], a: any, b: any, prop?: keyof T) {\n let indexA = prop ? arr.findIndex(elem => elem[prop] === a[prop]) : arr.indexOf(a);\n _.pullAt(arr, indexA);\n let indexB = prop ? arr.findIndex(elem => elem[prop] === b[prop]) : arr.indexOf(b);\n if (indexB === arr.length - 1) {\n arr.push(a);\n } else {\n arr.splice(indexB + 1, 0, a);\n }\n return arr;\n }\n\n moveObjectBefore<T = any>(array: T[], target: T, before: T): T[] {\n const newArray = [...array];\n const targetIndex = newArray.findIndex(item => item === target);\n const beforeIndex = newArray.findIndex(item => item === before);\n\n if (targetIndex === -1 || beforeIndex === -1) {\n\n console.error(\"Target or Before object not found in the array\");\n return newArray;\n }\n\n\n newArray.splice(targetIndex, 1);\n\n\n newArray.splice(beforeIndex, 0, target);\n\n return newArray;\n }\n\n moveObjectAfter<T = any>(array: T[], target: T, after: T): T[] {\n const newArray = [...array];\n const targetIndex = newArray.findIndex(item => item === target);\n const afterIndex = newArray.findIndex(item => item === after);\n\n if (targetIndex === -1 || afterIndex === -1) {\n\n console.error(\"Target or After object not found in the array\");\n return newArray;\n }\n\n\n newArray.splice(targetIndex, 1);\n\n\n newArray.splice(afterIndex + 1, 0, target);\n\n return newArray;\n }\n\n /**\n * @deprecated\n */\n uniqArray<T = any>(array: any[], uniqueProperty?: (keyof T)) {\n var seen = {};\n return array\n .filter(f => !!f)\n .filter(function (item) {\n return seen.hasOwnProperty(uniqueProperty ? item[uniqueProperty] : item) ? false\n : (seen[uniqueProperty ? item[uniqueProperty] : item] = true);\n }) as T[];\n }\n\n sortKeys(obj) {\n if (_.isArray(obj)) {\n return obj.map(this.sortKeys);\n }\n if (_.isObject(obj)) {\n return _.fromPairs(_.keys(obj).sort().map(key => [key, this.sortKeys(obj[key])]));\n }\n return obj;\n };\n\n /**\n * Fuzzy search\n */\n fuzzy<T = any>(query: string, list: T[], valueFn?: (modelFromList: T) => string) {\n\n const resultsFuzzy = fuzzy.filter(\n query,\n list.map(k => valueFn ? valueFn(k) : k),\n )\n const resultsFuzzyKebab = fuzzy.filter(\n _.kebabCase(query),\n list.map(k => _.kebabCase((valueFn ? valueFn(k) : k) as any)),\n )\n const matches = resultsFuzzy.map((el) => el.string);\n const matchesKebab = resultsFuzzyKebab.map((el) => el.string);\n\n const results = (resultsFuzzy.length === 0) ? [] : list.filter(k => {\n return matches.includes((valueFn ? valueFn(k) : k) as any);\n })\n\n if (matches.length === 0 && matchesKebab.length > 0) {\n const m = list.find(k => _.kebabCase((valueFn ? valueFn(k) : k) as any) === _.first(matchesKebab));\n results.push(m);\n matches.push((valueFn ? valueFn(m) : m) as any);\n }\n\n return { matches, results };\n }\n\n}\n\n ;({}); // @--end-of-file-for-module=tnp-helpers lib/helpers/helpers-array-obj.ts","\n\nimport { Utils, _ } from 'tnp-core/websql';\nexport class HelpersStringsRegexes {\n\n\n\n escapeStringForRegEx(s: string) {\n return Utils.escapeStringForRegEx(s);\n }\n\n matchExactOnce(s: string, regex: RegExp): string {\n if (!_.isString(s) || !_.isRegExp(regex)) {\n return void 0;\n }\n const result = s.match(regex);\n if (_.isNil(result)) {\n return void 0;\n }\n return result.length >= 1 ? _.first(result) : void 0;\n }\n\n get regex() {\n return {\n /**\n * mathes\n * xxx.xxx.xxx.xxx\n * xxx.xxx.xxx.xxx:port\n * http://xxx.xxx.xxx.xxx:port\n * http://xxx.xxx.xxx.xxx\n * https://xxx.xxx.xxx.xxx:port\n * https://xxx.xxx.xxx.xxx *\n */\n get forStringWithIpHost() {\n const regex = /(http(s)?\\:\\/\\/)?(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)(\\:[0-9]+)?/;\n return regex;\n },\n /**\n * mathes\n * http://domain.com:port\n * http://domain.com\n * http://domain:port\n * http://domain\n * https://domain.com:port\n * https://domain.com\n * https://domain:port\n * https://domain\n */\n get forStringWithDomainHost() {\n const regex = /(((http(s)?\\:\\/\\/)?[a-zA-Z0-9][a-zA-Z0-9-]{1,61}[a-zA-Z0-9](?:\\.[a-zA-Z]{2,})+(\\:[0-9]+)?)|((http(s)?\\:\\/\\/)[a-zA-Z0-9-]{1,61}))/;\n return regex;\n }\n }\n }\n}\n\n ;({}); // @--end-of-file-for-module=tnp-helpers lib/helpers/helpers-strings-regexes.ts","\n\nimport { _ } from 'tnp-core/websql';\nimport { Helpers } from '../index';\n\nexport class HelpersStrings {\n\n /**\n * Example:\n *\n * const result = interpolateString(\"I'm {age} years old!\")\n * .withParameters({ age: 29 });\n *\n * const result = interpolateString(\"The {a} says {n}, {n}, {n}!\")\n * .withParameters({ a: 'cow', n: 'moo' });\n *\n *\n * @param value string to interpolate\n * @param parameters object with parametes\n */\n interpolateString<T = any>(value: string) {\n if (typeof value !== 'string') {\n Helpers.warn('[firedev-heleprs] Value for interpolation is not string: ', value);\n return value;\n }\n\n return {\n withParameters(parameters: T) {\n if (typeof parameters !== 'object') {\n Helpers.log(parameters as any);\n Helpers.warn('[firedev-heleprs] Parameters are not a object: ');\n return value;\n }\n return value.replace(/{([^{}]*)}/g, function (a, b) {\n var r = parameters[b];\n return typeof r === 'string' || typeof r === 'number' ? r : a;\n } as any);\n }\n }\n\n }\n\n /**\n *\n * @param pixelsCss exmaple: 100px\n * @returns number value\n */\n numValue(pixelsCss: string) {\n\n return parseInt(pixelsCss.replace('px', ''));\n }\n\n /**\n * examples:\n * 'aa bb bb' => ['aa','bb','cc'],\n * 'aa' => ['aa']\n * ['aa'] => ['aa']\n */\n splitIfNeed(stringOrArr: string | string[]): string[] {\n let res = [];\n if (_.isArray(stringOrArr)) {\n res = stringOrArr.map(s => {\n return s.trim();\n })\n }\n if (_.isString(stringOrArr)) {\n res = stringOrArr.split(/\\s*[\\s,]\\s*/);\n }\n return res.filter(f => !!f && (f.trim() !== ''));\n }\n\n removeDoubleOrMoreEmptyLines(s: string) {\n s = s?.split('\\n').map(f => f.trimRight()).join('\\n');\n return s?.replace(/(\\r\\n|\\r|\\n){2,}/g, '$1\\n');\n }\n\n /**\n *\n * https://stackoverflow.com/a/57129703/1345101\n *\n * Returns the plural of an English word.\n *\n * @export\n * @param {string} word\n * @param {number} [amount]\n * @returns {string}\n */\n plural(word: string, amount?: number): string {\n if (amount !== undefined && amount === 1) {\n return word\n }\n const plural: { [key: string]: string } = {\n '(quiz)$': \"$1zes\",\n '^(ox)$': \"$1en\",\n '([m|l])ouse$': \"$1ice\",\n '(matr|vert|ind)ix|ex$': \"$1ices\",\n '(x|ch|ss|sh)$': \"$1es\",\n '([^aeiouy]|qu)y$': \"$1ies\",\n '(hive)$': \"$1s\",\n '(?:([^f])fe|([lr])f)$': \"$1$2ves\",\n '(shea|lea|loa|thie)f$': \"$1ves\",\n 'sis$': \"ses\",\n '([ti])um$': \"$1a\",\n '(tomat|potat|ech|her|vet)o$': \"$1oes\",\n '(bu)s$': \"$1ses\",\n '(alias)$': \"$1es\",\n '(octop)us$': \"$1i\",\n '(ax|test)is$': \"$1es\",\n '(us)$': \"$1es\",\n '([^s]+)$': \"$1s\"\n }\n const irregular: { [key: string]: string } = {\n 'move': 'moves',\n 'foot': 'feet',\n 'goose': 'geese',\n 'sex': 'sexes',\n 'child': 'children',\n 'man': 'men',\n 'tooth': 'teeth',\n 'person': 'people'\n }\n const uncountable: string[] = [\n 'sheep',\n 'fish',\n 'deer',\n 'moose',\n 'series',\n 'species',\n 'money',\n 'rice',\n 'information',\n 'equipment',\n 'bison',\n 'cod',\n 'offspring',\n 'pike',\n 'salmon',\n 'shrimp',\n 'swine',\n 'trout',\n 'aircraft',\n 'hovercraft',\n 'spacecraft',\n 'sugar',\n 'tuna',\n 'you',\n 'wood'\n ]\n\n if (uncountable.indexOf(word.toLowerCase()) >= 0) {\n return word\n }\n\n for (const w in irregular) {\n const pattern = new RegExp(`${w}$`, 'i')\n const replace = irregular[w]\n if (pattern.test(word)) {\n return word.replace(pattern, replace)\n }\n }\n\n for (const reg in plural) {\n const pattern = new RegExp(reg, 'i')\n if (pattern.test(word)) {\n return word.replace(pattern, plural[reg])\n }\n }\n return word\n }\n\n\n /**\n * https://stackoverflow.com/a/57129703/1345101\n *\n * Returns the singular of an English word.\n *\n * @export\n * @param {string} word\n * @param {number} [amount]\n * @returns {string}\n */\n singular(word: string, amount?: number): string {\n if (amount !== undefined && amount !== 1) {\n return word\n }\n const singular: { [key: string]: string } = {\n '(quiz)zes$': \"$1\",\n '(matr)ices$': \"$1ix\",\n '(vert|ind)ices$': \"$1ex\",\n '^(ox)en$': \"$1\",\n '(alias)es$': \"$1\",\n '(octop|vir)i$': \"$1us\",\n '(cris|ax|test)es$': \"$1is\",\n '(shoe)s$': \"$1\",\n '(o)es$': \"$1\",\n '(bus)es$': \"$1\",\n '([m|l])ice$': \"$1ouse\",\n '(x|ch|ss|sh)es$': \"$1\",\n '(m)ovies$': \"$1ovie\",\n '(s)eries$': \"$1eries\",\n '([^aeiouy]|qu)ies$': \"$1y\",\n '([lr])ves$': \"$1f\",\n '(tive)s$': \"$1\",\n '(hive)s$': \"$1\",\n '(li|wi|kni)ves$': \"$1fe\",\n '(shea|loa|lea|thie)ves$': \"$1f\",\n '(^analy)ses$': \"$1sis\",\n '((a)naly|(b)a|(d)iagno|(p)arenthe|(p)rogno|(s)ynop|(t)he)ses$': \"$1$2sis\",\n '([ti])a$': \"$1um\",\n '(n)ews$': \"$1ews\",\n '(h|bl)ouses$': \"$1ouse\",\n '(corpse)s$': \"$1\",\n '(us)es$': \"$1\",\n 's$': \"\"\n }\n const irregular: { [key: string]: string } = {\n 'move': 'moves',\n 'foot': 'feet',\n 'goose': 'geese',\n 'sex': 'sexes',\n 'child': 'children',\n 'man': 'men',\n 'tooth': 'teeth',\n 'person': 'people'\n }\n const uncountable: string[] = [\n 'sheep',\n 'fish',\n 'deer',\n 'moose',\n 'series',\n 'species',\n 'money',\n 'rice',\n 'information',\n 'equipment',\n 'bison',\n 'cod',\n 'offspring',\n 'pike',\n 'salmon',\n 'shrimp',\n 'swine',\n 'trout',\n 'aircraft',\n 'hovercraft',\n 'spacecraft',\n 'sugar',\n 'tuna',\n 'you',\n 'wood'\n ]\n\n if (uncountable.indexOf(word.toLowerCase()) >= 0) {\n return word\n }\n\n for (const w in irregular) {\n const pattern = new RegExp(`${irregular[w]}$`, 'i')\n const replace = w\n if (pattern.test(word)) {\n return word.replace(pattern, replace)\n }\n }\n\n for (const reg in singular) {\n const pattern = new RegExp(reg, 'i')\n if (pattern.test(word)) {\n return word.replace(pattern, singular[reg])\n }\n }\n return word\n }\n\n}\n\n\n ;({}); // @--end-of-file-for-module=tnp-helpers lib/helpers/helpers-strings.ts","\n\n\nexport class HelpersNumber {\n /**\n * @deprecated\n * use _.random()\n */\n randomInteger = (max, min) => Math.round(Math.random() * (max - min)) + min;\n\n\n}\n\n ;({}); // @--end-of-file-for-module=tnp-helpers lib/helpers/helpers-numbers.ts","\n\n\n\n\nconst key = Symbol('[firedev-helpers] helper browser key')\n\nexport class HelpersBrowser {\n\n private static callbacks = [];\n static onInit(callback: (ins: HelpersBrowser) => any) {\n this.callbacks.push(callback);\n }\n\n get win() {\n let win = window;\n return win;\n }\n\n private get tabIdSessionStorage() {\n return Number(this.win.sessionStorage?.tabId) || 0;\n }\n\n readonly tabId: number;\n\n private static inst: HelpersBrowser;\n init = (() => {\n const win = this.win;\n\n if (!win[key]) {\n win[key] = new HelpersBrowser(win);\n }\n HelpersBrowser.inst = win[key];\n })();\n\n private constructor(win: Window) {\n\n win.addEventListener(\"beforeunload\", (e) => {\n win.sessionStorage.tabId = this.tabId;\n return null;\n });\n\n setTimeout(() => {\n\n if (win.sessionStorage?.tabId) {\n // @ts-ignore\n this.tabId = Number(win.sessionStorage.tabId);\n win.sessionStorage.removeItem(\"tabId\");\n }\n else {\n // @ts-ignore\n this.tabId = Math.floor(Math.random() * 1000000) + (new Date()).getTime();\n }\n HelpersBrowser.callbacks.forEach((c) => {\n c(this);\n });\n })\n\n\n }\n\n\n static get instance() {\n return HelpersBrowser.inst;\n }\n\n}\n\n\n\n\n\n\n ;({}); // @--end-of-file-for-module=tnp-helpers lib/helpers/for-browser/helpers-browser.ts","\n\n\nimport { _, path } from 'tnp-core/websql';\nimport { HelpersArrayObj } from './helpers-array-obj';\nimport { HelpersStringsRegexes } from './helpers-strings-regexes';\nimport { HelpersStrings } from './helpers-strings';\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \nimport { config } from 'tnp-config/websql';\nimport { Helpers, Validators } from '../index';\nimport { CLASS } from 'typescript-class-helpers/websql';\nimport { CoreHelpers, CoreModels } from 'tnp-core/websql';\nimport { HelpersNumber } from './helpers-numbers';\n\nimport { HelpersBrowser } from './for-browser/helpers-browser';\nimport { HelpersAngular } from './for-browser/angular.helper';\n\n\n\n\n/**\n * Mixing for multiclass inheritance\n *\n * How to use It:\n *\n * class Wolverine {}\n * class Jean {}\n * export class Child {}\n * export interface MyChild implements Wolverine, Jean {}\n * applyMixing(Child,[Wolverine, Jean]);\n *\n * @param derivedCtor Target Class\n * @param baseCtors Base Classes\n */\nexport function applyMixins(derivedCtor: any, baseCtors: any[]) {\n baseCtors.forEach(baseCtor => {\n Object.getOwnPropertyNames(baseCtor.prototype).forEach(name => {\n Object.defineProperty(\n derivedCtor.prototype,\n name,\n Object.getOwnPropertyDescriptor(baseCtor.prototype, name),\n );\n });\n });\n}\n\n\nexport class HelpersFiredev extends CoreHelpers {\n\n private static _instance: HelpersFiredev & CoreHelpers;\n public static get Instance(): HelpersFiredev {\n if (!HelpersFiredev._instance) {\n HelpersFiredev._instance = new HelpersFiredev();\n }\n return HelpersFiredev._instance;\n }\n\n\n\n private constructor(\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n public arrays = new HelpersArrayObj(),\n public strings = new HelpersStrings(),\n public numbers = new HelpersNumber(),\n\n public browser = HelpersBrowser.instance,\n public ng = HelpersAngular,\n\n ) {\n super();\n }\n\n\n\n CLIWRAP(f: Function, name: string) {\n CLASS.setName(f, name);\n return f;\n }\n\n\n\n /**\n * Bundle file with node_modules into one file\n */\n async ncc(\n pathToJsFile: string,\n outputFilePath: string,\n /**\n * ! beforeWrite needs to return output\n */\n beforeWrite?: (options: {\n output?: string;\n copyToDestination?: (fileOrFolderAbsPath: string) => void;\n }) => string,\n ): Promise<void> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n uniqArray<T = any>(array: any[], uniqueProperty?: keyof T): T[] {\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n\n\n\n\n\n\n\n urlParse(portOrHost: number | string | URL, forceDomain = false) {\n let url: URL;\n if (portOrHost instanceof URL) {\n url = portOrHost;\n } else if (_.isNumber(portOrHost)) {\n url = new URL(`http://localhost:${portOrHost}`);\n } else if (!_.isNaN(Number(portOrHost))) {\n url = new URL(`http://localhost:${Number(portOrHost)}`);\n } else if (_.isString(portOrHost)) {\n try {\n url = new URL(portOrHost);\n } catch (error) {}\n if (Validators.network.isValidIp(portOrHost)) {\n try {\n url = new URL(`http://${portOrHost}`);\n } catch (error) {\n Helpers.warn(`Not able to get port from ${portOrHost}`);\n }\n }\n if (forceDomain) {\n const domain = portOrHost as string;\n url = new URL(\n domain.startsWith('http') ? domain : `http://${portOrHost}`,\n );\n }\n }\n return url;\n }\n\n\n\n slash(pathFromWindowsOrUnixType: string) {\n/* */\n/* */\n return (void 0);\n }\n\n\n\n async isElevated() {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n }\n\n\n\n /**\n * TODO fix this methods\n */\n async localIpAddress() {\n/* */\n/* */\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 allLocalIpAddresses(): URL[] {\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 mesureExectionInMs(\n description: string,\n functionToExecute: Function,\n ...functionArguments: any[]\n ): Promise<number> {\n var start = new Date();\n await Helpers.runSyncOrAsync({\n functionFn: functionToExecute,\n arrayOfParams: functionArguments,\n });\n //@ts-ignore\n var end = new Date() - start;\n if (Helpers.isBrowser) {\n Helpers.info(`Execution time: ${end.toString()}ms for \"${description}\"`);\n }\n/* */\n/* */\n/* */\n/* */\n \n return end;\n }\n\n\n\n mesureExectionInMsSync(\n description: string,\n functionToExecute: () => void,\n ): number {\n var start = new Date();\n functionToExecute();\n //@ts-ignore\n var end = new Date() - start;\n if (Helpers.isBrowser) {\n Helpers.info(`Execution time: ${end.toString()}ms for \"${description}\"`);\n }\n/* */\n/* */\n/* */\n/* */\n \n return end;\n }\n\n\n\n waitForCondition(conditionFn: (any) => boolean, howOfftenCheckInMs = 1000) {\n return new Promise(async (resolve, reject) => {\n const result = await Helpers.runSyncOrAsync({ functionFn: conditionFn });\n if (result) {\n resolve(void 0);\n } else {\n setTimeout(() => {\n Helpers.waitForCondition(conditionFn, howOfftenCheckInMs).then(() => {\n resolve(void 0);\n });\n }, howOfftenCheckInMs);\n }\n });\n }\n\n\n\n /**\n * @deprecated\n */\n getBrowserVerPath(moduleName?: string, websql: boolean = false) {\n/* */\n/* */\n/* */\n/* */\n/* */\n \n }\n\n\n\n getMethodName(classObject, method): string {\n var methodName = null;\n Object.getOwnPropertyNames(classObject).forEach(prop => {\n if (classObject[prop] === method) {\n methodName = prop;\n }\n });\n\n if (methodName !== null) {\n return methodName;\n }\n\n var proto = Object.getPrototypeOf(classObject);\n if (proto) {\n return Helpers.getMethodName(proto, method);\n }\n return null;\n }\n\n\n\n /**\n * @deprecated\n */\n fixWebpackEnv(env: Object) {\n _.forIn(env, (v, k) => {\n const value: string = v as any;\n if (value === 'true') env[k] = true;\n if (value === 'false') env[k] = false;\n });\n }\n\n\n\n /**\n * @deprecated\n */\n async workerCalculateArray(\n dataToSplit: any[],\n operation: (\n dataChunk: any[],\n workerNumber?: number | undefined,\n ) => Promise<void>,\n options?: {\n maxesForWorkes?: { [workerMaxes: number]: number };\n workerLimit?: number;\n globals?: 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\n\n\n checkEnvironment(deps?: CoreModels.GlobalDependencies) {\n/* */\n/* */\n return (void 0);\n }\n\n\n\n public applyMixins = applyMixins;\n\n\n\n isValidIp = Validators.network.isValidIp;\n\n\n\n isValidGitRepuUrl = Validators.git.isValidRepoUrl;\n\n}\n\n\n/* eslint-disable prettier/prettier */\n\n// @ts-ignore\nexport interface HelpersFiredev extends\n HelpersStringsRegexes\n/* */\n/* */\n/* */\n/* */\n \n{ }\n\n\napplyMixins(HelpersFiredev, [\n HelpersStringsRegexes,\n/* */\n/* */\n/* */\n \n]);\n\n\n/* eslint-enable prettier/prettier */\n\n ;({}); // @--end-of-file-for-module=tnp-helpers lib/helpers/helpers.ts","\n\n\nimport { Helpers, crossPlatformPath } from \"tnp-core/websql\";\n\nimport type { BaseProjectResolver } from \"./base-project-resolver\";\n\n/* */\n/* */\n/* */\n/* */\n \n\n\nexport class BaseDb<DB extends object> {\n\n constructor(\n private ins: BaseProjectResolver,\n private dbName: string,\n private defaultDb: DB,\n ) {\n\n }\n/* */\n/* */\n \n\n public get isUnsingDB(): boolean {\n/* */\n/* */\n return (void 0);\n }\n\n get projectsDbLocation() {\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 ;({}); // @--end-of-file-for-module=tnp-helpers lib/base/base-db.ts","\n\n\nimport { crossPlatformPath } from \"tnp-core/websql\";\n\nimport type { BaseProjectResolver } from \"./base-project-resolver\";\nimport { BaseDb } from \"./base-db\";\nimport { Helpers } from \"../index\";\n/* */\n/* */\n/* */\n \n\n\nconst defaultDb = {\n config: {} as { [key: string]: string | number | boolean | null; },\n}\n\nexport class ConfigDatabase extends BaseDb<typeof defaultDb> {\n constructor(\n ins: BaseProjectResolver,\n ) {\n super(ins, 'config', defaultDb);\n }\n private get selectedCodeEditorKey(): string {\n return 'selected-code-editor';\n }\n\n public async selectCodeEditor(): Promise<'code' | 'idea' | 'idea64' | string> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n public async getCodeEditor(): Promise<'code' | 'idea' | 'idea64' | string> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n}\n\n ;({}); // @--end-of-file-for-module=tnp-helpers lib/base/config-database.ts","\n\n\nimport { Helpers, crossPlatformPath } from \"tnp-core/websql\";\nimport type { BaseProjectResolver } from \"./base-project-resolver\";\nimport { BaseDb } from \"./base-db\";\n\n\nconst defaultDb = {\n projects: [] as {\n location: string;\n }[],\n}\n\nexport class ProjectDatabase extends BaseDb<typeof defaultDb>{\n constructor(\n ins: BaseProjectResolver,\n ) {\n super(ins, 'projects', defaultDb);\n }\n\n async getAllProjectsFromDB() {\n/* */\n/* */\n/* */\n return (void 0);\n }\n}\n\n ;({}); // @--end-of-file-for-module=tnp-helpers lib/base/project-database.ts","\n\n\nimport { /* */ /* */ /* */ } from 'tnp-core/websql';/* */\n/* */\n/* */\n/* */\n/* */\n\nimport { Helpers } from '../index';\nimport { path, crossPlatformPath } from 'tnp-core/websql';\nimport { config } from 'tnp-config/websql';\nimport { _ } from 'tnp-core/websql';\nimport type { BaseProject } from './base-project';\nimport { Low } from 'lowdb';\nimport { ConfigDatabase } from './config-database';\nimport { ProjectDatabase } from './project-database';\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\nexport class BaseProjectResolver<PROJECT extends Partial<BaseProject> = any> {\n /**\n * general name for project company\n */\n public orgName: string = 'firedev';\n configDb: ConfigDatabase = new ConfigDatabase(this);\n projectsDb: ProjectDatabase = new ProjectDatabase(this);\n\n\n protected readonly NPM_PROJECT_KEY = 'npm';\n protected projects: PROJECT[] = [];\n /**\n * To speed up checking folder I am keeping pathes for alterdy checked folder\n * This may break things that are creating new projects\n */\n protected emptyLocations: string[] = [];\n\n\n\n constructor(protected classFn: any) {}\n\n\n\n get allowedTypes(): string[] {\n\n return [this.NPM_PROJECT_KEY];\n\n\n }\n\n\n\n /**\n * project from process.cwd()\n */\n get Current(): PROJECT {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n /**\n * override this\n */\n typeFrom(location: string, recrusiveCall = false): string {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n From(locationOfProject: string | string[], options?: any): PROJECT {\n\n\n\n\n if (Array.isArray(locationOfProject)) {\n locationOfProject = locationOfProject.join('/');\n }\n let location = crossPlatformPath(locationOfProject.replace(/\\/\\//g, '/'));\n\n if (!_.isString(location)) {\n Helpers.warn(`[project.from] location is not a string`);\n return;\n }\n if (path.basename(location) === 'dist') {\n location = path.dirname(location);\n }\n location = crossPlatformPath(path.resolve(location));\n\n const alreadyExist = this.projects.find(\n l => l.location.trim() === location.trim(),\n );\n if (alreadyExist) {\n return alreadyExist as 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 nearestTo(\n absoluteLocation: string,\n options?: {\n type?: string | string[];\n findGitRoot?: boolean;\n onlyOutSideNodeModules?: boolean;\n },\n ): PROJECT {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\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 unload(projectOrLocationOfProject: PROJECT | string) {\n\n const location = _.isString(projectOrLocationOfProject)\n ? projectOrLocationOfProject : projectOrLocationOfProject?.location;\n\n this.projects = this.projects.filter(f => f.location !== location);\n this.emptyLocations = this.emptyLocations.filter(f => f !==location);\n }\n\n\n\n remove(project: PROJECT) {\n/* */\n/* */\n/* */\n/* */\n \n }\n\n\n\n add(project: PROJECT) {\n/* */\n/* */\n \n }\n\n\n\n\n allProjectFrom(absoluteLocation: string, stopOnCwd: 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 return (void 0);\n }\n\n allProjectsFromFolder(folderLocation: string): PROJECT[] {\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n public sortGroupOfProject<T extends BaseProject = BaseProject>(\n projects: T[],\n resoveDepsArray: (proj: T) => string[],\n projNameToCompare: (proj: T) => string,\n ): T[] {\n const visited: { [key: string]: boolean } = {};\n const stack: { [key: string]: boolean } = {};\n const result: T[] = [];\n\n const visit = (project: T) => {\n if (stack[projNameToCompare(project)]) {\n\n Helpers.error(\n `Circular dependency detected involving project: ${projNameToCompare(project)}`,\n );\n }\n\n if (!visited[projNameToCompare(project)]) {\n visited[projNameToCompare(project)] = true;\n stack[projNameToCompare(project)] = true;\n\n const depsResolved = resoveDepsArray(project);\n depsResolved.forEach(dependency => {\n const dependentProject = projects.find(p => {\n\n return projNameToCompare(p) === dependency;\n });\n if (dependentProject) {\n visit(dependentProject);\n }\n });\n\n stack[projNameToCompare(project)] = false;\n result.push(project);\n }\n };\n\n projects.forEach(project => visit(project));\n return result;\n\n }\n\n}\n\n ;({}); // @--end-of-file-for-module=tnp-helpers lib/base/base-project-resolver.ts","\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \nimport { CoreModels } from 'tnp-core/websql';\nimport { CLI } from 'tnp-cli/websql';\nimport { path, crossPlatformPath } from 'tnp-core/websql';\nimport { config } from 'tnp-config/websql';\nimport { _ } from 'tnp-core/websql';\nimport { CommitData, CoreProject, Helpers, LinkedPorjectsConfig, LinkedProject, TypeOfCommit, } from '../index';/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n\nimport { BaseProjectResolver } from './base-project-resolver';\nimport { BaseProjectType, LibrariesBuildOptions, LibraryBuildCommandOptions, NgProject, } from '../models';/* */\n/* */\n/* */\n/* */\n/* */\n\nimport type { BaseLibraryBuild } from './base-library-build';\nimport { BaseNpmHelpers } from './base-npm-helpers';\nimport { BaseLinkedProjects } from './base-linked-projects';\nimport { BaseGit } from './base-git';\nimport { BaseVscodeHelpers } from './base-vscode';\nimport { BaseReleaseProcess } from './base-release-process';\n\n\nconst takenPorts = [];\n\nexport abstract class BaseProject<\n PROJCET extends BaseProject = any,\n TYPE = BaseProjectType,\n> {\n\n\n\n static ins = new BaseProjectResolver<BaseProject>(BaseProject);\n\n\n\n\n\n public cache: any = {};\n public static cache: any = {};\n public get globalCache() {\n return BaseProject.cache;\n }\n readonly type: TYPE | string = 'unknow';\n\n /**\n * resolve instance\n */\n abstract readonly ins: BaseProjectResolver<PROJCET>;\n /**\n * Unique free port for project instance\n * only available after executing *this.assignFreePort()*\n */\n readonly port: string;\n\n public libraryBuild: BaseLibraryBuild;\n public npmHelpers: BaseNpmHelpers;\n public linkedProjects: BaseLinkedProjects;\n public vsCodeHelpers: BaseVscodeHelpers;\n public releaseProcess: BaseReleaseProcess;\n public git: BaseGit;\n\n\n private __location: string;\n get location(): string {\n return this.__location;\n }\n set location(v: string) {\n this.__location = crossPlatformPath(v);\n }\n\n\n // @ts-ignore\n constructor(\n /**\n * doesn't need to be real path -> can be link\n */\n location: string,\n ) {\n this.location = location;\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n }\n\n\n\n get isMonorepo(): boolean {\n return false;\n }\n\n\n\n protected orderCoreProjects(coreProjects: CoreProject[]): CoreProject[] {\n const projectMap = new Map<CoreProject, CoreProject[]>();\n\n\n for (const project of coreProjects) {\n projectMap.set(project, []);\n }\n\n\n for (const project of coreProjects) {\n if (!projectMap.has(project.extends)) {\n projectMap.set(project.extends, []);\n }\n projectMap.get(project.extends)!.push(project);\n }\n\n const orderedProjects: CoreProject[] = [];\n const visited = new Set<CoreProject>();\n\n const visit = (project: CoreProject) => {\n if (!visited.has(project)) {\n visited.add(project);\n const dependencies = projectMap.get(project);\n if (dependencies) {\n for (const dep of dependencies) {\n visit(dep);\n }\n }\n orderedProjects.push(project);\n }\n };\n\n\n for (const project of coreProjects) {\n visit(project);\n }\n\n return orderedProjects.reverse();\n }\n\n\n\n\n get core(): CoreProject {\n if (!_.isUndefined(this.cache['core'])) {\n return this.cache['core'];\n }\n\n let coreProjects = CoreProject.coreProjects.filter(p =>\n p.recognizedFn(this as any),\n );\n coreProjects = this.orderCoreProjects(coreProjects);\n\n\n this.cache['core'] = _.first(coreProjects);\n return this.cache['core'];\n }\n\n\n\n get linkedProjectsExisted(): PROJCET[] {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n public setType(type: TYPE) {\n // @ts-ignore\n this.type = type;\n }\n\n\n\n public typeIs(...types: TYPE[]) {\n return this.type && types.includes(this.type as any);\n }\n\n\n\n public typeIsNot(...types: TYPE[]) {\n return !this.typeIs(...types);\n }\n\n\n\n /**\n * project folder basename\n */\n get basename(): string {\n\n return path.basename(this.location);\n\n }\n\n\n\n /**\n * name from package.json\n */\n get name(): string {\n return this.npmHelpers?.name || this.nameFromPomXML;\n }\n\n get nameForCli():string {\n return this.name?.endsWith('-cli') ? this.name : `${this.name}-cli`;\n }\n\n get nameFromPomXML(): string {\n const artifactIdPattern = /<artifactId>([^<]+)<\\/artifactId>/;\n const match = (this.readFile('pom.xml') || '').match(artifactIdPattern);\n if (match && match[1]) {\n return match[1];\n }\n return '';\n }\n\n\n\n protected getFoldersForPossibleProjectChildren(): string[] {\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 protected getAllChildren() {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n /**\n * alias to getAllChildren\n */\n get children(): PROJCET[] {\n\n return this.getAllChildren();\n\n }\n\n\n\n getChildBy(nameOrBasename: string, errors = true): PROJCET {\n\n const c = this.children.find(\n c => c.name === nameOrBasename || c.basename === nameOrBasename,\n );\n if (errors && !c) {\n Helpers.warn(\n `Project doesnt contain child with name or basename: ${nameOrBasename}`,\n );\n }\n return c;\n\n }\n\n\n\n get parent(): PROJCET {\n\n if (!_.isString(this.location) || this.location.trim() === '') {\n return void 0;\n }\n return this.ins.From(path.join(this.location, '..'));\n\n }\n\n\n\n get grandpa(): PROJCET {\n\n if (!_.isString(this.location) || this.location.trim() === '') {\n return void 0;\n }\n const grandpa = this.ins.From(path.join(this.location, '..', '..'));\n return grandpa;\n\n }\n\n\n\n get genericName() {\n\n if (!_.isUndefined(this.cache['genericName'])) {\n return this.cache['genericName'];\n }\n let nameFromPackageJson = this.name;\n/* */\n/* */\n \n\n const sliceMinus = 8;\n const shortPath =\n '/' +\n crossPlatformPath(this.location)\n .split('/')\n .slice(-1 * sliceMinus)\n .join('/');\n\n const result =\n (shortPath.includes(crossPlatformPath(this.location)) ? '/' : '(..)') +\n this.checkAndBoldenPath(this.location)\n .split('/')\n .slice(-1 * sliceMinus)\n .join('/') +\n `(${nameFromPackageJson})`;\n\n this.cache['genericName'] = result.replace(/\\/\\//g, '/');\n return this.cache['genericName'];\n\n }\n\n\n\n private checkAndBoldenPath(fullPath: string) {\n const parts = fullPath.split('/');\n\n const result = parts.map((part, index) => {\n const pathTocheck = parts.slice(0, index + 1).join('/');\n\n/* */\n/* */\n/* */\n/* */\n \n return part;\n });\n\n return result.join('/');\n }\n\n\n\n /**\n * same has project.hasFile();\n */\n pathExists(relativePath: string | string[]): boolean {\n return this.hasFile(relativePath);\n }\n\n\n\n /**\n * same as project.pathExists();\n */\n hasFile(relativePath: string | string[]): boolean {\n/* */\n/* */\n/* */\n return (void 0);\n }\n hasFolder(relativePath: string | string[]): boolean {\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n /**\n * same as project.pathhasFileExists();\n * but with path.resolve\n */\n containsFile(fileRelativeToProjectPath: string) {\n const fullPath = path.resolve(\n path.join(this.location, fileRelativeToProjectPath),\n );\n return Helpers.exists(fullPath);\n }\n\n\n\n /**\n * absolute path:\n * concated project location with relative path\n */\n pathFor(relativePath: string | string[]) {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n writeJson(relativePath: string, json: object) {\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n writeJsonC(relativePath: string, json: object) {\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n /**\n * @deprecated us execute instead\n * use output from or more preciese crafted api\n */\n run(command: string, options?: Omit<CoreModels.RunOptions, 'cwd'>) {\n let opt: CoreModels.RunOptions;\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n return Helpers.run(command, opt);\n }\n\n\n\n /**\n * same as run but async\n */\n public async execute(\n command: string,\n options?: CoreModels.ExecuteOptions & { showCommand?: boolean },\n ): Promise<any> {\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 * try run but continue when it fails\n * @param command\n * @param options\n * @returns\n */\n tryRunSync(\n command: string,\n/* */\n/* */\n \n ): void {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n outputFrom(\n command: string,\n/* */\n/* */\n \n ) {\n/* */\n/* */\n return (void 0);\n }\n\n\n\n removeFile(fileRelativeToProjectPath: string) {\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n readFile(fileRelativeToProjectPath: string) {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n /**\n * read json file\n * handle all json files\n * jsonc, json5 , json\n * @param fileRelativeToProjectPath\n * @returns\n */\n readJson<T = {}>(fileRelativeToProjectPath: string): T {\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n /**\n * copy files or folders from\n * project to destination\n */\n copy(filesOrFolderRelativePathes: string[]): {\n to: (destination: string) => void;\n } {\n return {\n to: (destination: string): void => {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n },\n };\n }\n\n\n\n remove(relativePath: string, exactPath = true) {\n/* */\n/* */\n/* */\n \n }\n\n\n\n removeFolderByRelativePath(relativePathToFolder: string) {\n/* */\n/* */\n/* */\n/* */\n/* */\n \n }\n\n\n\n async assignFreePort(\n startFrom: number = 4200,\n howManyFreePortsAfterThatPort: number = 0,\n ): Promise<number> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n removeItself() {\n/* */\n/* */\n \n }\n\n\n\n /**\n * Purpose: not initializing all classes at the beginning\n * Only for BaseFeatureForProject class\n */\n defineProperty<PROJECT>(\n variableName: keyof PROJECT,\n classFn: Function,\n options?: {\n customInstanceReturn?: () => object;\n },\n ) {\n/* */\n/* */\n/* */\n/* */\n/* */\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 * fs.copy option filter function for copying only selected folders from project\n */\n filterOnlyCopy(basePathFoldersOnlyToInclude: string[]) {\n/* */\n/* */\n return (void 0);\n }\n\n\n\n /**\n * fs.copy option filter function for copying only not selected folders from project\n */\n filterDontCopy(basePathFoldersTosSkip: string[]) {\n/* */\n/* */\n return (void 0);\n }\n\n\n\n /**\n * general default development branch for all kinds of projects\n */\n getDefaultDevelopmentBranch() {\n return 'develop';\n }\n\n\n\n /**\n * main/default hardcoded branches\n */\n getMainBranches(): string[] {\n return ['master', 'develop', 'stage', 'prod', 'test'];\n }\n\n\n\n isUnsingActionCommit(): boolean {\n return false;\n }\n\n\n\n async resetProcess(overrideBranch?: string, recrusive = 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/* */\n/* */\n/* */\n/* */\n \n }\n\n\n\n linkTo(destPackageLocation: string) {\n/* */\n/* */\n \n }\n\n\n\n setValueToJSON(\n relativePath: string,\n lodashGetPath: string,\n value: any,\n ): void {\n/* */\n/* */\n return (void 0);\n }\n\n\n\n setValueToJSONC(\n relativePath: string,\n lodashGetPath: string,\n value: any,\n ): void {\n/* */\n/* */\n return (void 0);\n }\n\n\n\n setValueToJSON5(\n relativePath: string,\n lodashGetPath: string,\n value: any,\n ): void {\n/* */\n/* */\n return (void 0);\n }\n\n\n\n getValueFromJSON(\n relativePath: string,\n lodashGetPath: string,\n defaultValue: any = void 0,\n ): any {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n getValueFromJSONC(\n relativePath: string,\n lodashGetPath: string,\n defaultValue: any = void 0,\n ): any {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n\n writeFile(relativePath: string, content: string) {\n/* */\n/* */\n \n }\n\n\n\n public runCommandGetString(this: BaseProject, command: string) {\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n toString = () => {\n return `${this.name}=>${this.location}`;\n };\n\n\n\n get parentsNames() {\n/* */\n/* */\n return (void 0);\n }\n\n\n openLocation(relativeFolderPath: string) {\n/* */\n/* */\n return (void 0);\n }\n\n\n private findParentsNames(\n project?: PROJCET,\n parent?: PROJCET,\n result = [],\n ): string[] {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n tryKillAllElectronInstances() {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n /**\n * init project files structure and depedencies\n */\n async init(initOptions?: any) {\n throw new Error('TODO IMPLEMENT');\n }\n\n\n\n /**\n * globally link npm as package\n */\n async link() {\n throw new Error('TODO IMPLEMENT');\n }\n\n\n\n /**\n * init project files structure without depedencies\n */\n async struct(initOptions?: any) {\n throw new Error('TODO IMPLEMENT');\n }\n\n\n\n /**\n * init and build() project\n */\n async build(buildOptions?: any) {\n throw new Error('TODO IMPLEMENT');\n }\n\n\n\n /**\n * publish project to npm\n */\n async publish(publishOptions?: any) {\n throw new Error('TODO IMPLEMENT');\n }\n\n\n\n async release(releaseOptions?: any) {\n throw new Error('TODO IMPLEMENT');\n }\n\n\n\n /**\n * lint porject\n */\n async lint(lintOptions?: any) {\n Helpers.info(`\n\n\n COMMIT LINT NOT IMPLEMENTED\n\n\n `);\n }\n\n\n\n /**\n * get info about porject\n */\n async info() {\n const proj = this;\n Helpers.info(\n `\n\n name: ${proj?.name}\n type: ${proj?.type}\n core project name: '${proj?.core?.name}'\n embedded project: ${proj?.linkedProjects.embeddedProject?.genericName || '< none >'}\n children (${proj?.children.length}): ${!proj || !proj.children.length ? '< none >' : ''}\n${proj?.children.map(c => '+' + c.genericName).join('\\n')}\n\n libraries (${proj?.libraryBuild?.libraries?.length}): ${\n !proj || !proj.libraryBuild?.libraries?.length ? '< none >' : ''\n }\n${proj?.libraryBuild?.libraries?.map(c => '+' + c.genericName).join('\\n')}\n` +\n `\nlinked porject prefix: \"${this.linkedProjects.linkedProjectsPrefix}\"\n\nlinked projects from json (${this.linkedProjects.linkedProjects?.length || 0}):\n${(this.linkedProjects.linkedProjects || [])\n .map(c => {\n const proj = this.ins.From(this.pathFor(c.relativeClonePath));\n return '- ' + proj ? proj?.genericName : c.relativeClonePath;\n })\n .join('\\n')}\n\n `,\n );\n\n\n\n }\n\n}\n\n ;({}); // @--end-of-file-for-module=tnp-helpers lib/base/base-project.ts","\n\nimport { BaseProject } from './base-project';\n\nexport abstract class BaseFeatureForProject<PROJECT = BaseProject> {\n\n constructor(protected project: PROJECT) {\n\n }\n\n}\n\n\n ;({}); // @--end-of-file-for-module=tnp-helpers lib/base/base-feature-for-project.ts","\n\n\n/* */\n/* */\n/* */\n \nimport { path, crossPlatformPath } from 'tnp-core/websql';\nimport { config } from 'tnp-config/websql';\nimport { _ } from 'tnp-core/websql';\nimport { BaseFeatureForProject } from './base-feature-for-project';\nimport { Helpers } from '../index';\nimport { LibrariesBuildOptions, LibraryBuildCommandOptions, NgProject, } from '../models';/* */\n/* */\n/* */\n/* */\n\nimport type { BaseProject } from './base-project';\n\n\n/**\n * Base library build for standard angular/typescript projects\n */\nexport abstract class BaseLibraryBuild<\n PROJCET extends BaseProject = any,\n> extends BaseFeatureForProject {\n private cache: any = {};\n\n\n protected sortByDeps(libraries: PROJCET[]): PROJCET[] {\n return libraries;\n }\n\n\n /**\n * Use cases:\n * 1. build all libraries in normal mode\n * 2. build all libraries in watch mode\n * 3. build selected libraries in normal mode\n * (with first time all libraries will be build)\n * 4. build selected libraries in watch mode\n * (use normal build for not selected libraries)\n * 5. build selected libraries in watch mode\n * (skip normal build for not selected libraries)\n */\n async selectAndSaveLibraries({\n libs: selectedLibs,\n watch,\n watchBuildSupported,\n }: {\n libs: PROJCET[];\n watch: boolean;\n watchBuildSupported?: boolean;\n }): Promise<{ selectedLibs: PROJCET[]; skipRebuildingAllForWatch: 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/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\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 * angular libraries from angular.json\n */\n get libraries(): PROJCET[] {\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 selectLibraries({\n watch,\n watchBuildSupported,\n }: {\n watch: boolean;\n watchBuildSupported?: boolean;\n }) {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n /**\n * Angular library build\n */\n public async buildLibraries(\n {\n watch = false,\n strategy,\n releaseBuild = false,\n buildType,\n copylink_to_node_modules,\n }: LibrariesBuildOptions & { watch?: boolean } = {} as 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/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n }\n\n\n\n getLibraryBuildComamnd(\n options?: LibraryBuildCommandOptions,\n ): string | undefined {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n get getLibraryBuildSuccessComamnd(): string {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n async selectCopytoProjects(): Promise<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 return (void 0);\n }\n\n}\n\n ;({}); // @--end-of-file-for-module=tnp-helpers lib/base/base-library-build.ts","\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \nimport { _ } from 'tnp-core/websql';\nimport { Helpers } from '../index';\nimport { BaseFeatureForProject } from './base-feature-for-project';\nimport type { BaseProject } from './base-project';\nimport { config } from 'tnp-config/websql';\nimport { PackageJson } from 'type-fest';\nimport { CoreModels } from 'tnp-core/websql';\n\n\nexport class BaseNpmHelpers<\n PROJCET extends BaseProject = any,\n> extends BaseFeatureForProject {\n private packageJSON: PackageJson;\n constructor(project: PROJCET) {\n super(project);\n this.project = project;\n this.reloadPackageJsonInMemory();\n }\n\n updateDepsFrom(locations: string[]) {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n /**\n * if something else change package.json in this project\n * and you know that you need to reload it..\n */\n reloadPackageJsonInMemory(): void {\n this.packageJSON = this.project.readJson(config.file.package_json);\n }\n\n\n\n get name(): string {\n return this.packageJSON?.name || '';\n }\n\n\n\n /**\n * version from package.json -> property version\n */\n get version(): string {\n return this.packageJSON?.version;\n }\n\n\n /**\n * bin with cli config from package.json\n */\n get bin(): { [cliName: string]: string } {\n return (this.packageJSON?.bin || {}) as any;\n }\n\n\n set version(newVersion: string) {\n this.packageJSON.version = newVersion;\n this.project.writeJson(config.file.package_json, this.packageJSON);\n }\n\n\n\n /**\n * @deprecated use updateDep\n */\n updateDependency({\n packageName,\n version,\n updateFiredevJsonFirst,\n }: {\n packageName: string;\n version: string | null;\n updateFiredevJsonFirst?: boolean;\n }): 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 return (void 0);\n }\n\n\n\n /**\n * Update dependency in package.json\n */\n async updateDep({\n packageName,\n version,\n updateFiredevJsonFirst,\n addIfNotExists,\n }: {\n packageName: string;\n version: string | null;\n updateFiredevJsonFirst?: boolean;\n addIfNotExists?: boolean;\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 return (void 0);\n }\n\n\n\n get versionWithPatchPlusOne(): string {\n const ver = this.version.split('.');\n if (ver.length > 0) {\n ver[ver.length - 1] = (parseInt(_.last(ver)) + 1).toString();\n }\n return ver.join('.');\n }\n\n\n\n get versionWithMinorPlusOneAndPatchZero(): string {\n const ver = this.version.split('.');\n if (ver.length > 1) {\n ver[1] = (parseInt(ver[1]) + 1).toString();\n for (let index = 2; index < ver.length; index++) {\n ver[index] = '0';\n }\n } else {\n Helpers.warn(\n `[npm-project] something went wrong with bumping minor version`,\n );\n }\n return ver.join('.');\n }\n\n\n\n get versionWithMajorPlusOneAndMinorZeroAndPatchZero(): string {\n const ver = this.version.split('.');\n if (ver.length > 0) {\n ver[0] = (parseInt(_.first(ver)) + 1).toString();\n for (let index = 1; index < ver.length; index++) {\n ver[index] = '0';\n }\n } else {\n Helpers.warn(\n `[npm-project] something went wrong with bumping major version`,\n );\n }\n return ver.join('.');\n }\n\n\n\n /**\n * Major Version from package.json\n */\n // @ts-ignore\n get majorVersion(): number {\n/* */\n/* */\n return (void 0);\n }\n\n\n\n /**\n * Minor Version from package.json\n */\n // @ts-ignore\n get minorVersion(): number {\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n /**\n * @deprecated\n */\n async bumpPatchVersion() {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n get versionPathAsNumber(): number {\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n /**\n * npm dependencies from package.json\n */\n get dependencies() {\n return (this.packageJSON ? this.packageJSON.dependencies : {}) || {};\n }\n\n\n\n /**\n * peerDependencies dependencies\n */\n get peerDependencies() {\n return (this.packageJSON ? this.packageJSON.peerDependencies : {}) || {};\n }\n\n\n\n /**\n * devDependencies dependencies\n */\n get devDependencies() {\n return (this.packageJSON ? this.packageJSON.devDependencies : {}) || {};\n }\n\n\n\n /**\n * resolutions dependencies\n */\n get resolutions() {\n return (this.packageJSON ? this.packageJSON['resolutions'] : {}) || {};\n }\n\n\n\n /**\n * @returns object witl all deps from current project package json\n */\n get allDependencies(): { [packageName: string]: string } {\n return this.allDepsFromPackageJson(this.packageJSON);\n }\n\n /**\n * @returns object witl all deps from package json\n */\n allDepsFromPackageJson(packageJson: PackageJson) {\n return _.merge({\n ...(packageJson.devDependencies || {}),\n ...(packageJson.peerDependencies || {}),\n ...(packageJson.dependencies || {}),\n ...(packageJson.resolutions || {}),\n }) as any;\n }\n\n\n\n linkNodeModulesTo(proj: Partial<BaseProject>) {\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n preferYarnOverNpm(): boolean {\n return false;\n }\n\n\n\n async makeSureNodeModulesInstalled(options?: {\n useYarn?: boolean;\n force?: boolean;\n }) {\n if (this.emptyNodeModules) {\n this.reinstalNodeModules(options);\n }\n }\n\n\n\n deleteNodeModules() {\n this.project.remove(config.folder.node_modules);\n }\n\n\n\n async reinstallNodeModules(forcerRemoveNodeModules = false) {\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 reinstalNodeModules(options?: { useYarn?: boolean; force?: boolean }) {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n /**\n * @returns true if node_modules folder is empty\n */\n get emptyNodeModules() {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\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 resetPackageLockJson() {\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 startNpmTask(taskName: string, additionalArguments?: string | object) {\n if (_.isObject(additionalArguments)) {\n additionalArguments = Object.keys(additionalArguments)\n .map(k => `--${k} ${additionalArguments[k]}`)\n .join(' ');\n }\n const command = `npm run ${taskName} ${\n additionalArguments ? ' -- ' + additionalArguments : ''\n }`;\n Helpers.info(`Starting npm task: \"${command}\"`);\n\n return this.project.run(command, {\n output: true,\n biggerBuffer: true,\n });\n }\n\n\n\n async prepareCommand(\n optiosn?: CoreModels.NpmInstallOptions,\n ): Promise<string> {\n let {\n pkg,\n remove,\n silent,\n useYarn,\n force,\n removeYarnOrPackageJsonLock,\n generateYarnOrPackageJsonLock,\n ignoreOptional,\n } = optiosn || {};\n\n force = true; // TODO QUICK_FIX\n\n let command = '';\n const commonOptions = `--ignore-engines`;\n\n if (useYarn) {\n\n const argsForFasterInstall = `${force ? '--force' : ''} ${commonOptions} `;\n command =\n `${\n removeYarnOrPackageJsonLock\n ? `rm ${config.file.yarn_lock} ` +\n `&& touch ${config.file.yarn_lock} && `\n : ''\n }` +\n `yarn ${pkg ? (remove ? 'remove' : 'add') : 'install'} ${pkg ? pkg.name : ''} ` +\n ` ${generateYarnOrPackageJsonLock ? '' : '--no-lockfile'} ` +\n ` ${argsForFasterInstall} ` +\n ` ${pkg && pkg.installType && pkg.installType === '--save-dev' ? '-dev' : ''} `;\n\n } else {\n\n const argsForFasterInstall =\n `${force ? '--force' : ''} ${commonOptions} --no-audit ` +\n `${silent ? '--silent --no-progress' : ''} `;\n\n command =\n `${\n removeYarnOrPackageJsonLock\n ? `rm ${config.file.package_lock_json} ` +\n `&& touch ${config.file.package_lock_json} && `\n : ''\n }` +\n `npx --node-options=--max-old-space-size=8000 npm ` +\n `${remove ? 'uninstall' : 'install'} ${pkg ? pkg.name : ''} ` +\n ` ${generateYarnOrPackageJsonLock ? '' : '--no-package-lock'} ` +\n ` ${ignoreOptional ? '--ignore-optional' : ''} ` +\n ` ${pkg && pkg.installType ? pkg.installType : ''} ` +\n ` ${argsForFasterInstall} `;\n\n }\n return command;\n }\n\n\n\n /**\n *\n * @param registry without specified registr is checking npm registry\n * @returns\n */\n async isLoggedInToRegistry(registry?: string): Promise<boolean> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n /**\n * Prompt the user to log in to a specific npm registry.\n * @param {string} [registry] - Optional npm registry URL.\n * @returns {Promise<void>} - A promise that resolves when the login process completes.\n */\n async loginToRegistry(registry?: string): Promise<void> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n async makeSureLoggedInToNpmRegistry(registry?: string): 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 return (void 0);\n }\n\n /**\n * @deprecated\n * use makeSureLoggedInToNpmRegistry()\n */\n checkIfLogginInToNpm() {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n}\n\n ;({}); // @--end-of-file-for-module=tnp-helpers lib/base/base-npm-helpers.ts","\n\n\n/* */\n/* */\n/* */\n \nimport { _, chalk, crossPlatformPath, path } from 'tnp-core/websql';\nimport { Helpers, LinkedPorjectsConfig, LinkedProject } from '../index';\nimport { BaseFeatureForProject } from './base-feature-for-project';\nimport type { BaseProject } from './base-project';\nimport * as json5Write from 'json10-writer/websql';\nimport { config } from 'tnp-config/websql';\n\n\nexport class BaseLinkedProjects<\n PROJCET extends BaseProject = any,\n> extends BaseFeatureForProject {\n private cache: any = {};\n project: PROJCET;\n\n\n get embeddedProject(): PROJCET {\n const cacheKey = 'embeddedProject' + _.kebabCase(this.project.location);\n if (!_.isUndefined(this.cache[cacheKey])) {\n return this.cache[cacheKey];\n }\n\n const nearsetProj = this.project.ins.nearestTo(\n crossPlatformPath([this.project.location, '..']),\n ) as PROJCET;\n const linkedPorj = nearsetProj?.linkedProjects?.linkedProjects.find(l => {\n const copareTo = crossPlatformPath([\n nearsetProj.location,\n l.relativeClonePath,\n ]);\n if (this.project.location === copareTo) {\n return true;\n }\n if (l.remoteUrl() === this.project.git.originURL) {\n return true;\n }\n return false;\n });\n if (!linkedPorj || !linkedPorj.internalRealtiveProjectPath) {\n\n return;\n }\n const pathToEmbededProj = crossPlatformPath([\n nearsetProj.location,\n linkedPorj.relativeClonePath,\n linkedPorj.internalRealtiveProjectPath || '',\n ]);\n const embdedresult = this.project.ins.From(pathToEmbededProj) as PROJCET;\n\n this.cache[cacheKey] = embdedresult;\n return this.cache[cacheKey];\n }\n\n\n\n get projectsDbLocation() {\n/* */\n/* */\n return (void 0);\n }\n\n\n\n async saveLocationToDB() {\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 saveAllLinkedProjectsToDB() {\n const proj = this.project;\n await proj.linkedProjects.saveLocationToDB();\n for (const link of proj.linkedProjects.linkedProjects) {\n const linkedPorj = this.project.ins.From([\n proj.location,\n link.relativeClonePath,\n link.internalRealtiveProjectPath || '',\n ]) as PROJCET;\n\n if (linkedPorj) {\n await linkedPorj.linkedProjects.saveLocationToDB();\n } else {\n Helpers.warn(`Folder ${link.relativeClonePath} is missing projects...`);\n }\n }\n }\n\n\n\n addLinkedProject(linkedProj: LinkedProject | string) {\n const linkedProject: LinkedProject = _.isString(linkedProj)\n ? LinkedProject.fromName(linkedProj)\n : linkedProj;\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n addLinkedProjects(linkedProjs: LinkedProject[]) {\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n setLinkedProjectsConfig(linkedPorjectsConfig: Partial<LinkedPorjectsConfig>) {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\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 private get linkedProjectsConfigPath() {\n return this.project.pathFor(config.file.linked_projects_json);\n }\n\n\n\n protected recreateLinkedProjectsConfig() {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n getLinkedProjectsConfig(): LinkedPorjectsConfig {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n get linkedProjects(): LinkedProject[] {\n return this.getLinkedProjectsConfig().projects || [];\n }\n\n\n\n get detectedLinkedProjects(): LinkedProject[] {\n const detectedLinkedProjects = LinkedProject.detect(\n this.project.location,\n true, // TOOD fix recrusive\n );\n return detectedLinkedProjects;\n }\n\n\n\n get linkedProjectsPrefix() {\n return this.getLinkedProjectsConfig().prefix;\n }\n\n\n\n resetLinkedProjectsOnlyToCoreBranches() {\n return false;\n }\n\n\n\n async cloneUnexistedLinkedProjects(\n actionType: 'pull' | 'push',\n cloneChildren = 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/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\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 ;({}); // @--end-of-file-for-module=tnp-helpers lib/base/base-linked-projects.ts","\n\n\n/* */\n/* */\n/* */\n \nimport { BaseFeatureForProject } from './base-feature-for-project';\nimport { CommitData, Helpers, TypeOfCommit } from '../index';\nimport { crossPlatformPath, path, _ } from 'tnp-core/websql';\nimport type { BaseProject } from './base-project';\n\n\nexport class BaseGit<\n PROJCET extends BaseProject = any,\n> extends BaseFeatureForProject {\n project: PROJCET;\n\n unstageAllFiles() {\n/* */\n/* */\n return (void 0);\n }\n\n\n\n revertFileChanges(fileReletivePath: string) {\n/* */\n/* */\n return (void 0);\n }\n\n\n\n async clone(url: string, destinationFolderName = '', branchName?: 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 restoreLastVersion(relativeFilePath: string): void {\n/* */\n/* */\n return (void 0);\n }\n\n\n\n stageAllFiles() {\n/* */\n/* */\n return (void 0);\n }\n\n\n\n stash(optinos?: { onlyStaged?: boolean }) {\n/* */\n/* */\n return (void 0);\n }\n\n\n\n stashApply() {\n/* */\n/* */\n return (void 0);\n }\n\n\n\n fetch() {\n/* */\n/* */\n return (void 0);\n }\n\n\n\n resetFiles(...relativePathes: string[]) {\n/* */\n/* */\n return (void 0);\n }\n\n\n\n get isInsideGitRepo() {\n/* */\n/* */\n return (void 0);\n }\n\n\n\n get isWithoutGitRepository() {\n/* */\n/* */\n return (void 0);\n }\n\n\n\n get isGitRoot() {\n/* */\n/* */\n return (void 0);\n }\n\n\n\n get originURL() {\n/* */\n/* */\n return (void 0);\n }\n\n\n\n commit(commitMessage?: string): void {\n/* */\n/* */\n return (void 0);\n }\n\n\n\n /**\n * alias to stage all and commit\n */\n addAndCommit(commitMessage: string) {\n/* */\n/* */\n return (void 0);\n }\n\n\n\n stageAllAndCommit(commitMessage: string) {\n/* */\n/* */\n return (void 0);\n }\n\n\n\n async pushCurrentBranch(options?: {\n force?: boolean;\n origin?: string;\n askToRetry?: boolean;\n forcePushNoQuestion?: boolean;\n }) {\n/* */\n/* */\n return (void 0);\n }\n\n\n\n get allOrigins() {\n/* */\n/* */\n return (void 0);\n }\n\n\n\n get uncommitedFiles() {\n/* */\n/* */\n return (void 0);\n }\n\n\n\n get thereAreSomeUncommitedChange() {\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n thereAreSomeUncommitedChangeExcept(filesList: string[] = []) {\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n meltActionCommits(soft = false) {\n/* */\n/* */\n \n }\n\n\n\n async pullCurrentBranch(options?: {\n askToRetry?: boolean;\n defaultHardResetCommits?: number;\n }) {\n/* */\n/* */\n return (void 0);\n }\n\n\n\n get currentBranchName() {\n/* */\n/* */\n return (void 0);\n }\n\n\n\n get listOfCurrentGitChanges() {\n/* */\n/* */\n return (void 0);\n }\n\n\n\n getBranchesNamesBy(pattern: string | RegExp) {\n/* */\n/* */\n return (void 0);\n }\n\n\n\n resetSoftHEAD(HEAD = 1) {\n/* */\n/* */\n return (void 0);\n }\n\n\n\n resetHard(options?: { HEAD?: number }) {\n/* */\n/* */\n return (void 0);\n }\n\n\n\n countComits() {\n/* */\n/* */\n return (void 0);\n }\n\n\n\n hasAnyCommits() {\n/* */\n/* */\n return (void 0);\n }\n\n\n\n get isInMergeProcess() {\n/* */\n/* */\n return (void 0);\n }\n\n\n\n lastCommitDate() {\n/* */\n/* */\n return (void 0);\n }\n\n\n\n lastCommitHash() {\n/* */\n/* */\n return (void 0);\n }\n\n\n\n lastCommitMessage(): string {\n/* */\n/* */\n return (void 0);\n }\n\n\n\n async penultimateCommitMessage(): Promise<string> {\n/* */\n/* */\n return (void 0);\n }\n\n\n\n async getCommitMessageByIndex(index: number) {\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n async getCommitMessageByHash(hash: string) {\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n async getCommitHashByIndex(index: number) {\n/* */\n/* */\n return (void 0);\n }\n\n\n\n penultimateCommitHash() {\n/* */\n/* */\n return (void 0);\n }\n\n\n\n checkTagExists(tag: string) {\n/* */\n/* */\n return (void 0);\n }\n\n\n\n checkout(\n branchName: string,\n options?: {\n createBranchIfNotExists?: boolean;\n fetchBeforeCheckout?: boolean;\n switchBranchWhenExists?: boolean;\n },\n ) {\n/* */\n/* */\n return (void 0);\n }\n\n\n\n checkoutFromTo(\n checkoutFromBranch: string,\n branch: string,\n origin = 'origin',\n ) {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n /**\n *\n * @param majorVersion example: v1, v2 etc.\n * @returns tag name\n */\n lastTagNameForMajorVersion(majorVersion) {\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n lastTagHash() {\n/* */\n/* */\n return (void 0);\n }\n\n\n\n get remoteOriginUrl() {\n/* */\n/* */\n return (void 0);\n }\n\n\n\n get lastTagVersionName() {\n/* */\n/* */\n return (void 0);\n }\n\n\n\n get stagedFiles(): string[] {\n/* */\n/* */\n return (void 0);\n }\n\n\n\n /**\n * TODO does this make any sense\n */\n renameOrigin(newNameOrUlr: 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 return (void 0);\n }\n\n\n\n /**\n * By default no translation of commit\n */\n transalteGitCommitFromArgs() {\n return { from: void 0 as string, to: void 0 as string };\n }\n\n\n\n /**\n * By defult true.. when commit branches will not function.\n * (false is better for simple projects)\n */\n useGitBranchesWhenCommitingAndPushing() {\n return true;\n }\n\n\n\n /**\n * usefull when pushing in project with childrens as git repos\n */\n automaticallyAddAllChnagesWhenPushingToGit() {\n return false;\n }\n\n\n\n /**\n * usefull when pushing in project with childrens as git repos\n */\n useGitBranchesAsMetadataForCommits() {\n return true;\n }\n\n\n\n async cloneTo(cwd: string, newProjectName?: 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 return (void 0);\n }\n\n\n\n /**\n * This is only for push/pull process\n *\n * There are 2 types of projects:\n * - with linked-projects.json\n * - with children from external folder\n *\n * projects that are children of this project (with its own git repo)\n */\n get gitChildren() {\n let childrenRepos: PROJCET[] = [];\n\n if (this.project.linkedProjects.linkedProjects.length > 0) {\n childrenRepos = this.project.linkedProjects.linkedProjects\n .map(c => {\n return this.project.ins.From([\n this.project.location,\n c.relativeClonePath,\n ]) as PROJCET;\n })\n .filter(f => !!f);\n } else {\n childrenRepos = this.project.children;\n }\n\n childrenRepos = childrenRepos.filter(\n f => f.git.isInsideGitRepo && f.git.isGitRoot,\n ) as PROJCET[];\n return childrenRepos;\n }\n\n\n protected async setRemoteOriginType(\n setOrigin: 'ssh' | 'http',\n ): Promise<void> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n async pullProcess(\n options: {\n cloneChildren?: boolean;\n setOrigin?: 'ssh' | 'http';\n } = {},\n ): Promise<void> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n async pushProcess(\n options: {\n force?: boolean;\n typeofCommit?: TypeOfCommit;\n askToConfirmPush?: boolean;\n askToConfirmCommit?: boolean;\n skipLint?: boolean;\n askToConfirmBranchChange?: boolean;\n origin?: string;\n args?: string[];\n setOrigin?: 'ssh' | 'http';\n exitCallBack?: () => void;\n forcePushNoQuestion?: boolean;\n commitMessageRequired?: boolean;\n /**\n * only needed when push github\n * and I forgot to add my username before issue\n * firedev pfix proper input my-repo#344\n * that should be\n * firedev pfix proper input my-username/my-repo#344\n */\n currentOrigin?: string;\n skipChildren?: boolean;\n } = {},\n ): Promise<void> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\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 _beforeAnyActionOnGitRoot() {\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 protected async _beforePushProcessAction() {\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 protected async _beforePullProcessAction(cloneChildren = false) {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n protected async _getCommitMessage(\n typeOfCommit: TypeOfCommit,\n args: string[],\n commitMessageRequired?: boolean,\n /**\n * only needed when push github\n * and I forgot to add my username before issue\n * firedev pfix proper input my-repo#344\n * that should be\n * firedev pfix proper input my-username/my-repo#344\n */\n currentOrigin?: string,\n ): Promise<CommitData> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\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 * This will prevent accidental branch change for firedev projects\n * @returns branch name\n */\n duringPushWarnIfProjectNotOnSpecyficDevBranch(): string {\n return void 0;\n }\n\n async getChangedFilesInCommitByHash(hash: string) {\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n /**\n * @param index 0 - means last commit\n */\n async getChangedFilesInCommitByIndex(index: number) {\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n}\n\n ;({}); // @--end-of-file-for-module=tnp-helpers lib/base/base-git.ts","\n\n\n/* */\n/* */\n \nimport { Helpers } from '../index';\nimport { BaseFeatureForProject } from './base-feature-for-project';\nimport type { BaseProject } from './base-project';\nimport { CoreModels, chalk, dateformat, _ } from 'tnp-core/websql';\nimport type { ChangelogData } from '.././models';\nimport { CommitData } from './commit-data';\nimport { config } from 'tnp-config/websql';\n\n\n\nexport class BaseReleaseProcess<\n PROJCET extends BaseProject = any,\n> extends BaseFeatureForProject {\n\n project: PROJCET;\n /**\n * Automatic release process of patch plus one version\n */\n automaticRelease: boolean = false;\n type: CoreModels.ReleaseType;\n lastChangesSummary: string;\n newVersion: string;\n commitsForChangelog: {\n commitMessages: string;\n index: number;\n }[] = [];\n\n\n getReleaseWords(): string[] {\n return ['release'];\n }\n\n\n public async startRelease(\n options?: Partial<\n Pick<\n BaseReleaseProcess<PROJCET>,\n 'automaticRelease' | 'type' | 'newVersion'\n >\n >,\n ): Promise<void> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n private async reinstallNodeModules(): Promise<void> {\n Helpers.taskStarted(\n `Reinstalling node_modules to recreate package-lock.json`,\n );\n this.project.npmHelpers.reinstalNodeModules();\n Helpers.taskDone(`Reinstalling node_modules to recreate package-lock.json`);\n }\n\n\n\n async selectChangelogCommits(): Promise<\n {\n commitMessages: string;\n index: 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 return (void 0);\n }\n\n\n\n private async getCommitsUpToReleaseCommit(): Promise<\n {\n commitMessages: string;\n index: number;\n }[]\n > {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n private async publishToNpm(): Promise<boolean> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n private async testAfterPublish(): Promise<boolean> {\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 private async testBeforePublish(): Promise<boolean> {\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 private async commitAndPush(): Promise<void> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n protected releaseCommitTemplate(): string {\n return `Release v${this.newVersion} + changelog.md update`;\n }\n\n\n\n private async testLibraries(): Promise<boolean> {\n try {\n this.project.run('npm run test', { output: true }).sync();\n return true;\n } catch (error) {\n Helpers.info(`Test failed, you can run test manually`);\n return false;\n }\n }\n\n\n\n async buildAllLibraries() {\n await this.project.libraryBuild.buildLibraries({\n watch: false,\n releaseBuild: true,\n buildType: 'angular',\n });\n }\n\n\n\n async resetReleaseFiles() {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n get toBumpProjects() {\n const toBumpProjects = [\n this.project,\n ...this.project.libraryBuild.libraries,\n ] as PROJCET[];\n\n return toBumpProjects;\n }\n\n\n\n async bumpNewVersionEverywhere() {\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 confirmNewVersion(): 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 return (void 0);\n }\n\n\n\n private async selectReleaseType(): Promise<CoreModels.ReleaseType> {\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 protected async commitMessageInChangelogTransformFn(\n message: string,\n ): Promise<string> {\n return message;\n }\n\n\n\n async getChangelogContentToAppend(askForEveryItem: boolean): Promise<string> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n /**\n * TODO extend this to all commits from last release\n */\n async updateChangeLogFromCommits(): 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 return (void 0);\n }\n\n\n\n async extractChangedLibrariesInCommit(\n hashOrIndex: string | number,\n ): Promise<string> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n async changelogItemTemplate(\n hashOrIndex: string | number,\n confirmEveryItem: boolean = false,\n ): Promise<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 return (void 0);\n }\n\n\n\n async generateLastChangesSummary(): Promise<string> {\n const lastReleaseCommitData = await this.getLastReleaseCommitData();\n const hasLastReleaseCommit = lastReleaseCommitData.index !== -1;\n const lastReleaseCommitMsg = !hasLastReleaseCommit\n ? '< nothing release yet >'\n : lastReleaseCommitData.lastRelaseCommitMsg;\n\n return `${chalk.bold.gray('Last changelog.md notes summary')}:\n${await this.getLastPackageVersionChangesFromChnagelog()}\n\n${chalk.bold.gray(\n hasLastReleaseCommit ? 'Last commits up to relase commit' : 'Last 3 commits',\n)}:\n${await this.getLastChangesFromCommits({\n maxMessagesToCheck: hasLastReleaseCommit ? Number.POSITIVE_INFINITY : 3,\n stopOnCommitMessage: hasLastReleaseCommit\n ? lastReleaseCommitData.lastRelaseCommitMsg\n : '',\n})}\n `;\n }\n\n\n\n async getLastChangesFromCommits({\n maxMessagesToCheck = 3,\n stopOnCommitMessage = '',\n }: {\n /**\n * default 3\n */\n maxMessagesToCheck?: number;\n /**\n * stop serching on commit message\n */\n stopOnCommitMessage?: string;\n } = {}): Promise<string> {\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 getLastReleaseCommitData(): Promise<{\n lastRelaseCommitMsg: string;\n /**\n * -1 if not found\n */\n index: 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 return (void 0);\n }\n\n\n\n async getLastPackageVersionChangesFromChnagelog(): Promise<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 return (void 0);\n }\n\n\n\n private get changeLogPath() {\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n get changelogContent() {\n return this.project.readFile(this.changeLogPath) || '';\n }\n\n\n\n changeLogKeyWord() {\n return 'Changes in version';\n }\n\n\n\n getChnagelogData(): ChangelogData[] {\n/* */\n/* */\n/* */\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 ;({}); // @--end-of-file-for-module=tnp-helpers lib/base/base-release-process.ts","\n\n\nimport { _, /* */ /* */ } from 'tnp-core/websql';/* */\n/* */\n/* */\n/* */\n/* */\n\nimport { Helpers } from '../index';\nimport type { BaseProject } from './base-project';\nimport { path } from 'tnp-core/websql';\n\n\n\nconst openSourceProvidersIssuePrefix = [\n 'GH',\n\n\n\n\n\n];\n\n\n\nexport type CommonCommitMsgBranch =\n | 'refactor'\n | 'chore'\n | 'style'\n | 'docs'\n | 'test'\n | 'ci'\n | 'build'\n | 'release';\n\n\n\nexport type TypeOfCommit =\n | 'feature'\n | 'bugfix'\n | 'performance'\n | CommonCommitMsgBranch;\n\n\nexport type TypeOfMsgPrefix = 'feat' | 'fix' | 'perf' | CommonCommitMsgBranch;\nconst regexTeamsID: RegExp = /[A-Z0-9]+\\#/;\n\nconst regexCommitModuleInArgs: RegExp = /\\[[a-z|\\-|\\,]+\\]/;\nconst regexCommitModuleInBranch: RegExp = /\\-\\-[a-z|\\-|\\_]+\\-\\-/;\n\nexport class CommitData {\n\n\n\n private static cleanHttpFromCommitMessage(commitMsg: string): string {\n if (!commitMsg) {\n return commitMsg;\n }\n commitMsg = commitMsg.replace('https://', '');\n commitMsg = commitMsg.replace('http://', '');\n return commitMsg;\n }\n\n\n\n private static getTeamsIdFrom(commitMsg: string) {\n let teamID = _.first(commitMsg.match(regexTeamsID));\n if (teamID) {\n commitMsg = commitMsg.replace(teamID, '');\n }\n return {\n commitMsgOrBranchName: commitMsg,\n teamID,\n };\n }\n\n\n\n private static getModuleNameFrom(commitMsg: string) {\n let commitModuleName = _.first(commitMsg.match(regexCommitModuleInArgs));\n if (commitModuleName) {\n commitMsg = commitMsg.replace(commitModuleName, '');\n }\n commitModuleName = commitModuleName?.replace(/\\[/g, '').replace(/\\]/g, '');\n return {\n commitMsg,\n commitModuleName,\n };\n }\n\n\n\n /**\n *\n * @returns jiras (from oldest to newset)\n */\n static extractAndOrderJiraNumbers(commitOrBranchName: 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 *\n * @returns jiras (from oldest to newset)\n */\n static extractAndOrderIssuesFromOtherProjects(\n /**\n * example:\n * commit: proper git commands tnp/GH-9 darekf77/tnp-helpers/GH-10\n * feature/__tnp-GH-9____darekf77_tnp-helpers-GH10__-proper-git-commands\n */\n commitOrBranchName: string,\n currentOrigin?: string,\n ): 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 return (void 0);\n }\n\n\n\n static cleanMessageFromJiraNumTeamIdEtc(\n message: string,\n optinos?: {\n teamID: string;\n commitModuleName: string;\n jiraNumbers: string[];\n issuesFromOtherProjects: string[];\n },\n ): string {\n message = message || '';\n let { teamID, commitModuleName, jiraNumbers, issuesFromOtherProjects } =\n optinos || {};\n teamID = teamID || this.getTeamsIdFrom(message).teamID || '';\n commitModuleName =\n commitModuleName ||\n this.getModuleNameFrom(message).commitModuleName ||\n '';\n jiraNumbers = jiraNumbers || this.extractAndOrderJiraNumbers(message) || [];\n issuesFromOtherProjects =\n issuesFromOtherProjects ||\n this.extractAndOrderIssuesFromOtherProjects(message) ||\n [];\n\n if (!!teamID.trim()) {\n message = message.replace(teamID.toLowerCase().replace('-', ' '), ' ');\n message = message.replace(teamID.toUpperCase().replace('-', ' '), ' ');\n }\n\n\n\n for (const issueFromOtherProj of issuesFromOtherProjects || []) {\n\n\n message = message.replace(\n `__${issueFromOtherProj.replace(/\\//g, '_').replace(/\\-/g, ' ')}__`,\n ' ',\n );\n message = message.replace(issueFromOtherProj, ' ');\n message = message.replace(\n issueFromOtherProj.toLowerCase().replace('-', ' '),\n ' ',\n );\n message = message.replace(\n issueFromOtherProj.toUpperCase().replace('-', ' '),\n ' ',\n );\n message = message.replace(issueFromOtherProj.toLowerCase(), ' ');\n message = message.replace(regexCommitModuleInArgs, ' ');\n message = message.replace(regexCommitModuleInBranch, ' ');\n message = message.replace(/\\ \\ /g, ' ');\n }\n\n for (const jira of jiraNumbers || []) {\n message = message.replace(jira.toLowerCase().replace('-', ' '), ' ');\n message = message.replace(jira.toUpperCase().replace('-', ' '), ' ');\n message = message.replace(jira, ' ');\n message = message.replace(jira.toLowerCase(), ' ');\n message = message.replace(regexCommitModuleInArgs, ' ');\n message = message.replace(regexCommitModuleInBranch, ' ');\n message = message.replace(/\\ \\ /g, ' ');\n }\n\n if (!!teamID.trim()) {\n message = message.replace(/\\_/g, ' ');\n }\n if (!!commitModuleName.trim()) {\n message = message.replace(commitModuleName.replace(/\\-/g, ' '), ' ');\n message = message.replace(commitModuleName.replace(/\\,/g, ' '), ' ');\n message = message.replace(commitModuleName.replace(/\\,/g, '_'), ' ');\n }\n return message\n .replace(/\\ \\ /g, ' ')\n .replace(/\\ \\ /g, ' ')\n .replace(/\\ \\ /g, ' ');\n }\n\n\n\n\n private static getModuleNameFromBranch(branchName: string) {\n let commitModuleName = _.first(branchName.match(regexCommitModuleInBranch));\n if (commitModuleName) {\n branchName = branchName.replace(commitModuleName, '');\n commitModuleName = commitModuleName\n ?.replace(/^\\-\\-/, '')\n ?.replace(/\\-\\-$/, '');\n if (commitModuleName.startsWith('-')) {\n commitModuleName = commitModuleName.replace(/^\\-/, '');\n }\n }\n commitModuleName = commitModuleName\n ?.replace(/^\\-\\-/, '')\n ?.replace(/\\-\\-$/, '')\n .replace(/\\_/, ',');\n\n return { commitModuleName };\n }\n\n\n\n static async getFromArgs(\n args: string[],\n options: {\n typeOfCommit: TypeOfCommit;\n /**\n * only needed when push github\n * and I forgot to add my username before issue\n * firedev pfix proper input my-repo#344\n * that should be\n * firedev pfix proper input my-username/my-repo#344\n */\n currentOrigin?: string;\n },\n ): Promise<CommitData> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\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 static async getFromBranch(\n currentBranchName: string,\n options?: {\n releaseWords?: string[];\n /**\n * only needed when push github\n * and I forgot to add my username before issue\n * firedev pfix proper input my-repo#344\n * that should be\n * firedev pfix proper input my-username/my-repo#344\n */\n currentOrigin?: string;\n },\n ): Promise<CommitData> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\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 static from(\n options: Pick<\n CommitData,\n | 'message'\n | 'jiraNumbers'\n | 'typeOfCommit'\n | 'commitModuleName'\n | 'teamID'\n | 'issuesFromOtherProjects'\n >,\n ): CommitData {\n options = (options ? options : {}) as any;\n\n const opt = _.merge(new CommitData(), _.cloneDeep(options));\n return opt;\n }\n\n\n\n\n\n private _message: string;\n typeOfCommit: TypeOfCommit;\n /**\n * ex. JIRA-2132 or MYJIRAREFIX-234234\n */\n jiraNumbers: string[];\n\n readonly commitModuleName: string;\n readonly teamID: string;\n\n\n\n private clearMessage(message: string): string {\n return CommitData.cleanMessageFromJiraNumTeamIdEtc(message, {\n teamID: this.teamID,\n commitModuleName: this.commitModuleName,\n jiraNumbers: this.jiraNumbers,\n issuesFromOtherProjects: this.issuesFromOtherProjects,\n });\n }\n\n\n\n /**\n * pure message what was done (without jira or prefixes)\n * => is included in this.commitMessage\n */\n get message() {\n return this.clearMessage(this._message);\n }\n set message(message) {\n this._message = this.clearMessage(message);\n }\n\n\n\n get branchPrefix(): TypeOfMsgPrefix {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n /**\n * ex. firedev/GH-12 darekf77/tnp-helpers/GH-4\n */\n get issuesFromOtherProjects(): string[] {\n return this.__issuesFromOtherProjects;\n }\n\n set issuesFromOtherProjects(value: string[]) {\n this.__issuesFromOtherProjects = value;\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n }\n\n private __issuesFromOtherProjects: string[];\n\n\n\n get commitMessage(): 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 return (void 0);\n }\n\n\n\n get branchName(): 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 return (void 0);\n }\n\n\n\n get isActionCommit() {\n/* */\n/* */\n return (void 0);\n }\n\n}\n\n ;({}); // @--end-of-file-for-module=tnp-helpers lib/base/commit-data.ts","\n\n\nimport { _, path, crossPlatformPath } from 'tnp-core/websql';\nimport type { BaseProject } from './base-project';\nimport { CLASS } from 'typescript-class-helpers/websql';\nimport { Helpers, LibrariesBuildOptions } from '../index';\n\n\n\nexport type CoreProjectEnvironment = {\n shortName?: string;\n name?: string;\n description?: string;\n onlineLink?: string;\n};\n\n\n\n\nconst defaultDb = {\n projects: [],\n};\n\n\n\n\nexport type CoreCommandArgOptions<PROJECT extends BaseProject> = {\n project?: PROJECT;\n /**\n * watch mode\n */\n watch?: boolean;\n prod?: boolean;\n debug?: boolean;\n isInReleaseProcess?: boolean;\n libraryBuildOptions?: LibrariesBuildOptions;\n /**\n * first arg from command line\n */\n firstArg: string;\n /**\n * Not question for user ex.\n * - automatic process of patch release\n * - automatic deployment for default server\n */\n automaticProcess?: boolean;\n /**\n * orignal args with params\n */\n argsWithParams: string;\n copyto?: string[];\n copytoall?: boolean;\n /**\n * args from command line (clearn from params)\n */\n args: string[];\n exitCallback: () => void;\n};\n\n\nexport class CoreProject<PROJECT extends BaseProject = BaseProject> {\n\n\n\n public static coreProjects: CoreProject<any>[] = [];\n\n\n\n static from<Proj extends BaseProject = BaseProject>(\n options: Omit<CoreProject<Proj>, 'name' | 'url' | 'branch'>,\n ): CoreProject<Proj> {\n/* */\n/* */\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 private constructor() {}\n\n\n\n extends?: CoreProject<any>;\n color?: string;\n /**\n * second color for project (optional)\n */\n secondColor?: string;\n /**\n * second color for project (optional)\n */\n thirdColor?: string;\n npmRegistry?: string;\n description?: string;\n /**\n * ssh url for git repo\n */\n urlSSH?: string;\n /**\n * https url for git repo\n */\n urlHttp?: string;\n /**\n * main branches - first is default\n */\n branches: string[];\n /**\n * project environments\n */\n environments?: CoreProjectEnvironment[] = [];\n\n\n\n startCommand?: (options: CoreCommandArgOptions<PROJECT>) => Promise<void>;\n relaseCommand?: (options: CoreCommandArgOptions<PROJECT>) => Promise<void>;\n publishCommand?: (options: CoreCommandArgOptions<PROJECT>) => Promise<void>;\n deployCommand?: (options: CoreCommandArgOptions<PROJECT>) => Promise<void>;\n testCommand?: (options: CoreCommandArgOptions<PROJECT>) => Promise<void>;\n buildCommand?: (options: CoreCommandArgOptions<PROJECT>) => Promise<void>;\n docsCommand?: (options: CoreCommandArgOptions<PROJECT>) => Promise<void>;\n /**\n * function to recognize project\n */\n recognizedFn: (project: PROJECT) => boolean;\n\n /**\n * core porject name from repo basename\n */\n get name() {\n return path.basename(this.url).replace(/\\.git$/, '');\n }\n\n /**\n * main (default for reset) branch\n */\n get branch() {\n return _.first(this.branches);\n }\n\n /**\n * url for git repo\n */\n get url(): string {\n return (this.urlHttp ? this.urlHttp : this.urlSSH) || '';\n }\n\n}\n\nexport const CoreTypescriptProject = CoreProject.from<BaseProject>({\n\n branches: ['master', 'develop'],\n urlHttp: 'https://github.com/microsoft/TypeScript',\n environments: [],\n recognizedFn: project => {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n },\n async startCommand({ project }) {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n },\n async buildCommand({ project, watch }) {\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n },\n\n\n});\n\nexport const CoreAngularProject = CoreProject.from<BaseProject>({\n\n extends: CoreTypescriptProject,\n branches: ['master', 'develop'],\n urlHttp: 'https://github.com/angular/angular-cli',\n environments: [],\n recognizedFn: project => {\n return project.hasFile('angular.json');\n },\n async startCommand({ project }) {\n await project.npmHelpers.makeSureNodeModulesInstalled();\n const port = await project.assignFreePort(4200);\n project.run(`npm-run ng serve --port ${port}`).sync();\n },\n async buildCommand({ project }) {\n await project.npmHelpers.makeSureNodeModulesInstalled();\n project.run(`npm-run ng build`).sync();\n },\n\n});\n\n ;({}); // @--end-of-file-for-module=tnp-helpers lib/base/core-project.ts","\n\nimport { _, crossPlatformPath, path } from 'tnp-core/websql';\nimport { Helpers } from '../index';\n\nexport class LinkedProject {\n\n\n\n static from(options: Partial<LinkedProject>) {\n const linkedProj = _.merge(\n new (LinkedProject as any)(),\n _.cloneDeep(options),\n ) as LinkedProject;\n if (!linkedProj.relativeClonePath) {\n linkedProj.relativeClonePath = path.basename(\n linkedProj.remoteUrl().replace('.git', ''),\n );\n }\n if (!linkedProj.deafultBranch) {\n linkedProj.deafultBranch = 'master';\n }\n return linkedProj;\n }\n\n\n\n static fromName(\n projectName: string,\n currentRemoteUrl?: string,\n currentBranch?: string,\n ) {\n return LinkedProject.from({\n repoUrl: currentRemoteUrl?.replace(\n path.basename(currentRemoteUrl),\n `${projectName}.git`,\n ),\n deafultBranch: currentBranch,\n relativeClonePath: projectName,\n });\n }\n\n\n\n static detect(insideLocation: string, recursive = false): LinkedProject[] {\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 * sometime there is project that has one project\n * embede inside another project\n */\n internalRealtiveProjectPath?: string;\n /**\n * don't access directly, use remoteUrl() instead\n */\n repoUrlSsh?: string;\n /**\n * don't access directly, use remoteUrl() instead\n */\n repoUrlHttp?: string;\n /**\n * don't access directly, use remoteUrl() instead\n */\n repoUrl?: string;\n /**\n * url for git repo\n */\n public remoteUrl(): string {\n if (this.repoUrl) {\n return this.repoUrl;\n }\n if (this.repoUrlHttp) {\n return this.repoUrlHttp;\n }\n return this.repoUrlSsh;\n }\n deafultBranch?: string;\n purpose?: string;\n relativeClonePath?: string;\n}\n\nexport class LinkedPorjectsConfig {\n\n\n\n static from(options: Partial<LinkedPorjectsConfig>) {\n options = options || {};\n options.projects = (options.projects || []).map(linkedProjOrname => {\n if (_.isString(linkedProjOrname)) {\n return LinkedProject.fromName(linkedProjOrname);\n }\n return LinkedProject.from(linkedProjOrname);\n });\n\n\n\n return _.merge(new (LinkedPorjectsConfig as any)(), _.cloneDeep(options));\n }\n\n\n\n prefix?: string;\n skipRecrusivePush?: boolean;\n resetOnlyChildren?: boolean;\n projects: LinkedProject[];\n}\n\n ;({}); // @--end-of-file-for-module=tnp-helpers lib/base/linked-project.ts","\n\nexport * from './base-project';\nexport * from './base-project-resolver';\nexport * from './base-feature-for-project';\nexport * from './base-library-build';\nexport * from './base-npm-helpers';\nexport * from './base-linked-projects';\nexport * from './base-git';\nexport * from './base-release-process';\nexport * from './commit-data';\nexport * from './core-project';\nexport * from './linked-project';\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n ;({}); // @--end-of-file-for-module=tnp-helpers lib/base/index.ts","\n\nimport * as core from 'tnp-core/websql';\n\nexport type BaseProjectType = core.CoreModels.BaseProjectType;\nexport const BaseProjectTypeArr = core.CoreModels.BaseProjectTypeArr;\n\n/**\n * Angular project type\n */\nexport type NgProject = {\n projectType: 'library' | 'application';\n /**\n * where ng-packagr.json is located, tsconfig etc.\n */\n root: string;\n /**\n * Source code project\n */\n sourceRoot: string;\n prefix: string;\n};\n\nexport type LibraryBuildCommandOptions = {\n watch?: boolean;\n buildType: core.CoreModels.LibraryType;\n};\n\nexport type LibrariesBuildOptions = {\n strategy?: 'link' | 'copy';\n /**\n * @deprecated\n * this will be detected in future\n */\n buildType: core.CoreModels.LibraryType;\n copylink_to_node_modules?: string[];\n releaseBuild?: boolean;\n};\n\n\nexport interface ChangelogData {\n changes: string[];\n version: string;\n date: string;\n}\n\n ;({}); // @--end-of-file-for-module=tnp-helpers lib/models.ts","\n\nexport * from './validators/validators';\n\nexport { HelpersAngular } from './helpers/for-browser/angular.helper';\n\n\nexport * from './utils';\nimport { HelpersFiredev as Base } from './helpers/helpers';\n/**\n * Firedev helpers\n */ // @ts-ignore\nexport const Helpers: Base = Base.Instance as Base;\nexport * from './base';\nexport * from './models';\n/* */\n/* */\n \n\n ;({}); // @--end-of-file-for-module=tnp-helpers lib/index.ts","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["defaultDb","Base"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tnp-helpers.mjs","sources":["../../../tmp-libs-for-dist-websql/tnp-helpers/projects/tnp-helpers/src/lib/validators/validators-git.ts","../../../tmp-libs-for-dist-websql/tnp-helpers/projects/tnp-helpers/src/lib/validators/validators-network.ts","../../../tmp-libs-for-dist-websql/tnp-helpers/projects/tnp-helpers/src/lib/validators/validators.ts","../../../tmp-libs-for-dist-websql/tnp-helpers/projects/tnp-helpers/src/lib/helpers/for-browser/angular.helper.ts","../../../tmp-libs-for-dist-websql/tnp-helpers/projects/tnp-helpers/src/lib/utils.ts","../../../tmp-libs-for-dist-websql/tnp-helpers/projects/tnp-helpers/src/lib/helpers/helpers-array-obj.ts","../../../tmp-libs-for-dist-websql/tnp-helpers/projects/tnp-helpers/src/lib/helpers/helpers-strings-regexes.ts","../../../tmp-libs-for-dist-websql/tnp-helpers/projects/tnp-helpers/src/lib/helpers/helpers-strings.ts","../../../tmp-libs-for-dist-websql/tnp-helpers/projects/tnp-helpers/src/lib/helpers/helpers-numbers.ts","../../../tmp-libs-for-dist-websql/tnp-helpers/projects/tnp-helpers/src/lib/helpers/for-browser/helpers-browser.ts","../../../tmp-libs-for-dist-websql/tnp-helpers/projects/tnp-helpers/src/lib/helpers/helpers.ts","../../../tmp-libs-for-dist-websql/tnp-helpers/projects/tnp-helpers/src/lib/base/base-db.ts","../../../tmp-libs-for-dist-websql/tnp-helpers/projects/tnp-helpers/src/lib/base/config-database.ts","../../../tmp-libs-for-dist-websql/tnp-helpers/projects/tnp-helpers/src/lib/base/project-database.ts","../../../tmp-libs-for-dist-websql/tnp-helpers/projects/tnp-helpers/src/lib/base/base-project-resolver.ts","../../../tmp-libs-for-dist-websql/tnp-helpers/projects/tnp-helpers/src/lib/base/base-project.ts","../../../tmp-libs-for-dist-websql/tnp-helpers/projects/tnp-helpers/src/lib/base/base-feature-for-project.ts","../../../tmp-libs-for-dist-websql/tnp-helpers/projects/tnp-helpers/src/lib/base/base-library-build.ts","../../../tmp-libs-for-dist-websql/tnp-helpers/projects/tnp-helpers/src/lib/base/base-npm-helpers.ts","../../../tmp-libs-for-dist-websql/tnp-helpers/projects/tnp-helpers/src/lib/base/base-linked-projects.ts","../../../tmp-libs-for-dist-websql/tnp-helpers/projects/tnp-helpers/src/lib/base/base-git.ts","../../../tmp-libs-for-dist-websql/tnp-helpers/projects/tnp-helpers/src/lib/base/base-release-process.ts","../../../tmp-libs-for-dist-websql/tnp-helpers/projects/tnp-helpers/src/lib/base/commit-data.ts","../../../tmp-libs-for-dist-websql/tnp-helpers/projects/tnp-helpers/src/lib/base/core-project.ts","../../../tmp-libs-for-dist-websql/tnp-helpers/projects/tnp-helpers/src/lib/base/linked-project.ts","../../../tmp-libs-for-dist-websql/tnp-helpers/projects/tnp-helpers/src/lib/base/index.ts","../../../tmp-libs-for-dist-websql/tnp-helpers/projects/tnp-helpers/src/lib/models.ts","../../../tmp-libs-for-dist-websql/tnp-helpers/projects/tnp-helpers/src/lib/index.ts","../../../tmp-libs-for-dist-websql/tnp-helpers/projects/tnp-helpers/src/tnp-helpers.ts"],"sourcesContent":["\n\n\nexport namespace ValidatorsGit {\n\n export function isValidRepoUrl(url: string) {\n const regex = /^([A-Za-z0-9]+@|http(|s)\\:\\/\\/)([A-Za-z0-9.]+(:\\d+)?)(?::|\\/)([\\d\\/\\w.-]+?)(\\.git)?$/;\n const res = regex.test(url);\n return res;\n }\n\n}\n\n ;({}); // @--end-of-file-for-module=tnp-helpers lib/validators/validators-git.ts","\n\nimport { _ } from 'tnp-core/websql';\n\nexport namespace ValidatorsNetwork {\n export function isValidIp(ip: string) {\n if (!_.isString(ip)) {\n return false;\n }\n ip = ip.trim();\n if (ip === 'localhost') {\n return true;\n }\n return /^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/.test(ip)\n }\n}\n\n ;({}); // @--end-of-file-for-module=tnp-helpers lib/validators/validators-network.ts","\n\nimport { ValidatorsGit } from \"./validators-git\";\nimport { ValidatorsNetwork } from \"./validators-network\";\n\nexport namespace Validators {\n export import git = ValidatorsGit;\n export import network = ValidatorsNetwork;\n}\n\n\n ;({}); // @--end-of-file-for-module=tnp-helpers lib/validators/validators.ts","\n\n\nimport { Observable, Subject } from \"rxjs\";\n\nconst componentContextSymbol = Symbol();\nconst componentsDestroy$Subjects = {};\n\n\nexport namespace HelpersAngular {\n\n export class SerializedSubject<T> {\n constructor(\n public id: string\n ) { }\n }\n\n\n function subjectId(destroySubject: Subject<any>): SerializedSubject<any> {\n const id = Math.random().toString(36).substring(2);\n if (!destroySubject[componentContextSymbol]) {\n destroySubject[componentContextSymbol] = new SerializedSubject(id);\n componentsDestroy$Subjects[id] = destroySubject;\n }\n return destroySubject[componentContextSymbol];\n }\n\n /**\n * if you are using this.. please call Helpers.ng.unsubscribe(this.$destroy) in ngOnDestroy();\n */\n export function serialize(destroy$: Subject<any>): SerializedSubject<any> {\n return subjectId(destroy$);\n }\n\n /**\n * if you are using this.. please call Helpers.ng.unsubscribe(this.$destroy) in ngOnDestroy();\n */\n export function deserialize(destroy$: SerializedSubject<any>): Subject<any> {\n if (destroy$?.id) {\n const realDestroySubject = componentsDestroy$Subjects[destroy$.id];\n return realDestroySubject;\n }\n return new Subject();\n }\n\n export function unsubscribe(destroy$: Subject<any>) {\n const destroySubject = subjectId(destroy$);\n if (destroySubject?.id) {\n delete componentsDestroy$Subjects[destroySubject.id];\n delete destroySubject[componentContextSymbol];\n }\n }\n\n\n\n /**\n get properties from scss file\n\n\n import styles from './tasks-ngrx-data.component.scss';\n\n export class ExampleComponent {\n sassFile = sassFile(styles);\n\n async ngOnInit() {\n this.tasksService.getAll();\n console.log(this.sassFile.stringValue('--max-container-size'))\n console.log(this.sassFile.numberValue('--max-container-size'))\n }\n }\n */\n export function sassFile(styles: string) {\n const lines = (styles.split('\\n'));\n return {\n stringValue: (name: string) => {\n for (let index = 0; index < lines.length; index++) {\n const l = lines[index];\n const [varName, value] = l.trim().split(':');\n if (varName === name) {\n return value.replace(';', '');\n }\n }\n },\n numberValue: (name: string): number => {\n for (let index = 0; index < lines.length; index++) {\n const l = lines[index];\n const [varName, value] = l.trim().split(':');\n if (varName === name) {\n return Number(value.replace('px', '').replace(';', ''));\n }\n }\n }\n }\n }\n}\n\n\n\n ;({}); // @--end-of-file-for-module=tnp-helpers lib/helpers/for-browser/angular.helper.ts","\n\nimport { _, CoreModels, Helpers, Utils } from 'tnp-core/websql';\n\n\nexport namespace UtilsNpm {\n\n export const isSpecialVersion = (version: string) => {\n return CoreModels.NpmSpecialVersions.includes(version);\n };\n\n\n\n export const clearVersion = (\n version: string,\n options: {\n removePrefixes?: boolean;\n /**\n * Remove alpha, beta, rc, latest, next etc.\n */\n removeSuffix?: boolean;\n },\n ) => {\n const { removePrefixes, removeSuffix } = options || {};\n\n if (!version || isSpecialVersion(version)) {\n return version;\n }\n\n version = (version || '')\n .trim()\n .replace(new RegExp(Utils.escapeStringForRegEx('undefined'), 'g'), '0');\n\n if (removePrefixes) {\n version = version.replace('^', '').replace('~', '');\n }\n let [major, minor, patch, alphaOrBetaOrRc] = version.split('.');\n if (removeSuffix) {\n alphaOrBetaOrRc = '';\n }\n return fixMajorVerNumber(\n `${major}.${minor}.${patch}${alphaOrBetaOrRc ? '.' + alphaOrBetaOrRc : ''}`,\n );\n };\n\n\n\n export const fixMajorVerNumber = (version: string) => {\n if (!version || isSpecialVersion(version)) {\n return version;\n }\n version = (version || '')\n .trim()\n .replace(new RegExp(Utils.escapeStringForRegEx('undefined'), 'g'), '0');\n const splited = version.split('.');\n let [major, minor, patch, alphaOrBetaOrRc] = splited;\n if (splited.length === 1) {\n minor = '0';\n patch = '0';\n } else if (splited.length === 2) {\n patch = '0';\n }\n return `${major}.${minor}.${patch}${alphaOrBetaOrRc ? '.' + alphaOrBetaOrRc : ''}`;\n };\n\n}\n\n\n ;({}); // @--end-of-file-for-module=tnp-helpers lib/utils.ts","\n\nimport { _ } from 'tnp-core/websql';\nimport * as fuzzy from 'fuzzy';\n\n\nexport class HelpersArrayObj {\n\n from(s: string | string[]): string[] {\n if (_.isArray(s)) {\n return s;\n }\n if (_.isString(s)) {\n return s.split(' ')\n }\n }\n\n second(arr) {\n if (!Array.isArray(arr) || arr.length < 2) {\n return void 0;\n }\n return arr[1];\n }\n\n /**\n * @deprecated\n * use moveObjectBefore\n */\n arrayMoveElementBefore<T = any>(arr: any[], a: any, b: any, prop?: keyof T) {\n let indexA = prop ? arr.findIndex(elem => elem[prop] === a[prop]) : arr.indexOf(a);\n _.pullAt(arr, indexA);\n let indexB = prop ? arr.findIndex(elem => elem[prop] === b[prop]) : arr.indexOf(b);\n if (indexB === 0) {\n arr.unshift(a);\n } else {\n arr.splice(indexB - 1, 0, a);\n }\n return arr;\n }\n\n /**\n * @deprecated\n * use moveObjectAfter\n */\n arrayMoveElementAfterB<T = any>(arr: any[], a: any, b: any, prop?: keyof T) {\n let indexA = prop ? arr.findIndex(elem => elem[prop] === a[prop]) : arr.indexOf(a);\n _.pullAt(arr, indexA);\n let indexB = prop ? arr.findIndex(elem => elem[prop] === b[prop]) : arr.indexOf(b);\n if (indexB === arr.length - 1) {\n arr.push(a);\n } else {\n arr.splice(indexB + 1, 0, a);\n }\n return arr;\n }\n\n moveObjectBefore<T = any>(array: T[], target: T, before: T): T[] {\n const newArray = [...array];\n const targetIndex = newArray.findIndex(item => item === target);\n const beforeIndex = newArray.findIndex(item => item === before);\n\n if (targetIndex === -1 || beforeIndex === -1) {\n\n console.error(\"Target or Before object not found in the array\");\n return newArray;\n }\n\n\n newArray.splice(targetIndex, 1);\n\n\n newArray.splice(beforeIndex, 0, target);\n\n return newArray;\n }\n\n moveObjectAfter<T = any>(array: T[], target: T, after: T): T[] {\n const newArray = [...array];\n const targetIndex = newArray.findIndex(item => item === target);\n const afterIndex = newArray.findIndex(item => item === after);\n\n if (targetIndex === -1 || afterIndex === -1) {\n\n console.error(\"Target or After object not found in the array\");\n return newArray;\n }\n\n\n newArray.splice(targetIndex, 1);\n\n\n newArray.splice(afterIndex + 1, 0, target);\n\n return newArray;\n }\n\n /**\n * @deprecated\n */\n uniqArray<T = any>(array: any[], uniqueProperty?: (keyof T)) {\n var seen = {};\n return array\n .filter(f => !!f)\n .filter(function (item) {\n return seen.hasOwnProperty(uniqueProperty ? item[uniqueProperty] : item) ? false\n : (seen[uniqueProperty ? item[uniqueProperty] : item] = true);\n }) as T[];\n }\n\n sortKeys(obj) {\n if (_.isArray(obj)) {\n return obj.map(this.sortKeys);\n }\n if (_.isObject(obj)) {\n return _.fromPairs(_.keys(obj).sort().map(key => [key, this.sortKeys(obj[key])]));\n }\n return obj;\n };\n\n /**\n * Fuzzy search\n */\n fuzzy<T = any>(query: string, list: T[], valueFn?: (modelFromList: T) => string) {\n\n const resultsFuzzy = fuzzy.filter(\n query,\n list.map(k => valueFn ? valueFn(k) : k),\n )\n const resultsFuzzyKebab = fuzzy.filter(\n _.kebabCase(query),\n list.map(k => _.kebabCase((valueFn ? valueFn(k) : k) as any)),\n )\n const matches = resultsFuzzy.map((el) => el.string);\n const matchesKebab = resultsFuzzyKebab.map((el) => el.string);\n\n const results = (resultsFuzzy.length === 0) ? [] : list.filter(k => {\n return matches.includes((valueFn ? valueFn(k) : k) as any);\n })\n\n if (matches.length === 0 && matchesKebab.length > 0) {\n const m = list.find(k => _.kebabCase((valueFn ? valueFn(k) : k) as any) === _.first(matchesKebab));\n results.push(m);\n matches.push((valueFn ? valueFn(m) : m) as any);\n }\n\n return { matches, results };\n }\n\n}\n\n ;({}); // @--end-of-file-for-module=tnp-helpers lib/helpers/helpers-array-obj.ts","\n\nimport { Utils, _ } from 'tnp-core/websql';\nexport class HelpersStringsRegexes {\n\n\n\n escapeStringForRegEx(s: string) {\n return Utils.escapeStringForRegEx(s);\n }\n\n matchExactOnce(s: string, regex: RegExp): string {\n if (!_.isString(s) || !_.isRegExp(regex)) {\n return void 0;\n }\n const result = s.match(regex);\n if (_.isNil(result)) {\n return void 0;\n }\n return result.length >= 1 ? _.first(result) : void 0;\n }\n\n get regex() {\n return {\n /**\n * mathes\n * xxx.xxx.xxx.xxx\n * xxx.xxx.xxx.xxx:port\n * http://xxx.xxx.xxx.xxx:port\n * http://xxx.xxx.xxx.xxx\n * https://xxx.xxx.xxx.xxx:port\n * https://xxx.xxx.xxx.xxx *\n */\n get forStringWithIpHost() {\n const regex = /(http(s)?\\:\\/\\/)?(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)(\\:[0-9]+)?/;\n return regex;\n },\n /**\n * mathes\n * http://domain.com:port\n * http://domain.com\n * http://domain:port\n * http://domain\n * https://domain.com:port\n * https://domain.com\n * https://domain:port\n * https://domain\n */\n get forStringWithDomainHost() {\n const regex = /(((http(s)?\\:\\/\\/)?[a-zA-Z0-9][a-zA-Z0-9-]{1,61}[a-zA-Z0-9](?:\\.[a-zA-Z]{2,})+(\\:[0-9]+)?)|((http(s)?\\:\\/\\/)[a-zA-Z0-9-]{1,61}))/;\n return regex;\n }\n }\n }\n}\n\n ;({}); // @--end-of-file-for-module=tnp-helpers lib/helpers/helpers-strings-regexes.ts","\n\nimport { _ } from 'tnp-core/websql';\nimport { Helpers } from '../index';\n\nexport class HelpersStrings {\n\n /**\n * Example:\n *\n * const result = interpolateString(\"I'm {age} years old!\")\n * .withParameters({ age: 29 });\n *\n * const result = interpolateString(\"The {a} says {n}, {n}, {n}!\")\n * .withParameters({ a: 'cow', n: 'moo' });\n *\n *\n * @param value string to interpolate\n * @param parameters object with parametes\n */\n interpolateString<T = any>(value: string) {\n if (typeof value !== 'string') {\n Helpers.warn('[firedev-heleprs] Value for interpolation is not string: ', value);\n return value;\n }\n\n return {\n withParameters(parameters: T) {\n if (typeof parameters !== 'object') {\n Helpers.log(parameters as any);\n Helpers.warn('[firedev-heleprs] Parameters are not a object: ');\n return value;\n }\n return value.replace(/{([^{}]*)}/g, function (a, b) {\n var r = parameters[b];\n return typeof r === 'string' || typeof r === 'number' ? r : a;\n } as any);\n }\n }\n\n }\n\n /**\n *\n * @param pixelsCss exmaple: 100px\n * @returns number value\n */\n numValue(pixelsCss: string) {\n\n return parseInt(pixelsCss.replace('px', ''));\n }\n\n /**\n * examples:\n * 'aa bb bb' => ['aa','bb','cc'],\n * 'aa' => ['aa']\n * ['aa'] => ['aa']\n */\n splitIfNeed(stringOrArr: string | string[]): string[] {\n let res = [];\n if (_.isArray(stringOrArr)) {\n res = stringOrArr.map(s => {\n return s.trim();\n })\n }\n if (_.isString(stringOrArr)) {\n res = stringOrArr.split(/\\s*[\\s,]\\s*/);\n }\n return res.filter(f => !!f && (f.trim() !== ''));\n }\n\n removeDoubleOrMoreEmptyLines(s: string) {\n s = s?.split('\\n').map(f => f.trimRight()).join('\\n');\n return s?.replace(/(\\r\\n|\\r|\\n){2,}/g, '$1\\n');\n }\n\n /**\n *\n * https://stackoverflow.com/a/57129703/1345101\n *\n * Returns the plural of an English word.\n *\n * @export\n * @param {string} word\n * @param {number} [amount]\n * @returns {string}\n */\n plural(word: string, amount?: number): string {\n if (amount !== undefined && amount === 1) {\n return word\n }\n const plural: { [key: string]: string } = {\n '(quiz)$': \"$1zes\",\n '^(ox)$': \"$1en\",\n '([m|l])ouse$': \"$1ice\",\n '(matr|vert|ind)ix|ex$': \"$1ices\",\n '(x|ch|ss|sh)$': \"$1es\",\n '([^aeiouy]|qu)y$': \"$1ies\",\n '(hive)$': \"$1s\",\n '(?:([^f])fe|([lr])f)$': \"$1$2ves\",\n '(shea|lea|loa|thie)f$': \"$1ves\",\n 'sis$': \"ses\",\n '([ti])um$': \"$1a\",\n '(tomat|potat|ech|her|vet)o$': \"$1oes\",\n '(bu)s$': \"$1ses\",\n '(alias)$': \"$1es\",\n '(octop)us$': \"$1i\",\n '(ax|test)is$': \"$1es\",\n '(us)$': \"$1es\",\n '([^s]+)$': \"$1s\"\n }\n const irregular: { [key: string]: string } = {\n 'move': 'moves',\n 'foot': 'feet',\n 'goose': 'geese',\n 'sex': 'sexes',\n 'child': 'children',\n 'man': 'men',\n 'tooth': 'teeth',\n 'person': 'people'\n }\n const uncountable: string[] = [\n 'sheep',\n 'fish',\n 'deer',\n 'moose',\n 'series',\n 'species',\n 'money',\n 'rice',\n 'information',\n 'equipment',\n 'bison',\n 'cod',\n 'offspring',\n 'pike',\n 'salmon',\n 'shrimp',\n 'swine',\n 'trout',\n 'aircraft',\n 'hovercraft',\n 'spacecraft',\n 'sugar',\n 'tuna',\n 'you',\n 'wood'\n ]\n\n if (uncountable.indexOf(word.toLowerCase()) >= 0) {\n return word\n }\n\n for (const w in irregular) {\n const pattern = new RegExp(`${w}$`, 'i')\n const replace = irregular[w]\n if (pattern.test(word)) {\n return word.replace(pattern, replace)\n }\n }\n\n for (const reg in plural) {\n const pattern = new RegExp(reg, 'i')\n if (pattern.test(word)) {\n return word.replace(pattern, plural[reg])\n }\n }\n return word\n }\n\n\n /**\n * https://stackoverflow.com/a/57129703/1345101\n *\n * Returns the singular of an English word.\n *\n * @export\n * @param {string} word\n * @param {number} [amount]\n * @returns {string}\n */\n singular(word: string, amount?: number): string {\n if (amount !== undefined && amount !== 1) {\n return word\n }\n const singular: { [key: string]: string } = {\n '(quiz)zes$': \"$1\",\n '(matr)ices$': \"$1ix\",\n '(vert|ind)ices$': \"$1ex\",\n '^(ox)en$': \"$1\",\n '(alias)es$': \"$1\",\n '(octop|vir)i$': \"$1us\",\n '(cris|ax|test)es$': \"$1is\",\n '(shoe)s$': \"$1\",\n '(o)es$': \"$1\",\n '(bus)es$': \"$1\",\n '([m|l])ice$': \"$1ouse\",\n '(x|ch|ss|sh)es$': \"$1\",\n '(m)ovies$': \"$1ovie\",\n '(s)eries$': \"$1eries\",\n '([^aeiouy]|qu)ies$': \"$1y\",\n '([lr])ves$': \"$1f\",\n '(tive)s$': \"$1\",\n '(hive)s$': \"$1\",\n '(li|wi|kni)ves$': \"$1fe\",\n '(shea|loa|lea|thie)ves$': \"$1f\",\n '(^analy)ses$': \"$1sis\",\n '((a)naly|(b)a|(d)iagno|(p)arenthe|(p)rogno|(s)ynop|(t)he)ses$': \"$1$2sis\",\n '([ti])a$': \"$1um\",\n '(n)ews$': \"$1ews\",\n '(h|bl)ouses$': \"$1ouse\",\n '(corpse)s$': \"$1\",\n '(us)es$': \"$1\",\n 's$': \"\"\n }\n const irregular: { [key: string]: string } = {\n 'move': 'moves',\n 'foot': 'feet',\n 'goose': 'geese',\n 'sex': 'sexes',\n 'child': 'children',\n 'man': 'men',\n 'tooth': 'teeth',\n 'person': 'people'\n }\n const uncountable: string[] = [\n 'sheep',\n 'fish',\n 'deer',\n 'moose',\n 'series',\n 'species',\n 'money',\n 'rice',\n 'information',\n 'equipment',\n 'bison',\n 'cod',\n 'offspring',\n 'pike',\n 'salmon',\n 'shrimp',\n 'swine',\n 'trout',\n 'aircraft',\n 'hovercraft',\n 'spacecraft',\n 'sugar',\n 'tuna',\n 'you',\n 'wood'\n ]\n\n if (uncountable.indexOf(word.toLowerCase()) >= 0) {\n return word\n }\n\n for (const w in irregular) {\n const pattern = new RegExp(`${irregular[w]}$`, 'i')\n const replace = w\n if (pattern.test(word)) {\n return word.replace(pattern, replace)\n }\n }\n\n for (const reg in singular) {\n const pattern = new RegExp(reg, 'i')\n if (pattern.test(word)) {\n return word.replace(pattern, singular[reg])\n }\n }\n return word\n }\n\n}\n\n\n ;({}); // @--end-of-file-for-module=tnp-helpers lib/helpers/helpers-strings.ts","\n\n\nexport class HelpersNumber {\n /**\n * @deprecated\n * use _.random()\n */\n randomInteger = (max, min) => Math.round(Math.random() * (max - min)) + min;\n\n\n}\n\n ;({}); // @--end-of-file-for-module=tnp-helpers lib/helpers/helpers-numbers.ts","\n\n\n\n\nconst key = Symbol('[firedev-helpers] helper browser key')\n\nexport class HelpersBrowser {\n\n private static callbacks = [];\n static onInit(callback: (ins: HelpersBrowser) => any) {\n this.callbacks.push(callback);\n }\n\n get win() {\n let win = window;\n return win;\n }\n\n private get tabIdSessionStorage() {\n return Number(this.win.sessionStorage?.tabId) || 0;\n }\n\n readonly tabId: number;\n\n private static inst: HelpersBrowser;\n init = (() => {\n const win = this.win;\n\n if (!win[key]) {\n win[key] = new HelpersBrowser(win);\n }\n HelpersBrowser.inst = win[key];\n })();\n\n private constructor(win: Window) {\n\n win.addEventListener(\"beforeunload\", (e) => {\n win.sessionStorage.tabId = this.tabId;\n return null;\n });\n\n setTimeout(() => {\n\n if (win.sessionStorage?.tabId) {\n // @ts-ignore\n this.tabId = Number(win.sessionStorage.tabId);\n win.sessionStorage.removeItem(\"tabId\");\n }\n else {\n // @ts-ignore\n this.tabId = Math.floor(Math.random() * 1000000) + (new Date()).getTime();\n }\n HelpersBrowser.callbacks.forEach((c) => {\n c(this);\n });\n })\n\n\n }\n\n\n static get instance() {\n return HelpersBrowser.inst;\n }\n\n}\n\n\n\n\n\n\n ;({}); // @--end-of-file-for-module=tnp-helpers lib/helpers/for-browser/helpers-browser.ts","\n\n\nimport { _, path } from 'tnp-core/websql';\nimport { HelpersArrayObj } from './helpers-array-obj';\nimport { HelpersStringsRegexes } from './helpers-strings-regexes';\nimport { HelpersStrings } from './helpers-strings';\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \nimport { config } from 'tnp-config/websql';\nimport { Helpers, Validators } from '../index';\nimport { CLASS } from 'typescript-class-helpers/websql';\nimport { CoreHelpers, CoreModels } from 'tnp-core/websql';\nimport { HelpersNumber } from './helpers-numbers';\n\nimport { HelpersBrowser } from './for-browser/helpers-browser';\nimport { HelpersAngular } from './for-browser/angular.helper';\n\n\n\n\n/**\n * Mixing for multiclass inheritance\n *\n * How to use It:\n *\n * class Wolverine {}\n * class Jean {}\n * export class Child {}\n * export interface MyChild implements Wolverine, Jean {}\n * applyMixing(Child,[Wolverine, Jean]);\n *\n * @param derivedCtor Target Class\n * @param baseCtors Base Classes\n */\nexport function applyMixins(derivedCtor: any, baseCtors: any[]) {\n baseCtors.forEach(baseCtor => {\n Object.getOwnPropertyNames(baseCtor.prototype).forEach(name => {\n Object.defineProperty(\n derivedCtor.prototype,\n name,\n Object.getOwnPropertyDescriptor(baseCtor.prototype, name),\n );\n });\n });\n}\n\n\nexport class HelpersFiredev extends CoreHelpers {\n\n private static _instance: HelpersFiredev & CoreHelpers;\n public static get Instance(): HelpersFiredev {\n if (!HelpersFiredev._instance) {\n HelpersFiredev._instance = new HelpersFiredev();\n }\n return HelpersFiredev._instance;\n }\n\n\n\n private constructor(\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n public arrays = new HelpersArrayObj(),\n public strings = new HelpersStrings(),\n public numbers = new HelpersNumber(),\n\n public browser = HelpersBrowser.instance,\n public ng = HelpersAngular,\n\n ) {\n super();\n }\n\n\n\n CLIWRAP(f: Function, name: string) {\n CLASS.setName(f, name);\n return f;\n }\n\n\n\n /**\n * Bundle file with node_modules into one file\n */\n async ncc(\n pathToJsFile: string,\n outputFilePath: string,\n /**\n * ! beforeWrite needs to return output\n */\n beforeWrite?: (options: {\n output?: string;\n copyToDestination?: (fileOrFolderAbsPath: string) => void;\n }) => string,\n ): Promise<void> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n uniqArray<T = any>(array: any[], uniqueProperty?: keyof T): T[] {\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n\n\n\n\n\n\n\n urlParse(portOrHost: number | string | URL, forceDomain = false) {\n let url: URL;\n if (portOrHost instanceof URL) {\n url = portOrHost;\n } else if (_.isNumber(portOrHost)) {\n url = new URL(`http://localhost:${portOrHost}`);\n } else if (!_.isNaN(Number(portOrHost))) {\n url = new URL(`http://localhost:${Number(portOrHost)}`);\n } else if (_.isString(portOrHost)) {\n try {\n url = new URL(portOrHost);\n } catch (error) {}\n if (Validators.network.isValidIp(portOrHost)) {\n try {\n url = new URL(`http://${portOrHost}`);\n } catch (error) {\n Helpers.warn(`Not able to get port from ${portOrHost}`);\n }\n }\n if (forceDomain) {\n const domain = portOrHost as string;\n url = new URL(\n domain.startsWith('http') ? domain : `http://${portOrHost}`,\n );\n }\n }\n return url;\n }\n\n\n\n slash(pathFromWindowsOrUnixType: string) {\n/* */\n/* */\n return (void 0);\n }\n\n\n\n async isElevated() {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n }\n\n\n\n /**\n * TODO fix this methods\n */\n async localIpAddress() {\n/* */\n/* */\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 allLocalIpAddresses(): URL[] {\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 mesureExectionInMs(\n description: string,\n functionToExecute: Function,\n ...functionArguments: any[]\n ): Promise<number> {\n var start = new Date();\n await Helpers.runSyncOrAsync({\n functionFn: functionToExecute,\n arrayOfParams: functionArguments,\n });\n //@ts-ignore\n var end = new Date() - start;\n if (Helpers.isBrowser) {\n Helpers.info(`Execution time: ${end.toString()}ms for \"${description}\"`);\n }\n/* */\n/* */\n/* */\n/* */\n \n return end;\n }\n\n\n\n mesureExectionInMsSync(\n description: string,\n functionToExecute: () => void,\n ): number {\n var start = new Date();\n functionToExecute();\n //@ts-ignore\n var end = new Date() - start;\n if (Helpers.isBrowser) {\n Helpers.info(`Execution time: ${end.toString()}ms for \"${description}\"`);\n }\n/* */\n/* */\n/* */\n/* */\n \n return end;\n }\n\n\n\n waitForCondition(conditionFn: (any) => boolean, howOfftenCheckInMs = 1000) {\n return new Promise(async (resolve, reject) => {\n const result = await Helpers.runSyncOrAsync({ functionFn: conditionFn });\n if (result) {\n resolve(void 0);\n } else {\n setTimeout(() => {\n Helpers.waitForCondition(conditionFn, howOfftenCheckInMs).then(() => {\n resolve(void 0);\n });\n }, howOfftenCheckInMs);\n }\n });\n }\n\n\n\n /**\n * @deprecated\n */\n getBrowserVerPath(moduleName?: string, websql: boolean = false) {\n/* */\n/* */\n/* */\n/* */\n/* */\n \n }\n\n\n\n getMethodName(classObject, method): string {\n var methodName = null;\n Object.getOwnPropertyNames(classObject).forEach(prop => {\n if (classObject[prop] === method) {\n methodName = prop;\n }\n });\n\n if (methodName !== null) {\n return methodName;\n }\n\n var proto = Object.getPrototypeOf(classObject);\n if (proto) {\n return Helpers.getMethodName(proto, method);\n }\n return null;\n }\n\n\n\n /**\n * @deprecated\n */\n fixWebpackEnv(env: Object) {\n _.forIn(env, (v, k) => {\n const value: string = v as any;\n if (value === 'true') env[k] = true;\n if (value === 'false') env[k] = false;\n });\n }\n\n\n\n /**\n * @deprecated\n */\n async workerCalculateArray(\n dataToSplit: any[],\n operation: (\n dataChunk: any[],\n workerNumber?: number | undefined,\n ) => Promise<void>,\n options?: {\n maxesForWorkes?: { [workerMaxes: number]: number };\n workerLimit?: number;\n globals?: 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\n\n\n checkEnvironment(deps?: CoreModels.GlobalDependencies) {\n/* */\n/* */\n return (void 0);\n }\n\n\n\n public applyMixins = applyMixins;\n\n\n\n isValidIp = Validators.network.isValidIp;\n\n\n\n isValidGitRepuUrl = Validators.git.isValidRepoUrl;\n\n}\n\n\n/* eslint-disable prettier/prettier */\n\n// @ts-ignore\nexport interface HelpersFiredev extends\n HelpersStringsRegexes\n/* */\n/* */\n/* */\n/* */\n \n{ }\n\n\napplyMixins(HelpersFiredev, [\n HelpersStringsRegexes,\n/* */\n/* */\n/* */\n \n]);\n\n\n/* eslint-enable prettier/prettier */\n\n ;({}); // @--end-of-file-for-module=tnp-helpers lib/helpers/helpers.ts","\n\n\nimport { Helpers, crossPlatformPath } from \"tnp-core/websql\";\n\nimport type { BaseProjectResolver } from \"./base-project-resolver\";\n\n/* */\n/* */\n/* */\n/* */\n \n\n\nexport class BaseDb<DB extends object> {\n\n constructor(\n private ins: BaseProjectResolver,\n private dbName: string,\n private defaultDb: DB,\n ) {\n\n }\n/* */\n/* */\n \n\n public get isUnsingDB(): boolean {\n/* */\n/* */\n return (void 0);\n }\n\n get projectsDbLocation() {\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 ;({}); // @--end-of-file-for-module=tnp-helpers lib/base/base-db.ts","\n\n\nimport { crossPlatformPath } from \"tnp-core/websql\";\n\nimport type { BaseProjectResolver } from \"./base-project-resolver\";\nimport { BaseDb } from \"./base-db\";\nimport { Helpers } from \"../index\";\n/* */\n/* */\n/* */\n \n\n\nconst defaultDb = {\n config: {} as { [key: string]: string | number | boolean | null; },\n}\n\nexport class ConfigDatabase extends BaseDb<typeof defaultDb> {\n constructor(\n ins: BaseProjectResolver,\n ) {\n super(ins, 'config', defaultDb);\n }\n private get selectedCodeEditorKey(): string {\n return 'selected-code-editor';\n }\n\n public async selectCodeEditor(): Promise<'code' | 'idea' | 'idea64' | string> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n public async getCodeEditor(): Promise<'code' | 'idea' | 'idea64' | string> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n}\n\n ;({}); // @--end-of-file-for-module=tnp-helpers lib/base/config-database.ts","\n\n\nimport { Helpers, crossPlatformPath } from \"tnp-core/websql\";\nimport type { BaseProjectResolver } from \"./base-project-resolver\";\nimport { BaseDb } from \"./base-db\";\n\n\nconst defaultDb = {\n projects: [] as {\n location: string;\n }[],\n}\n\nexport class ProjectDatabase extends BaseDb<typeof defaultDb>{\n constructor(\n ins: BaseProjectResolver,\n ) {\n super(ins, 'projects', defaultDb);\n }\n\n async getAllProjectsFromDB() {\n/* */\n/* */\n/* */\n return (void 0);\n }\n}\n\n ;({}); // @--end-of-file-for-module=tnp-helpers lib/base/project-database.ts","\n\n\nimport { /* */ /* */ /* */ } from 'tnp-core/websql';/* */\n/* */\n/* */\n/* */\n/* */\n\nimport { Helpers } from '../index';\nimport { path, crossPlatformPath } from 'tnp-core/websql';\nimport { config } from 'tnp-config/websql';\nimport { _ } from 'tnp-core/websql';\nimport type { BaseProject } from './base-project';\nimport { Low } from 'lowdb';\nimport { ConfigDatabase } from './config-database';\nimport { ProjectDatabase } from './project-database';\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\nexport class BaseProjectResolver<PROJECT extends Partial<BaseProject> = any> {\n /**\n * general name for project company\n */\n public orgName: string = 'firedev';\n configDb: ConfigDatabase = new ConfigDatabase(this);\n projectsDb: ProjectDatabase = new ProjectDatabase(this);\n\n\n protected readonly NPM_PROJECT_KEY = 'npm';\n protected projects: PROJECT[] = [];\n /**\n * To speed up checking folder I am keeping pathes for alterdy checked folder\n * This may break things that are creating new projects\n */\n protected emptyLocations: string[] = [];\n\n\n\n constructor(protected classFn: any) {}\n\n\n\n get allowedTypes(): string[] {\n\n return [this.NPM_PROJECT_KEY];\n\n\n }\n\n\n\n /**\n * project from process.cwd()\n */\n get Current(): PROJECT {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n /**\n * override this\n */\n typeFrom(location: string, recrusiveCall = false): string {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n From(locationOfProject: string | string[], options?: any): PROJECT {\n\n\n\n\n if (Array.isArray(locationOfProject)) {\n locationOfProject = locationOfProject.join('/');\n }\n let location = crossPlatformPath(locationOfProject.replace(/\\/\\//g, '/'));\n\n if (!_.isString(location)) {\n Helpers.warn(`[project.from] location is not a string`);\n return;\n }\n if (path.basename(location) === 'dist') {\n location = path.dirname(location);\n }\n location = crossPlatformPath(path.resolve(location));\n\n const alreadyExist = this.projects.find(\n l => l.location.trim() === location.trim(),\n );\n if (alreadyExist) {\n return alreadyExist as 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 nearestTo(\n absoluteLocation: string,\n options?: {\n type?: string | string[];\n findGitRoot?: boolean;\n onlyOutSideNodeModules?: boolean;\n },\n ): PROJECT {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\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 unload(projectOrLocationOfProject: PROJECT | string) {\n const location = _.isString(projectOrLocationOfProject)\n ? projectOrLocationOfProject\n : projectOrLocationOfProject?.location;\n\n this.projects = this.projects.filter(f => f.location !== location);\n this.emptyLocations = this.emptyLocations.filter(f => f !== location);\n }\n\n\n\n remove(project: PROJECT) {\n/* */\n/* */\n/* */\n/* */\n \n }\n\n\n\n add(project: PROJECT) {\n/* */\n/* */\n \n }\n\n\n\n\n allProjectFrom(absoluteLocation: string, stopOnCwd: 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 return (void 0);\n }\n\n allProjectsFromFolder(folderLocation: string): PROJECT[] {\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n public sortGroupOfProject<T extends BaseProject = BaseProject>(\n projects: T[],\n resoveDepsArray: (proj: T) => string[],\n projNameToCompare: (proj: T) => string,\n ): T[] {\n const visited: { [key: string]: boolean } = {};\n const stack: { [key: string]: boolean } = {};\n const result: T[] = [];\n\n const visit = (project: T) => {\n if (stack[projNameToCompare(project)]) {\n\n Helpers.error(\n `Circular dependency detected involving project: ${projNameToCompare(project)}`,\n );\n }\n\n if (!visited[projNameToCompare(project)]) {\n visited[projNameToCompare(project)] = true;\n stack[projNameToCompare(project)] = true;\n\n const depsResolved = resoveDepsArray(project);\n depsResolved.forEach(dependency => {\n const dependentProject = projects.find(p => {\n\n return projNameToCompare(p) === dependency;\n });\n if (dependentProject) {\n visit(dependentProject);\n }\n });\n\n stack[projNameToCompare(project)] = false;\n result.push(project);\n }\n };\n\n projects.forEach(project => visit(project));\n return result;\n\n }\n\n}\n\n ;({}); // @--end-of-file-for-module=tnp-helpers lib/base/base-project-resolver.ts","\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \nimport { CoreModels } from 'tnp-core/websql';\nimport { CLI } from 'tnp-cli/websql';\nimport { path, crossPlatformPath } from 'tnp-core/websql';\nimport { config } from 'tnp-config/websql';\nimport { _ } from 'tnp-core/websql';\nimport { CommitData, CoreProject, Helpers, LinkedPorjectsConfig, LinkedProject, TypeOfCommit, } from '../index';/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n\nimport { BaseProjectResolver } from './base-project-resolver';\nimport { BaseProjectType, LibrariesBuildOptions, LibraryBuildCommandOptions, NgProject, } from '../models';/* */\n/* */\n/* */\n/* */\n/* */\n\nimport type { BaseLibraryBuild } from './base-library-build';\nimport { BaseNpmHelpers } from './base-npm-helpers';\nimport { BaseLinkedProjects } from './base-linked-projects';\nimport { BaseGit } from './base-git';\nimport { BaseVscodeHelpers } from './base-vscode';\nimport { BaseReleaseProcess } from './base-release-process';\n\n\nconst takenPorts = [];\n\nexport abstract class BaseProject<\n PROJCET extends BaseProject = any,\n TYPE = BaseProjectType,\n> {\n\n\n\n static ins = new BaseProjectResolver<BaseProject>(BaseProject);\n\n\n\n\n\n public cache: any = {};\n public static cache: any = {};\n public get globalCache() {\n return BaseProject.cache;\n }\n readonly type: TYPE | string = 'unknow';\n\n /**\n * resolve instance\n */\n abstract readonly ins: BaseProjectResolver<PROJCET>;\n /**\n * Unique free port for project instance\n * only available after executing *this.assignFreePort()*\n */\n readonly port: string;\n\n public libraryBuild: BaseLibraryBuild;\n public npmHelpers: BaseNpmHelpers;\n public linkedProjects: BaseLinkedProjects;\n public vsCodeHelpers: BaseVscodeHelpers;\n public releaseProcess: BaseReleaseProcess;\n public git: BaseGit;\n\n\n private __location: string;\n get location(): string {\n return this.__location;\n }\n set location(v: string) {\n this.__location = crossPlatformPath(v);\n }\n\n\n // @ts-ignore\n constructor(\n /**\n * doesn't need to be real path -> can be link\n */\n location: string,\n ) {\n this.location = location;\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n }\n\n\n\n get isMonorepo(): boolean {\n return false;\n }\n\n\n\n protected orderCoreProjects(coreProjects: CoreProject[]): CoreProject[] {\n const projectMap = new Map<CoreProject, CoreProject[]>();\n\n\n for (const project of coreProjects) {\n projectMap.set(project, []);\n }\n\n\n for (const project of coreProjects) {\n if (!projectMap.has(project.extends)) {\n projectMap.set(project.extends, []);\n }\n projectMap.get(project.extends)!.push(project);\n }\n\n const orderedProjects: CoreProject[] = [];\n const visited = new Set<CoreProject>();\n\n const visit = (project: CoreProject) => {\n if (!visited.has(project)) {\n visited.add(project);\n const dependencies = projectMap.get(project);\n if (dependencies) {\n for (const dep of dependencies) {\n visit(dep);\n }\n }\n orderedProjects.push(project);\n }\n };\n\n\n for (const project of coreProjects) {\n visit(project);\n }\n\n return orderedProjects.reverse();\n }\n\n\n\n\n get core(): CoreProject {\n if (!_.isUndefined(this.cache['core'])) {\n return this.cache['core'];\n }\n\n let coreProjects = CoreProject.coreProjects.filter(p =>\n p.recognizedFn(this as any),\n );\n coreProjects = this.orderCoreProjects(coreProjects);\n\n\n this.cache['core'] = _.first(coreProjects);\n return this.cache['core'];\n }\n\n\n\n get linkedProjectsExisted(): PROJCET[] {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n public setType(type: TYPE) {\n // @ts-ignore\n this.type = type;\n }\n\n\n\n public typeIs(...types: TYPE[]) {\n return this.type && types.includes(this.type as any);\n }\n\n\n\n public typeIsNot(...types: TYPE[]) {\n return !this.typeIs(...types);\n }\n\n\n\n /**\n * project folder basename\n */\n get basename(): string {\n\n return path.basename(this.location);\n\n }\n\n\n\n /**\n * name from package.json\n */\n get name(): string {\n return this.npmHelpers?.name || this.nameFromPomXML;\n }\n\n get nameForCli(): string {\n return this.name?.endsWith('-cli') ? this.name : `${this.name}-cli`;\n }\n\n get nameFromPomXML(): string {\n const artifactIdPattern = /<artifactId>([^<]+)<\\/artifactId>/;\n const match = (this.readFile('pom.xml') || '').match(artifactIdPattern);\n if (match && match[1]) {\n return match[1];\n }\n return '';\n }\n\n\n\n protected getFoldersForPossibleProjectChildren(): string[] {\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 protected getAllChildren() {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n /**\n * alias to getAllChildren\n */\n get children(): PROJCET[] {\n\n return this.getAllChildren();\n\n }\n\n\n\n getChildBy(nameOrBasename: string, errors = true): PROJCET {\n\n const c = this.children.find(\n c => c.name === nameOrBasename || c.basename === nameOrBasename,\n );\n if (errors && !c) {\n Helpers.warn(\n `Project doesnt contain child with name or basename: ${nameOrBasename}`,\n );\n }\n return c;\n\n }\n\n\n\n get parent(): PROJCET {\n\n if (!_.isString(this.location) || this.location.trim() === '') {\n return void 0;\n }\n return this.ins.From(path.join(this.location, '..'));\n\n }\n\n\n\n get grandpa(): PROJCET {\n\n if (!_.isString(this.location) || this.location.trim() === '') {\n return void 0;\n }\n const grandpa = this.ins.From(path.join(this.location, '..', '..'));\n return grandpa;\n\n }\n\n\n\n get genericName() {\n\n if (!_.isUndefined(this.cache['genericName'])) {\n return this.cache['genericName'];\n }\n let nameFromPackageJson = this.name;\n/* */\n/* */\n \n\n const sliceMinus = 8;\n const shortPath =\n '/' +\n crossPlatformPath(this.location)\n .split('/')\n .slice(-1 * sliceMinus)\n .join('/');\n\n const result =\n (shortPath.includes(crossPlatformPath(this.location)) ? '/' : '(..)') +\n this.checkAndBoldenPath(this.location)\n .split('/')\n .slice(-1 * sliceMinus)\n .join('/') +\n `(${nameFromPackageJson})`;\n\n this.cache['genericName'] = result.replace(/\\/\\//g, '/');\n return this.cache['genericName'];\n\n }\n\n\n\n private checkAndBoldenPath(fullPath: string) {\n const parts = fullPath.split('/');\n\n const result = parts.map((part, index) => {\n const pathTocheck = parts.slice(0, index + 1).join('/');\n\n/* */\n/* */\n/* */\n/* */\n \n return part;\n });\n\n return result.join('/');\n }\n\n\n\n /**\n * same has project.hasFile();\n */\n pathExists(relativePath: string | string[]): boolean {\n return this.hasFile(relativePath);\n }\n\n\n\n /**\n * same as project.pathExists();\n */\n hasFile(relativePath: string | string[]): boolean {\n/* */\n/* */\n/* */\n return (void 0);\n }\n hasFolder(relativePath: string | string[]): boolean {\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n /**\n * same as project.pathhasFileExists();\n * but with path.resolve\n */\n containsFile(fileRelativeToProjectPath: string) {\n const fullPath = path.resolve(\n path.join(this.location, fileRelativeToProjectPath),\n );\n return Helpers.exists(fullPath);\n }\n\n\n\n /**\n * absolute path:\n * concated project location with relative path\n */\n pathFor(relativePath: string | string[]) {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n writeJson(relativePath: string, json: object) {\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n writeJsonC(relativePath: string, json: object) {\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n /**\n * @deprecated us execute instead\n * use output from or more preciese crafted api\n */\n run(command: string, options?: Omit<CoreModels.RunOptions, 'cwd'>) {\n let opt: CoreModels.RunOptions;\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n return Helpers.run(command, opt);\n }\n\n\n\n /**\n * same as run but async\n */\n public async execute(\n command: string,\n options?: CoreModels.ExecuteOptions & { showCommand?: boolean },\n ): Promise<any> {\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 * try run but continue when it fails\n * @param command\n * @param options\n * @returns\n */\n tryRunSync(\n command: string,\n/* */\n/* */\n \n ): void {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n outputFrom(\n command: string,\n/* */\n/* */\n \n ) {\n/* */\n/* */\n return (void 0);\n }\n\n\n\n removeFile(fileRelativeToProjectPath: string) {\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n readFile(fileRelativeToProjectPath: string) {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n /**\n * read json file\n * handle all json files\n * jsonc, json5 , json\n * @param fileRelativeToProjectPath\n * @returns\n */\n readJson<T = {}>(fileRelativeToProjectPath: string): T {\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n /**\n * copy files or folders from\n * project to destination\n */\n copy(filesOrFolderRelativePathes: string[]): {\n to: (destination: string) => void;\n } {\n return {\n to: (destination: string): void => {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n },\n };\n }\n\n\n\n remove(relativePath: string, exactPath = true) {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n }\n\n\n\n removeFolderByRelativePath(relativePathToFolder: string) {\n/* */\n/* */\n/* */\n/* */\n/* */\n \n }\n\n\n\n async assignFreePort(\n startFrom: number = 4200,\n howManyFreePortsAfterThatPort: number = 0,\n ): Promise<number> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n removeItself() {\n/* */\n/* */\n \n }\n\n\n\n /**\n * Purpose: not initializing all classes at the beginning\n * Only for BaseFeatureForProject class\n */\n defineProperty<PROJECT>(\n variableName: keyof PROJECT,\n classFn: Function,\n options?: {\n customInstanceReturn?: () => object;\n },\n ) {\n/* */\n/* */\n/* */\n/* */\n/* */\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 * fs.copy option filter function for copying only selected folders from project\n */\n filterOnlyCopy(basePathFoldersOnlyToInclude: string[]) {\n/* */\n/* */\n return (void 0);\n }\n\n\n\n /**\n * fs.copy option filter function for copying only not selected folders from project\n */\n filterDontCopy(basePathFoldersTosSkip: string[]) {\n/* */\n/* */\n return (void 0);\n }\n\n\n\n /**\n * general default development branch for all kinds of projects\n */\n getDefaultDevelopmentBranch() {\n return 'develop';\n }\n\n\n\n /**\n * main/default hardcoded branches\n */\n getMainBranches(): string[] {\n return ['master', 'develop', 'stage', 'prod', 'test'];\n }\n\n\n\n isUnsingActionCommit(): boolean {\n return false;\n }\n\n\n\n async resetProcess(overrideBranch?: string, recrusive = 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/* */\n/* */\n/* */\n/* */\n \n }\n\n\n\n linkTo(destPackageLocation: string) {\n/* */\n/* */\n \n }\n\n\n\n setValueToJSON(\n relativePath: string,\n lodashGetPath: string,\n value: any,\n ): void {\n/* */\n/* */\n return (void 0);\n }\n\n\n\n setValueToJSONC(\n relativePath: string,\n lodashGetPath: string,\n value: any,\n ): void {\n/* */\n/* */\n return (void 0);\n }\n\n\n\n setValueToJSON5(\n relativePath: string,\n lodashGetPath: string,\n value: any,\n ): void {\n/* */\n/* */\n return (void 0);\n }\n\n\n\n getValueFromJSON(\n relativePath: string,\n lodashGetPath: string,\n defaultValue: any = void 0,\n ): any {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n getValueFromJSONC(\n relativePath: string,\n lodashGetPath: string,\n defaultValue: any = void 0,\n ): any {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n\n writeFile(relativePath: string, content: string) {\n/* */\n/* */\n \n }\n\n\n\n public runCommandGetString(this: BaseProject, command: string) {\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n toString = () => {\n return `${this.name}=>${this.location}`;\n };\n\n\n\n get parentsNames() {\n/* */\n/* */\n return (void 0);\n }\n\n\n openLocation(relativeFolderPath: string) {\n/* */\n/* */\n return (void 0);\n }\n\n\n private findParentsNames(\n project?: PROJCET,\n parent?: PROJCET,\n result = [],\n ): string[] {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n tryKillAllElectronInstances() {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n /**\n * init project files structure and depedencies\n */\n async init(initOptions?: any) {\n throw new Error('TODO IMPLEMENT');\n }\n\n\n\n /**\n * globally link npm as package\n */\n async link() {\n throw new Error('TODO IMPLEMENT');\n }\n\n\n\n /**\n * init project files structure without depedencies\n */\n async struct(initOptions?: any) {\n throw new Error('TODO IMPLEMENT');\n }\n\n\n\n /**\n * init and build() project\n */\n async test(testOptions?: any) {\n throw new Error('TODO IMPLEMENT');\n }\n\n\n\n /**\n * init and build() project\n */\n async build(buildOptions?: any) {\n throw new Error('TODO IMPLEMENT');\n }\n\n\n\n /**\n * publish project to npm\n */\n async publish(publishOptions?: any) {\n throw new Error('TODO IMPLEMENT');\n }\n\n\n\n async release(releaseOptions?: any) {\n throw new Error('TODO IMPLEMENT');\n }\n\n\n\n /**\n * lint porject\n */\n async lint(lintOptions?: any) {\n Helpers.info(`\n\n\n COMMIT LINT NOT IMPLEMENTED\n\n\n `);\n }\n\n\n\n /**\n * get info about porject\n */\n async info() {\n const proj = this;\n Helpers.info(\n `\n\n name: ${proj?.name}\n type: ${proj?.type}\n core project name: '${proj?.core?.name}'\n embedded project: ${proj?.linkedProjects.embeddedProject?.genericName || '< none >'}\n children (${proj?.children.length}): ${!proj || !proj.children.length ? '< none >' : ''}\n${proj?.children.map(c => '+' + c.genericName).join('\\n')}\n\n libraries (${proj?.libraryBuild?.libraries?.length}): ${\n !proj || !proj.libraryBuild?.libraries?.length ? '< none >' : ''\n }\n${proj?.libraryBuild?.libraries?.map(c => '+' + c.genericName).join('\\n')}\n` +\n `\nlinked porject prefix: \"${this.linkedProjects.linkedProjectsPrefix}\"\n\nlinked projects from json (${this.linkedProjects.linkedProjects?.length || 0}):\n${(this.linkedProjects.linkedProjects || [])\n .map(c => {\n const proj = this.ins.From(this.pathFor(c.relativeClonePath));\n return '- ' + proj ? proj?.genericName : c.relativeClonePath;\n })\n .join('\\n')}\n\n `,\n );\n\n\n\n }\n\n}\n\n ;({}); // @--end-of-file-for-module=tnp-helpers lib/base/base-project.ts","\n\nimport { BaseProject } from './base-project';\n\nexport abstract class BaseFeatureForProject<PROJECT = BaseProject> {\n\n constructor(protected project: PROJECT) {\n\n }\n\n}\n\n\n ;({}); // @--end-of-file-for-module=tnp-helpers lib/base/base-feature-for-project.ts","\n\n\n/* */\n/* */\n/* */\n \nimport { path, crossPlatformPath } from 'tnp-core/websql';\nimport { config } from 'tnp-config/websql';\nimport { _ } from 'tnp-core/websql';\nimport { BaseFeatureForProject } from './base-feature-for-project';\nimport { Helpers } from '../index';\nimport { LibrariesBuildOptions, LibraryBuildCommandOptions, NgProject, } from '../models';/* */\n/* */\n/* */\n/* */\n\nimport type { BaseProject } from './base-project';\n\n\n/**\n * Base library build for standard angular/typescript projects\n */\nexport abstract class BaseLibraryBuild<\n PROJCET extends BaseProject = any,\n> extends BaseFeatureForProject {\n private cache: any = {};\n\n\n protected sortByDeps(libraries: PROJCET[]): PROJCET[] {\n return libraries;\n }\n\n\n /**\n * Use cases:\n * 1. build all libraries in normal mode\n * 2. build all libraries in watch mode\n * 3. build selected libraries in normal mode\n * (with first time all libraries will be build)\n * 4. build selected libraries in watch mode\n * (use normal build for not selected libraries)\n * 5. build selected libraries in watch mode\n * (skip normal build for not selected libraries)\n */\n async selectAndSaveLibraries({\n libs: selectedLibs,\n watch,\n watchBuildSupported,\n }: {\n libs: PROJCET[];\n watch: boolean;\n watchBuildSupported?: boolean;\n }): Promise<{ selectedLibs: PROJCET[]; skipRebuildingAllForWatch: 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/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\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 * angular libraries from angular.json\n */\n get libraries(): PROJCET[] {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n protected getLibraries() {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n async selectLibraries({\n watch,\n watchBuildSupported,\n }: {\n watch: boolean;\n watchBuildSupported?: boolean;\n }) {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n /**\n * Angular library build\n */\n public async buildLibraries(\n {\n watch = false,\n strategy,\n releaseBuild = false,\n buildType,\n copylink_to_node_modules,\n }: LibrariesBuildOptions & { watch?: boolean } = {} as 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/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n }\n\n\n\n getLibraryBuildComamnd(\n options?: LibraryBuildCommandOptions,\n ): string | undefined {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n get getLibraryBuildSuccessComamnd(): string {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n async selectCopytoProjects(): Promise<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 return (void 0);\n }\n\n}\n\n ;({}); // @--end-of-file-for-module=tnp-helpers lib/base/base-library-build.ts","\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \nimport { _ } from 'tnp-core/websql';\nimport { Helpers } from '../index';\nimport { BaseFeatureForProject } from './base-feature-for-project';\nimport type { BaseProject } from './base-project';\nimport { config } from 'tnp-config/websql';\nimport { PackageJson } from 'type-fest';\nimport { CoreModels } from 'tnp-core/websql';\n\n\nexport class BaseNpmHelpers<\n PROJCET extends BaseProject = any,\n> extends BaseFeatureForProject {\n private packageJSON: PackageJson;\n constructor(project: PROJCET) {\n super(project);\n this.project = project;\n this.reloadPackageJsonInMemory();\n }\n\n updateDepsFrom(locations: string[]) {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n /**\n * if something else change package.json in this project\n * and you know that you need to reload it..\n */\n reloadPackageJsonInMemory(): void {\n this.packageJSON = this.project.readJson(config.file.package_json);\n }\n\n\n\n get name(): string {\n return this.packageJSON?.name || '';\n }\n\n\n\n /**\n * version from package.json -> property version\n */\n get version(): string {\n return this.packageJSON?.version;\n }\n\n\n /**\n * bin with cli config from package.json\n */\n get bin(): { [cliName: string]: string } {\n return (this.packageJSON?.bin || {}) as any;\n }\n\n\n set version(newVersion: string) {\n this.packageJSON.version = newVersion;\n this.project.writeJson(config.file.package_json, this.packageJSON);\n }\n\n\n\n /**\n * @deprecated use updateDep\n */\n updateDependency({\n packageName,\n version,\n updateFiredevJsonFirst,\n }: {\n packageName: string;\n version: string | null;\n updateFiredevJsonFirst?: boolean;\n }): 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 return (void 0);\n }\n\n\n\n /**\n * Update dependency in package.json\n */\n async updateDep({\n packageName,\n version,\n updateFiredevJsonFirst,\n addIfNotExists,\n }: {\n packageName: string;\n version: string | null;\n updateFiredevJsonFirst?: boolean;\n addIfNotExists?: boolean;\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 return (void 0);\n }\n\n\n\n get versionWithPatchPlusOne(): string {\n const ver = this.version.split('.');\n if (ver.length > 0) {\n ver[ver.length - 1] = (parseInt(_.last(ver)) + 1).toString();\n }\n return ver.join('.');\n }\n\n\n\n get versionWithMinorPlusOneAndPatchZero(): string {\n const ver = this.version.split('.');\n if (ver.length > 1) {\n ver[1] = (parseInt(ver[1]) + 1).toString();\n for (let index = 2; index < ver.length; index++) {\n ver[index] = '0';\n }\n } else {\n Helpers.warn(\n `[npm-project] something went wrong with bumping minor version`,\n );\n }\n return ver.join('.');\n }\n\n\n\n get versionWithMajorPlusOneAndMinorZeroAndPatchZero(): string {\n const ver = this.version.split('.');\n if (ver.length > 0) {\n ver[0] = (parseInt(_.first(ver)) + 1).toString();\n for (let index = 1; index < ver.length; index++) {\n ver[index] = '0';\n }\n } else {\n Helpers.warn(\n `[npm-project] something went wrong with bumping major version`,\n );\n }\n return ver.join('.');\n }\n\n\n\n /**\n * Major Version from package.json\n */\n // @ts-ignore\n get majorVersion(): number {\n/* */\n/* */\n return (void 0);\n }\n\n\n\n /**\n * Minor Version from package.json\n */\n // @ts-ignore\n get minorVersion(): number {\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n /**\n * @deprecated\n */\n async bumpPatchVersion() {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n get versionPathAsNumber(): number {\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n /**\n * npm dependencies from package.json\n */\n get dependencies() {\n return (this.packageJSON ? this.packageJSON.dependencies : {}) || {};\n }\n\n\n\n /**\n * peerDependencies dependencies\n */\n get peerDependencies() {\n return (this.packageJSON ? this.packageJSON.peerDependencies : {}) || {};\n }\n\n\n\n /**\n * devDependencies dependencies\n */\n get devDependencies() {\n return (this.packageJSON ? this.packageJSON.devDependencies : {}) || {};\n }\n\n\n\n /**\n * resolutions dependencies\n */\n get resolutions() {\n return (this.packageJSON ? this.packageJSON['resolutions'] : {}) || {};\n }\n\n\n\n /**\n * @returns object witl all deps from current project package json\n */\n get allDependencies(): { [packageName: string]: string } {\n return this.allDepsFromPackageJson(this.packageJSON);\n }\n\n /**\n * @returns object witl all deps from package json\n */\n allDepsFromPackageJson(packageJson: PackageJson) {\n return _.merge({\n ...(packageJson.devDependencies || {}),\n ...(packageJson.peerDependencies || {}),\n ...(packageJson.dependencies || {}),\n ...(packageJson.resolutions || {}),\n }) as any;\n }\n\n\n\n linkNodeModulesTo(proj: Partial<BaseProject>) {\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n preferYarnOverNpm(): boolean {\n return false;\n }\n\n\n\n async makeSureNodeModulesInstalled(\n options?: Omit<CoreModels.NpmInstallOptions, 'pkg'>,\n ) {\n if (this.emptyNodeModules) {\n await this.reinstallNodeModules(options);\n }\n }\n\n\n\n deleteNodeModules() {\n this.project.remove(config.folder.node_modules);\n }\n\n\n\n async reinstallNodeModules(\n options?: Omit<CoreModels.NpmInstallOptions, 'pkg'>,\n ) {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\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 * @returns true if node_modules folder is empty\n */\n get emptyNodeModules() {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\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 resetPackageLockJson() {\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 startNpmTask(taskName: string, additionalArguments?: string | object) {\n if (_.isObject(additionalArguments)) {\n additionalArguments = Object.keys(additionalArguments)\n .map(k => `--${k} ${additionalArguments[k]}`)\n .join(' ');\n }\n const command = `npm run ${taskName} ${\n additionalArguments ? ' -- ' + additionalArguments : ''\n }`;\n Helpers.info(`Starting npm task: \"${command}\"`);\n\n return this.project.run(command, {\n output: true,\n biggerBuffer: true,\n });\n }\n\n\n\n async prepareCommand(\n options?: CoreModels.NpmInstallOptions,\n ): Promise<string> {\n let {\n pkg,\n silent,\n useYarn,\n force,\n removeYarnOrPackageJsonLock,\n generateYarnOrPackageJsonLock,\n } = options || {};\n\n force = true; // TODO QUICK_FIX\n\n let command = '';\n const commonOptions = `--ignore-engines`;\n\n if (useYarn) {\n\n const argsForFasterInstall = `${force ? '--force' : ''} ${commonOptions} `;\n command =\n `${\n removeYarnOrPackageJsonLock\n ? `(rm ${config.file.yarn_lock} || true) ` +\n `&& touch ${config.file.yarn_lock} && `\n : ''\n }` +\n `yarn ${pkg ? (pkg?.installType === 'remove' ? 'remove' : 'add') : 'install'} ${pkg ? pkg.name : ''} ` +\n ` ${generateYarnOrPackageJsonLock ? '' : '--no-lockfile'} ` +\n ` ${argsForFasterInstall} ` +\n ` ${pkg && pkg.installType && pkg.installType === '--save-dev' ? '-dev' : ''} `;\n\n } else {\n\n const argsForFasterInstall =\n `${force ? '--force' : ''} ${commonOptions} --no-audit ` +\n `${silent ? '--silent --no-progress' : ''} `;\n\n command =\n `${\n removeYarnOrPackageJsonLock\n ? `(rm ${config.file.package_lock_json} || true) ` +\n `&& touch ${config.file.package_lock_json} && `\n : ''\n }` +\n `npx --node-options=--max-old-space-size=8000 npm ` +\n `${pkg?.installType === 'remove' ? 'uninstall' : 'install'} ${pkg ? pkg.name : ''} ` +\n ` ${generateYarnOrPackageJsonLock ? '' : '--no-package-lock'} ` +\n ` ${pkg && pkg.installType ? pkg.installType : ''} ` +\n ` ${argsForFasterInstall} `;\n\n }\n Helpers.info(`Command for npm install:\n\n ${command}\n\n `);\n return command;\n }\n\n\n\n /**\n *\n * @param registry without specified registr is checking npm registry\n * @returns\n */\n async isLoggedInToRegistry(registry?: string): Promise<boolean> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n /**\n * Prompt the user to log in to a specific npm registry.\n * @param {string} [registry] - Optional npm registry URL.\n * @returns {Promise<void>} - A promise that resolves when the login process completes.\n */\n async loginToRegistry(registry?: string): Promise<void> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n async makeSureLoggedInToNpmRegistry(registry?: string): 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 return (void 0);\n }\n\n /**\n * @deprecated\n * use makeSureLoggedInToNpmRegistry()\n */\n checkIfLogginInToNpm() {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n}\n\n ;({}); // @--end-of-file-for-module=tnp-helpers lib/base/base-npm-helpers.ts","\n\n\n/* */\n/* */\n/* */\n \nimport { _, chalk, crossPlatformPath, path } from 'tnp-core/websql';\nimport { Helpers, LinkedPorjectsConfig, LinkedProject } from '../index';\nimport { BaseFeatureForProject } from './base-feature-for-project';\nimport type { BaseProject } from './base-project';\nimport * as json5Write from 'json10-writer/websql';\nimport { config } from 'tnp-config/websql';\n\n\nexport class BaseLinkedProjects<\n PROJCET extends BaseProject = any,\n> extends BaseFeatureForProject {\n private cache: any = {};\n project: PROJCET;\n\n\n get embeddedProject(): PROJCET {\n const cacheKey = 'embeddedProject' + _.kebabCase(this.project.location);\n if (!_.isUndefined(this.cache[cacheKey])) {\n return this.cache[cacheKey];\n }\n\n const nearsetProj = this.project.ins.nearestTo(\n crossPlatformPath([this.project.location, '..']),\n ) as PROJCET;\n const linkedPorj = nearsetProj?.linkedProjects?.linkedProjects.find(l => {\n const copareTo = crossPlatformPath([\n nearsetProj.location,\n l.relativeClonePath,\n ]);\n if (this.project.location === copareTo) {\n return true;\n }\n if (l.remoteUrl() === this.project.git.originURL) {\n return true;\n }\n return false;\n });\n if (!linkedPorj || !linkedPorj.internalRealtiveProjectPath) {\n return;\n }\n const pathToEmbededProj = crossPlatformPath([\n nearsetProj.location,\n linkedPorj.relativeClonePath,\n linkedPorj.internalRealtiveProjectPath || '',\n ]);\n const embdedresult = this.project.ins.From(pathToEmbededProj) as PROJCET;\n\n this.cache[cacheKey] = embdedresult;\n return this.cache[cacheKey];\n }\n\n\n\n get projectsDbLocation() {\n/* */\n/* */\n return (void 0);\n }\n\n\n\n async saveLocationToDB() {\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 saveAllLinkedProjectsToDB() {\n const proj = this.project;\n await proj.linkedProjects.saveLocationToDB();\n for (const link of proj.linkedProjects.linkedProjects) {\n const linkedPorj = this.project.ins.From([\n proj.location,\n link.relativeClonePath,\n link.internalRealtiveProjectPath || '',\n ]) as PROJCET;\n\n if (linkedPorj) {\n await linkedPorj.linkedProjects.saveLocationToDB();\n } else {\n Helpers.warn(`Folder ${link.relativeClonePath} is missing projects...`);\n }\n }\n }\n\n\n\n addLinkedProject(linkedProj: LinkedProject | string) {\n const linkedProject: LinkedProject = _.isString(linkedProj)\n ? LinkedProject.fromName(linkedProj)\n : linkedProj;\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n addLinkedProjects(linkedProjs: LinkedProject[]) {\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n setLinkedProjectsConfig(linkedPorjectsConfig: Partial<LinkedPorjectsConfig>) {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\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 private get linkedProjectsConfigPath() {\n return this.project.pathFor(config.file.linked_projects_json);\n }\n\n\n\n protected recreateLinkedProjectsConfig() {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n getLinkedProjectsConfig(): LinkedPorjectsConfig {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n get linkedProjects(): LinkedProject[] {\n return this.getLinkedProjectsConfig().projects || [];\n }\n\n\n\n get detectedLinkedProjects(): LinkedProject[] {\n const detectedLinkedProjects = LinkedProject.detect(\n this.project.location,\n true, // TOOD fix recrusive\n );\n return detectedLinkedProjects;\n }\n\n\n\n get linkedProjectsPrefix() {\n return this.getLinkedProjectsConfig().prefix;\n }\n\n\n\n resetLinkedProjectsOnlyToCoreBranches() {\n return false;\n }\n\n\n\n async cloneUnexistedLinkedProjects(\n actionType: 'pull' | 'push',\n cloneChildren = 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/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\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 ;({}); // @--end-of-file-for-module=tnp-helpers lib/base/base-linked-projects.ts","\n\n\n/* */\n/* */\n/* */\n \nimport { BaseFeatureForProject } from './base-feature-for-project';\nimport { CommitData, Helpers, TypeOfCommit } from '../index';\nimport { crossPlatformPath, path, _ } from 'tnp-core/websql';\nimport type { BaseProject } from './base-project';\n\n\nexport class BaseGit<\n PROJCET extends BaseProject = any,\n> extends BaseFeatureForProject {\n project: PROJCET;\n\n unstageAllFiles() {\n/* */\n/* */\n return (void 0);\n }\n\n\n\n revertFileChanges(fileReletivePath: string) {\n/* */\n/* */\n return (void 0);\n }\n\n\n\n async clone(url: string, destinationFolderName = '', branchName?: 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 restoreLastVersion(relativeFilePath: string): void {\n/* */\n/* */\n return (void 0);\n }\n\n\n\n stageAllFiles() {\n/* */\n/* */\n return (void 0);\n }\n\n\n\n stash(optinos?: { onlyStaged?: boolean }) {\n/* */\n/* */\n return (void 0);\n }\n\n\n\n stashApply() {\n/* */\n/* */\n return (void 0);\n }\n\n\n\n fetch(all = false) {\n/* */\n/* */\n return (void 0);\n }\n\n\n\n resetFiles(...relativePathes: string[]) {\n/* */\n/* */\n return (void 0);\n }\n\n\n\n get isInsideGitRepo() {\n/* */\n/* */\n return (void 0);\n }\n\n\n\n get isWithoutGitRepository() {\n/* */\n/* */\n return (void 0);\n }\n\n\n\n get isGitRoot() {\n/* */\n/* */\n return (void 0);\n }\n\n\n\n get originURL() {\n/* */\n/* */\n return (void 0);\n }\n\n\n\n commit(commitMessage?: string): void {\n/* */\n/* */\n return (void 0);\n }\n\n\n\n /**\n * alias to stage all and commit\n */\n addAndCommit(commitMessage: string) {\n/* */\n/* */\n return (void 0);\n }\n\n\n\n stageAllAndCommit(commitMessage: string) {\n/* */\n/* */\n return (void 0);\n }\n\n\n\n async pushCurrentBranch(options?: {\n force?: boolean;\n origin?: string;\n askToRetry?: boolean;\n forcePushNoQuestion?: boolean;\n }) {\n/* */\n/* */\n return (void 0);\n }\n\n\n\n get allOrigins() {\n/* */\n/* */\n return (void 0);\n }\n\n\n\n get uncommitedFiles() {\n/* */\n/* */\n return (void 0);\n }\n\n\n\n get thereAreSomeUncommitedChange() {\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n thereAreSomeUncommitedChangeExcept(filesList: string[] = []) {\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n meltActionCommits(soft = false) {\n/* */\n/* */\n \n }\n\n\n\n async pullCurrentBranch(options?: {\n askToRetry?: boolean;\n defaultHardResetCommits?: number;\n }) {\n/* */\n/* */\n return (void 0);\n }\n\n\n\n get currentBranchName() {\n/* */\n/* */\n return (void 0);\n }\n\n\n\n get listOfCurrentGitChanges() {\n/* */\n/* */\n return (void 0);\n }\n\n\n\n getBranchesNamesBy(pattern: string | RegExp) {\n/* */\n/* */\n return (void 0);\n }\n\n\n\n resetSoftHEAD(HEAD = 1) {\n/* */\n/* */\n return (void 0);\n }\n\n\n\n resetHard(options?: { HEAD?: number }) {\n/* */\n/* */\n return (void 0);\n }\n\n\n\n countComits() {\n/* */\n/* */\n return (void 0);\n }\n\n\n\n hasAnyCommits() {\n/* */\n/* */\n return (void 0);\n }\n\n\n\n get isInMergeProcess() {\n/* */\n/* */\n return (void 0);\n }\n\n\n\n lastCommitDate() {\n/* */\n/* */\n return (void 0);\n }\n\n\n\n lastCommitHash() {\n/* */\n/* */\n return (void 0);\n }\n\n\n\n lastCommitMessage(): string {\n/* */\n/* */\n return (void 0);\n }\n\n\n\n async penultimateCommitMessage(): Promise<string> {\n/* */\n/* */\n return (void 0);\n }\n\n\n\n async getCommitMessageByIndex(index: number) {\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n async getCommitMessageByHash(hash: string) {\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n async getCommitHashByIndex(index: number) {\n/* */\n/* */\n return (void 0);\n }\n\n\n\n penultimateCommitHash() {\n/* */\n/* */\n return (void 0);\n }\n\n\n\n checkTagExists(tag: string) {\n/* */\n/* */\n return (void 0);\n }\n\n\n\n checkout(\n branchName: string,\n options?: {\n createBranchIfNotExists?: boolean;\n fetchBeforeCheckout?: boolean;\n switchBranchWhenExists?: boolean;\n },\n ) {\n/* */\n/* */\n return (void 0);\n }\n\n\n\n checkoutFromTo(\n checkoutFromBranch: string,\n branch: string,\n origin = 'origin',\n ) {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n /**\n *\n * @param majorVersion example: v1, v2 etc.\n * @returns tag name\n */\n lastTagNameForMajorVersion(majorVersion) {\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n lastTagHash() {\n/* */\n/* */\n return (void 0);\n }\n\n\n\n get remoteOriginUrl() {\n/* */\n/* */\n return (void 0);\n }\n\n\n\n get lastTagVersionName() {\n/* */\n/* */\n return (void 0);\n }\n\n\n\n get stagedFiles(): string[] {\n/* */\n/* */\n return (void 0);\n }\n\n\n\n /**\n * TODO does this make any sense\n */\n renameOrigin(newNameOrUlr: 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 return (void 0);\n }\n\n\n\n /**\n * By default no translation of commit\n */\n transalteGitCommitFromArgs() {\n return { from: void 0 as string, to: void 0 as string };\n }\n\n\n\n /**\n * By defult true.. when commit branches will not function.\n * (false is better for simple projects)\n */\n useGitBranchesWhenCommitingAndPushing() {\n return true;\n }\n\n\n\n /**\n * usefull when pushing in project with childrens as git repos\n */\n automaticallyAddAllChnagesWhenPushingToGit() {\n return false;\n }\n\n\n\n /**\n * usefull when pushing in project with childrens as git repos\n */\n useGitBranchesAsMetadataForCommits() {\n return true;\n }\n\n\n\n async cloneTo(cwd: string, newProjectName?: 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 return (void 0);\n }\n\n\n\n /**\n * This is only for push/pull process\n *\n * There are 2 types of projects:\n * - with linked-projects.json\n * - with children from external folder\n *\n * projects that are children of this project (with its own git repo)\n */\n get gitChildren() {\n let childrenRepos: PROJCET[] = [];\n\n if (this.project.linkedProjects.linkedProjects.length > 0) {\n childrenRepos = this.project.linkedProjects.linkedProjects\n .map(c => {\n return this.project.ins.From([\n this.project.location,\n c.relativeClonePath,\n ]) as PROJCET;\n })\n .filter(f => !!f);\n } else {\n childrenRepos = this.project.children;\n }\n\n childrenRepos = childrenRepos.filter(\n f => f.git.isInsideGitRepo && f.git.isGitRoot,\n ) as PROJCET[];\n return childrenRepos;\n }\n\n\n protected async setRemoteOriginType(\n setOrigin: 'ssh' | 'http',\n ): Promise<void> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n async pullProcess(\n options: {\n cloneChildren?: boolean;\n setOrigin?: 'ssh' | 'http';\n } = {},\n ): Promise<void> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n async pushProcess(\n options: {\n force?: boolean;\n typeofCommit?: TypeOfCommit;\n askToConfirmPush?: boolean;\n askToConfirmCommit?: boolean;\n skipLint?: boolean;\n askToConfirmBranchChange?: boolean;\n origin?: string;\n args?: string[];\n setOrigin?: 'ssh' | 'http';\n exitCallBack?: () => void;\n forcePushNoQuestion?: boolean;\n commitMessageRequired?: boolean;\n /**\n * only needed when push github\n * and I forgot to add my username before issue\n * firedev pfix proper input my-repo#344\n * that should be\n * firedev pfix proper input my-username/my-repo#344\n */\n currentOrigin?: string;\n skipChildren?: boolean;\n } = {},\n ): Promise<void> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\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 _beforeAnyActionOnGitRoot() {\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 protected async _beforePushProcessAction() {\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 protected async _beforePullProcessAction(cloneChildren = false) {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n protected async _getCommitMessage(\n typeOfCommit: TypeOfCommit,\n args: string[],\n commitMessageRequired?: boolean,\n /**\n * only needed when push github\n * and I forgot to add my username before issue\n * firedev pfix proper input my-repo#344\n * that should be\n * firedev pfix proper input my-username/my-repo#344\n */\n currentOrigin?: string,\n ): Promise<CommitData> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\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 * This will prevent accidental branch change for firedev projects\n * @returns branch name\n */\n duringPushWarnIfProjectNotOnSpecyficDevBranch(): string {\n return void 0;\n }\n\n async getChangedFilesInCommitByHash(hash: string) {\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n /**\n * @param index 0 - means last commit\n */\n async getChangedFilesInCommitByIndex(index: number) {\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n}\n\n ;({}); // @--end-of-file-for-module=tnp-helpers lib/base/base-git.ts","\n\n\n/* */\n/* */\n \nimport { Helpers } from '../index';\nimport { BaseFeatureForProject } from './base-feature-for-project';\nimport type { BaseProject } from './base-project';\nimport { CoreModels, chalk, dateformat, _ } from 'tnp-core/websql';\nimport type { ChangelogData } from '.././models';\nimport { CommitData } from './commit-data';\nimport { config } from 'tnp-config/websql';\n\n\n\nexport class BaseReleaseProcess<\n PROJCET extends BaseProject = any,\n> extends BaseFeatureForProject {\n\n project: PROJCET;\n /**\n * Automatic release process of patch plus one version\n */\n automaticRelease: boolean = false;\n type: CoreModels.ReleaseType;\n lastChangesSummary: string;\n newVersion: string;\n commitsForChangelog: {\n commitMessages: string;\n index: number;\n }[] = [];\n\n\n getReleaseWords(): string[] {\n return ['release'];\n }\n\n\n public async startRelease(\n options?: Partial<\n Pick<\n BaseReleaseProcess<PROJCET>,\n 'automaticRelease' | 'type' | 'newVersion'\n >\n >,\n ): Promise<void> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n private async reinstallNodeModules(): Promise<void> {\n Helpers.taskStarted(\n `Reinstalling node_modules to recreate package-lock.json`,\n );\n await this.project.npmHelpers.reinstallNodeModules();\n Helpers.taskDone(`Reinstalling node_modules to recreate package-lock.json`);\n }\n\n\n\n async selectChangelogCommits(): Promise<\n {\n commitMessages: string;\n index: 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 return (void 0);\n }\n\n\n\n private async getCommitsUpToReleaseCommit(): Promise<\n {\n commitMessages: string;\n index: number;\n }[]\n > {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n private async publishToNpm(): Promise<boolean> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n private async testAfterPublish(): Promise<boolean> {\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 private async testBeforePublish(): Promise<boolean> {\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 private async commitAndPush(): Promise<void> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n protected releaseCommitTemplate(): string {\n return `Release v${this.newVersion} + changelog.md update`;\n }\n\n\n\n private async testLibraries(): Promise<boolean> {\n try {\n this.project.run('npm run test', { output: true }).sync();\n return true;\n } catch (error) {\n Helpers.info(`Test failed, you can run test manually`);\n return false;\n }\n }\n\n\n\n async buildAllLibraries() {\n await this.project.libraryBuild.buildLibraries({\n watch: false,\n releaseBuild: true,\n buildType: 'angular',\n });\n }\n\n\n\n async resetReleaseFiles() {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n get toBumpProjects() {\n const toBumpProjects = [\n this.project,\n ...this.project.libraryBuild.libraries,\n ] as PROJCET[];\n\n return toBumpProjects;\n }\n\n\n\n async bumpNewVersionEverywhere() {\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 confirmNewVersion(): 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 return (void 0);\n }\n\n\n\n private async selectReleaseType(): Promise<CoreModels.ReleaseType> {\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 protected async commitMessageInChangelogTransformFn(\n message: string,\n ): Promise<string> {\n return message;\n }\n\n\n\n async getChangelogContentToAppend(askForEveryItem: boolean): Promise<string> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n /**\n * TODO extend this to all commits from last release\n */\n async updateChangeLogFromCommits(): 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 return (void 0);\n }\n\n\n\n async extractChangedLibrariesInCommit(\n hashOrIndex: string | number,\n ): Promise<string> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n async changelogItemTemplate(\n hashOrIndex: string | number,\n confirmEveryItem: boolean = false,\n ): Promise<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 return (void 0);\n }\n\n\n\n async generateLastChangesSummary(): Promise<string> {\n const lastReleaseCommitData = await this.getLastReleaseCommitData();\n const hasLastReleaseCommit = lastReleaseCommitData.index !== -1;\n const lastReleaseCommitMsg = !hasLastReleaseCommit\n ? '< nothing release yet >'\n : lastReleaseCommitData.lastRelaseCommitMsg;\n\n return `${chalk.bold.gray('Last changelog.md notes summary')}:\n${await this.getLastPackageVersionChangesFromChnagelog()}\n\n${chalk.bold.gray(\n hasLastReleaseCommit ? 'Last commits up to relase commit' : 'Last 3 commits',\n)}:\n${await this.getLastChangesFromCommits({\n maxMessagesToCheck: hasLastReleaseCommit ? Number.POSITIVE_INFINITY : 3,\n stopOnCommitMessage: hasLastReleaseCommit\n ? lastReleaseCommitData.lastRelaseCommitMsg\n : '',\n})}\n `;\n }\n\n\n\n async getLastChangesFromCommits({\n maxMessagesToCheck = 3,\n stopOnCommitMessage = '',\n }: {\n /**\n * default 3\n */\n maxMessagesToCheck?: number;\n /**\n * stop serching on commit message\n */\n stopOnCommitMessage?: string;\n } = {}): Promise<string> {\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 getLastReleaseCommitData(): Promise<{\n lastRelaseCommitMsg: string;\n /**\n * -1 if not found\n */\n index: 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 return (void 0);\n }\n\n\n\n async getLastPackageVersionChangesFromChnagelog(): Promise<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 return (void 0);\n }\n\n\n\n private get changeLogPath() {\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n get changelogContent() {\n return this.project.readFile(this.changeLogPath) || '';\n }\n\n\n\n changeLogKeyWord() {\n return 'Changes in version';\n }\n\n\n\n getChnagelogData(): ChangelogData[] {\n/* */\n/* */\n/* */\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 ;({}); // @--end-of-file-for-module=tnp-helpers lib/base/base-release-process.ts","\n\n\nimport { _, /* */ /* */ } from 'tnp-core/websql';/* */\n/* */\n/* */\n/* */\n/* */\n\nimport { Helpers } from '../index';\nimport type { BaseProject } from './base-project';\nimport { path } from 'tnp-core/websql';\n\n\n\nconst openSourceProvidersIssuePrefix = [\n 'GH',\n\n\n\n\n\n];\n\n\n\nexport type CommonCommitMsgBranch =\n | 'refactor'\n | 'chore'\n | 'style'\n | 'docs'\n | 'test'\n | 'ci'\n | 'build'\n | 'release';\n\n\n\nexport type TypeOfCommit =\n | 'feature'\n | 'bugfix'\n | 'performance'\n | CommonCommitMsgBranch;\n\n\nexport type TypeOfMsgPrefix = 'feat' | 'fix' | 'perf' | CommonCommitMsgBranch;\nconst regexTeamsID: RegExp = /[A-Z0-9]+\\#/;\n\nconst regexCommitModuleInArgs: RegExp = /\\[[a-z|\\-|\\,]+\\]/;\nconst regexCommitModuleInBranch: RegExp = /\\-\\-[a-z|\\-|\\_]+\\-\\-/;\n\nexport class CommitData {\n\n\n\n private static cleanHttpFromCommitMessage(commitMsg: string): string {\n if (!commitMsg) {\n return commitMsg;\n }\n commitMsg = commitMsg.replace('https://', '');\n commitMsg = commitMsg.replace('http://', '');\n return commitMsg;\n }\n\n\n\n private static getTeamsIdFrom(commitMsg: string) {\n let teamID = _.first(commitMsg.match(regexTeamsID));\n if (teamID) {\n commitMsg = commitMsg.replace(teamID, '');\n }\n return {\n commitMsgOrBranchName: commitMsg,\n teamID,\n };\n }\n\n\n\n private static getModuleNameFrom(commitMsg: string) {\n let commitModuleName = _.first(commitMsg.match(regexCommitModuleInArgs));\n if (commitModuleName) {\n commitMsg = commitMsg.replace(commitModuleName, '');\n }\n commitModuleName = commitModuleName?.replace(/\\[/g, '').replace(/\\]/g, '');\n return {\n commitMsg,\n commitModuleName,\n };\n }\n\n\n\n /**\n *\n * @returns jiras (from oldest to newset)\n */\n static extractAndOrderJiraNumbers(commitOrBranchName: 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 *\n * @returns jiras (from oldest to newset)\n */\n static extractAndOrderIssuesFromOtherProjects(\n /**\n * example:\n * commit: proper git commands tnp/GH-9 darekf77/tnp-helpers/GH-10\n * feature/__tnp-GH-9____darekf77_tnp-helpers-GH10__-proper-git-commands\n */\n commitOrBranchName: string,\n currentOrigin?: string,\n ): 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 return (void 0);\n }\n\n\n\n static cleanMessageFromJiraNumTeamIdEtc(\n message: string,\n optinos?: {\n teamID: string;\n commitModuleName: string;\n jiraNumbers: string[];\n issuesFromOtherProjects: string[];\n },\n ): string {\n message = message || '';\n let { teamID, commitModuleName, jiraNumbers, issuesFromOtherProjects } =\n optinos || {};\n teamID = teamID || this.getTeamsIdFrom(message).teamID || '';\n commitModuleName =\n commitModuleName ||\n this.getModuleNameFrom(message).commitModuleName ||\n '';\n jiraNumbers = jiraNumbers || this.extractAndOrderJiraNumbers(message) || [];\n issuesFromOtherProjects =\n issuesFromOtherProjects ||\n this.extractAndOrderIssuesFromOtherProjects(message) ||\n [];\n\n if (!!teamID.trim()) {\n message = message.replace(teamID.toLowerCase().replace('-', ' '), ' ');\n message = message.replace(teamID.toUpperCase().replace('-', ' '), ' ');\n }\n\n\n\n for (const issueFromOtherProj of issuesFromOtherProjects || []) {\n\n\n message = message.replace(\n `__${issueFromOtherProj.replace(/\\//g, '_').replace(/\\-/g, ' ')}__`,\n ' ',\n );\n message = message.replace(issueFromOtherProj, ' ');\n message = message.replace(\n issueFromOtherProj.toLowerCase().replace('-', ' '),\n ' ',\n );\n message = message.replace(\n issueFromOtherProj.toUpperCase().replace('-', ' '),\n ' ',\n );\n message = message.replace(issueFromOtherProj.toLowerCase(), ' ');\n message = message.replace(regexCommitModuleInArgs, ' ');\n message = message.replace(regexCommitModuleInBranch, ' ');\n message = message.replace(/\\ \\ /g, ' ');\n }\n\n for (const jira of jiraNumbers || []) {\n message = message.replace(jira.toLowerCase().replace('-', ' '), ' ');\n message = message.replace(jira.toUpperCase().replace('-', ' '), ' ');\n message = message.replace(jira, ' ');\n message = message.replace(jira.toLowerCase(), ' ');\n message = message.replace(regexCommitModuleInArgs, ' ');\n message = message.replace(regexCommitModuleInBranch, ' ');\n message = message.replace(/\\ \\ /g, ' ');\n }\n\n if (!!teamID.trim()) {\n message = message.replace(/\\_/g, ' ');\n }\n if (!!commitModuleName.trim()) {\n message = message.replace(commitModuleName.replace(/\\-/g, ' '), ' ');\n message = message.replace(commitModuleName.replace(/\\,/g, ' '), ' ');\n message = message.replace(commitModuleName.replace(/\\,/g, '_'), ' ');\n }\n return message\n .replace(/\\ \\ /g, ' ')\n .replace(/\\ \\ /g, ' ')\n .replace(/\\ \\ /g, ' ');\n }\n\n\n\n\n private static getModuleNameFromBranch(branchName: string) {\n let commitModuleName = _.first(branchName.match(regexCommitModuleInBranch));\n if (commitModuleName) {\n branchName = branchName.replace(commitModuleName, '');\n commitModuleName = commitModuleName\n ?.replace(/^\\-\\-/, '')\n ?.replace(/\\-\\-$/, '');\n if (commitModuleName.startsWith('-')) {\n commitModuleName = commitModuleName.replace(/^\\-/, '');\n }\n }\n commitModuleName = commitModuleName\n ?.replace(/^\\-\\-/, '')\n ?.replace(/\\-\\-$/, '')\n .replace(/\\_/, ',');\n\n return { commitModuleName };\n }\n\n\n\n static async getFromArgs(\n args: string[],\n options: {\n typeOfCommit: TypeOfCommit;\n /**\n * only needed when push github\n * and I forgot to add my username before issue\n * firedev pfix proper input my-repo#344\n * that should be\n * firedev pfix proper input my-username/my-repo#344\n */\n currentOrigin?: string;\n },\n ): Promise<CommitData> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\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 static async getFromBranch(\n currentBranchName: string,\n options?: {\n releaseWords?: string[];\n /**\n * only needed when push github\n * and I forgot to add my username before issue\n * firedev pfix proper input my-repo#344\n * that should be\n * firedev pfix proper input my-username/my-repo#344\n */\n currentOrigin?: string;\n },\n ): Promise<CommitData> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\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 static from(\n options: Pick<\n CommitData,\n | 'message'\n | 'jiraNumbers'\n | 'typeOfCommit'\n | 'commitModuleName'\n | 'teamID'\n | 'issuesFromOtherProjects'\n >,\n ): CommitData {\n options = (options ? options : {}) as any;\n\n const opt = _.merge(new CommitData(), _.cloneDeep(options));\n return opt;\n }\n\n\n\n\n\n private _message: string;\n typeOfCommit: TypeOfCommit;\n /**\n * ex. JIRA-2132 or MYJIRAREFIX-234234\n */\n jiraNumbers: string[];\n\n readonly commitModuleName: string;\n readonly teamID: string;\n\n\n\n private clearMessage(message: string): string {\n return CommitData.cleanMessageFromJiraNumTeamIdEtc(message, {\n teamID: this.teamID,\n commitModuleName: this.commitModuleName,\n jiraNumbers: this.jiraNumbers,\n issuesFromOtherProjects: this.issuesFromOtherProjects,\n });\n }\n\n\n\n /**\n * pure message what was done (without jira or prefixes)\n * => is included in this.commitMessage\n */\n get message() {\n return this.clearMessage(this._message);\n }\n set message(message) {\n this._message = this.clearMessage(message);\n }\n\n\n\n get branchPrefix(): TypeOfMsgPrefix {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n /**\n * ex. firedev/GH-12 darekf77/tnp-helpers/GH-4\n */\n get issuesFromOtherProjects(): string[] {\n return this.__issuesFromOtherProjects;\n }\n\n set issuesFromOtherProjects(value: string[]) {\n this.__issuesFromOtherProjects = value;\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n }\n\n private __issuesFromOtherProjects: string[];\n\n\n\n get commitMessage(): 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 return (void 0);\n }\n\n\n\n get branchName(): 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 return (void 0);\n }\n\n\n\n get isActionCommit() {\n/* */\n/* */\n return (void 0);\n }\n\n}\n\n ;({}); // @--end-of-file-for-module=tnp-helpers lib/base/commit-data.ts","\n\n\nimport { _, path, crossPlatformPath } from 'tnp-core/websql';\nimport type { BaseProject } from './base-project';\nimport { CLASS } from 'typescript-class-helpers/websql';\nimport { Helpers, LibrariesBuildOptions, TestBuildOptions } from '../index';\n\n\n\nexport type CoreProjectEnvironment = {\n shortName?: string;\n name?: string;\n description?: string;\n onlineLink?: string;\n};\n\n\n\n\nconst defaultDb = {\n projects: [],\n};\n\n\n\n\nexport type CoreCommandArgOptions<PROJECT extends BaseProject> = {\n project?: PROJECT;\n /**\n * watch mode\n */\n watch?: boolean;\n prod?: boolean;\n debug?: boolean;\n isInReleaseProcess?: boolean;\n libraryBuildOptions?: LibrariesBuildOptions;\n testBuildOptions?: TestBuildOptions;\n /**\n * first arg from command line\n */\n firstArg: string;\n /**\n * Not question for user ex.\n * - automatic process of patch release\n * - automatic deployment for default server\n */\n automaticProcess?: boolean;\n /**\n * orignal args with params\n */\n argsWithParams: string;\n copyto?: string[];\n copytoall?: boolean;\n /**\n * args from command line (clearn from params)\n */\n args: string[];\n exitCallback: () => void;\n};\n\n\nexport class CoreProject<PROJECT extends BaseProject = BaseProject> {\n\n\n\n public static coreProjects: CoreProject<any>[] = [];\n\n\n\n static from<Proj extends BaseProject = BaseProject>(\n options: Omit<CoreProject<Proj>, 'name' | 'url' | 'branch'>,\n ): CoreProject<Proj> {\n/* */\n/* */\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 private constructor() {}\n\n\n\n extends?: CoreProject<any>;\n color?: string;\n /**\n * second color for project (optional)\n */\n secondColor?: string;\n /**\n * second color for project (optional)\n */\n thirdColor?: string;\n npmRegistry?: string;\n description?: string;\n /**\n * ssh url for git repo\n */\n urlSSH?: string;\n /**\n * https url for git repo\n */\n urlHttp?: string;\n /**\n * main branches - first is default\n */\n branches: string[];\n /**\n * project environments\n */\n environments?: CoreProjectEnvironment[] = [];\n\n\n\n startCommand?: (options: CoreCommandArgOptions<PROJECT>) => Promise<void>;\n relaseCommand?: (options: CoreCommandArgOptions<PROJECT>) => Promise<void>;\n publishCommand?: (options: CoreCommandArgOptions<PROJECT>) => Promise<void>;\n deployCommand?: (options: CoreCommandArgOptions<PROJECT>) => Promise<void>;\n testCommand?: (options: CoreCommandArgOptions<PROJECT>) => Promise<void>;\n buildCommand?: (options: CoreCommandArgOptions<PROJECT>) => Promise<void>;\n docsCommand?: (options: CoreCommandArgOptions<PROJECT>) => Promise<void>;\n /**\n * function to recognize project\n */\n recognizedFn: (project: PROJECT) => boolean;\n\n /**\n * core porject name from repo basename\n */\n get name() {\n return path.basename(this.url).replace(/\\.git$/, '');\n }\n\n /**\n * main (default for reset) branch\n */\n get branch() {\n return _.first(this.branches);\n }\n\n /**\n * url for git repo\n */\n get url(): string {\n return (this.urlHttp ? this.urlHttp : this.urlSSH) || '';\n }\n\n}\n\nexport const CoreTypescriptProject = CoreProject.from<BaseProject>({\n\n branches: ['master', 'develop'],\n urlHttp: 'https://github.com/microsoft/TypeScript',\n environments: [],\n recognizedFn: project => {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n },\n async startCommand({ project }) {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n },\n async buildCommand({ project, watch }) {\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n },\n\n\n});\n\nexport const CoreAngularProject = CoreProject.from<BaseProject>({\n\n extends: CoreTypescriptProject,\n branches: ['master', 'develop'],\n urlHttp: 'https://github.com/angular/angular-cli',\n environments: [],\n recognizedFn: project => {\n return project.hasFile('angular.json');\n },\n async startCommand({ project }) {\n await project.npmHelpers.makeSureNodeModulesInstalled();\n const port = await project.assignFreePort(4200);\n project.run(`npm-run ng serve --port ${port}`).sync();\n },\n async buildCommand({ project }) {\n await project.npmHelpers.makeSureNodeModulesInstalled();\n project.run(`npm-run ng build`).sync();\n },\n\n});\n\n ;({}); // @--end-of-file-for-module=tnp-helpers lib/base/core-project.ts","\n\nimport { _, crossPlatformPath, path } from 'tnp-core/websql';\nimport { Helpers } from '../index';\n\nexport class LinkedProject {\n\n\n\n static from(options: Partial<LinkedProject>) {\n const linkedProj = _.merge(\n new (LinkedProject as any)(),\n _.cloneDeep(options),\n ) as LinkedProject;\n if (!linkedProj.relativeClonePath) {\n linkedProj.relativeClonePath = path.basename(\n linkedProj.remoteUrl().replace('.git', ''),\n );\n }\n if (!linkedProj.deafultBranch) {\n linkedProj.deafultBranch = 'master';\n }\n return linkedProj;\n }\n\n\n\n static fromName(\n projectName: string,\n currentRemoteUrl?: string,\n currentBranch?: string,\n ) {\n return LinkedProject.from({\n repoUrl: currentRemoteUrl?.replace(\n path.basename(currentRemoteUrl),\n `${projectName}.git`,\n ),\n deafultBranch: currentBranch,\n relativeClonePath: projectName,\n });\n }\n\n\n\n static detect(insideLocation: string, recursive = false): LinkedProject[] {\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 * sometime there is project that has one project\n * embede inside another project\n */\n internalRealtiveProjectPath?: string;\n /**\n * don't access directly, use remoteUrl() instead\n */\n repoUrlSsh?: string;\n /**\n * don't access directly, use remoteUrl() instead\n */\n repoUrlHttp?: string;\n /**\n * don't access directly, use remoteUrl() instead\n */\n repoUrl?: string;\n /**\n * url for git repo\n */\n public remoteUrl(): string {\n if (this.repoUrl) {\n return this.repoUrl;\n }\n if (this.repoUrlHttp) {\n return this.repoUrlHttp;\n }\n return this.repoUrlSsh;\n }\n deafultBranch?: string;\n purpose?: string;\n relativeClonePath?: string;\n}\n\nexport class LinkedPorjectsConfig {\n\n\n\n static from(options: Partial<LinkedPorjectsConfig>) {\n options = options || {};\n options.projects = (options.projects || []).map(linkedProjOrname => {\n if (_.isString(linkedProjOrname)) {\n return LinkedProject.fromName(linkedProjOrname);\n }\n return LinkedProject.from(linkedProjOrname);\n });\n\n\n\n return _.merge(new (LinkedPorjectsConfig as any)(), _.cloneDeep(options));\n }\n\n\n\n prefix?: string;\n skipRecrusivePush?: boolean;\n resetOnlyChildren?: boolean;\n projects: LinkedProject[];\n}\n\n ;({}); // @--end-of-file-for-module=tnp-helpers lib/base/linked-project.ts","\n\nexport * from './base-project';\nexport * from './base-project-resolver';\nexport * from './base-feature-for-project';\nexport * from './base-library-build';\nexport * from './base-npm-helpers';\nexport * from './base-linked-projects';\nexport * from './base-git';\nexport * from './base-release-process';\nexport * from './commit-data';\nexport * from './core-project';\nexport * from './linked-project';\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n ;({}); // @--end-of-file-for-module=tnp-helpers lib/base/index.ts","\n\nimport * as core from 'tnp-core/websql';\n\nexport type BaseProjectType = core.CoreModels.BaseProjectType;\nexport const BaseProjectTypeArr = core.CoreModels.BaseProjectTypeArr;\n\n/**\n * Angular project type\n */\nexport type NgProject = {\n projectType: 'library' | 'application';\n /**\n * where ng-packagr.json is located, tsconfig etc.\n */\n root: string;\n /**\n * Source code project\n */\n sourceRoot: string;\n prefix: string;\n};\n\nexport type LibraryBuildCommandOptions = {\n watch?: boolean;\n buildType: core.CoreModels.LibraryType;\n};\n\nexport type LibrariesBuildOptions = {\n strategy?: 'link' | 'copy';\n /**\n * @deprecated\n * this will be detected in future\n */\n buildType: core.CoreModels.LibraryType;\n copylink_to_node_modules?: string[];\n releaseBuild?: boolean;\n};\n\nexport type TestBuildOptions = {\n onlySpecyficFiles?: string[];\n updateSnapshot?: boolean;\n}\n\nexport interface ChangelogData {\n changes: string[];\n version: string;\n date: string;\n}\n\n ;({}); // @--end-of-file-for-module=tnp-helpers lib/models.ts","\n\nexport * from './validators/validators';\n\nexport { HelpersAngular } from './helpers/for-browser/angular.helper';\n\n\nexport * from './utils';\nimport { HelpersFiredev as Base } from './helpers/helpers';\n/**\n * Firedev helpers\n */ // @ts-ignore\nexport const Helpers: Base = Base.Instance as Base;\nexport * from './base';\nexport * from './models';\n/* */\n/* */\n \n\n ;({}); // @--end-of-file-for-module=tnp-helpers lib/index.ts","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["defaultDb","Base"],"mappings":"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"}
|