tnp-helpers 19.0.3 → 19.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. package/assets/shared/shared_folder_info.txt +1 -1
  2. package/browser/fesm2022/tnp-helpers.mjs +25 -1
  3. package/browser/fesm2022/tnp-helpers.mjs.map +1 -1
  4. package/browser/lib/base/classes/base-git.d.ts +12 -1
  5. package/browser/lib/base/classes/base-node-modules.d.ts +1 -1
  6. package/browser/lib/build-info._auto-generated_.d.ts +1 -1
  7. package/browser/package.json +1 -1
  8. package/client/fesm2022/tnp-helpers.mjs +25 -1
  9. package/client/fesm2022/tnp-helpers.mjs.map +1 -1
  10. package/client/lib/base/classes/base-git.d.ts +12 -1
  11. package/client/lib/base/classes/base-node-modules.d.ts +1 -1
  12. package/client/lib/build-info._auto-generated_.d.ts +1 -1
  13. package/client/package.json +1 -1
  14. package/lib/base/classes/base-git.d.ts +11 -0
  15. package/lib/base/classes/base-git.js +21 -0
  16. package/lib/base/classes/base-git.js.map +1 -1
  17. package/lib/base/classes/base-node-modules.d.ts +1 -1
  18. package/lib/base/classes/base-node-modules.js +16 -14
  19. package/lib/base/classes/base-node-modules.js.map +1 -1
  20. package/lib/base/classes/base-powershell.js +4 -0
  21. package/lib/base/classes/base-powershell.js.map +1 -1
  22. package/lib/base/classes/base-project.d.ts +1 -1
  23. package/lib/base/classes/base-release-process.js +2 -2
  24. package/lib/base/classes/base-release-process.js.map +1 -1
  25. package/lib/base/tcp-udp-ports/not-assignable-port.entity.js +2 -2
  26. package/lib/base/tcp-udp-ports/tcp-udp-ports.context.d.ts +9 -9
  27. package/lib/build-info._auto-generated_.d.ts +1 -1
  28. package/lib/build-info._auto-generated_.js +1 -1
  29. package/lib/helpers/for-backend/helpers-git.backend.d.ts +10 -0
  30. package/lib/helpers/for-backend/helpers-git.backend.js +76 -2
  31. package/lib/helpers/for-backend/helpers-git.backend.js.map +1 -1
  32. package/lib/helpers/for-browser/angular.helper.js +2 -2
  33. package/lib/old/base-component.js +2 -2
  34. package/lib/old/base-formly-component.js +2 -2
  35. package/lib/old/dual-component-ctrl.js +2 -2
  36. package/package.json +1 -1
  37. package/tmp-environment.json +4 -3
  38. package/websql/fesm2022/tnp-helpers.mjs +25 -1
  39. package/websql/fesm2022/tnp-helpers.mjs.map +1 -1
  40. package/websql/lib/base/classes/base-git.d.ts +12 -1
  41. package/websql/lib/base/classes/base-node-modules.d.ts +1 -1
  42. package/websql/lib/build-info._auto-generated_.d.ts +1 -1
  43. package/websql/package.json +1 -1
@@ -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/for-backend/helpers-process.ts","../../../tmp-libs-for-dist-websql/tnp-helpers/projects/tnp-helpers/src/lib/helpers/for-backend/helpers-file-folders.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/classes/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/tcp-udp-ports/ports.entity.ts","../../../tmp-libs-for-dist-websql/tnp-helpers/projects/tnp-helpers/src/lib/base/classes/base-cli-worker/base-cli-worker-terminal-ui.ts","../../../tmp-libs-for-dist-websql/tnp-helpers/projects/tnp-helpers/src/lib/base/classes/base-cli-worker/base-cli-worker.ts","../../../tmp-libs-for-dist-websql/tnp-helpers/projects/tnp-helpers/src/lib/base/classes/base-cli-worker/base-cli-worker-config.ts","../../../tmp-libs-for-dist-websql/tnp-helpers/projects/tnp-helpers/src/lib/base/classes/base-cli-worker/base-cli-worker-controller.ts","../../../tmp-libs-for-dist-websql/tnp-helpers/projects/tnp-helpers/src/lib/base/classes/base-cli-worker/index.ts","../../../tmp-libs-for-dist-websql/tnp-helpers/projects/tnp-helpers/src/lib/base/tcp-udp-ports/ports.controller.ts","../../../tmp-libs-for-dist-websql/tnp-helpers/projects/tnp-helpers/src/migrations/1736198527297_init.ts","../../../tmp-libs-for-dist-websql/tnp-helpers/projects/tnp-helpers/src/migrations/1736199486472_addingNotAssignablePorts.ts","../../../tmp-libs-for-dist-websql/tnp-helpers/projects/tnp-helpers/src/migrations/1736454437350_addFreePorts.ts","../../../tmp-libs-for-dist-websql/tnp-helpers/projects/tnp-helpers/src/migrations/migrations_index._auto-generated_.ts","../../../tmp-libs-for-dist-websql/tnp-helpers/projects/tnp-helpers/src/migrations/index.ts","../../../tmp-libs-for-dist-websql/tnp-helpers/projects/tnp-helpers/src/lib/base/tcp-udp-ports/tcp-udp-ports.context.ts","../../../tmp-libs-for-dist-websql/tnp-helpers/projects/tnp-helpers/src/lib/base/tcp-udp-ports/tcp-upd-ports-terminal-ui.ts","../../../tmp-libs-for-dist-websql/tnp-helpers/projects/tnp-helpers/src/lib/base/tcp-udp-ports/tcp-upd-ports.worker.ts","../../../tmp-libs-for-dist-websql/tnp-helpers/projects/tnp-helpers/src/lib/base/tcp-udp-ports/index.ts","../../../tmp-libs-for-dist-websql/tnp-helpers/projects/tnp-helpers/src/lib/build-info._auto-generated_.ts","../../../tmp-libs-for-dist-websql/tnp-helpers/projects/tnp-helpers/src/lib/base/classes/base-project-resolver.ts","../../../tmp-libs-for-dist-websql/tnp-helpers/projects/tnp-helpers/src/lib/base/classes/base-project.ts","../../../tmp-libs-for-dist-websql/tnp-helpers/projects/tnp-helpers/src/lib/base/classes/base-feature-for-project.ts","../../../tmp-libs-for-dist-websql/tnp-helpers/projects/tnp-helpers/src/lib/base/classes/base-library-build.ts","../../../tmp-libs-for-dist-websql/tnp-helpers/projects/tnp-helpers/src/lib/base/classes/base-json-file-reader.ts","../../../tmp-libs-for-dist-websql/tnp-helpers/projects/tnp-helpers/src/lib/base/classes/base-package-json.ts","../../../tmp-libs-for-dist-websql/tnp-helpers/projects/tnp-helpers/src/lib/base/classes/base-node-modules.ts","../../../tmp-libs-for-dist-websql/tnp-helpers/projects/tnp-helpers/src/lib/base/classes/base-bower-json.ts","../../../tmp-libs-for-dist-websql/tnp-helpers/projects/tnp-helpers/src/lib/base/classes/base-npm-helpers.ts","../../../tmp-libs-for-dist-websql/tnp-helpers/projects/tnp-helpers/src/lib/base/classes/base-linked-projects.ts","../../../tmp-libs-for-dist-websql/tnp-helpers/projects/tnp-helpers/src/lib/base/classes/base-git.ts","../../../tmp-libs-for-dist-websql/tnp-helpers/projects/tnp-helpers/src/lib/base/classes/base-vscode.ts","../../../tmp-libs-for-dist-websql/tnp-helpers/projects/tnp-helpers/src/lib/base/classes/base-release-process.ts","../../../tmp-libs-for-dist-websql/tnp-helpers/projects/tnp-helpers/src/lib/base/classes/base-compiler-for-project.ts","../../../tmp-libs-for-dist-websql/tnp-helpers/projects/tnp-helpers/src/lib/base/classes/base-debounce-compiler-for-project.ts","../../../tmp-libs-for-dist-websql/tnp-helpers/projects/tnp-helpers/src/lib/base/classes/base-quick-fixes.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/base/classes/base-process-manager.ts","../../../tmp-libs-for-dist-websql/tnp-helpers/projects/tnp-helpers/src/lib/base/classes/index.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/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\n\nimport { fse, Helpers, path } from 'tnp-core/websql';\nimport { _, CoreModels, Utils } from 'tnp-core/websql';\nimport { createPrinter, createSourceFile, factory, getLeadingCommentRanges, isClassDeclaration, isSourceFile, NodeArray, ScriptKind, ScriptTarget, SourceFile, Statement, transform, TransformationContext, visitEachChild, Node, isFunctionDeclaration, isVariableStatement, isIdentifier, NodeFlags, isEnumDeclaration, isTypeAliasDeclaration, isInterfaceDeclaration, isModuleDeclaration, isExportAssignment, forEachChild, Declaration, getCombinedModifierFlags, ModifierFlags, SyntaxKind, isVariableDeclaration, isCallExpression, isPropertyAccessExpression, isObjectLiteralExpression, isPropertyAssignment, isStringLiteral, canHaveDecorators, getDecorators, visitNode, isExportDeclaration, isImportDeclaration, Expression, isNamedImports, isNamedExports, } from 'typescript';/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n\nimport type * as ts from 'typescript';\n\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\nexport namespace UtilsTypescript {\n\n /**\n * Remove TypeScript region blocks by their name, including nested regions.\n *\n * @param sourceCode - The TypeScript source code as a string.\n * @param regionName - The name of the region to remove.\n * @returns Modified TypeScript code without the specified regions.\n */\n export const removeRegionByName = (\n sourceCode: string,\n regionName: 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/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\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 const isExported = (node: Node): boolean => {\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n };\n\n\n\n\n interface ExportInfo {\n type:\n | 'class'\n | 'function'\n | 'const'\n | 'let'\n | 'var'\n | 'enum'\n | 'type'\n | 'interface'\n | 'default'\n | 'module'\n | 'namespace';\n name: string;\n }\n\n /**\n * Function to extract exports from a TypeScript file\n */\n export const exportsFromFile = (filePath: string): ExportInfo[] => {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n };\n\n /**\n * Function to extract exports from a TypeScript file\n */\n export const exportsFromContent = (fileContent: string): ExportInfo[] => {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n };\n\n\n\n\n\n\n export const extractDefaultClassNameFromString = (\n sourceCode: string,\n ): string | undefined => {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n };\n\n export const extractClassNameFromString = (sourceCode: string): string[] => {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n };\n\n export const extractClassNamesFromFile = (\n absoluteFilePath: string,\n ): string[] => {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n };\n\n export const extractDefaultClassNameFromFile = (absoluteFilePath: string) => {\n/* */\n/* */\n/* */\n return (void 0);\n };\n\n\n\n export const formatFile = (absPathToFile: string): void => {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n };\n\n export const formatAllFilesInsideFolder = (absPathToFolder: string): void => {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n };\n\n\n\n export const getTaonContextFromContent = (fileContent: string): string[] => {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n };\n\n export const getTaonContextsNamesFromFile = (\n tsAbsFilePath: string,\n ): string[] => {\n/* */\n/* */\n return (void 0);\n };\n\n\n\n\n export const extractAngularComponentSelectors = (\n fileAbsPath: string,\n ): { className: string; selector: 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 export const wrapWithComment = (\n oneLineComment: string,\n absDestFilePath: 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\n\n\n\n\n\n\n\n /**\n * Attempts to set or add an exported const with given name and value.\n */\n export const setValueToVariableInTsFile = (\n tsAbsFilePath: string,\n variableName: string,\n valueOfVariable: any,\n addIfNotExists = true,\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/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n };\n\n\n\n\n\n\n export class TsImportExport {\n type: 'export' | 'import' | 'async-import' | 'require';\n /**\n * ORIGNAL\n * Name of the file that is being imported/exported\n * with parenthesis included\n */\n embeddedPathToFile: string;\n /**\n * same as cleanEmbeddedPathToFile but without quotes (parenthesis)\n */\n cleanEmbeddedPathToFile: string;\n removeStartEndQuotes(str: string) {\n return str.replace(/^['\"`]/, '').replace(/['\"`]$/, '');\n }\n /**\n * RESULT OF PROCESSING\n */\n embeddedPathToFileResult: string;\n /**\n * @deprecated use cleanEmbeddedPathToFile\n */\n packageName: string;\n isIsomorphic?: boolean;\n startRow: number;\n startCol: number;\n\n /**\n * it will extract part of the file content\n * that is between startRow, startCol and endRow, endCol\n * and contains import/export/require statement\n */\n getStringPartFrom(wholeContentOfFile: string): string {\n const lines = wholeContentOfFile.split('\\n');\n\n\n const startRowIndex = this.startRow - 1;\n const endRowIndex = this.endRow - 1;\n\n\n if (startRowIndex >= lines.length || endRowIndex >= lines.length) {\n throw new Error('Row index out of bounds.');\n }\n\n let extractedLines: string[] = [];\n\n for (let i = startRowIndex; i <= endRowIndex; i++) {\n let line = lines[i];\n\n if (i === startRowIndex && i === endRowIndex) {\n\n extractedLines.push(line.substring(this.startCol - 1, this.endCol));\n } else if (i === startRowIndex) {\n\n extractedLines.push(line.substring(this.startCol - 1));\n } else if (i === endRowIndex) {\n\n extractedLines.push(line.substring(0, this.endCol));\n } else {\n\n extractedLines.push(line);\n }\n }\n\n return extractedLines.join('\\n');\n }\n\n endRow: number;\n endCol: number;\n parenthesisType: 'single' | 'double' | 'tics';\n wrapInParenthesis(str: string) {\n return this.parenthesisType === 'single'\n ? `'${str}'`\n : this.parenthesisType === 'double'\n ? `\"${str}\"`\n : `\\`${str}\\``;\n }\n\n importElements: string[] = [];\n\n constructor(\n type: 'export' | 'import' | 'async-import' | 'require',\n embeddedPathToFile: string,\n start: ts.LineAndCharacter,\n end: ts.LineAndCharacter,\n parenthesisType: 'single' | 'double' | 'tics',\n importElements: string[] = [],\n ) {\n this.type = type;\n this.isIsomorphic = false;\n this.embeddedPathToFile = embeddedPathToFile;\n this.cleanEmbeddedPathToFile =\n this.removeStartEndQuotes(embeddedPathToFile);\n this.embeddedPathToFileResult = embeddedPathToFile;\n this.startRow = start.line + 1; // TypeScript lines are zero-based\n this.startCol = start.character + 1;\n this.endRow = end.line + 1;\n this.endCol = end.character + 1;\n this.parenthesisType = parenthesisType;\n this.importElements = importElements;\n }\n }\n\n\n\n const getQuoteType = (text: string): 'single' | 'double' | 'tics' => {\n if (text.startsWith('`')) return 'tics';\n if (text.startsWith(\"'\")) return 'single';\n return 'double';\n };\n\n\n const extractImportExportElements = (node: ts.Node): string[] => {\n const elements: string[] = [];\n\n if (isImportDeclaration(node) && node.importClause) {\n\n if (\n node.importClause.namedBindings &&\n isNamedImports(node.importClause.namedBindings)\n ) {\n elements.push(\n ...node.importClause.namedBindings.elements.map(el => el.name.text),\n );\n }\n } else if (isExportDeclaration(node) && node.exportClause) {\n\n if (isNamedExports(node.exportClause)) {\n elements.push(...node.exportClause.elements.map(el => el.name.text));\n }\n }\n\n return elements;\n };\n\n export const recognizeImportsFromFile = (\n fileAbsPAth: string,\n ): TsImportExport[] => {\n/* */\n/* */\n/* */\n return (void 0);\n };\n\n export const recognizeImportsFromContent = (\n fileContent: string,\n ): TsImportExport[] => {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\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\nexport namespace UtilsHttp {\n\n export const startHttpServer = async (cwd: string, port: 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\n\nexport namespace UtilsMd {\n /**\n * extract assets pathes from .md file\n */\n export const getAssets = (mdfileContent: string): string[] => {\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 * Extract links to other Markdown files from a given Markdown content.\n * @param mdfileContent\n */\n export const getLinksToOtherMdFiles = (mdfileContent: string): string[] => {\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 * Move asset paths to a higher directory level by adding \"../\" before each path.\n *\n * @param mdfileContent - The content of the .md file.\n * @param level - The number of levels to go up (default is 1).\n * @returns The modified content with updated asset paths.\n */\n export const moveAssetsPathesToLevel = (\n mdfileContent: string,\n level = 1,\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 return (void 0);\n };\n}\n\n\n\nexport namespace UtilsQuickFixes {\n\n /**\n *\n * @param node_modules/sql.js/dist/sql-wasm.js\n */\n export const replaceSQLliteFaultyCode = (\n contentofSQLWasmJS: string,\n ): string => {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n };\n\n\n /**\n * for some reason electron is being bundled - and it is not needed for cli\n */\n export const replaceElectronWithNothing = (jsContent: string): string => {\n/* */\n/* */\n return (void 0);\n };\n}\n\n\n ;({}); // @--end-of-file-for-module=tnp-helpers lib/utils.ts","\n\nimport { _, Utils } from 'tnp-core/websql';\nimport * as fuzzy from 'fuzzy';\n\nexport class HelpersArrayObj {\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\n ? arr.findIndex(elem => elem[prop] === a[prop])\n : arr.indexOf(a);\n _.pullAt(arr, indexA);\n let indexB = prop\n ? arr.findIndex(elem => elem[prop] === b[prop])\n : 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\n ? arr.findIndex(elem => elem[prop] === a[prop])\n : arr.indexOf(a);\n _.pullAt(arr, indexA);\n let indexB = prop\n ? arr.findIndex(elem => elem[prop] === b[prop])\n : 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 use Utils.uniqArray from tnp-core\n */\n uniqArray<T = any>(array: any[], uniqueProperty?: keyof T) {\n return Utils.uniqArray(array, uniqueProperty);\n }\n\n /**\n * @deprecated use Utils.uniqArray from tnp-core\n */\n sortKeys(obj) {\n return Utils.sortKeys(obj);\n }\n\n /**\n * Fuzzy search\n */\n fuzzy<T = any>(\n query: string,\n list: T[],\n valueFn?: (modelFromList: T) => string,\n ) {\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 =\n resultsFuzzy.length === 0\n ? []\n : 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(\n k =>\n _.kebabCase((valueFn ? valueFn(k) : k) as any) ===\n _.first(matchesKebab),\n );\n results.push(m);\n matches.push((valueFn ? valueFn(m) : m) as any);\n }\n\n return { matches, results };\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('[taon-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('[taon-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\nimport { exec } from 'child_process';\nimport type { ChildProcess } from 'child_process';\n\nimport * as spawn from 'cross-spawn';\nimport * as dateformat from 'dateformat';\nimport * as fuzzy from 'fuzzy';\nimport { Log, Level } from 'ng2-logger/websql';\nimport { config } from 'tnp-config/websql';\nimport { _, os, path, fse, child_process, fkill, crossPlatformPath, chalk, } from 'tnp-core/websql';/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n\nimport { CLI, UtilsProcess, UtilsTerminal } from 'tnp-core/websql';\nimport { CLASS } from 'typescript-class-helpers/websql';\n\nimport type { BaseProject } from '../../index';\nimport { Helpers } from '../../index';\n\n\n\nexport class HelpersProcess {\n\n async restartApplicationItself(nameOfApp: string) {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n osIsMacOs(versino: 'big-sur' | 'catalina') {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n generatedFileWrap(content: string) {\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n async changeCwdWrapper(\n dir: string,\n functionToExecure: Function,\n logLevel: Level = Level.__NOTHING,\n ) {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n changeCwd(dir?: string) {\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n /**\n * // TODO refactor this\n * @deprecated\n */\n goToDir(dir = '..') {\n/* */\n/* */\n/* */\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 pressKeyOrWait(\n message = 'Press enter try again',\n printWaitMessages = 0,\n ) {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n /**\n * @deprecated use UtilsTerminal.pressAnyKey\n */\n pressKeyAndContinue(message = 'Press enter to continue..') {\n/* */\n/* */\n return (void 0);\n }\n\n\n\n /**\n * @deprecated use UtilsTerminal.multiselect\n */\n async list<T = string>(\n question: string,\n choices:\n | { name: string; value: T }[]\n | { [choice: string]: { name: string } },\n ) {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n /**\n * @deprecated use UtilsTerminal.multiselect\n */\n async multipleChoicesAsk(\n question: string,\n choices: { name: string; value: string }[],\n autocomplete: boolean = false,\n selected?: { name: string; value: string }[],\n ): Promise<string[]> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n /**\n * @deprecated use UtilsTerminal.input\n */\n async input(options: {\n defaultValue?: string;\n question: string;\n\n validate?: (value: string) => boolean;\n }): Promise<string> {\n/* */\n/* */\n return (void 0);\n }\n\n\n\n /**\n * @deprecated use UtilsTerminal.multiselect\n * TODO wierd problem when pressing key like \"i\"\n */\n async selectChoicesAsk<T = string>(\n question: string,\n choices:\n | { name: string; value: T }[]\n | { [choice: string]: { name: string } },\n ): Promise<T> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n async autocompleteAsk<T = string>(\n question: string,\n choices: { name: string; value: T }[],\n pageSize = 10,\n ): Promise<T> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n getWorkingDirOfProcess(PID: number) {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n outputToVScode(\n data: { label: string; option: string }[] | string,\n disableEncode = false,\n ) {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n async actionWrapper(fn: () => void, taskName: string = 'Task') {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n terminalLine() {\n/* */\n/* */\n return (void 0);\n }\n\n\n\n /**\n * THIS DEOS NOT WORK !\n * ! TOOD FIX THIS\n */\n async killAllNodeExceptCurrentProcess() {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\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 killAllNode() {\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 formatPath(pathToFileOrFolder: 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 return (void 0);\n }\n\n\n\n /**\n * @deprecated\n */\n prepareWatchCommand(cmd) {\n/* */\n/* */\n return (void 0);\n }\n\n\n\n /**\n * @deprecated\n */\n getStringFrom(command: string, descriptionOfCommand?: string) {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n async waitForMessegeInStdout(proc: ChildProcess, message: string) {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n}\n\n ;({}); // @--end-of-file-for-module=tnp-helpers lib/helpers/for-backend/helpers-process.ts","\n\nimport * as crypto from 'crypto';\n\nimport type { CopyOptionsSync } from 'fs-extra';\nimport * as glob from 'glob';\nimport { config, extAllowedToReplace } from 'tnp-config/websql';\nimport { _, path, fse, os, rimraf, crossPlatformPath, json5, } from 'tnp-core/websql';/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n\nimport * as underscore from 'underscore';\n\nimport { Helpers } from '../../index';\n\ndeclare const global: any;\n\nexport interface GetRecrusiveFilesFromOptions {\n\n}\n\nexport class HelpersFileFolders {\n /**\n * Calculate file or string checksum\n */\n checksum(absolutePathToFileOrContent: string, algorithm?: 'md5' | 'sha1') {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n getValueFromJSON(\n filepath: string,\n lodashGetPath: string,\n defaultValue = void 0,\n ): any {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n getValueFromJSONC(\n filepath: string,\n lodashGetPath: string,\n defaultValue = void 0,\n ): any {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n readValueFromJson(\n filepath: string,\n lodashGetPath: string,\n defaultValue = void 0,\n ): any {\n/* */\n/* */\n return (void 0);\n }\n\n readValueFromJsonC(\n filepath: string,\n lodashGetPath: string,\n defaultValue = void 0,\n ): any {\n/* */\n/* */\n return (void 0);\n }\n\n setValueToJSON(filepath: string | string[], lodashGetPath: string, value: any): void {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n setValueToJSONC(filepath: string, lodashGetPath: string, value: any): void {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n /**\n * file size in bytes\n */\n size(filePath: string): number {\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n pathFromLink(filePath: string): string {\n/* */\n/* */\n return (void 0);\n }\n\n\n\n\n\n\n\n /**\n * @deprecated\n */\n renameFolder(from: string, to: string, cwd?: string): void {\n/* */\n/* */\n return (void 0);\n }\n\n /**\n * @deprecated\n */\n renameFiles(from: string, to: string, cwd?: string): void {\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 getTempFolder() {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n isPlainFileOrFolder(filePath: string): boolean {\n/* */\n/* */\n return (void 0);\n }\n\n /**\n * @deprecated\n * use import (or modules only on backend)\n */\n requireUncached(module: string): any {\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n /**\n * @deprecated\n * use import (or modules only on backend)\n *\n * get default export object from js file\n * @param jsFilePath\n */\n require(jsFilePath: 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 return (void 0);\n }\n\n tryRecreateDir(dirpath: string): void {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n /**\n * @deprecated\n */\n tryCopyFrom(source: string, destination: string, options = {}): 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 return (void 0);\n }\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n move(from: string, to: string): 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 return (void 0);\n }\n\n findChildren<T>(\n location: string,\n createFn: (childLocation: string) => T,\n options?: { allowAllNames: boolean },\n ): T[] {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n /**\n * @deprecated\n */\n findChildrenNavi<T>(\n location: string,\n createFn: (childLocation: string) => T,\n ): T[] {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n /**\n * get all files from folder\n * absolute paths\n */\n getRecrusiveFilesFrom(\n dir: string,\n ommitFolders: string[] = [],\n options?: GetRecrusiveFilesFromOptions,\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 return (void 0);\n }\n\n checkIfNameAllowedForTaonProj(folderName: string): boolean {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n getLinesFromFiles(filename: string, lineCount?: number): 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 return (void 0);\n }\n\n /**\n * Get the most recent changes file in direcory\n * @param dir absoulute path to file\n */\n getMostRecentFileName(dir: string): string {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n getMostRecentFilesNames(dir: string): string[] {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n removeExcept(fromPath: string, exceptFolderAndFiles: string[]): void {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n copy(\n sourceDir: string | string[],\n destinationDir: string | string[],\n options?: {\n filter?: any;\n overwrite?: boolean;\n recursive?: boolean;\n asSeparatedFiles?: boolean;\n asSeparatedFilesAllowNotCopied?: boolean;\n asSeparatedFilesSymlinkAsFile?: boolean;\n /**\n * folders to omit: example: ['src','node_modules']\n *\n * This option works only with omitFoldersBaseFolder\n */\n omitFolders?: string[];\n /**\n * absolute path for base folder for omitFolder option\n */\n omitFoldersBaseFolder?: string;\n copySymlinksAsFiles?: boolean;\n copySymlinksAsFilesDeleteUnexistedLinksFromSourceFirst?: boolean;\n useTempFolder?: boolean;\n dontAskOnError?: boolean;\n } & CopyOptionsSync,\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/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\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 filterDontCopy(basePathFoldersTosSkip: string[], projectOrBasepath: 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 filterOnlyCopy(\n basePathFoldersOnlyToInclude: string[],\n projectOrBasepath: 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 copyFile(\n sourcePath: string,\n destinationPath: string,\n options?: {\n transformTextFn?: (input: string) => string;\n debugMode?: boolean;\n fast?: boolean;\n dontCopySameContent?: boolean;\n },\n ): boolean {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\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 * get real absolute path\n */\n resolve(fileOrFolderPath: string): string {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n}\n\n ;({}); // @--end-of-file-for-module=tnp-helpers lib/helpers/for-backend/helpers-file-folders.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('[taon-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';\nimport { HelpersProcess } from './for-backend/helpers-process';\nimport { HelpersFileFolders } from './for-backend/helpers-file-folders';\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, UtilsQuickFixes, 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 HelpersTaon extends CoreHelpers {\n\n private static _instance: HelpersTaon & CoreHelpers;\n public static get Instance(): HelpersTaon {\n if (!HelpersTaon._instance) {\n HelpersTaon._instance = new HelpersTaon();\n }\n return HelpersTaon._instance;\n }\n\n\n\n private constructor(\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 * default strategy is cli\n * Please keep: 'ts-node', 'typescript' as dependency in your package.json\n */\n async ncc(\n pathToJsFile: string,\n outputFilePath: string,\n options?: {\n strategy?: 'cli' | 'vscode-ext' | 'node-app' | 'electron-app';\n /**\n * ! beforeWrite needs to return output\n */\n beforeWrite?: (options: {\n output?: string;\n copyToDestination?: (fileOrFolderAbsPath: string) => void;\n }) => string;\n additionalExternals?: string[];\n skipFixingSQLlite?: boolean;\n minify?: 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 return (void 0);\n }\n\n /**\n * @deprecated\n * use Utils.uniqArray from tnp-core\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 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\nexport interface HelpersTaon\n extends HelpersStringsRegexes,\n HelpersProcess,\n HelpersFileFolders {}\n\napplyMixins(HelpersTaon, [\n HelpersStringsRegexes,\n HelpersProcess,\n HelpersFileFolders,\n]);\n\n\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\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 isUsingDB(): 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/classes/base-db.ts","\n\n\nimport { crossPlatformPath } from 'tnp-core/websql';\n\nimport type { BaseProjectResolver } from './classes/base-project-resolver';\nimport { BaseDb } from './classes/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(ins: BaseProjectResolver) {\n super(ins, 'config', defaultDb);\n }\n private get selectedCodeEditorKey(): string {\n return 'selected-code-editor';\n }\n\n public async selectCodeEditor(): Promise<\n 'code' | 'idea' | 'idea64' | string\n > {\n/* */\n/* */\n/* */\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 ;({}); // @--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 \"./classes/base-project-resolver\";\nimport { BaseDb } from \"./classes/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\nimport { Taon } from 'taon/websql';\nimport { _, chalk } from 'tnp-core/websql';\n\nexport type PortStatus =\n | 'unassigned'\n | 'assigned'\n | 'assigned-not-registered'\n | 'assigned-taken-by-os';\n\nexport const PortStatusArr: PortStatus[] = [\n 'unassigned',\n 'assigned',\n 'assigned-not-registered',\n 'assigned-taken-by-os',\n];\n\n@Taon.Entity({\n className: 'Port',\n uniqueKeyProp: 'port',\n})\nexport class Port extends Taon.Base.Entity {\n static from(opt: Omit<Port, 'version' | '_' | 'clone' | 'titleOnList'>) {\n return _.merge(new Port(), opt);\n }\n\n static getTitleForFreePort(port: Number) {\n return `free port ${port}`\n }\n\n get titleOnList(): string {\n/* */\n/* */\n return (void 0);\n }\n\n\n\n @Taon.Orm.Column.Primary({\n type: 'int',\n unique: true,\n })\n\n port: number;\n\n\n\n\n @Taon.Orm.Column.Custom({\n type: 'varchar',\n length: 1000,\n unique: true,\n })\n\n serviceId: string;\n\n\n\n /**\n * Port status\n */\n\n @Taon.Orm.Column.String500<PortStatus>('unassigned')\n\n status: PortStatus;\n\n\n\n /**\n * When port was assigned as registered service\n */\n\n @Taon.Orm.Column.Number()\n\n whenAssignedTimestamp?: Number;\n\n}\n\n ;({}); // @--end-of-file-for-module=tnp-helpers lib/base/tcp-udp-ports/ports.entity.ts","\n\n\nimport { Helpers, UtilsTerminal } from 'tnp-core/websql';\nimport { _, chalk } from 'tnp-core/websql';\n\nimport type { CfontAlign, CfontStyle } from '../../../models';\n\nimport type { BaseCliWorker } from './base-cli-worker';\nimport type { BaseCliWorkerController } from './base-cli-worker-controller';\n\n\nexport class BaseCliWorkerTerminalUI<\n WORKER extends BaseCliWorker<BaseCliWorkerController, any>,\n> {\n constructor(protected worker: WORKER) {}\n\n\n protected async headerText(): Promise<string> {\n return _.startCase(this.worker.serviceID);\n }\n\n\n\n protected textHeaderStyle(): CfontStyle {\n return 'block';\n }\n\n\n\n protected headerTextAlign(): CfontAlign {\n return 'left';\n }\n\n\n\n /**\n * override whole terminal header\n */\n protected async header(): Promise<void> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n async infoMessageBelowHeader(): Promise<void> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n protected get backAction() {\n return {\n back: {\n name: 'Back',\n },\n };\n }\n\n\n\n protected get chooseAction() {\n return {\n emptyAction: {\n name: ' -- choose any action below --',\n action: async () => {},\n },\n };\n }\n\n\n\n protected getWorkerTerminalActions(options?: {\n exitIsOnlyReturn?: boolean;\n chooseAction?: boolean;\n }): {\n [uniqeActionName: string]: {\n name: string;\n action: () => unknown | Promise<unknown>;\n };\n } {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\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 async infoScreen(options?: {\n exitIsOnlyReturn?: boolean;\n }): Promise<void> {\n options = options || {};\n while (true) {\n Helpers.clearConsole();\n\n await this.header();\n\n await this.infoMessageBelowHeader();\n const choices = this.getWorkerTerminalActions(options);\n const choice = await UtilsTerminal.select<keyof typeof choices>({\n choices,\n question: 'Choose action',\n });\n const action = choices[choice].action;\n const result = await action();\n if (choice === 'exit' && result) {\n break;\n }\n }\n }\n\n\n\n public displaySpecialWorkerReadyMessage(): void {\n console.log(this.worker.SPECIAL_WORKER_READY_MESSAGE);\n }\n\n}\n\n ;({}); // @--end-of-file-for-module=tnp-helpers lib/base/classes/base-cli-worker/base-cli-worker-terminal-ui.ts","\n\n\nimport { EndpointContext, Taon } from 'taon/websql';\nimport { config } from 'tnp-config/websql';\nimport { chalk, crossPlatformPath, _, os, chokidar, UtilsProcess, Utils, UtilsTerminal, } from 'tnp-core/websql';/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n\n\nimport { CfontAlign, CfontStyle, Helpers } from '../../../index';\n\nimport { BaseCliWorkerConfig } from './base-cli-worker-config';\nimport type { BaseCliWorkerController } from './base-cli-worker-controller';\nimport { BaseCliWorkerTerminalUI } from './base-cli-worker-terminal-ui';\n\n\n\nconst WORKER_INIT_START_TIME_LIMIT = 25; // 15 seconds max to start worker\nconst START_PORT_FOR_SERVICES = 3600;\n\n\nexport abstract class BaseCliWorker<\n REMOTE_CTRL extends BaseCliWorkerController,\n TERMINAL_UI extends BaseCliWorkerTerminalUI<any>,\n> {\n\n public readonly SPECIAL_WORKER_READY_MESSAGE = '$$$ WORKER_READY $$$';\n\n // @ts-ignore TODO weird inheritance problem\n readonly terminalUI: TERMINAL_UI = new BaseCliWorkerTerminalUI(this);\n readonly workerContextTemplate: ReturnType<typeof Taon.createContextTemplate>;\n private workerMainContext: ReturnType<typeof Taon.createContext>;\n private workerRemoteContext: ReturnType<typeof Taon.createContext>;\n readonly controllerClass: new () => REMOTE_CTRL;\n private contextForRemoteConnection: EndpointContext;\n\n\n protected get pathToProcessLocalInfoJson(): string {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n public get processLocalInfoObj(): BaseCliWorkerConfig {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n\n\n constructor(\n /**\n * unique id for service\n */\n public readonly serviceID: string,\n /**\n * external command that will start service\n */\n public readonly startCommand: string,\n /**\n * unique id for service\n */\n public readonly serviceVersion: string,\n ) {}\n\n\n\n /**\n * start normally process\n * this will crash if process already started\n */\n protected async startNormallyInCurrentProcess(): Promise<void> {\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 getControllerForRemoteConnection(): Promise<REMOTE_CTRL> {\n/* */\n/* */\n/* */\n/* */\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 async startDetachedIfNeedsToBeStarted(options?: {\n useCurrentWindowForDetach?: boolean;\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 * stop if started\n */\n async kill(options?: { dontRemoveConfigFile?: boolean }) {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n /**\n * kill detached process and start again\n * @param options.detached - default true\n */\n async restart(options?: {\n detached?: boolean;\n useCurrentWindowForDetach?: boolean;\n }) {\n options = options || {};\n options.detached = _.isUndefined(options.detached) ? true : false;\n await this.kill();\n //longer because os is disposing process previous process\n\n if (options.detached) {\n Helpers.info(\n `Restarting service \"${this.serviceID}\" in detached mode...`,\n );\n await this.startDetached(options);\n } else {\n Helpers.info(\n `Restarting service \"${this.serviceID}\" in current process...`,\n );\n await this.startNormallyInCurrentProcess();\n }\n }\n\n\n\n /**\n * only for cli start\n * @param cliParams on from cli\n */\n async cliStartProcedure(cliParams: any) {\n const detached = !!cliParams['detached'] || !!cliParams['detach'];\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 preventExternalConfigChange() {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n protected async preventStartIfAlreadyStarted(): Promise<void> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n protected async killWorkerWithLowerVersion(): Promise<void> {\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 has 2 purposes:\n * - infinite check when when detached process finished starting\n * - quick check if service is healthy / already started\n */\n protected async isServiceHealthy(options: {\n healthCheckRequestTrys?: number;\n }): 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/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\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 * start if not started detached process\n */\n protected async startDetached(options?: {\n useCurrentWindowForDetach?: 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 return (void 0);\n }\n\n\n\n private saveProcessInfo(processConfig: Partial<BaseCliWorkerConfig>) {\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 initializeWorkerMetadata() {\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 waitForProcessPortSavedToDisk(): 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 return (void 0);\n }\n\n\n\n public async getServicePort(): Promise<number> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n}\n\n ;({}); // @--end-of-file-for-module=tnp-helpers lib/base/classes/base-cli-worker/base-cli-worker.ts","\n\nimport { gte } from 'semver';\nimport { _ } from 'tnp-core/websql';\n\n\nexport class BaseCliWorkerConfig {\n static from(opt: Partial<BaseCliWorkerConfig>): BaseCliWorkerConfig {\n return _.merge(new BaseCliWorkerConfig(), opt);\n }\n\n /**\n * port taken by service\n */\n port: number;\n /**\n * unique in whole system id of service\n */\n serviceID: string;\n /**\n * pid of service process\n */\n pid: number;\n /**\n * timestamp when service was started\n * (in other cases = null)\n */\n startTimestamp: number;\n /**\n * version\n */\n version: string;\n\n hasBiggerOrEqualWorkerVersionThan(other: BaseCliWorkerConfig): boolean {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n isEquals(other: BaseCliWorkerConfig): boolean {\n other = BaseCliWorkerConfig.from(other);\n return (\n !!this.serviceID &&\n !!this.port &&\n !!this.pid &&\n this.serviceID === other.serviceID &&\n this.port === other.port &&\n this.pid === other.pid\n );\n }\n\n get isEmpty(): boolean {\n return !this.serviceID && !this.port && !this.pid;\n }\n}\n\n\n ;({}); // @--end-of-file-for-module=tnp-helpers lib/base/classes/base-cli-worker/base-cli-worker-config.ts","\n\nimport { Taon } from 'taon/websql';\nimport { Helpers } from 'tnp-core/websql';\n\nimport { BaseCliWorkerConfig } from './base-cli-worker-config';\n\n@Taon.Controller({\n className: 'BaseCliWorkerController',\n})\nexport abstract class BaseCliWorkerController extends Taon.Base\n .Controller {\n /**\n * service id\n */\n private cliWorkerServiceId: string = null;\n private cliWorkerServiceVersion: string = null;\n\n\n @Taon.Http.PUT()\n baseCLiWorkerCommand_initializeMetadata(\n @Taon.Http.Param.Body('serviceId') serviceId: string,\n @Taon.Http.Param.Body('serviceVersion') serviceVersion: string,\n ): Taon.Response<void> {\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n @Taon.Http.GET()\n baseCLiWorkerCommand_kill(): Taon.Response<void> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n @Taon.Http.GET({\n pathIsGlobal: true,\n\n\n })\n info(): Taon.Response<string> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n @Taon.Http.POST()\n baseCLiWorkerCommand_isHealthy(\n @Taon.Http.Param.Body() checkingProcessConfig: BaseCliWorkerConfig,\n ): Taon.Response<boolean> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n @Taon.Http.POST()\n baseCLiWorkerCommand_hasUpToDateVersion(\n @Taon.Http.Param.Body() checkingProcessConfig: BaseCliWorkerConfig,\n ): Taon.Response<boolean> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n}\n\n ;({}); // @--end-of-file-for-module=tnp-helpers lib/base/classes/base-cli-worker/base-cli-worker-controller.ts","\n\nexport * from './base-cli-worker';\nexport * from './base-cli-worker-controller';\nexport * from './base-cli-worker-config';\nexport * from './base-cli-worker-terminal-ui';\n\n ;({}); // @--end-of-file-for-module=tnp-helpers lib/base/classes/base-cli-worker/index.ts","\n\n\nimport { Taon } from 'taon/websql';\nimport { _, UtilsOs } from 'tnp-core/websql';\n\nimport { BaseCliWorkerController } from '../classes/base-cli-worker';\n\nimport { Port, PortStatus } from './ports.entity';\n\n\n@Taon.Controller({\n className: 'PortsController',\n})\nexport class PortsController extends BaseCliWorkerController {\n\n public START_PORT = 3000;\n public END_PORT = 6000;\n public readonly portsCache = new Map<string, Port>();\n\n\n\n\n\n protected get firstFreePort(): Port | null | undefined {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n protected firstUnassignedPortMoreThan(port: number) {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n\n\n\n\n\n @Taon.Http.GET()\n getFirstFreePort(): Taon.Response<Port> {\n return async () => {\n return this.firstFreePort;\n };\n }\n\n\n\n @Taon.Http.GET()\n getPortByNumber(\n @Taon.Http.Param.Query('portNumber') portNumber: number,\n ): Taon.Response<Port> {\n return async () => {\n portNumber = Number(portNumber);\n return Array.from(this.portsCache.values()).find(\n f => f.port === portNumber,\n );\n };\n }\n\n\n\n @Taon.Http.GET()\n getPortsByStatus(\n @Taon.Http.Param.Query('status') status: PortStatus,\n ): Taon.Response<Port[]> {\n return async () => {\n return Array.from(this.portsCache.values())\n .filter(f => f.status === status)\n .sort(\n\n (a, b) => {\n if (a.port < b.port) {\n return -1;\n }\n if (a.port > b.port) {\n return 1;\n }\n return 0;\n },\n );\n };\n }\n\n\n\n\n\n\n\n /**\n * make it unassigned\n */\n @Taon.Http.DELETE()\n deletePort(\n @Taon.Http.Param.Query('portNumber') portNumber: number,\n ): Taon.Response<Port> {\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 * make it unassigned\n */\n @Taon.Http.PUT()\n updatePortUniqueId(\n @Taon.Http.Param.Query('portNumber') portNumber: number,\n @Taon.Http.Param.Query('serviceId') serviceId: string,\n ): Taon.Response<Port> {\n/* */\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 @Taon.Http.POST()\n addTakeByOsPort(\n @Taon.Http.Param.Query('portNumber') portNumber: number,\n @Taon.Http.Param.Query('uniqueId') uniqueId: string,\n ): Taon.Response<Port> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n\n\n /**\n * @param uniqueServiceName unique service name\n * @param startFrom start searching for free port from this number\n * @returns\n */\n @Taon.Http.PUT()\n registerAndAssignPort(\n @Taon.Http.Param.Query('uniqueServiceName') uniqueServiceName: string,\n @Taon.Http.Param.Query('startFrom') startFrom?: number,\n ): Taon.Response<Port> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\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 ;({}); // @--end-of-file-for-module=tnp-helpers lib/base/tcp-udp-ports/ports.controller.ts","\n\nimport { Taon } from 'taon/websql';\nimport { QueryRunner } from 'taon-typeorm/websql';\n\n@Taon.Migration({\n className: 'MainContext_1736198527297_init',\n})\nexport class MainContext_1736198527297_init extends Taon.Base.Migration {\n /**\n * remove this method if you are ready to run this migration\n */\n public isReadyToRun(): boolean {\n return false;\n }\n\n async up(queryRunner: QueryRunner): Promise<any> {\n\n }\n\n async down(queryRunner: QueryRunner): Promise<any> {\n\n }\n}\n\n@Taon.Migration({\n className: 'PortsContext_1736198527297_init',\n})\nexport class PortsContext_1736198527297_init extends Taon.Base.Migration {\n /**\n * remove this method if you are ready to run this migration\n */\n public isReadyToRun(): boolean {\n return true;\n }\n\n async up(queryRunner: QueryRunner): Promise<any> {\n\n\n }\n\n async down(queryRunner: QueryRunner): Promise<any> {\n\n\n }\n}\n\n ;({}); // @--end-of-file-for-module=tnp-helpers migrations/1736198527297_init.ts","\n\nimport { Taon } from 'taon/websql';\nimport { _ } from 'tnp-core/websql';\nimport { QueryRunner } from 'taon-typeorm/websql';\nimport { Port, PortsController } from '../lib';\n\nconst portsWithDescription = {\n 3000: 'Commonly used for development servers',\n 3001: 'Alternate development server port',\n 3306: 'MySQL',\n 3389: 'Remote Desktop Protocol (RDP)',\n 3478: 'STUN (Session Traversal Utilities for NAT)',\n 4000: 'Alternative development server port',\n 4200: 'Angular CLI Development Server',\n 4500: 'IPSec NAT traversal',\n 4567: 'Sinatra Default Port',\n 5000: 'Flask, Python development server, or Node.js apps',\n 5432: 'PostgreSQL',\n 5500: 'Live Server (VS Code Extension)',\n 5672: 'RabbitMQ',\n 5800: 'VNC Remote Desktop (HTTP)',\n 5900: 'VNC Remote Desktop',\n 5984: 'CouchDB',\n 6000: 'in use by something in macos',\n};\n\n@Taon.Migration({\n className: 'PortsContext_1736199486472_addingNotAssignablePorts',\n})\nexport class PortsContext_1736199486472_addingNotAssignablePorts extends Taon\n .Base.Migration {\n protected portsController: PortsController =\n this.injectController(PortsController);\n\n private readonly commonPortsFrom3000to6000: number[] =\n Object.keys(portsWithDescription).map(Number);\n\n async up(queryRunner: QueryRunner): Promise<any> {\n const db = await queryRunner.manager.getRepository(Port);\n\n const allPorts = this.commonPortsFrom3000to6000.map(port =>\n Port.from({\n port,\n serviceId: `not assignable (${portsWithDescription[port]})`,\n status: 'assigned-taken-by-os',\n }),\n );\n await db.save(allPorts);\n for (const commonPortObj of allPorts) {\n this.portsController.portsCache.set(\n commonPortObj.serviceId,\n commonPortObj,\n );\n }\n }\n\n async down(queryRunner: QueryRunner): Promise<any> {\n const db = await queryRunner.manager.getRepository(Port);\n await db.remove(\n await db.find({\n where: {\n status: 'assigned-taken-by-os',\n },\n }),\n );\n const allPorts = Array.from(\n this.portsController.portsCache.values(),\n ).filter(f => f.status === 'assigned-taken-by-os');\n for (const port of allPorts) {\n this.portsController.portsCache.delete(port.serviceId);\n }\n }\n}\n\n ;({}); // @--end-of-file-for-module=tnp-helpers migrations/1736199486472_addingNotAssignablePorts.ts","\n\nimport { Taon } from 'taon/websql';\nimport { QueryRunner } from 'taon-typeorm/websql';\nimport { _ } from 'tnp-core/websql';\nimport { Port, PortsController } from '../lib';\n\n@Taon.Migration({\n className: 'PortsContext_1736454437350_addFreePorts',\n})\nexport class PortsContext_1736454437350_addFreePorts extends Taon.Base\n .Migration {\n protected portsController: PortsController =\n this.injectController(PortsController);\n\n async up(queryRunner: QueryRunner): Promise<any> {\n const portsTableRepo = await queryRunner.manager.getRepository(Port);\n const addFreePortsInRange = _.range(\n this.portsController.START_PORT,\n this.portsController.END_PORT + 1,\n );\n\n const allTakeByOsPort = (\n await portsTableRepo.find({\n where: {\n status: 'assigned-taken-by-os',\n },\n })\n ).map(f => f.port);\n\n const freePortsInRange = addFreePortsInRange.map(port =>\n Port.from({\n port: port,\n serviceId: Port.getTitleForFreePort(port),\n status: 'unassigned',\n }),\n ).filter(f => !allTakeByOsPort.includes(f.port));\n\n await portsTableRepo.save(freePortsInRange);\n\n for (const port of freePortsInRange) {\n this.portsController.portsCache.set(port.serviceId, port);\n }\n }\n\n async down(queryRunner: QueryRunner): Promise<any> {\n\n const db = await queryRunner.manager.getRepository(Port);\n await db.remove(\n await db.find({\n where: {\n status: 'unassigned',\n },\n }),\n );\n const allPorts = Array.from(\n this.portsController.portsCache.values(),\n ).filter(f => f.status === 'unassigned');\n for (const port of allPorts) {\n this.portsController.portsCache.delete(port.serviceId);\n }\n }\n}\n\n ;({}); // @--end-of-file-for-module=tnp-helpers migrations/1736454437350_addFreePorts.ts","\n\n\nimport { MainContext_1736198527297_init, PortsContext_1736198527297_init, } from './1736198527297_init';/* */\n/* */\n/* */\n\nimport { PortsContext_1736199486472_addingNotAssignablePorts } from './1736199486472_addingNotAssignablePorts';\nimport { PortsContext_1736454437350_addFreePorts } from './1736454437350_addFreePorts';\n\nexport const MIGRATIONS_CLASSES_FOR_MainContext = {\n /* 06-01-2025 22:22:07 */ MainContext_1736198527297_init,\n};\nexport const MIGRATIONS_CLASSES_FOR_PortsContext = {\n /* 06-01-2025 22:22:07 */ PortsContext_1736198527297_init,\n /* 06-01-2025 22:38:06 */ PortsContext_1736199486472_addingNotAssignablePorts,\n /* 09-01-2025 21:27:17 */ PortsContext_1736454437350_addFreePorts,\n};\n\n\n ;({}); // @--end-of-file-for-module=tnp-helpers migrations/migrations_index._auto-generated_.ts","\n\n//@ts-nocheck\nexport * from './migrations_index._auto-generated_';\n\n ;({}); // @--end-of-file-for-module=tnp-helpers migrations/index.ts","\n\nimport { BaseContext, Taon } from 'taon/websql';\nimport { os } from 'tnp-core/websql';\nimport { crossPlatformPath, path, Helpers } from 'tnp-core/websql';\n\nimport { MIGRATIONS_CLASSES_FOR_PortsContext } from '../../../migrations';\n\nimport { PortsController } from './ports.controller';\nimport { Port } from './ports.entity';\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\nexport const PortsContextTemplate = Taon.createContextTemplate(() => ({\n contextName: 'PortsContext',\n contexts: { BaseContext },\n controllers: { PortsController },\n entities: { Port },\n migrations: { ...MIGRATIONS_CLASSES_FOR_PortsContext },\n skipWritingServerRoutes: true,\n/* */\n/* */\n/* */\n/* */\n/* */\n \n logs: {\n migrations: true,\n },\n}));\n\n ;({}); // @--end-of-file-for-module=tnp-helpers lib/base/tcp-udp-ports/tcp-udp-ports.context.ts","\n\n\nimport { UtilsTerminal, _ } from 'tnp-core/websql';\n\nimport { Helpers, Port, PortStatusArr } from '../../index';\nimport { CfontStyle } from '../../models';\nimport { BaseCliWorkerTerminalUI } from '../classes/base-cli-worker/base-cli-worker-terminal-ui';\n\nimport { PortStatus } from './ports.entity';\nimport type { PortsWorker } from './tcp-upd-ports.worker';\n\n\nexport class TcpUdpPortsTerminalUI extends BaseCliWorkerTerminalUI<PortsWorker> {\n\n protected async headerText(): Promise<string> {\n return 'TCP/UDP|Ports DB';\n }\n\n\n\n protected textHeaderStyle(): CfontStyle {\n return 'block';\n }\n\n\n\n protected async crudMenuForTakeByOsPorts() {\n const { selected: actionChoice } =\n await UtilsTerminal.selectActionAndExecute({\n back: {\n name: ' - back - ',\n },\n editPort: {\n name: 'Edit port',\n },\n addPort: {\n name: 'Add port',\n },\n deletePort: {\n name: 'Delete port (make it unassigned)',\n },\n });\n\n switch (actionChoice) {\n case 'editPort':\n await this.editPortTerminalUiProcess();\n break;\n case 'addPort':\n await this.addPortTerminalUiProcess();\n break;\n case 'deletePort':\n await this.deletePortTerminalUiProcess();\n break;\n }\n }\n\n\n\n protected async addPortTerminalUiProcess(): 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 return (void 0);\n }\n\n\n\n protected async selectPortProcess(\n ports: Port[],\n title: string,\n ): Promise<Port> {\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 deletePortTerminalUiProcess(): 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 protected async editPortTerminalUiProcess(): 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 return (void 0);\n }\n\n\n\n getWorkerTerminalActions(options?: { exitIsOnlyReturn?: 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 return (void 0);\n }\n\n\n\n protected async displayItemsForPortsStatus(status: PortStatus) {\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 getNewPortToAdd(): 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/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n}\n\n ;({}); // @--end-of-file-for-module=tnp-helpers lib/base/tcp-udp-ports/tcp-upd-ports-terminal-ui.ts","\n\n\nimport { EndpointContext } from 'taon/websql';\nimport { _ } from 'tnp-core/websql';\n\nimport { Helpers } from '../../index';\nimport { BaseCliWorker } from '../classes/base-cli-worker';\nimport { PortsController } from '../tcp-udp-ports/ports.controller';\nimport { PortsContextTemplate } from '../tcp-udp-ports/tcp-udp-ports.context';\n\nimport { TcpUdpPortsTerminalUI } from './tcp-upd-ports-terminal-ui';\n\n\nexport class PortsWorker extends BaseCliWorker<\n PortsController,\n TcpUdpPortsTerminalUI\n> {\n terminalUI = new TcpUdpPortsTerminalUI(this);\n\n workerContextTemplate = PortsContextTemplate as any; // TODO for some reason as any is nessesary\n controllerClass = PortsController;\n}\n\n ;({}); // @--end-of-file-for-module=tnp-helpers lib/base/tcp-udp-ports/tcp-upd-ports.worker.ts","\n\nexport * from './ports.entity';\nexport * from './ports.controller';\nexport * from './tcp-upd-ports.worker';\n\n ;({}); // @--end-of-file-for-module=tnp-helpers lib/base/tcp-udp-ports/index.ts","\n\n\nexport const BUILD_FRAMEWORK_CLI_NAME = 'tnp';\nexport const CURRENT_PACKAGE_VERSION = '19.0.2';\n\n \n ;({}); // @--end-of-file-for-module=tnp-helpers lib/build-info._auto-generated_.ts","\n\n\nimport { config } from 'tnp-config/websql';\nimport { fse } from 'tnp-core/websql';\nimport { path, crossPlatformPath } from 'tnp-core/websql';\nimport { _ } from 'tnp-core/websql';\n\nimport { Helpers } from '../../index';\nimport { ConfigDatabase } from '../config-database';\nimport { ProjectDatabase } from '../project-database';\nimport { PortsWorker } from '../tcp-udp-ports';\nimport { CURRENT_PACKAGE_VERSION } from '../../build-info._auto-generated_';\n\nimport { BaseProject } from './base-project';\n\n\nexport class BaseProjectResolver<PROJECT extends Partial<BaseProject> = any> {\n configDb: ConfigDatabase = new ConfigDatabase(this);\n projectsDb: ProjectDatabase = new ProjectDatabase(this);\n readonly portsWorker: PortsWorker;\n\n\n protected readonly NPM_PROJECT_KEY = 'npm';\n protected projects: PROJECT[] = [];\n /**\n * To speed up checking folder I am keeping paths for already checked folder\n * This may break things that are creating new projects\n */\n protected emptyLocations: string[] = [];\n\n\n\n constructor(\n protected readonly classFn: any,\n public readonly cliToolName: string,\n ) {\n this.cliToolName = cliToolName;\n\n if (!this.cliToolName) {\n Helpers.throw(`cliToolName is not provided`);\n }\n this.portsWorker = new PortsWorker(\n 'ports-worker',\n `${this.cliToolName} startCliServicePortsWorker --skipCoreCheck`,\n CURRENT_PACKAGE_VERSION,\n );\n }\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 | 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/* */\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<\n T extends BaseProject<any, any> = BaseProject<any, any>,\n >(\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/classes/base-project-resolver.ts","\n\n\nimport { config } from 'tnp-config/websql';\nimport { CommandOutputOptions } from 'tnp-core/websql';\nimport { CoreModels } from 'tnp-core/websql';\nimport { CLI } from 'tnp-core/websql';\nimport { path, crossPlatformPath } from 'tnp-core/websql';\nimport { fse, chalk } from 'tnp-core/websql';\nimport { _ } from 'tnp-core/websql';\nimport { Utils } from 'tnp-core/websql';\n\nimport { CoreProject, Helpers, UtilsTypescript } from '../../index';\nimport { BaseProjectType } from '../../models';\n\nimport { BaseGit } from './base-git';\nimport type { BaseLibraryBuild } from './base-library-build';\nimport { BaseLinkedProjects } from './base-linked-projects';\nimport { BaseNpmHelpers } from './base-npm-helpers';\nimport { BaseProjectResolver } from './base-project-resolver';\nimport { BaseQuickFixes } from './base-quick-fixes';\nimport { BaseReleaseProcess } from './base-release-process';\nimport { BaseStaticPages } from './base-static-pages';\nimport { BaseVscodeHelpers } from './base-vscode';\n\n\nconst takenPorts = [];\n\nexport abstract class BaseProject<\n PROJECT extends BaseProject<any, any> = BaseProject<any, any>,\n TYPE = BaseProjectType,\n> {\n\n\n\n static ins = new BaseProjectResolver<BaseProject>(BaseProject, 'taon');\n\n\n\n\n\n public cache: any = {};\n public static cache: any = {};\n public get globalCache(): any {\n return BaseProject.cache;\n }\n readonly type: TYPE | string = 'unknow';\n\n /**\n * resolve instance\n */\n abstract readonly ins: BaseProjectResolver<PROJECT>;\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<BaseProject>;\n public npmHelpers?: BaseNpmHelpers;\n\n get packageJson() {\n return this.npmHelpers.packageJson;\n }\n\n get nodeModules() {\n return this.npmHelpers.nodeModules;\n }\n\n public linkedProjects?: BaseLinkedProjects;\n public vsCodeHelpers?: BaseVscodeHelpers;\n public releaseProcess?: BaseReleaseProcess;\n public git?: BaseGit;\n public quickFixes?: BaseQuickFixes;\n public staticPages?: BaseStaticPages;\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/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\n\n /**\n * TODO move this to framework\n * Linked projects are actual inside repo\n * not in separated folders/git sub repos\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(): PROJECT[] {\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 * project folder parent basename\n */\n get parentBasename(): string {\n\n return path.basename(path.dirname(this.location));\n\n }\n\n\n\n /**\n * name from package.json\n */\n get name(): string {\n return this.packageJson?.name || this.nameFromPomXML;\n }\n\n get nameForCli(): string {\n return this.name?.endsWith('-cli') ? this.name : `${this.name}-cli`;\n }\n\n get nameForNpmPackage(): string {\n return this.name;\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(): PROJECT[] {\n\n return this.getAllChildren();\n\n }\n\n\n\n getChildBy(nameOrBasename: string, errors = true): PROJECT {\n\n const c = this.children.find(\n c => c.name === nameOrBasename || c.basename === nameOrBasename,\n );\n if (errors && !c) {\n\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(): PROJECT {\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 nearestParent(): PROJECT {\n\n if (this.cache['nearestParent']) {\n return this.cache['nearestParent'];\n }\n const nearestParent = this.ins.nearestTo([this.location, '..']) as PROJECT;\n if (nearestParent) {\n\n\n\n\n this.cache['nearestParent'] = nearestParent;\n }\n return nearestParent;\n\n }\n\n\n\n get grandpa(): PROJECT {\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 allNpmPackagesNames(): string[] {\n return [this.name];\n }\n\n get titleBarName() {\n const allPackagesNames =\n this.allNpmPackagesNames.filter(f => f !== this.basename).length === 0\n ? ''\n : `(${this.allNpmPackagesNames.filter(f => f !== this.basename).join(',')})`;\n\n if (this.parent) {\n return (\n `${path.basename(path.dirname(this.parent.location))}/${this.parent.name}/` +\n `${this.basename} ${allPackagesNames} [ \\${activeEditorShort} ]`\n );\n }\n return (\n `${path.basename(path.dirname(this.location))}/` +\n `${this.basename} (${allPackagesNames}) [ \\${activeEditorShort}]`\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 * Function will return relative path from project location\n */\n relative(absoultePath: string) {\n return crossPlatformPath(\n path.relative(\n crossPlatformPath(this.location),\n crossPlatformPath(absoultePath),\n ),\n );\n }\n\n\n\n /**\n *\n * @param relativePath\n * @param override it will remove ex\n */\n createFolder(\n relativePath: string | string[],\n options?: {\n override?: boolean;\n },\n ) {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n formatFile(specificRelativePath: string | string[]) {\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n formatAllFiles() {\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 | string[], exactPath = true) {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n removeFolderByRelativePath(relativePathToFolder: string) {\n/* */\n/* */\n/* */\n/* */\n/* */\n \n }\n\n\n get isAngularLib() {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n protected getUniqueForTask(task: string): string {\n return `task(${task}) in ${this.genericName}`;\n }\n\n public async registerAndAssignPort(\n taskName: string,\n options?: { startFrom?: number },\n ): Promise<number> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n /**\n * @deprecated use this.registerAndAssignPort() or Utils.getFreePort() instead\n */\n async assignFreePort(startFrom: number = 4200): Promise<number> {\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 * main/default hardcoded branches\n */\n getMainBranches(): string[] {\n return ['master', 'develop', 'stage', 'prod', 'test'];\n }\n\n\n\n useFeatureInBranchNameForTests() {\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/* */\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 | string[],\n lodashGetPath: string,\n value: any,\n ): void {\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n setValueToJSONC(\n relativePath: string | string[],\n lodashGetPath: string,\n value: any,\n ): void {\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n setValueToJSON5(\n relativePath: string | string[],\n lodashGetPath: string,\n value: any,\n ): void {\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n getValueFromJSON(\n relativePath: string | string[],\n lodashGetPath: string,\n defaultValue: any = void 0,\n ): any {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n getValueFromJSONC(\n relativePath: string | string[],\n lodashGetPath: string,\n defaultValue: any = void 0,\n ): any {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n\n writeFile(relativePath: string | string[], content: string) {\n/* */\n/* */\n/* */\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?: PROJECT,\n parent?: PROJECT,\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): Promise<void> {\n this.npmHelpers.publishToNpmRegistry();\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/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\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/classes/base-project.ts","\n\nimport { BaseProject } from './base-project';\n\nexport abstract class BaseFeatureForProject<\n PROJECT extends BaseProject<any,any> = BaseProject<any,any>,\n> {\n get ins() {\n return this.project.ins;\n }\n\n constructor(protected project: PROJECT) {}\n}\n\n ;({}); // @--end-of-file-for-module=tnp-helpers lib/base/classes/base-feature-for-project.ts","\n\n\nimport { config, FilesNames } from 'tnp-config/websql';\nimport { chalk } from 'tnp-core/websql';\nimport { CoreModels } from 'tnp-core/websql';\nimport { path, crossPlatformPath } from 'tnp-core/websql';\nimport { _, UtilsTerminal } from 'tnp-core/websql';\n\nimport { Helpers } from '../../index';\nimport { LibrariesBuildOptions, LibraryBuildCommandOptions, NgProject, } from '../../models';/* */\n/* */\n/* */\n/* */\n\n\nimport { BaseFeatureForProject } from './base-feature-for-project';\nimport type { BaseProject } from './base-project';\n\n\n/**\n * Base library build for standard angular/typescript projects\n */\nexport abstract class BaseLibraryBuild<\n PROJECT extends BaseProject<BaseProject, any>,\n> extends BaseFeatureForProject<PROJECT> {\n private cache: any = {};\n protected readonly tempOrgTsConfigFile = `tmp-original-${config.file.tsconfig_json}`;\n\n\n protected sortByDeps(libraries: PROJECT[]): 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 return (void 0);\n }\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\n {\n selectedLibs,\n watch,\n watchBuildSupported,\n skipAllLibsQuestion,\n useLastUserConfiguration,\n }: {\n selectedLibs: PROJECT[];\n watch: boolean;\n watchBuildSupported?: boolean;\n skipAllLibsQuestion?: boolean;\n useLastUserConfiguration?: boolean;\n },\n ): Promise<{ selectedLibs: PROJECT[]; 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/* */\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(): PROJECT[] {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n protected getLibraries() {\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 {\n watch = false,\n strategy,\n releaseBuild = false,\n copylink_to_node_modules,\n outputLineReplace,\n libraries,\n useLastUserConfiguration,\n }: LibrariesBuildOptions<PROJECT> & { 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 protected async libWatchBuildProcess({\n lib,\n locationsForNodeModules,\n strategy,\n outputLineReplace,\n }: {\n lib: PROJECT;\n locationsForNodeModules: string[];\n strategy: 'link' | 'copy';\n outputLineReplace?: (outputLine: string) => string;\n }) {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n protected async libNormalBuildProcess({\n lib,\n locationsForNodeModules,\n strategy,\n outputLineReplace,\n }: {\n lib: PROJECT;\n locationsForNodeModules: string[];\n strategy: 'link' | 'copy';\n outputLineReplace?: (outputLine: string) => string;\n }) {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n getLibraryBuildCommand(\n options?: LibraryBuildCommandOptions,\n ): string | undefined {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n get getLibraryBuildSuccessComamnds(): string[] {\n/* */\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 private async changeTsConfigForLibrariesTypes(): Promise<void> {\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 replaceTsConfigsPathes() {\n/* */\n/* */\n/* */\n/* */\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 restoreOriginalTsConfig() {\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/classes/base-library-build.ts","\n\nimport { config } from 'tnp-config/websql';\nimport { crossPlatformPath, path, _ } from 'tnp-core/websql'; // @ts-ignore\nimport { Helpers } from '../../../lib';\nimport { PackageJson } from 'type-fest';\n\nexport interface BaseJsonFileReaderOptions<DATA> {\n /**\n * cwd for <my-json>.json\n * <cwd>/<my-json>\n * (you can also provide full path - basename will be cut)\n */\n cwd?: string;\n /**\n * file name\n * example: package.json, taon.json etc.\n */\n fileName?: string;\n /**\n * json content to read from memory\n */\n jsonContent?: Partial<DATA>;\n /**\n * callback for external reload\n */\n reloadInMemoryCallback?: (data: DATA) => void;\n /**\n * use json with comments reader to read json file\n */\n readJsonAsJsonWithComments?: boolean;\n /**\n * default value for data\n * if file not exist\n * (ONLY FOR cwd + fileName mode)\n */\n defaultValue?: Partial<DATA>;\n}\n\n/**\n * Base class for reading json files\n * There are 2 modes of reading json files:\n * - cwd + fileName (read and write to disk in cwd)\n * - jsonContent (read and write to memory and use\n * reloadInMemoryCallback for external reload)\n */\nexport class BaseJsonFileReader<DATA> {\n\n /**\n * null when package.json not exist\n */\n protected data: DATA | null;\n\n /**\n * use json with comments reader to read package.json\n */\n protected readonly readJsonAsJsonWithComments: boolean = false;\n\n\n\n public readonly cwd: string;\n protected readonly fileName: string;\n /**\n * @deprecated\n * use only when cwd and fileName are not provided\n */\n protected readonly jsonContent?: Partial<DATA>;\n protected readonly defaultValue?: Partial<DATA>;\n protected readonly reloadInMemoryCallback?: (data: DATA) => void;\n constructor(options: BaseJsonFileReaderOptions<DATA>) {\n let {\n cwd,\n fileName,\n jsonContent,\n reloadInMemoryCallback,\n readJsonAsJsonWithComments,\n defaultValue,\n } = options;\n if (cwd) {\n cwd = crossPlatformPath(cwd);\n if (cwd.endsWith(`/${config.file.package_json}`)) {\n cwd = cwd.replace(`/${config.file.package_json}`, '');\n }\n this.cwd = cwd;\n }\n\n this.defaultValue = defaultValue;\n this.fileName = fileName;\n if (cwd && jsonContent) {\n throw new Error(\n `You can't provide cwd and jsonContent at the same time. Choose one.`,\n );\n }\n if (!cwd && !jsonContent) {\n throw new Error(`You need to provide cwd or jsonContent`);\n }\n this.readJsonAsJsonWithComments = !!readJsonAsJsonWithComments;\n this.reloadInMemoryCallback = reloadInMemoryCallback;\n this.jsonContent = _.cloneDeep(jsonContent);\n this.reloadPackageJsonInMemory();\n }\n\n\n\n /**\n * cwd + fileName\n */\n get path() {\n return crossPlatformPath([this.cwd, this.fileName]);\n }\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 if (this.jsonContent) {\n this.data = _.cloneDeep(this.jsonContent as any);\n } else {\n try {\n if (this.readJsonAsJsonWithComments) {\n this.data = Helpers.readJsonC(this.path);\n } else {\n this.data = Helpers.readJson(this.path);\n }\n if (!this.data && this.defaultValue) {\n this.data = _.cloneDeep(this.defaultValue as any);\n }\n } catch (error) {\n if (this.defaultValue) {\n this.data = _.cloneDeep(this.defaultValue as any);\n } else {\n this.data = null;\n }\n }\n }\n this.reloadInMemoryCallback &&\n this.reloadInMemoryCallback(_.cloneDeep(this.data as any));\n }\n\n\n\n saveToDisk(purpose?: string) {\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 linkTo(destination: string): void {\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n getAllData(): DATA {\n return _.cloneDeep(this.data);\n }\n\n\n\n setAllData(data: DATA): void {\n this.data = _.cloneDeep(data);\n this.saveToDisk();\n }\n\n}\n\n ;({}); // @--end-of-file-for-module=tnp-helpers lib/base/classes/base-json-file-reader.ts","\n\nimport { config } from 'tnp-config/websql';\nimport { _, CoreModels } from 'tnp-core/websql';\nimport { Helpers } from 'tnp-core/websql';\nimport { PackageJson as PackageJsonBase } from 'type-fest';\n\nimport { BaseJsonFileReader, BaseJsonFileReaderOptions, } from './base-json-file-reader';/* */\n/* */\n/* */\n\n\ntype PackageJson = PackageJsonBase & { lastBuildTagHash: string };\n\n\nexport type PackageJsonDependencyObj =\n | 'dependencies'\n | 'devDependencies'\n | 'peerDependencies'\n | 'resolutions';\n\nexport const PackageJsonDependencyObjArr = [\n 'dependencies',\n 'devDependencies',\n 'peerDependencies',\n 'resolutions',\n] as PackageJsonDependencyObj[];\n\n\nexport class BasePackageJson extends BaseJsonFileReader<PackageJson> {\n constructor(\n options: Omit<BaseJsonFileReaderOptions<PackageJson>, 'fileName'>,\n ) {\n super({ ...options, fileName: config.file.package_json });\n }\n\n\n\n /**\n * 'dependencies'\n * 'devDependencies'\n * 'peerDependencies'\n * 'resolutions';\n * and whatever is in package.json to npm install\n */\n get dependenciesTypesArray(): PackageJsonDependencyObj[] {\n return PackageJsonDependencyObjArr;\n }\n\n get name(): string {\n return this.data?.name || '';\n }\n\n async setName(name: string): Promise<void> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n /**\n * devDependencies dependencies\n */\n get devDependencies(): PackageJson['devDependencies'] {\n return _.cloneDeep(this.data ? this.data.devDependencies : {}) || {};\n }\n\n\n\n /**\n * resolutions dependencies\n */\n get resolutions(): PackageJson['resolutions'] {\n return _.cloneDeep(this.data ? this.data['resolutions'] : {}) || {};\n }\n\n\n\n /**\n * npm dependencies from package.json\n */\n get dependencies(): PackageJson['dependencies'] {\n return _.cloneDeep(this.data ? this.data.dependencies : {}) || {};\n }\n\n /**\n * set the WHOLE dependencies object\n * THIS WILL NOT MERGE -> IT WILL REPLACE WHOLE DEPENDENCIES OBJECT\n */\n setDependencies(dependencies: PackageJson['dependencies']) {\n if (!this.data) {\n Helpers.warn(\n `[taon][setDependencies] Package.json not exist in ${this.cwd}`,\n );\n return;\n }\n this.data.dependencies = dependencies;\n this.saveToDisk();\n }\n\n\n /**\n * set the WHOLE dependencies object\n * THIS WILL NOT MERGE -> IT WILL REPLACE WHOLE DEPENDENCIES OBJECT\n */\n setDevDependencies(devDependencies: PackageJson['devDependencies']) {\n if (!this.data) {\n Helpers.warn(\n `[taon][setDevDependencies] Package.json not exist in ${this.cwd}`,\n );\n return;\n }\n this.data.devDependencies = devDependencies;\n this.saveToDisk();\n }\n\n\n\n /**\n * peerDependencies dependencies\n */\n get peerDependencies(): PackageJson['peerDependencies'] {\n return _.cloneDeep(this.data ? this.data.peerDependencies : {}) || {};\n }\n\n /**\n * set the WHOLE peerDependencies object\n * THIS WILL NOT MERGE -> IT WILL REPLACE WHOLE PEER DEPENDENCIES OBJECT\n */\n setPeerDependencies(peerDependencies: PackageJson['peerDependencies']) {\n if (!this.data) {\n Helpers.warn(\n `[taon][setPeerDependencies] Package.json not exist in ${this.cwd}`,\n );\n return;\n }\n this.data.peerDependencies = peerDependencies;\n this.saveToDisk();\n }\n\n\n\n removeDevDependencies() {\n if (!this.data) {\n Helpers.warn(\n `[taon][removeDevDependencies] Package.json not exist in ${this.cwd}`,\n );\n return;\n }\n try {\n delete this.data.devDependencies;\n } catch (error) {}\n this.saveToDisk();\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.data);\n }\n\n /**\n * @returns object witl all deps from package json\n */\n protected allDepsFromPackageJson(packageJson: PackageJson) {\n return _.cloneDeep(\n _.merge({\n ...PackageJsonDependencyObjArr.reduce((acc, depObj) => {\n return {\n ...acc,\n ...(packageJson[depObj] || {}),\n };\n }, {}),\n }),\n );\n }\n\n\n\n /**\n * version from package.json -> property version\n */\n get version(): string {\n return this.data?.version;\n }\n\n setVersion(version: string): void {\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n /**\n * bin with cli config from package.json\n */\n get bin(): Partial<Record<string, string>> {\n return _.cloneDeep(this.data?.bin || {}) as any;\n }\n\n set bin(value: Partial<Record<string, string>>) {\n this.data.bin = value;\n this.saveToDisk('setting bin');\n }\n\n\n\n get engines(): PackageJson['engines'] {\n return _.cloneDeep(this.data.engines);\n }\n\n async setEngines(engines: PackageJson['engines']): Promise<void> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n get homepage(): PackageJson['homepage'] {\n return _.cloneDeep(this.data.homepage);\n }\n\n async setHomepage(homepage: PackageJson['homepage']): Promise<void> {\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 get versionPathAsNumber(): number {\n/* */\n/* */\n/* */\n/* */\n return (void 0);\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 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 return (void 0);\n }\n\n\n\n getVersionFor(releaseType: CoreModels.ReleaseVersionType): string {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n updateDepsFrom(locations: string[]) {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n /**\n * this will NOT SET dependency if\n * dependency name is not in package.json\n */\n updateDependency({\n packageName,\n version,\n }: {\n packageName: string;\n version: string | null;\n }): void {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n get isPrivate(): boolean {\n/* */\n/* */\n return (void 0);\n }\n\n setIsPrivate(value: boolean) {\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n get sideEffects(): boolean {\n/* */\n/* */\n return (void 0);\n }\n\n\n async setMainProperty(main: string, purpose = ''): Promise<void> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n setBuildHash(hash: string): void {\n this.data.lastBuildTagHash = hash;\n this.saveToDisk('setting build hash');\n }\n getBuildHash(): string {\n return this.data.lastBuildTagHash;\n }\n\n}\n\n ;({}); // @--end-of-file-for-module=tnp-helpers lib/base/classes/base-package-json.ts","\n\n\nimport { config } from 'tnp-config/websql';\nimport { UtilsOs } from 'tnp-core/websql';\nimport { CoreModels, crossPlatformPath, fse, path, _, chalk, dateformat, } from 'tnp-core/websql';/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n // @ts-ignore\nimport type { BaseNpmHelpers } from '../../../lib';\n\nimport { Helpers } from '../../index';\n\nimport type { BaseProject } from './base-project';\n\n\nexport type DedupePackage =\n | string\n | {\n package: string;\n excludeFrom?: string[];\n includeOnlyIn?: string[];\n };\n\nexport class BaseNodeModules<\n NPM_HELPERS extends BaseNpmHelpers = BaseNpmHelpers,\n> {\n protected _npmHelpersType: NPM_HELPERS;\n\n\n constructor(\n /**\n * my-path/node_modules\n */\n protected cwd: string,\n protected npmHelpers: NPM_HELPERS,\n ) {\n this.npmHelpers = npmHelpers;\n }\n\n\n\n /**\n * cwd + node_modules\n */\n get path() {\n return crossPlatformPath([this.cwd, config.folder.node_modules]);\n }\n\n\n\n /**\n * Path to package inside node_modules folder\n * @example <project-path>/node_modules/<package-name>\n */\n pathFor(packageName: string): string {\n/* */\n/* */\n return (void 0);\n }\n\n\n\n /**\n * real path of node_modules\n * if node_modules is a link\n * it will return real path.\n * if node_modules is folder = path\n */\n get realPath() {\n try {\n const realPath = fse.realpathSync(this.path);\n return realPath;\n } catch (error) {\n return this.path;\n }\n }\n\n\n\n protected preventWrongLinkDestination(dest: string): string {\n if (!path.isAbsolute(dest)) {\n Helpers.error(\n `[linkTo..] target destination path is not absolute \"${dest}\"`,\n );\n }\n\n if (dest.endsWith(`/${config.folder.node_modules}`)) {\n return dest;\n }\n return crossPlatformPath([dest, config.folder.node_modules]);\n }\n\n\n\n linkToProject(project: Partial<BaseProject>) {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n linkToLocation(location: string): void {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n async makeSureInstalled(options?: Omit<CoreModels.NpmInstallOptions, 'pkg'>) {\n if (this.isEmpty()) {\n await this.reinstall(options);\n }\n }\n\n\n\n async remove(options?: { skipQuestion?: boolean }): Promise<void> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n removePackage(packageInside: string): void {\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n async reinstall(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/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n get isLink(): boolean {\n return Helpers.isSymlinkFileExitedOrUnexisted(this.path);\n }\n\n\n\n get empty() {\n return this.isEmpty();\n }\n\n\n\n /**\n * @returns true if node_modules folder is empty\n * DEEP CHECK - also if node_modules is a link\n * and is not existent\n */\n isEmpty() {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\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 * Prepare command for npm install\n * (or yarn install)\n */\n async prepareCommand(\n options: CoreModels.NpmInstallOptions,\n cwd: string = this.cwd,\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/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n dedupePackages(packagesConfig?: DedupePackage[], countOnly = false): 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 return (void 0);\n }\n\n\n}\n\n ;({}); // @--end-of-file-for-module=tnp-helpers lib/base/classes/base-node-modules.ts","\n\nimport { config } from 'tnp-config/websql';\n\nimport { BaseJsonFileReader } from './base-json-file-reader';\n\n\n/**\n * Minimal interface describing a bower.json file according to:\n * https://github.com/bower/spec/blob/master/json.md\n */\nexport interface BowerJson {\n name: string;\n version?: string;\n description?: string;\n main?: string | string[];\n keywords?: string[];\n authors?: Array<string | { name: string; email?: string; homepage?: string }>;\n license?: string;\n homepage?: string;\n private?: boolean;\n repository?: {\n type: string;\n url: string;\n };\n ignore?: string[];\n dependencies?: Record<string, string>;\n devDependencies?: Record<string, string>;\n\n resolutions?: Record<string, string>;\n moduleType?: string | string[];\n\n}\n\n\nexport class BaseBowerJson extends BaseJsonFileReader<BowerJson> {\n constructor(public cwd: string) {\n super({ cwd, fileName: config.file.bower_json });\n }\n\n\n get dependencies() {\n return (this.data ? this.data.dependencies : {}) || {};\n }\n\n}\n\n ;({}); // @--end-of-file-for-module=tnp-helpers lib/base/classes/base-bower-json.ts","\n\n\nimport { config } from 'tnp-config/websql';\nimport { UtilsTerminal } from 'tnp-core/websql';\nimport { chalk, child_process, crossPlatformPath, fse, path, } from 'tnp-core/websql';/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n\nimport { _ } from 'tnp-core/websql';\nimport { CoreModels } from 'tnp-core/websql';\nimport { PackageJson } from 'type-fest';\n\nimport { Helpers } from '../../index';\n\nimport { BaseBowerJson } from './base-bower-json';\nimport { BaseFeatureForProject } from './base-feature-for-project';\nimport { BaseNodeModules } from './base-node-modules';\nimport { BasePackageJson } from './base-package-json';\nimport type { BaseProject } from './base-project';\n\n\n\nexport class BaseNpmHelpers<\n PROJECT extends BaseProject = BaseProject,\n> extends BaseFeatureForProject<PROJECT> {\n\n public readonly packageJson: BasePackageJson;\n public readonly _packageJsonType: typeof BasePackageJson = BasePackageJson;\n private readonly _packageJsonTypeOriginal: typeof BasePackageJson =\n BasePackageJson;\n\n public readonly nodeModules: BaseNodeModules;\n public readonly _nodeModulesType: typeof BaseNodeModules = BaseNodeModules;\n private readonly __nodeModulesTypeOriginal: typeof BaseNodeModules =\n BaseNodeModules;\n\n public readonly bowerJson: BaseBowerJson;\n\n\n\n\n constructor(project: PROJECT) {\n super(project);\n this.project = project;\n if (this._packageJsonType === this._packageJsonTypeOriginal) {\n this.packageJson = new this._packageJsonType({ cwd: project.location });\n }\n if (this._nodeModulesType === this.__nodeModulesTypeOriginal) {\n this.nodeModules = new this._nodeModulesType(\n project.location,\n this as any,\n );\n }\n this.bowerJson = new BaseBowerJson(project.location);\n }\n\n\n\n preferYarnOverNpm(): boolean {\n return false;\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/* */\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 * @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/* */\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/* */\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 return (void 0);\n }\n\n\n\n async shouldReleaseMessage(options: {\n releaseVersionBumpType: CoreModels.ReleaseVersionType;\n versionToUse?: string;\n children?: BaseProject[];\n whatToRelease: {\n itself: boolean;\n children: boolean;\n };\n skipQuestionToUser?: boolean;\n }): 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/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n /**\n * @param registry when not specified, it will use the default npm registry\n */\n async publishToNpmRegistry(options?: { 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/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n getPackageVersionFromNpmRegistry(\n packageName: string,\n options?: {\n registry?: string;\n },\n ): Promise<string | undefined> {\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/classes/base-npm-helpers.ts","\n\n\nimport { load } from 'json10-writer/websql';\nimport { config } from 'tnp-config/websql';\nimport { _, chalk, crossPlatformPath, path } from 'tnp-core/websql';\n\nimport { Helpers, LinkedPorjectsConfig, LinkedProject, UtilsTypescript, } from '../../index';/* */\n/* */\n/* */\n/* */\n/* */\n\n\nimport { BaseFeatureForProject } from './base-feature-for-project';\nimport type { BaseProject } from './base-project';\n\n\nexport class BaseLinkedProjects<\n PROJECT extends BaseProject = any,\n> extends BaseFeatureForProject<PROJECT> {\n private cache: any = {};\n\n\n get embeddedProject(): PROJECT {\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 PROJECT;\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 PROJECT;\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 PROJECT;\n\n if (linkedPorj) {\n await linkedPorj.linkedProjects.saveLocationToDB();\n } else {\n Helpers.warn(`\n In project ${proj.genericName}\n\n Folder ${link.relativeClonePath} is missing projects...\n\n `);\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/* */\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 private get linkedProjectsConfigTempPath() {\n return this.project.pathFor([`tmp-${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 setOrigin: 'ssh' | 'http',\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/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n}\n\n ;({}); // @--end-of-file-for-module=tnp-helpers lib/base/classes/base-linked-projects.ts","\n\n\nimport { config } from 'tnp-config/websql';\nimport { chalk, dateformat, fse, Utils } from 'tnp-core/websql';\nimport { crossPlatformPath, path, _, UtilsTerminal } from 'tnp-core/websql';\n\nimport { CommitData, Helpers, PushProcessOptions, TypeOfCommit, } from '../../index';/* */\n/* */\n/* */\n/* */\n/* */\n\nimport { translate } from '../translate';\n\nimport { BaseFeatureForProject } from './base-feature-for-project';\nimport type { BaseProject } from './base-project';\n\n\nexport class BaseGit<\n PROJECT extends BaseProject = any,\n> extends BaseFeatureForProject<PROJECT> {\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(): void {\n/* */\n/* */\n return (void 0);\n }\n\n\n\n stageFile(relativeFilePath: string): void {\n/* */\n/* */\n return (void 0);\n }\n\n\n\n stash(options?: { onlyStaged?: boolean }) {\n/* */\n/* */\n return (void 0);\n }\n\n\n\n rebase(toBranch: string) {\n/* */\n/* */\n return (void 0);\n }\n\n\n\n stashApply(): void {\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 /**\n * general default development branch for all kinds of projects\n */\n getDefaultDevelopmentBranch(): string {\n return 'develop';\n }\n\n\n\n isUsingActionCommit(): boolean {\n return false;\n }\n\n\n jiraIssuesAreOutsideBrackets() {\n return false;\n }\n\n async getUserInfo(\n global = false,\n ): Promise<{ name?: string; email?: string }> {\n/* */\n/* */\n return (void 0);\n }\n\n async setUserInfo(\n { name, email }: { name?: string; email?: string },\n global = false,\n ): Promise<void> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\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 * Resolve last changes\n * - uncommited changes\n * - action commits to melt\n */\n async resolveLastChanges(options?: {\n\n tryAutomaticActionFirst?: boolean;\n projectNameAsOutputPrefix?: string;\n }): Promise<void> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\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 get hasActionCommitsToMelt(): boolean {\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n meltActionCommits() {\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): void {\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 /**\n * get provider of remote origin\n */\n get remoteProvider(): string {\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 get stagedFilesRelativePaths(): string[] {\n/* */\n/* */\n return (void 0);\n }\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 automaticallyAddAllChangesWhenPushingToGit() {\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: PROJECT[] = [];\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 PROJECT;\n })\n .filter(f => !!f);\n } else {\n childrenRepos = this.project.children as PROJECT[];\n }\n\n childrenRepos = childrenRepos.filter(\n f => f.git.isInsideGitRepo && f.git.isGitRoot,\n ) as PROJECT[];\n return childrenRepos;\n }\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\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/* */\n return (void 0);\n }\n\n\n\n async pushProcess(options: PushProcessOptions = {}): Promise<void> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\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(setOrigin: 'ssh' | 'http') {\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 _beforePullProcessAction(\n setOrigin: 'ssh' | 'http',\n cloneChildren = false,\n ) {\n/* */\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 * taon pfix proper input my-repo#344\n * that should be\n * taon 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/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n /**\n * This will prevent accidental branch change for taon projects\n * @returns branch name\n */\n duringPushWarnIfProjectNotOnSpecyficDevBranch(): string {\n return void 0;\n }\n\n\n\n async getChangedFilesInCommitByHash(hash: string) {\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\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\n async changesSummary() {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n /**\n * If true command navi reset will reset project\n * and its children.\n *\n * If false command navi reset will reset only project.\n */\n resetIsRestingAlsoChildren(): boolean {\n return true;\n }\n\n}\n\n ;({}); // @--end-of-file-for-module=tnp-helpers lib/base/classes/base-git.ts","\n\nimport { crossPlatformPath, fse, os, path, Utils, UtilsTerminal, } from 'tnp-core/websql';/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n\nimport { _ } from 'tnp-core/websql';\n\nimport { Helpers } from '../../index';\n\nimport { BaseFeatureForProject } from './base-feature-for-project';\nimport type { BaseProject } from './base-project';\n\nexport interface ISettingsVscode {\n 'workbench.colorTheme': string;\n}\n\nexport class BaseVscodeHelpers<\n PROJECT extends BaseProject = any,\n> extends BaseFeatureForProject<PROJECT> {\n /**\n * settings.json relative path\n */\n public readonly settingsJson = '.vscode/settings.json';\n public readonly extensionsJson = '.vscode/extensions.json';\n\n\n private get extensions(): string[] {\n return Helpers.uniqArray([\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n ]).map(c => (c as string).toLowerCase());\n }\n\n\n\n recreateExtensions(): void {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n recreateWindowTitle(): void {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n async installExtensions(\n extensions = this.extensions,\n defaultSelectedAll = false,\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 return (void 0);\n }\n\n\n\n /**\n * This pattern finds a dash followed by at least one digit.\n * It removes everything from that dash to the end of the string.\n * Examples:\n * \"name-of-extension-1.2.3\" -> \"name-of-extension\"\n * \"extension-0.9.5-win32-x64\" -> \"extension\"\n */\n protected stripVersion(folderName: string): string {\n return folderName.replace(/(-\\d+.*)$/, '');\n }\n\n\n\n get installedExtensions(): 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 async applyProperGlobalSettings(): Promise<void> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n public get vscodeSettingsJson(): ISettingsVscode {\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n}\n\n ;({}); // @--end-of-file-for-module=tnp-helpers lib/base/classes/base-vscode.ts","\n\n\nimport { config } from 'tnp-config/websql';\nimport { CoreModels, chalk, dateformat, _, UtilsTerminal } from 'tnp-core/websql';\n\nimport { Helpers } from '../../index';\nimport type { ChangelogData } from '../../models';\nimport { CommitData } from '../commit-data';\n\nimport { BaseFeatureForProject } from './base-feature-for-project';\nimport type { BaseProject } from './base-project';\n\n\nexport class BaseReleaseProcess<\n PROJECT extends BaseProject<any, any> = any,\n> extends BaseFeatureForProject<PROJECT> {\n\n\n /**\n * Automatic release process of patch plus one version\n */\n automaticRelease: boolean = false;\n versionType: CoreModels.ReleaseVersionType;\n preReleaseVersionTag: CoreModels.PreReleaseVersionTag;\n lastChangesSummary: string;\n newVersion: string;\n commitsForChangelog: {\n commitMessages: string;\n index: number;\n }[] = [];\n\n\n\n startRelease(options?: Partial<BaseReleaseProcess<PROJECT>>): Promise<void> {\n throw new Error('Method not implemented.');\n }\n\n\n\n getReleaseWords(): string[] {\n return ['release'];\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 public async checkBundleQuestion(\n cwdForCode: string,\n checkMessage = `Select action before publishing ?`,\n ): 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/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n /**\n * @returns true if publish , faslse if just version bump\n */\n public async publishToNpm(\n cwdForCode = this.project.pathFor('dist'),\n automaticRelease = this.automaticRelease,\n ): 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/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n protected 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 protected 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 protected 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 });\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 PROJECT[];\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 protected async selectReleaseType(\n versionToUseResolveFn?: (\n releaseVersionBumpType: CoreModels.ReleaseVersionType,\n ) => string,\n ): Promise<CoreModels.ReleaseVersionType> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\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/* */\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/* */\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.lastReleaseCommitMsg;\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 release commit' : 'Last 3 commits',\n)}:\n${await this.getLastChangesFromCommits({\n maxMessagesToCheck: hasLastReleaseCommit ? Number.POSITIVE_INFINITY : 3,\n stopOnCommitMessage: hasLastReleaseCommit\n ? lastReleaseCommitData.lastReleaseCommitMsg\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 lastReleaseCommitMsg: 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/classes/base-release-process.ts","\n\n\n/* */\n/* */\n \nimport { IncCompiler } from 'incremental-compiler/websql';\nimport { _ } from 'tnp-core/websql';\nimport { BaseProject } from './base-project'; // @ts-ignore\nimport { Helpers } from '../../../lib';\nimport { config } from 'tnp-config/websql';\n\n\nexport abstract class BaseCompilerForProject<\n ADDITIONAL_DATA = any,\n PROJECT extends BaseProject = BaseProject,\n> extends IncCompiler.Base<ADDITIONAL_DATA> {\n\n protected checkFolderCompiler(\n project: PROJECT,\n options: IncCompiler.Models.BaseClientCompilerOptions,\n dontCheck = 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 return (void 0);\n }\n\n\n\n\n constructor(\n public project: PROJECT,\n options?: IncCompiler.Models.BaseClientCompilerOptions,\n allowFolderOutSideProject = false,\n ) {\n super();\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/classes/base-compiler-for-project.ts","\n\nimport { ChangeOfFile } from 'incremental-compiler/websql';\nimport { _, Utils } from 'tnp-core/websql';\n\nimport { BaseCompilerForProject } from './base-compiler-for-project';\nimport { BaseProject } from './base-project';\n\nexport abstract class BaseDebounceCompilerForProject<\n ADDITIONAL_DATA = any,\n PROJECT extends BaseProject = BaseProject,\n> extends BaseCompilerForProject<ADDITIONAL_DATA, PROJECT> {\n protected initialParams: ADDITIONAL_DATA;\n /**\n * default debounce time is 1s\n */\n protected debounceTime = 1000;\n abstract action({\n changeOfFiles,\n asyncEvent,\n }: {\n changeOfFiles: ChangeOfFile[];\n asyncEvent: boolean;\n });\n\n /**\n * current files that are in project\n */\n protected exitedFilesAbsPathes: string[] = [];\n\n /**\n * @deprecated use action() instead\n */\n public async syncAction(\n absFilesPathes: string[],\n initialParams: ADDITIONAL_DATA,\n ): Promise<void> {\n this.initialParams = initialParams || ({} as any);\n this.exitedFilesAbsPathes = absFilesPathes;\n return await this.action({\n changeOfFiles: absFilesPathes.map(\n fileAbsolutePath => new ChangeOfFile(fileAbsolutePath, 'change'),\n ),\n asyncEvent: false,\n });\n }\n\n private lastAsyncFilesChanges: ChangeOfFile[] = [];\n private debounceAction = _.debounce(() => {\n const changeOfFiles = this.lastAsyncFilesChanges;\n this.lastAsyncFilesChanges = [];\n this.action({\n changeOfFiles,\n asyncEvent: true,\n });\n }, this.debounceTime);\n\n /**\n * @deprecated use action() instead\n */\n public async asyncAction(\n asyncEvents: ChangeOfFile,\n initialParams?: ADDITIONAL_DATA,\n ): Promise<void> {\n this.lastAsyncFilesChanges.push(asyncEvents);\n if (asyncEvents.eventName === 'unlink') {\n this.exitedFilesAbsPathes = this.exitedFilesAbsPathes.filter(\n f => f !== asyncEvents.fileAbsolutePath,\n );\n } else if (asyncEvents.eventName === 'unlinkDir') {\n this.exitedFilesAbsPathes = this.exitedFilesAbsPathes.filter(\n f =>\n !f.startsWith(asyncEvents.fileAbsolutePath.replace(/\\/$/, '') + '/'),\n );\n } else {\n this.exitedFilesAbsPathes.push(asyncEvents.fileAbsolutePath);\n this.exitedFilesAbsPathes = Utils.uniqArray(this.exitedFilesAbsPathes);\n }\n await this.debounceAction();\n }\n}\n\n ;({}); // @--end-of-file-for-module=tnp-helpers lib/base/classes/base-debounce-compiler-for-project.ts","\n\n\nimport { config } from 'tnp-config/websql';\nimport { _, fse, path } from 'tnp-core/websql';\nimport { PackageJson } from 'type-fest';\n\nimport { Helpers, UtilsQuickFixes } from '../../index';\n\nimport { BaseFeatureForProject } from './base-feature-for-project';\nimport type { BaseProject } from './base-project';\n\n\nexport class BaseQuickFixes<\n PROJECT extends BaseProject<any, any> = BaseProject<any, any>,\n> extends BaseFeatureForProject<PROJECT> {\n constructor(public project: PROJECT) {\n super(project);\n this.project = project;\n }\n\n /**\n * filesRelativePaths example:\n * ['node_modules/@types/glob/index.d.ts', '/home/user/project/src/app.ts']\n *\n * @param filesRelativeAbsPaths\\ Quick fix for typescript check\n */\n excludeNodeModulesDtsFromTypescriptCheck(filesRelativeAbsPaths:string[]) {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n\n }\n\n\n fixSQLLiteModuleInNodeModules() {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n public createDummyEmptyLibsReplacements(missingLibsNames: 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 return (void 0);\n }\n\n}\n\n ;({}); // @--end-of-file-for-module=tnp-helpers lib/base/classes/base-quick-fixes.ts","\n\n\nimport { ChildProcess, execSync } from 'child_process';\n\nimport { Helpers, UtilsTerminal } from 'tnp-core/websql';\nimport { CoreModels, _ } from 'tnp-core/websql';\n\nimport type { BaseProject, TypeOfCommit } from './base';\nimport type { BaseProcessManger } from './base/classes/base-process-manager';\n\n\n\nexport type BaseProjectType = CoreModels.BaseProjectType;\nexport const BaseProjectTypeArr = CoreModels.BaseProjectTypeArr;\n\n\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\n\n\n\nexport type LibraryBuildCommandOptions = {\n watch?: boolean;\n};\n\n\n\nexport type LibrariesBuildOptions<PROJECT extends BaseProject = BaseProject> = {\n strategy?: 'link' | 'copy';\n /**\n * by default we are copying all libraries to node_modules of itself\n */\n copylink_to_node_modules?: string[];\n releaseBuild?: boolean;\n /**\n * override build options for specific libraries\n * @todo\n */\n libraries?: PROJECT[];\n outputLineReplace?: (\n libForOutput: PROJECT,\n useExternalProvidedLibs: boolean,\n ) => (line: string) => string;\n useLastUserConfiguration?: boolean;\n};\n\n\n\nexport type TestBuildOptions = {\n onlySpecyficFiles?: string[];\n updateSnapshot?: boolean;\n};\n\n\n\nexport interface ChangelogData {\n changes: string[];\n version: string;\n date: string;\n}\n\n\n\nexport interface PushProcessOptions {\n force?: boolean;\n typeofCommit?: TypeOfCommit;\n mergeUpdateCommits?: boolean;\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 overrideCommitMessage?: string;\n commitMessageRequired?: boolean;\n /**\n * only needed when push github\n * and I forgot to add my username before issue\n * taon pfix proper input my-repo#344\n * that should be\n * taon pfix proper input my-username/my-repo#344\n */\n currentOrigin?: string;\n skipChildren?: boolean;\n noExit?: boolean;\n}\n\n\n\nexport class CommandConfig {\n static from(config: CommandConfig): CommandConfig {\n return new CommandConfig(config as any);\n }\n private constructor(data: CommandConfig) {\n Object.keys(data).forEach(key => {\n this[key] = data[key];\n });\n }\n name: string;\n cmd: string;\n\n headerMessageWhenActive?: string;\n /**\n * If true, the output will be stored in a buffer and displayed when requested.\n * Default: true\n */\n useDataBuffer?: boolean;\n /**\n * Process that should be started\n * before this process starts.\n */\n shouldBeActiveOrAlreadyBuild?: CommandConfig[] = [];\n goToNextCommandWhenOutput?:\n | string\n | {\n stdoutContains?: string | string[];\n stderrContains?: string | string[];\n };\n}\n\n\n\nexport interface ProcessManagerConfig<PROJECT> {\n title: string;\n header?: string;\n commands: CommandConfig[];\n /**\n * Default: false\n * If false - after first selection of processes, it will be not possible\n * to add new processes to build and build will be done after\n * all processes are done.\n */\n watch?: boolean;\n}\n\n\n\nexport enum CommandProcessState {\n NOT_STARTED = 'not-started',\n WAITING_TO_START = 'waiting-to-start',\n RUNNING = 'running',\n FINISHED_AND_RUNNING = 'finished-and-running', // only for watch mode\n FINISHED = 'finished', // only for normal mode\n}\n\n\n\nexport interface CommandProcessRunOptions {\n progress?: (n: number, total: number) => void;\n resolveNextProcess?: (\n currentProcess: CommandProcess,\n ) => Promise<CommandProcess>;\n resolveWhenFinish?: boolean;\n}\n\n\n\nexport class CommandProcess {\n\n private state: CommandProcessState = CommandProcessState.NOT_STARTED;\n public readonly child_process?: ChildProcess;\n\n protected get cmd(): string {\n return this.config.cmd;\n }\n\n public get name(): string {\n return this.config.name;\n }\n\n get headerMessageWhenActive(): string | undefined {\n return this.config.headerMessageWhenActive;\n }\n\n get pid(): number | undefined {\n return this.child_process.pid;\n }\n\n get isFinished(): boolean {\n return [\n CommandProcessState.FINISHED,\n CommandProcessState.FINISHED_AND_RUNNING,\n ].includes(this.state);\n }\n\n get isRunning(): boolean {\n return [\n CommandProcessState.RUNNING,\n CommandProcessState.FINISHED_AND_RUNNING,\n ].includes(this.state);\n }\n\n get isWaitingToStart(): boolean {\n return this.state === CommandProcessState.WAITING_TO_START;\n }\n\n markForStart(): void {\n if (this.isRunning || this.isWaitingToStart) {\n console.warn(`Already running or waiting to start: ${this.name}`);\n return;\n }\n this.state = CommandProcessState.WAITING_TO_START;\n }\n\n\n public dependenciesProcesses: CommandProcess[] = [];\n\n\n constructor(\n private project: BaseProject,\n private config: CommandConfig,\n private manager: BaseProcessManger,\n ) {}\n\n\n\n\n async start(options?: CommandProcessRunOptions): 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 async stop(): 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 return (void 0);\n }\n\n}\n\n\n\nexport type CfontStyle =\n | 'block'\n | 'slick'\n | 'tiny'\n | 'grid'\n | 'pallet'\n | 'shade'\n | 'chrome'\n | 'simple'\n | 'simpleBlock'\n | '3d'\n | 'simple3d'\n | 'huge';\n\nexport type CfontAlign = 'left' | 'center' | 'right' | 'block';\n\n\n ;({}); // @--end-of-file-for-module=tnp-helpers lib/models.ts","\n\n\nimport { _, chalk, Helpers, UtilsTerminal } from 'tnp-core/websql';\n\nimport { CommandProcess, ProcessManagerConfig } from '../../models';\n\nimport { BaseFeatureForProject } from './base-feature-for-project';\nimport { BaseProject } from './base-project';\n\nexport { CommandConfig } from '../../models';\n\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\nexport class BaseProcessManger<\n PROJECT extends BaseProject<any, any> = BaseProject<any, any>,\n> extends BaseFeatureForProject<PROJECT> {\n\n private initialOptions: ProcessManagerConfig<PROJECT>;\n private allProcesses: CommandProcess[] = [];\n private selectedProcesses: CommandProcess[] = [];\n public outputBuffer: string[] = [];\n public startedProcesses = new Set<CommandProcess>();\n public watch = false;\n\n\n private _showLogs: boolean = false;\n public set showLogs(value: boolean) {\n this._showLogs = value;\n this.hideOutput.stderr = !value;\n this.hideOutput.stdout = !value;\n }\n get showLogs(): boolean {\n return this._showLogs;\n }\n\n /**\n * special config for Helpers.executer\n */\n hideOutput = {\n stderr: !this.showLogs,\n stdout: !this.showLogs,\n acceptAllExitCodeAsSuccess: true,\n };\n\n\n\n\n\n constructor(project: PROJECT) {\n super(project as any);\n }\n\n\n\n async init<PROJECT = BaseProject<any, any>>(\n initialOptions: ProcessManagerConfig<PROJECT>,\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 return (void 0);\n }\n\n\n\n private showOutput(): void {\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 killOrBuildMenu(): 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 return (void 0);\n }\n\n\n\n async makeSureSelectedProcessesAreRunning(): 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 return (void 0);\n }\n\n\n\n private async startProcessWithDependencies(\n process: CommandProcess,\n startedProcesses = new Set<CommandProcess>(),\n parent: CommandProcess | undefined = undefined,\n ): Promise<void> {\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 buildMenu(allowedToShowOutput = true): 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 return (void 0);\n }\n\n}\n\n ;({}); // @--end-of-file-for-module=tnp-helpers lib/base/classes/base-process-manager.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-json-file-reader';\nexport * from './base-package-json';\nexport * from './base-node-modules';\nexport * from './base-npm-helpers';\nexport * from './base-linked-projects';\nexport * from './base-git';\nexport * from './base-vscode';\nexport * from './base-release-process';\nexport * from './base-compiler-for-project';\nexport * from './base-debounce-compiler-for-project';\nexport * from './base-quick-fixes';\nexport * from './base-cli-worker';\nexport * from './base-process-manager';\n\n/* */\n/* */\n/* */\n/* */\n \n\n ;({}); // @--end-of-file-for-module=tnp-helpers lib/base/classes/index.ts","\n\n\nimport { _, /* */ /* */ } from 'tnp-core/websql';/* */\n/* */\n/* */\n/* */\n/* */\n\nimport { Helpers } from '../index';\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\n if (!!commitModuleName.trim()) {\n const cleanedModuleName = commitModuleName\n .replace(/\\-/g, ' ')\n .replace(/\\,/g, '_');\n\n message = message.replace(cleanedModuleName, ' ');\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 * taon pfix proper input my-repo#344\n * that should be\n * taon pfix proper input my-username/my-repo#344\n */\n currentOrigin?: string;\n jiraIssuesAreOutsideBrackets?: boolean;\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 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 * taon pfix proper input my-repo#344\n * that should be\n * taon pfix proper input my-username/my-repo#344\n */\n currentOrigin?: string;\n jiraIssuesAreOutsideBrackets?: boolean;\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/* */\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 | 'jiraIssuesAreOutsideBrackets'\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 /**\n * if true then jira issues are outside brackets\n * feat: proper git commands JIRA-1234\n *\n * by default is false\n * feat(JIRA-1234): proper git commands\n */\n jiraIssuesAreOutsideBrackets: boolean;\n\n /**\n * when set -> jiraIssuesAreOutsideBrackets is true\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 useFeatureBranchForTestBranch: boolean = false;\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. taon/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/* */\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/* */\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 './classes/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<any,any>> = {\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<any,any>>(\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 releaseCommand?: (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.nodeModules.makeSureInstalled();\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.nodeModules.makeSureInstalled();\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.defaultBranch) {\n linkedProj.defaultBranch = '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 defaultBranch: 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\n public remoteUrlTransformed(setOrigin: 'ssh' | 'http'): string {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n defaultBranch?: 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 './classes';\nexport * from './commit-data';\nexport * from './core-project';\nexport * from './linked-project';\nexport * from './tcp-udp-ports';\n/* */\n/* */\n \n\n ;({}); // @--end-of-file-for-module=tnp-helpers lib/base/index.ts","\n\nexport * from './validators/validators';\n\nexport { HelpersAngular } from './helpers/for-browser/angular.helper';\n\n\nexport * from './utils';\nimport { HelpersTaon as Base } from './helpers/helpers';\nexport const Helpers: Base = Base.Instance as Base;\nexport * from './base';\nexport * from './models';\n/* */\n/* */\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","Helpers","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/for-backend/helpers-process.ts","../../../tmp-libs-for-dist-websql/tnp-helpers/projects/tnp-helpers/src/lib/helpers/for-backend/helpers-file-folders.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/classes/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/tcp-udp-ports/ports.entity.ts","../../../tmp-libs-for-dist-websql/tnp-helpers/projects/tnp-helpers/src/lib/base/classes/base-cli-worker/base-cli-worker-terminal-ui.ts","../../../tmp-libs-for-dist-websql/tnp-helpers/projects/tnp-helpers/src/lib/base/classes/base-cli-worker/base-cli-worker.ts","../../../tmp-libs-for-dist-websql/tnp-helpers/projects/tnp-helpers/src/lib/base/classes/base-cli-worker/base-cli-worker-config.ts","../../../tmp-libs-for-dist-websql/tnp-helpers/projects/tnp-helpers/src/lib/base/classes/base-cli-worker/base-cli-worker-controller.ts","../../../tmp-libs-for-dist-websql/tnp-helpers/projects/tnp-helpers/src/lib/base/classes/base-cli-worker/index.ts","../../../tmp-libs-for-dist-websql/tnp-helpers/projects/tnp-helpers/src/lib/base/tcp-udp-ports/ports.controller.ts","../../../tmp-libs-for-dist-websql/tnp-helpers/projects/tnp-helpers/src/migrations/1736198527297_init.ts","../../../tmp-libs-for-dist-websql/tnp-helpers/projects/tnp-helpers/src/migrations/1736199486472_addingNotAssignablePorts.ts","../../../tmp-libs-for-dist-websql/tnp-helpers/projects/tnp-helpers/src/migrations/1736454437350_addFreePorts.ts","../../../tmp-libs-for-dist-websql/tnp-helpers/projects/tnp-helpers/src/migrations/migrations_index._auto-generated_.ts","../../../tmp-libs-for-dist-websql/tnp-helpers/projects/tnp-helpers/src/migrations/index.ts","../../../tmp-libs-for-dist-websql/tnp-helpers/projects/tnp-helpers/src/lib/base/tcp-udp-ports/tcp-udp-ports.context.ts","../../../tmp-libs-for-dist-websql/tnp-helpers/projects/tnp-helpers/src/lib/base/tcp-udp-ports/tcp-upd-ports-terminal-ui.ts","../../../tmp-libs-for-dist-websql/tnp-helpers/projects/tnp-helpers/src/lib/base/tcp-udp-ports/tcp-upd-ports.worker.ts","../../../tmp-libs-for-dist-websql/tnp-helpers/projects/tnp-helpers/src/lib/base/tcp-udp-ports/index.ts","../../../tmp-libs-for-dist-websql/tnp-helpers/projects/tnp-helpers/src/lib/build-info._auto-generated_.ts","../../../tmp-libs-for-dist-websql/tnp-helpers/projects/tnp-helpers/src/lib/base/classes/base-project-resolver.ts","../../../tmp-libs-for-dist-websql/tnp-helpers/projects/tnp-helpers/src/lib/base/classes/base-project.ts","../../../tmp-libs-for-dist-websql/tnp-helpers/projects/tnp-helpers/src/lib/base/classes/base-feature-for-project.ts","../../../tmp-libs-for-dist-websql/tnp-helpers/projects/tnp-helpers/src/lib/base/classes/base-library-build.ts","../../../tmp-libs-for-dist-websql/tnp-helpers/projects/tnp-helpers/src/lib/base/classes/base-json-file-reader.ts","../../../tmp-libs-for-dist-websql/tnp-helpers/projects/tnp-helpers/src/lib/base/classes/base-package-json.ts","../../../tmp-libs-for-dist-websql/tnp-helpers/projects/tnp-helpers/src/lib/base/classes/base-node-modules.ts","../../../tmp-libs-for-dist-websql/tnp-helpers/projects/tnp-helpers/src/lib/base/classes/base-bower-json.ts","../../../tmp-libs-for-dist-websql/tnp-helpers/projects/tnp-helpers/src/lib/base/classes/base-npm-helpers.ts","../../../tmp-libs-for-dist-websql/tnp-helpers/projects/tnp-helpers/src/lib/base/classes/base-linked-projects.ts","../../../tmp-libs-for-dist-websql/tnp-helpers/projects/tnp-helpers/src/lib/base/classes/base-git.ts","../../../tmp-libs-for-dist-websql/tnp-helpers/projects/tnp-helpers/src/lib/base/classes/base-vscode.ts","../../../tmp-libs-for-dist-websql/tnp-helpers/projects/tnp-helpers/src/lib/base/classes/base-release-process.ts","../../../tmp-libs-for-dist-websql/tnp-helpers/projects/tnp-helpers/src/lib/base/classes/base-compiler-for-project.ts","../../../tmp-libs-for-dist-websql/tnp-helpers/projects/tnp-helpers/src/lib/base/classes/base-debounce-compiler-for-project.ts","../../../tmp-libs-for-dist-websql/tnp-helpers/projects/tnp-helpers/src/lib/base/classes/base-quick-fixes.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/base/classes/base-process-manager.ts","../../../tmp-libs-for-dist-websql/tnp-helpers/projects/tnp-helpers/src/lib/base/classes/index.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/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\n\nimport { fse, Helpers, path } from 'tnp-core/websql';\nimport { _, CoreModels, Utils } from 'tnp-core/websql';\nimport { createPrinter, createSourceFile, factory, getLeadingCommentRanges, isClassDeclaration, isSourceFile, NodeArray, ScriptKind, ScriptTarget, SourceFile, Statement, transform, TransformationContext, visitEachChild, Node, isFunctionDeclaration, isVariableStatement, isIdentifier, NodeFlags, isEnumDeclaration, isTypeAliasDeclaration, isInterfaceDeclaration, isModuleDeclaration, isExportAssignment, forEachChild, Declaration, getCombinedModifierFlags, ModifierFlags, SyntaxKind, isVariableDeclaration, isCallExpression, isPropertyAccessExpression, isObjectLiteralExpression, isPropertyAssignment, isStringLiteral, canHaveDecorators, getDecorators, visitNode, isExportDeclaration, isImportDeclaration, Expression, isNamedImports, isNamedExports, } from 'typescript';/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n\nimport type * as ts from 'typescript';\n\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\nexport namespace UtilsTypescript {\n\n /**\n * Remove TypeScript region blocks by their name, including nested regions.\n *\n * @param sourceCode - The TypeScript source code as a string.\n * @param regionName - The name of the region to remove.\n * @returns Modified TypeScript code without the specified regions.\n */\n export const removeRegionByName = (\n sourceCode: string,\n regionName: 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/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\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 const isExported = (node: Node): boolean => {\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n };\n\n\n\n\n interface ExportInfo {\n type:\n | 'class'\n | 'function'\n | 'const'\n | 'let'\n | 'var'\n | 'enum'\n | 'type'\n | 'interface'\n | 'default'\n | 'module'\n | 'namespace';\n name: string;\n }\n\n /**\n * Function to extract exports from a TypeScript file\n */\n export const exportsFromFile = (filePath: string): ExportInfo[] => {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n };\n\n /**\n * Function to extract exports from a TypeScript file\n */\n export const exportsFromContent = (fileContent: string): ExportInfo[] => {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n };\n\n\n\n\n\n\n export const extractDefaultClassNameFromString = (\n sourceCode: string,\n ): string | undefined => {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n };\n\n export const extractClassNameFromString = (sourceCode: string): string[] => {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n };\n\n export const extractClassNamesFromFile = (\n absoluteFilePath: string,\n ): string[] => {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n };\n\n export const extractDefaultClassNameFromFile = (absoluteFilePath: string) => {\n/* */\n/* */\n/* */\n return (void 0);\n };\n\n\n\n export const formatFile = (absPathToFile: string): void => {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n };\n\n export const formatAllFilesInsideFolder = (absPathToFolder: string): void => {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n };\n\n\n\n export const getTaonContextFromContent = (fileContent: string): string[] => {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n };\n\n export const getTaonContextsNamesFromFile = (\n tsAbsFilePath: string,\n ): string[] => {\n/* */\n/* */\n return (void 0);\n };\n\n\n\n\n export const extractAngularComponentSelectors = (\n fileAbsPath: string,\n ): { className: string; selector: 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 export const wrapWithComment = (\n oneLineComment: string,\n absDestFilePath: 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\n\n\n\n\n\n\n\n /**\n * Attempts to set or add an exported const with given name and value.\n */\n export const setValueToVariableInTsFile = (\n tsAbsFilePath: string,\n variableName: string,\n valueOfVariable: any,\n addIfNotExists = true,\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/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n };\n\n\n\n\n\n\n export class TsImportExport {\n type: 'export' | 'import' | 'async-import' | 'require';\n /**\n * ORIGNAL\n * Name of the file that is being imported/exported\n * with parenthesis included\n */\n embeddedPathToFile: string;\n /**\n * same as cleanEmbeddedPathToFile but without quotes (parenthesis)\n */\n cleanEmbeddedPathToFile: string;\n removeStartEndQuotes(str: string) {\n return str.replace(/^['\"`]/, '').replace(/['\"`]$/, '');\n }\n /**\n * RESULT OF PROCESSING\n */\n embeddedPathToFileResult: string;\n /**\n * @deprecated use cleanEmbeddedPathToFile\n */\n packageName: string;\n isIsomorphic?: boolean;\n startRow: number;\n startCol: number;\n\n /**\n * it will extract part of the file content\n * that is between startRow, startCol and endRow, endCol\n * and contains import/export/require statement\n */\n getStringPartFrom(wholeContentOfFile: string): string {\n const lines = wholeContentOfFile.split('\\n');\n\n\n const startRowIndex = this.startRow - 1;\n const endRowIndex = this.endRow - 1;\n\n\n if (startRowIndex >= lines.length || endRowIndex >= lines.length) {\n throw new Error('Row index out of bounds.');\n }\n\n let extractedLines: string[] = [];\n\n for (let i = startRowIndex; i <= endRowIndex; i++) {\n let line = lines[i];\n\n if (i === startRowIndex && i === endRowIndex) {\n\n extractedLines.push(line.substring(this.startCol - 1, this.endCol));\n } else if (i === startRowIndex) {\n\n extractedLines.push(line.substring(this.startCol - 1));\n } else if (i === endRowIndex) {\n\n extractedLines.push(line.substring(0, this.endCol));\n } else {\n\n extractedLines.push(line);\n }\n }\n\n return extractedLines.join('\\n');\n }\n\n endRow: number;\n endCol: number;\n parenthesisType: 'single' | 'double' | 'tics';\n wrapInParenthesis(str: string) {\n return this.parenthesisType === 'single'\n ? `'${str}'`\n : this.parenthesisType === 'double'\n ? `\"${str}\"`\n : `\\`${str}\\``;\n }\n\n importElements: string[] = [];\n\n constructor(\n type: 'export' | 'import' | 'async-import' | 'require',\n embeddedPathToFile: string,\n start: ts.LineAndCharacter,\n end: ts.LineAndCharacter,\n parenthesisType: 'single' | 'double' | 'tics',\n importElements: string[] = [],\n ) {\n this.type = type;\n this.isIsomorphic = false;\n this.embeddedPathToFile = embeddedPathToFile;\n this.cleanEmbeddedPathToFile =\n this.removeStartEndQuotes(embeddedPathToFile);\n this.embeddedPathToFileResult = embeddedPathToFile;\n this.startRow = start.line + 1; // TypeScript lines are zero-based\n this.startCol = start.character + 1;\n this.endRow = end.line + 1;\n this.endCol = end.character + 1;\n this.parenthesisType = parenthesisType;\n this.importElements = importElements;\n }\n }\n\n\n\n const getQuoteType = (text: string): 'single' | 'double' | 'tics' => {\n if (text.startsWith('`')) return 'tics';\n if (text.startsWith(\"'\")) return 'single';\n return 'double';\n };\n\n\n const extractImportExportElements = (node: ts.Node): string[] => {\n const elements: string[] = [];\n\n if (isImportDeclaration(node) && node.importClause) {\n\n if (\n node.importClause.namedBindings &&\n isNamedImports(node.importClause.namedBindings)\n ) {\n elements.push(\n ...node.importClause.namedBindings.elements.map(el => el.name.text),\n );\n }\n } else if (isExportDeclaration(node) && node.exportClause) {\n\n if (isNamedExports(node.exportClause)) {\n elements.push(...node.exportClause.elements.map(el => el.name.text));\n }\n }\n\n return elements;\n };\n\n export const recognizeImportsFromFile = (\n fileAbsPAth: string,\n ): TsImportExport[] => {\n/* */\n/* */\n/* */\n return (void 0);\n };\n\n export const recognizeImportsFromContent = (\n fileContent: string,\n ): TsImportExport[] => {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\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\nexport namespace UtilsHttp {\n\n export const startHttpServer = async (cwd: string, port: 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\n\nexport namespace UtilsMd {\n /**\n * extract assets pathes from .md file\n */\n export const getAssets = (mdfileContent: string): string[] => {\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 * Extract links to other Markdown files from a given Markdown content.\n * @param mdfileContent\n */\n export const getLinksToOtherMdFiles = (mdfileContent: string): string[] => {\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 * Move asset paths to a higher directory level by adding \"../\" before each path.\n *\n * @param mdfileContent - The content of the .md file.\n * @param level - The number of levels to go up (default is 1).\n * @returns The modified content with updated asset paths.\n */\n export const moveAssetsPathesToLevel = (\n mdfileContent: string,\n level = 1,\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 return (void 0);\n };\n}\n\n\n\nexport namespace UtilsQuickFixes {\n\n /**\n *\n * @param node_modules/sql.js/dist/sql-wasm.js\n */\n export const replaceSQLliteFaultyCode = (\n contentofSQLWasmJS: string,\n ): string => {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n };\n\n\n /**\n * for some reason electron is being bundled - and it is not needed for cli\n */\n export const replaceElectronWithNothing = (jsContent: string): string => {\n/* */\n/* */\n return (void 0);\n };\n}\n\n\n ;({}); // @--end-of-file-for-module=tnp-helpers lib/utils.ts","\n\nimport { _, Utils } from 'tnp-core/websql';\nimport * as fuzzy from 'fuzzy';\n\nexport class HelpersArrayObj {\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\n ? arr.findIndex(elem => elem[prop] === a[prop])\n : arr.indexOf(a);\n _.pullAt(arr, indexA);\n let indexB = prop\n ? arr.findIndex(elem => elem[prop] === b[prop])\n : 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\n ? arr.findIndex(elem => elem[prop] === a[prop])\n : arr.indexOf(a);\n _.pullAt(arr, indexA);\n let indexB = prop\n ? arr.findIndex(elem => elem[prop] === b[prop])\n : 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 use Utils.uniqArray from tnp-core\n */\n uniqArray<T = any>(array: any[], uniqueProperty?: keyof T) {\n return Utils.uniqArray(array, uniqueProperty);\n }\n\n /**\n * @deprecated use Utils.uniqArray from tnp-core\n */\n sortKeys(obj) {\n return Utils.sortKeys(obj);\n }\n\n /**\n * Fuzzy search\n */\n fuzzy<T = any>(\n query: string,\n list: T[],\n valueFn?: (modelFromList: T) => string,\n ) {\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 =\n resultsFuzzy.length === 0\n ? []\n : 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(\n k =>\n _.kebabCase((valueFn ? valueFn(k) : k) as any) ===\n _.first(matchesKebab),\n );\n results.push(m);\n matches.push((valueFn ? valueFn(m) : m) as any);\n }\n\n return { matches, results };\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('[taon-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('[taon-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\nimport { exec } from 'child_process';\nimport type { ChildProcess } from 'child_process';\n\nimport * as spawn from 'cross-spawn';\nimport * as dateformat from 'dateformat';\nimport * as fuzzy from 'fuzzy';\nimport { Log, Level } from 'ng2-logger/websql';\nimport { config } from 'tnp-config/websql';\nimport { _, os, path, fse, child_process, fkill, crossPlatformPath, chalk, } from 'tnp-core/websql';/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n\nimport { CLI, UtilsProcess, UtilsTerminal } from 'tnp-core/websql';\nimport { CLASS } from 'typescript-class-helpers/websql';\n\nimport type { BaseProject } from '../../index';\nimport { Helpers } from '../../index';\n\n\n\nexport class HelpersProcess {\n\n async restartApplicationItself(nameOfApp: string) {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n osIsMacOs(versino: 'big-sur' | 'catalina') {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n generatedFileWrap(content: string) {\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n async changeCwdWrapper(\n dir: string,\n functionToExecure: Function,\n logLevel: Level = Level.__NOTHING,\n ) {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n changeCwd(dir?: string) {\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n /**\n * // TODO refactor this\n * @deprecated\n */\n goToDir(dir = '..') {\n/* */\n/* */\n/* */\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 pressKeyOrWait(\n message = 'Press enter try again',\n printWaitMessages = 0,\n ) {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n /**\n * @deprecated use UtilsTerminal.pressAnyKey\n */\n pressKeyAndContinue(message = 'Press enter to continue..') {\n/* */\n/* */\n return (void 0);\n }\n\n\n\n /**\n * @deprecated use UtilsTerminal.multiselect\n */\n async list<T = string>(\n question: string,\n choices:\n | { name: string; value: T }[]\n | { [choice: string]: { name: string } },\n ) {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n /**\n * @deprecated use UtilsTerminal.multiselect\n */\n async multipleChoicesAsk(\n question: string,\n choices: { name: string; value: string }[],\n autocomplete: boolean = false,\n selected?: { name: string; value: string }[],\n ): Promise<string[]> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n /**\n * @deprecated use UtilsTerminal.input\n */\n async input(options: {\n defaultValue?: string;\n question: string;\n\n validate?: (value: string) => boolean;\n }): Promise<string> {\n/* */\n/* */\n return (void 0);\n }\n\n\n\n /**\n * @deprecated use UtilsTerminal.multiselect\n * TODO wierd problem when pressing key like \"i\"\n */\n async selectChoicesAsk<T = string>(\n question: string,\n choices:\n | { name: string; value: T }[]\n | { [choice: string]: { name: string } },\n ): Promise<T> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n async autocompleteAsk<T = string>(\n question: string,\n choices: { name: string; value: T }[],\n pageSize = 10,\n ): Promise<T> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n getWorkingDirOfProcess(PID: number) {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n outputToVScode(\n data: { label: string; option: string }[] | string,\n disableEncode = false,\n ) {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n async actionWrapper(fn: () => void, taskName: string = 'Task') {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n terminalLine() {\n/* */\n/* */\n return (void 0);\n }\n\n\n\n /**\n * THIS DEOS NOT WORK !\n * ! TOOD FIX THIS\n */\n async killAllNodeExceptCurrentProcess() {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\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 killAllNode() {\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 formatPath(pathToFileOrFolder: 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 return (void 0);\n }\n\n\n\n /**\n * @deprecated\n */\n prepareWatchCommand(cmd) {\n/* */\n/* */\n return (void 0);\n }\n\n\n\n /**\n * @deprecated\n */\n getStringFrom(command: string, descriptionOfCommand?: string) {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n async waitForMessegeInStdout(proc: ChildProcess, message: string) {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n}\n\n ;({}); // @--end-of-file-for-module=tnp-helpers lib/helpers/for-backend/helpers-process.ts","\n\nimport * as crypto from 'crypto';\n\nimport type { CopyOptionsSync } from 'fs-extra';\nimport * as glob from 'glob';\nimport { config, extAllowedToReplace } from 'tnp-config/websql';\nimport { _, path, fse, os, rimraf, crossPlatformPath, json5, } from 'tnp-core/websql';/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n\nimport * as underscore from 'underscore';\n\nimport { Helpers } from '../../index';\n\ndeclare const global: any;\n\nexport interface GetRecrusiveFilesFromOptions {\n\n}\n\nexport class HelpersFileFolders {\n /**\n * Calculate file or string checksum\n */\n checksum(absolutePathToFileOrContent: string, algorithm?: 'md5' | 'sha1') {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n getValueFromJSON(\n filepath: string,\n lodashGetPath: string,\n defaultValue = void 0,\n ): any {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n getValueFromJSONC(\n filepath: string,\n lodashGetPath: string,\n defaultValue = void 0,\n ): any {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n readValueFromJson(\n filepath: string,\n lodashGetPath: string,\n defaultValue = void 0,\n ): any {\n/* */\n/* */\n return (void 0);\n }\n\n readValueFromJsonC(\n filepath: string,\n lodashGetPath: string,\n defaultValue = void 0,\n ): any {\n/* */\n/* */\n return (void 0);\n }\n\n setValueToJSON(filepath: string | string[], lodashGetPath: string, value: any): void {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n setValueToJSONC(filepath: string, lodashGetPath: string, value: any): void {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n /**\n * file size in bytes\n */\n size(filePath: string): number {\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n pathFromLink(filePath: string): string {\n/* */\n/* */\n return (void 0);\n }\n\n\n\n\n\n\n\n /**\n * @deprecated\n */\n renameFolder(from: string, to: string, cwd?: string): void {\n/* */\n/* */\n return (void 0);\n }\n\n /**\n * @deprecated\n */\n renameFiles(from: string, to: string, cwd?: string): void {\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 getTempFolder() {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n isPlainFileOrFolder(filePath: string): boolean {\n/* */\n/* */\n return (void 0);\n }\n\n /**\n * @deprecated\n * use import (or modules only on backend)\n */\n requireUncached(module: string): any {\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n /**\n * @deprecated\n * use import (or modules only on backend)\n *\n * get default export object from js file\n * @param jsFilePath\n */\n require(jsFilePath: 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 return (void 0);\n }\n\n tryRecreateDir(dirpath: string): void {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n /**\n * @deprecated\n */\n tryCopyFrom(source: string, destination: string, options = {}): 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 return (void 0);\n }\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n move(from: string, to: string): 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 return (void 0);\n }\n\n findChildren<T>(\n location: string,\n createFn: (childLocation: string) => T,\n options?: { allowAllNames: boolean },\n ): T[] {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n /**\n * @deprecated\n */\n findChildrenNavi<T>(\n location: string,\n createFn: (childLocation: string) => T,\n ): T[] {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n /**\n * get all files from folder\n * absolute paths\n */\n getRecrusiveFilesFrom(\n dir: string,\n ommitFolders: string[] = [],\n options?: GetRecrusiveFilesFromOptions,\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 return (void 0);\n }\n\n checkIfNameAllowedForTaonProj(folderName: string): boolean {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n getLinesFromFiles(filename: string, lineCount?: number): 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 return (void 0);\n }\n\n /**\n * Get the most recent changes file in direcory\n * @param dir absoulute path to file\n */\n getMostRecentFileName(dir: string): string {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n getMostRecentFilesNames(dir: string): string[] {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n removeExcept(fromPath: string, exceptFolderAndFiles: string[]): void {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n copy(\n sourceDir: string | string[],\n destinationDir: string | string[],\n options?: {\n filter?: any;\n overwrite?: boolean;\n recursive?: boolean;\n asSeparatedFiles?: boolean;\n asSeparatedFilesAllowNotCopied?: boolean;\n asSeparatedFilesSymlinkAsFile?: boolean;\n /**\n * folders to omit: example: ['src','node_modules']\n *\n * This option works only with omitFoldersBaseFolder\n */\n omitFolders?: string[];\n /**\n * absolute path for base folder for omitFolder option\n */\n omitFoldersBaseFolder?: string;\n copySymlinksAsFiles?: boolean;\n copySymlinksAsFilesDeleteUnexistedLinksFromSourceFirst?: boolean;\n useTempFolder?: boolean;\n dontAskOnError?: boolean;\n } & CopyOptionsSync,\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/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\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 filterDontCopy(basePathFoldersTosSkip: string[], projectOrBasepath: 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 filterOnlyCopy(\n basePathFoldersOnlyToInclude: string[],\n projectOrBasepath: 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 copyFile(\n sourcePath: string,\n destinationPath: string,\n options?: {\n transformTextFn?: (input: string) => string;\n debugMode?: boolean;\n fast?: boolean;\n dontCopySameContent?: boolean;\n },\n ): boolean {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\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 * get real absolute path\n */\n resolve(fileOrFolderPath: string): string {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n}\n\n ;({}); // @--end-of-file-for-module=tnp-helpers lib/helpers/for-backend/helpers-file-folders.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('[taon-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';\nimport { HelpersProcess } from './for-backend/helpers-process';\nimport { HelpersFileFolders } from './for-backend/helpers-file-folders';\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, UtilsQuickFixes, 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 HelpersTaon extends CoreHelpers {\n\n private static _instance: HelpersTaon & CoreHelpers;\n public static get Instance(): HelpersTaon {\n if (!HelpersTaon._instance) {\n HelpersTaon._instance = new HelpersTaon();\n }\n return HelpersTaon._instance;\n }\n\n\n\n private constructor(\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 * default strategy is cli\n * Please keep: 'ts-node', 'typescript' as dependency in your package.json\n */\n async ncc(\n pathToJsFile: string,\n outputFilePath: string,\n options?: {\n strategy?: 'cli' | 'vscode-ext' | 'node-app' | 'electron-app';\n /**\n * ! beforeWrite needs to return output\n */\n beforeWrite?: (options: {\n output?: string;\n copyToDestination?: (fileOrFolderAbsPath: string) => void;\n }) => string;\n additionalExternals?: string[];\n skipFixingSQLlite?: boolean;\n minify?: 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 return (void 0);\n }\n\n /**\n * @deprecated\n * use Utils.uniqArray from tnp-core\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 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\nexport interface HelpersTaon\n extends HelpersStringsRegexes,\n HelpersProcess,\n HelpersFileFolders {}\n\napplyMixins(HelpersTaon, [\n HelpersStringsRegexes,\n HelpersProcess,\n HelpersFileFolders,\n]);\n\n\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\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 isUsingDB(): 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/classes/base-db.ts","\n\n\nimport { crossPlatformPath } from 'tnp-core/websql';\n\nimport type { BaseProjectResolver } from './classes/base-project-resolver';\nimport { BaseDb } from './classes/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(ins: BaseProjectResolver) {\n super(ins, 'config', defaultDb);\n }\n private get selectedCodeEditorKey(): string {\n return 'selected-code-editor';\n }\n\n public async selectCodeEditor(): Promise<\n 'code' | 'idea' | 'idea64' | string\n > {\n/* */\n/* */\n/* */\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 ;({}); // @--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 \"./classes/base-project-resolver\";\nimport { BaseDb } from \"./classes/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\nimport { Taon } from 'taon/websql';\nimport { _, chalk } from 'tnp-core/websql';\n\nexport type PortStatus =\n | 'unassigned'\n | 'assigned'\n | 'assigned-not-registered'\n | 'assigned-taken-by-os';\n\nexport const PortStatusArr: PortStatus[] = [\n 'unassigned',\n 'assigned',\n 'assigned-not-registered',\n 'assigned-taken-by-os',\n];\n\n@Taon.Entity({\n className: 'Port',\n uniqueKeyProp: 'port',\n})\nexport class Port extends Taon.Base.Entity {\n static from(opt: Omit<Port, 'version' | '_' | 'clone' | 'titleOnList'>) {\n return _.merge(new Port(), opt);\n }\n\n static getTitleForFreePort(port: Number) {\n return `free port ${port}`\n }\n\n get titleOnList(): string {\n/* */\n/* */\n return (void 0);\n }\n\n\n\n @Taon.Orm.Column.Primary({\n type: 'int',\n unique: true,\n })\n\n port: number;\n\n\n\n\n @Taon.Orm.Column.Custom({\n type: 'varchar',\n length: 1000,\n unique: true,\n })\n\n serviceId: string;\n\n\n\n /**\n * Port status\n */\n\n @Taon.Orm.Column.String500<PortStatus>('unassigned')\n\n status: PortStatus;\n\n\n\n /**\n * When port was assigned as registered service\n */\n\n @Taon.Orm.Column.Number()\n\n whenAssignedTimestamp?: Number;\n\n}\n\n ;({}); // @--end-of-file-for-module=tnp-helpers lib/base/tcp-udp-ports/ports.entity.ts","\n\n\nimport { Helpers, UtilsTerminal } from 'tnp-core/websql';\nimport { _, chalk } from 'tnp-core/websql';\n\nimport type { CfontAlign, CfontStyle } from '../../../models';\n\nimport type { BaseCliWorker } from './base-cli-worker';\nimport type { BaseCliWorkerController } from './base-cli-worker-controller';\n\n\nexport class BaseCliWorkerTerminalUI<\n WORKER extends BaseCliWorker<BaseCliWorkerController, any>,\n> {\n constructor(protected worker: WORKER) {}\n\n\n protected async headerText(): Promise<string> {\n return _.startCase(this.worker.serviceID);\n }\n\n\n\n protected textHeaderStyle(): CfontStyle {\n return 'block';\n }\n\n\n\n protected headerTextAlign(): CfontAlign {\n return 'left';\n }\n\n\n\n /**\n * override whole terminal header\n */\n protected async header(): Promise<void> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n async infoMessageBelowHeader(): Promise<void> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n protected get backAction() {\n return {\n back: {\n name: 'Back',\n },\n };\n }\n\n\n\n protected get chooseAction() {\n return {\n emptyAction: {\n name: ' -- choose any action below --',\n action: async () => {},\n },\n };\n }\n\n\n\n protected getWorkerTerminalActions(options?: {\n exitIsOnlyReturn?: boolean;\n chooseAction?: boolean;\n }): {\n [uniqeActionName: string]: {\n name: string;\n action: () => unknown | Promise<unknown>;\n };\n } {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\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 async infoScreen(options?: {\n exitIsOnlyReturn?: boolean;\n }): Promise<void> {\n options = options || {};\n while (true) {\n Helpers.clearConsole();\n\n await this.header();\n\n await this.infoMessageBelowHeader();\n const choices = this.getWorkerTerminalActions(options);\n const choice = await UtilsTerminal.select<keyof typeof choices>({\n choices,\n question: 'Choose action',\n });\n const action = choices[choice].action;\n const result = await action();\n if (choice === 'exit' && result) {\n break;\n }\n }\n }\n\n\n\n public displaySpecialWorkerReadyMessage(): void {\n console.log(this.worker.SPECIAL_WORKER_READY_MESSAGE);\n }\n\n}\n\n ;({}); // @--end-of-file-for-module=tnp-helpers lib/base/classes/base-cli-worker/base-cli-worker-terminal-ui.ts","\n\n\nimport { EndpointContext, Taon } from 'taon/websql';\nimport { config } from 'tnp-config/websql';\nimport { chalk, crossPlatformPath, _, os, chokidar, UtilsProcess, Utils, UtilsTerminal, } from 'tnp-core/websql';/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n\n\nimport { CfontAlign, CfontStyle, Helpers } from '../../../index';\n\nimport { BaseCliWorkerConfig } from './base-cli-worker-config';\nimport type { BaseCliWorkerController } from './base-cli-worker-controller';\nimport { BaseCliWorkerTerminalUI } from './base-cli-worker-terminal-ui';\n\n\n\nconst WORKER_INIT_START_TIME_LIMIT = 25; // 15 seconds max to start worker\nconst START_PORT_FOR_SERVICES = 3600;\n\n\nexport abstract class BaseCliWorker<\n REMOTE_CTRL extends BaseCliWorkerController,\n TERMINAL_UI extends BaseCliWorkerTerminalUI<any>,\n> {\n\n public readonly SPECIAL_WORKER_READY_MESSAGE = '$$$ WORKER_READY $$$';\n\n // @ts-ignore TODO weird inheritance problem\n readonly terminalUI: TERMINAL_UI = new BaseCliWorkerTerminalUI(this);\n readonly workerContextTemplate: ReturnType<typeof Taon.createContextTemplate>;\n private workerMainContext: ReturnType<typeof Taon.createContext>;\n private workerRemoteContext: ReturnType<typeof Taon.createContext>;\n readonly controllerClass: new () => REMOTE_CTRL;\n private contextForRemoteConnection: EndpointContext;\n\n\n protected get pathToProcessLocalInfoJson(): string {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n public get processLocalInfoObj(): BaseCliWorkerConfig {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n\n\n constructor(\n /**\n * unique id for service\n */\n public readonly serviceID: string,\n /**\n * external command that will start service\n */\n public readonly startCommand: string,\n /**\n * unique id for service\n */\n public readonly serviceVersion: string,\n ) {}\n\n\n\n /**\n * start normally process\n * this will crash if process already started\n */\n protected async startNormallyInCurrentProcess(): Promise<void> {\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 getControllerForRemoteConnection(): Promise<REMOTE_CTRL> {\n/* */\n/* */\n/* */\n/* */\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 async startDetachedIfNeedsToBeStarted(options?: {\n useCurrentWindowForDetach?: boolean;\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 * stop if started\n */\n async kill(options?: { dontRemoveConfigFile?: boolean }) {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n /**\n * kill detached process and start again\n * @param options.detached - default true\n */\n async restart(options?: {\n detached?: boolean;\n useCurrentWindowForDetach?: boolean;\n }) {\n options = options || {};\n options.detached = _.isUndefined(options.detached) ? true : false;\n await this.kill();\n //longer because os is disposing process previous process\n\n if (options.detached) {\n Helpers.info(\n `Restarting service \"${this.serviceID}\" in detached mode...`,\n );\n await this.startDetached(options);\n } else {\n Helpers.info(\n `Restarting service \"${this.serviceID}\" in current process...`,\n );\n await this.startNormallyInCurrentProcess();\n }\n }\n\n\n\n /**\n * only for cli start\n * @param cliParams on from cli\n */\n async cliStartProcedure(cliParams: any) {\n const detached = !!cliParams['detached'] || !!cliParams['detach'];\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 preventExternalConfigChange() {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n protected async preventStartIfAlreadyStarted(): Promise<void> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n protected async killWorkerWithLowerVersion(): Promise<void> {\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 has 2 purposes:\n * - infinite check when when detached process finished starting\n * - quick check if service is healthy / already started\n */\n protected async isServiceHealthy(options: {\n healthCheckRequestTrys?: number;\n }): 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/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\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 * start if not started detached process\n */\n protected async startDetached(options?: {\n useCurrentWindowForDetach?: 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 return (void 0);\n }\n\n\n\n private saveProcessInfo(processConfig: Partial<BaseCliWorkerConfig>) {\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 initializeWorkerMetadata() {\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 waitForProcessPortSavedToDisk(): 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 return (void 0);\n }\n\n\n\n public async getServicePort(): Promise<number> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n}\n\n ;({}); // @--end-of-file-for-module=tnp-helpers lib/base/classes/base-cli-worker/base-cli-worker.ts","\n\nimport { gte } from 'semver';\nimport { _ } from 'tnp-core/websql';\n\n\nexport class BaseCliWorkerConfig {\n static from(opt: Partial<BaseCliWorkerConfig>): BaseCliWorkerConfig {\n return _.merge(new BaseCliWorkerConfig(), opt);\n }\n\n /**\n * port taken by service\n */\n port: number;\n /**\n * unique in whole system id of service\n */\n serviceID: string;\n /**\n * pid of service process\n */\n pid: number;\n /**\n * timestamp when service was started\n * (in other cases = null)\n */\n startTimestamp: number;\n /**\n * version\n */\n version: string;\n\n hasBiggerOrEqualWorkerVersionThan(other: BaseCliWorkerConfig): boolean {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n isEquals(other: BaseCliWorkerConfig): boolean {\n other = BaseCliWorkerConfig.from(other);\n return (\n !!this.serviceID &&\n !!this.port &&\n !!this.pid &&\n this.serviceID === other.serviceID &&\n this.port === other.port &&\n this.pid === other.pid\n );\n }\n\n get isEmpty(): boolean {\n return !this.serviceID && !this.port && !this.pid;\n }\n}\n\n\n ;({}); // @--end-of-file-for-module=tnp-helpers lib/base/classes/base-cli-worker/base-cli-worker-config.ts","\n\nimport { Taon } from 'taon/websql';\nimport { Helpers } from 'tnp-core/websql';\n\nimport { BaseCliWorkerConfig } from './base-cli-worker-config';\n\n@Taon.Controller({\n className: 'BaseCliWorkerController',\n})\nexport abstract class BaseCliWorkerController extends Taon.Base\n .Controller {\n /**\n * service id\n */\n private cliWorkerServiceId: string = null;\n private cliWorkerServiceVersion: string = null;\n\n\n @Taon.Http.PUT()\n baseCLiWorkerCommand_initializeMetadata(\n @Taon.Http.Param.Body('serviceId') serviceId: string,\n @Taon.Http.Param.Body('serviceVersion') serviceVersion: string,\n ): Taon.Response<void> {\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n @Taon.Http.GET()\n baseCLiWorkerCommand_kill(): Taon.Response<void> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n @Taon.Http.GET({\n pathIsGlobal: true,\n\n\n })\n info(): Taon.Response<string> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n @Taon.Http.POST()\n baseCLiWorkerCommand_isHealthy(\n @Taon.Http.Param.Body() checkingProcessConfig: BaseCliWorkerConfig,\n ): Taon.Response<boolean> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n @Taon.Http.POST()\n baseCLiWorkerCommand_hasUpToDateVersion(\n @Taon.Http.Param.Body() checkingProcessConfig: BaseCliWorkerConfig,\n ): Taon.Response<boolean> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n}\n\n ;({}); // @--end-of-file-for-module=tnp-helpers lib/base/classes/base-cli-worker/base-cli-worker-controller.ts","\n\nexport * from './base-cli-worker';\nexport * from './base-cli-worker-controller';\nexport * from './base-cli-worker-config';\nexport * from './base-cli-worker-terminal-ui';\n\n ;({}); // @--end-of-file-for-module=tnp-helpers lib/base/classes/base-cli-worker/index.ts","\n\n\nimport { Taon } from 'taon/websql';\nimport { _, UtilsOs } from 'tnp-core/websql';\n\nimport { BaseCliWorkerController } from '../classes/base-cli-worker';\n\nimport { Port, PortStatus } from './ports.entity';\n\n\n@Taon.Controller({\n className: 'PortsController',\n})\nexport class PortsController extends BaseCliWorkerController {\n\n public START_PORT = 3000;\n public END_PORT = 6000;\n public readonly portsCache = new Map<string, Port>();\n\n\n\n\n\n protected get firstFreePort(): Port | null | undefined {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n protected firstUnassignedPortMoreThan(port: number) {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n\n\n\n\n\n @Taon.Http.GET()\n getFirstFreePort(): Taon.Response<Port> {\n return async () => {\n return this.firstFreePort;\n };\n }\n\n\n\n @Taon.Http.GET()\n getPortByNumber(\n @Taon.Http.Param.Query('portNumber') portNumber: number,\n ): Taon.Response<Port> {\n return async () => {\n portNumber = Number(portNumber);\n return Array.from(this.portsCache.values()).find(\n f => f.port === portNumber,\n );\n };\n }\n\n\n\n @Taon.Http.GET()\n getPortsByStatus(\n @Taon.Http.Param.Query('status') status: PortStatus,\n ): Taon.Response<Port[]> {\n return async () => {\n return Array.from(this.portsCache.values())\n .filter(f => f.status === status)\n .sort(\n\n (a, b) => {\n if (a.port < b.port) {\n return -1;\n }\n if (a.port > b.port) {\n return 1;\n }\n return 0;\n },\n );\n };\n }\n\n\n\n\n\n\n\n /**\n * make it unassigned\n */\n @Taon.Http.DELETE()\n deletePort(\n @Taon.Http.Param.Query('portNumber') portNumber: number,\n ): Taon.Response<Port> {\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 * make it unassigned\n */\n @Taon.Http.PUT()\n updatePortUniqueId(\n @Taon.Http.Param.Query('portNumber') portNumber: number,\n @Taon.Http.Param.Query('serviceId') serviceId: string,\n ): Taon.Response<Port> {\n/* */\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 @Taon.Http.POST()\n addTakeByOsPort(\n @Taon.Http.Param.Query('portNumber') portNumber: number,\n @Taon.Http.Param.Query('uniqueId') uniqueId: string,\n ): Taon.Response<Port> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n\n\n /**\n * @param uniqueServiceName unique service name\n * @param startFrom start searching for free port from this number\n * @returns\n */\n @Taon.Http.PUT()\n registerAndAssignPort(\n @Taon.Http.Param.Query('uniqueServiceName') uniqueServiceName: string,\n @Taon.Http.Param.Query('startFrom') startFrom?: number,\n ): Taon.Response<Port> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\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 ;({}); // @--end-of-file-for-module=tnp-helpers lib/base/tcp-udp-ports/ports.controller.ts","\n\nimport { Taon } from 'taon/websql';\nimport { QueryRunner } from 'taon-typeorm/websql';\n\n@Taon.Migration({\n className: 'MainContext_1736198527297_init',\n})\nexport class MainContext_1736198527297_init extends Taon.Base.Migration {\n /**\n * remove this method if you are ready to run this migration\n */\n public isReadyToRun(): boolean {\n return false;\n }\n\n async up(queryRunner: QueryRunner): Promise<any> {\n\n }\n\n async down(queryRunner: QueryRunner): Promise<any> {\n\n }\n}\n\n@Taon.Migration({\n className: 'PortsContext_1736198527297_init',\n})\nexport class PortsContext_1736198527297_init extends Taon.Base.Migration {\n /**\n * remove this method if you are ready to run this migration\n */\n public isReadyToRun(): boolean {\n return true;\n }\n\n async up(queryRunner: QueryRunner): Promise<any> {\n\n\n }\n\n async down(queryRunner: QueryRunner): Promise<any> {\n\n\n }\n}\n\n ;({}); // @--end-of-file-for-module=tnp-helpers migrations/1736198527297_init.ts","\n\nimport { Taon } from 'taon/websql';\nimport { _ } from 'tnp-core/websql';\nimport { QueryRunner } from 'taon-typeorm/websql';\nimport { Port, PortsController } from '../lib';\n\nconst portsWithDescription = {\n 3000: 'Commonly used for development servers',\n 3001: 'Alternate development server port',\n 3306: 'MySQL',\n 3389: 'Remote Desktop Protocol (RDP)',\n 3478: 'STUN (Session Traversal Utilities for NAT)',\n 4000: 'Alternative development server port',\n 4200: 'Angular CLI Development Server',\n 4500: 'IPSec NAT traversal',\n 4567: 'Sinatra Default Port',\n 5000: 'Flask, Python development server, or Node.js apps',\n 5432: 'PostgreSQL',\n 5500: 'Live Server (VS Code Extension)',\n 5672: 'RabbitMQ',\n 5800: 'VNC Remote Desktop (HTTP)',\n 5900: 'VNC Remote Desktop',\n 5984: 'CouchDB',\n 6000: 'in use by something in macos',\n};\n\n@Taon.Migration({\n className: 'PortsContext_1736199486472_addingNotAssignablePorts',\n})\nexport class PortsContext_1736199486472_addingNotAssignablePorts extends Taon\n .Base.Migration {\n protected portsController: PortsController =\n this.injectController(PortsController);\n\n private readonly commonPortsFrom3000to6000: number[] =\n Object.keys(portsWithDescription).map(Number);\n\n async up(queryRunner: QueryRunner): Promise<any> {\n const db = await queryRunner.manager.getRepository(Port);\n\n const allPorts = this.commonPortsFrom3000to6000.map(port =>\n Port.from({\n port,\n serviceId: `not assignable (${portsWithDescription[port]})`,\n status: 'assigned-taken-by-os',\n }),\n );\n await db.save(allPorts);\n for (const commonPortObj of allPorts) {\n this.portsController.portsCache.set(\n commonPortObj.serviceId,\n commonPortObj,\n );\n }\n }\n\n async down(queryRunner: QueryRunner): Promise<any> {\n const db = await queryRunner.manager.getRepository(Port);\n await db.remove(\n await db.find({\n where: {\n status: 'assigned-taken-by-os',\n },\n }),\n );\n const allPorts = Array.from(\n this.portsController.portsCache.values(),\n ).filter(f => f.status === 'assigned-taken-by-os');\n for (const port of allPorts) {\n this.portsController.portsCache.delete(port.serviceId);\n }\n }\n}\n\n ;({}); // @--end-of-file-for-module=tnp-helpers migrations/1736199486472_addingNotAssignablePorts.ts","\n\nimport { Taon } from 'taon/websql';\nimport { QueryRunner } from 'taon-typeorm/websql';\nimport { _ } from 'tnp-core/websql';\nimport { Port, PortsController } from '../lib';\n\n@Taon.Migration({\n className: 'PortsContext_1736454437350_addFreePorts',\n})\nexport class PortsContext_1736454437350_addFreePorts extends Taon.Base\n .Migration {\n protected portsController: PortsController =\n this.injectController(PortsController);\n\n async up(queryRunner: QueryRunner): Promise<any> {\n const portsTableRepo = await queryRunner.manager.getRepository(Port);\n const addFreePortsInRange = _.range(\n this.portsController.START_PORT,\n this.portsController.END_PORT + 1,\n );\n\n const allTakeByOsPort = (\n await portsTableRepo.find({\n where: {\n status: 'assigned-taken-by-os',\n },\n })\n ).map(f => f.port);\n\n const freePortsInRange = addFreePortsInRange.map(port =>\n Port.from({\n port: port,\n serviceId: Port.getTitleForFreePort(port),\n status: 'unassigned',\n }),\n ).filter(f => !allTakeByOsPort.includes(f.port));\n\n await portsTableRepo.save(freePortsInRange);\n\n for (const port of freePortsInRange) {\n this.portsController.portsCache.set(port.serviceId, port);\n }\n }\n\n async down(queryRunner: QueryRunner): Promise<any> {\n\n const db = await queryRunner.manager.getRepository(Port);\n await db.remove(\n await db.find({\n where: {\n status: 'unassigned',\n },\n }),\n );\n const allPorts = Array.from(\n this.portsController.portsCache.values(),\n ).filter(f => f.status === 'unassigned');\n for (const port of allPorts) {\n this.portsController.portsCache.delete(port.serviceId);\n }\n }\n}\n\n ;({}); // @--end-of-file-for-module=tnp-helpers migrations/1736454437350_addFreePorts.ts","\n\n\nimport { MainContext_1736198527297_init, PortsContext_1736198527297_init, } from './1736198527297_init';/* */\n/* */\n/* */\n\nimport { PortsContext_1736199486472_addingNotAssignablePorts } from './1736199486472_addingNotAssignablePorts';\nimport { PortsContext_1736454437350_addFreePorts } from './1736454437350_addFreePorts';\n\nexport const MIGRATIONS_CLASSES_FOR_MainContext = {\n /* 06-01-2025 22:22:07 */ MainContext_1736198527297_init,\n};\nexport const MIGRATIONS_CLASSES_FOR_PortsContext = {\n /* 06-01-2025 22:22:07 */ PortsContext_1736198527297_init,\n /* 06-01-2025 22:38:06 */ PortsContext_1736199486472_addingNotAssignablePorts,\n /* 09-01-2025 21:27:17 */ PortsContext_1736454437350_addFreePorts,\n};\n\n\n ;({}); // @--end-of-file-for-module=tnp-helpers migrations/migrations_index._auto-generated_.ts","\n\n//@ts-nocheck\nexport * from './migrations_index._auto-generated_';\n\n ;({}); // @--end-of-file-for-module=tnp-helpers migrations/index.ts","\n\nimport { BaseContext, Taon } from 'taon/websql';\nimport { os } from 'tnp-core/websql';\nimport { crossPlatformPath, path, Helpers } from 'tnp-core/websql';\n\nimport { MIGRATIONS_CLASSES_FOR_PortsContext } from '../../../migrations';\n\nimport { PortsController } from './ports.controller';\nimport { Port } from './ports.entity';\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\nexport const PortsContextTemplate = Taon.createContextTemplate(() => ({\n contextName: 'PortsContext',\n contexts: { BaseContext },\n controllers: { PortsController },\n entities: { Port },\n migrations: { ...MIGRATIONS_CLASSES_FOR_PortsContext },\n skipWritingServerRoutes: true,\n/* */\n/* */\n/* */\n/* */\n/* */\n \n logs: {\n migrations: true,\n },\n}));\n\n ;({}); // @--end-of-file-for-module=tnp-helpers lib/base/tcp-udp-ports/tcp-udp-ports.context.ts","\n\n\nimport { UtilsTerminal, _ } from 'tnp-core/websql';\n\nimport { Helpers, Port, PortStatusArr } from '../../index';\nimport { CfontStyle } from '../../models';\nimport { BaseCliWorkerTerminalUI } from '../classes/base-cli-worker/base-cli-worker-terminal-ui';\n\nimport { PortStatus } from './ports.entity';\nimport type { PortsWorker } from './tcp-upd-ports.worker';\n\n\nexport class TcpUdpPortsTerminalUI extends BaseCliWorkerTerminalUI<PortsWorker> {\n\n protected async headerText(): Promise<string> {\n return 'TCP/UDP|Ports DB';\n }\n\n\n\n protected textHeaderStyle(): CfontStyle {\n return 'block';\n }\n\n\n\n protected async crudMenuForTakeByOsPorts() {\n const { selected: actionChoice } =\n await UtilsTerminal.selectActionAndExecute({\n back: {\n name: ' - back - ',\n },\n editPort: {\n name: 'Edit port',\n },\n addPort: {\n name: 'Add port',\n },\n deletePort: {\n name: 'Delete port (make it unassigned)',\n },\n });\n\n switch (actionChoice) {\n case 'editPort':\n await this.editPortTerminalUiProcess();\n break;\n case 'addPort':\n await this.addPortTerminalUiProcess();\n break;\n case 'deletePort':\n await this.deletePortTerminalUiProcess();\n break;\n }\n }\n\n\n\n protected async addPortTerminalUiProcess(): 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 return (void 0);\n }\n\n\n\n protected async selectPortProcess(\n ports: Port[],\n title: string,\n ): Promise<Port> {\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 deletePortTerminalUiProcess(): 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 protected async editPortTerminalUiProcess(): 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 return (void 0);\n }\n\n\n\n getWorkerTerminalActions(options?: { exitIsOnlyReturn?: 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 return (void 0);\n }\n\n\n\n protected async displayItemsForPortsStatus(status: PortStatus) {\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 getNewPortToAdd(): 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/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n}\n\n ;({}); // @--end-of-file-for-module=tnp-helpers lib/base/tcp-udp-ports/tcp-upd-ports-terminal-ui.ts","\n\n\nimport { EndpointContext } from 'taon/websql';\nimport { _ } from 'tnp-core/websql';\n\nimport { Helpers } from '../../index';\nimport { BaseCliWorker } from '../classes/base-cli-worker';\nimport { PortsController } from '../tcp-udp-ports/ports.controller';\nimport { PortsContextTemplate } from '../tcp-udp-ports/tcp-udp-ports.context';\n\nimport { TcpUdpPortsTerminalUI } from './tcp-upd-ports-terminal-ui';\n\n\nexport class PortsWorker extends BaseCliWorker<\n PortsController,\n TcpUdpPortsTerminalUI\n> {\n terminalUI = new TcpUdpPortsTerminalUI(this);\n\n workerContextTemplate = PortsContextTemplate as any; // TODO for some reason as any is nessesary\n controllerClass = PortsController;\n}\n\n ;({}); // @--end-of-file-for-module=tnp-helpers lib/base/tcp-udp-ports/tcp-upd-ports.worker.ts","\n\nexport * from './ports.entity';\nexport * from './ports.controller';\nexport * from './tcp-upd-ports.worker';\n\n ;({}); // @--end-of-file-for-module=tnp-helpers lib/base/tcp-udp-ports/index.ts","\n\n\nexport const BUILD_FRAMEWORK_CLI_NAME = 'tnp';\nexport const CURRENT_PACKAGE_VERSION = '19.0.5';\n\n \n ;({}); // @--end-of-file-for-module=tnp-helpers lib/build-info._auto-generated_.ts","\n\n\nimport { config } from 'tnp-config/websql';\nimport { fse } from 'tnp-core/websql';\nimport { path, crossPlatformPath } from 'tnp-core/websql';\nimport { _ } from 'tnp-core/websql';\n\nimport { Helpers } from '../../index';\nimport { ConfigDatabase } from '../config-database';\nimport { ProjectDatabase } from '../project-database';\nimport { PortsWorker } from '../tcp-udp-ports';\nimport { CURRENT_PACKAGE_VERSION } from '../../build-info._auto-generated_';\n\nimport { BaseProject } from './base-project';\n\n\nexport class BaseProjectResolver<PROJECT extends Partial<BaseProject> = any> {\n configDb: ConfigDatabase = new ConfigDatabase(this);\n projectsDb: ProjectDatabase = new ProjectDatabase(this);\n readonly portsWorker: PortsWorker;\n\n\n protected readonly NPM_PROJECT_KEY = 'npm';\n protected projects: PROJECT[] = [];\n /**\n * To speed up checking folder I am keeping paths for already checked folder\n * This may break things that are creating new projects\n */\n protected emptyLocations: string[] = [];\n\n\n\n constructor(\n protected readonly classFn: any,\n public readonly cliToolName: string,\n ) {\n this.cliToolName = cliToolName;\n\n if (!this.cliToolName) {\n Helpers.throw(`cliToolName is not provided`);\n }\n this.portsWorker = new PortsWorker(\n 'ports-worker',\n `${this.cliToolName} startCliServicePortsWorker --skipCoreCheck`,\n CURRENT_PACKAGE_VERSION,\n );\n }\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 | 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/* */\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<\n T extends BaseProject<any, any> = BaseProject<any, any>,\n >(\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/classes/base-project-resolver.ts","\n\n\nimport { config } from 'tnp-config/websql';\nimport { CommandOutputOptions } from 'tnp-core/websql';\nimport { CoreModels } from 'tnp-core/websql';\nimport { CLI } from 'tnp-core/websql';\nimport { path, crossPlatformPath } from 'tnp-core/websql';\nimport { fse, chalk } from 'tnp-core/websql';\nimport { _ } from 'tnp-core/websql';\nimport { Utils } from 'tnp-core/websql';\n\nimport { CoreProject, Helpers, UtilsTypescript } from '../../index';\nimport { BaseProjectType } from '../../models';\n\nimport { BaseGit } from './base-git';\nimport type { BaseLibraryBuild } from './base-library-build';\nimport { BaseLinkedProjects } from './base-linked-projects';\nimport { BaseNpmHelpers } from './base-npm-helpers';\nimport { BaseProjectResolver } from './base-project-resolver';\nimport { BaseQuickFixes } from './base-quick-fixes';\nimport { BaseReleaseProcess } from './base-release-process';\nimport { BaseStaticPages } from './base-static-pages';\nimport { BaseVscodeHelpers } from './base-vscode';\n\n\nconst takenPorts = [];\n\nexport abstract class BaseProject<\n PROJECT extends BaseProject<any, any> = BaseProject<any, any>,\n TYPE = BaseProjectType,\n> {\n\n\n\n static ins = new BaseProjectResolver<BaseProject>(BaseProject, 'taon');\n\n\n\n\n\n public cache: any = {};\n public static cache: any = {};\n public get globalCache(): any {\n return BaseProject.cache;\n }\n readonly type: TYPE | string = 'unknow';\n\n /**\n * resolve instance\n */\n abstract readonly ins: BaseProjectResolver<PROJECT>;\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<BaseProject>;\n public npmHelpers?: BaseNpmHelpers;\n\n get packageJson() {\n return this.npmHelpers.packageJson;\n }\n\n get nodeModules() {\n return this.npmHelpers.nodeModules;\n }\n\n public linkedProjects?: BaseLinkedProjects;\n public vsCodeHelpers?: BaseVscodeHelpers;\n public releaseProcess?: BaseReleaseProcess;\n public git?: BaseGit;\n public quickFixes?: BaseQuickFixes;\n public staticPages?: BaseStaticPages;\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/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\n\n /**\n * TODO move this to framework\n * Linked projects are actual inside repo\n * not in separated folders/git sub repos\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(): PROJECT[] {\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 * project folder parent basename\n */\n get parentBasename(): string {\n\n return path.basename(path.dirname(this.location));\n\n }\n\n\n\n /**\n * name from package.json\n */\n get name(): string {\n return this.packageJson?.name || this.nameFromPomXML;\n }\n\n get nameForCli(): string {\n return this.name?.endsWith('-cli') ? this.name : `${this.name}-cli`;\n }\n\n get nameForNpmPackage(): string {\n return this.name;\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(): PROJECT[] {\n\n return this.getAllChildren();\n\n }\n\n\n\n getChildBy(nameOrBasename: string, errors = true): PROJECT {\n\n const c = this.children.find(\n c => c.name === nameOrBasename || c.basename === nameOrBasename,\n );\n if (errors && !c) {\n\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(): PROJECT {\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 nearestParent(): PROJECT {\n\n if (this.cache['nearestParent']) {\n return this.cache['nearestParent'];\n }\n const nearestParent = this.ins.nearestTo([this.location, '..']) as PROJECT;\n if (nearestParent) {\n\n\n\n\n this.cache['nearestParent'] = nearestParent;\n }\n return nearestParent;\n\n }\n\n\n\n get grandpa(): PROJECT {\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 allNpmPackagesNames(): string[] {\n return [this.name];\n }\n\n get titleBarName() {\n const allPackagesNames =\n this.allNpmPackagesNames.filter(f => f !== this.basename).length === 0\n ? ''\n : `(${this.allNpmPackagesNames.filter(f => f !== this.basename).join(',')})`;\n\n if (this.parent) {\n return (\n `${path.basename(path.dirname(this.parent.location))}/${this.parent.name}/` +\n `${this.basename} ${allPackagesNames} [ \\${activeEditorShort} ]`\n );\n }\n return (\n `${path.basename(path.dirname(this.location))}/` +\n `${this.basename} (${allPackagesNames}) [ \\${activeEditorShort}]`\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 * Function will return relative path from project location\n */\n relative(absoultePath: string) {\n return crossPlatformPath(\n path.relative(\n crossPlatformPath(this.location),\n crossPlatformPath(absoultePath),\n ),\n );\n }\n\n\n\n /**\n *\n * @param relativePath\n * @param override it will remove ex\n */\n createFolder(\n relativePath: string | string[],\n options?: {\n override?: boolean;\n },\n ) {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n formatFile(specificRelativePath: string | string[]) {\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n formatAllFiles() {\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 | string[], exactPath = true) {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n removeFolderByRelativePath(relativePathToFolder: string) {\n/* */\n/* */\n/* */\n/* */\n/* */\n \n }\n\n\n get isAngularLib() {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n protected getUniqueForTask(task: string): string {\n return `task(${task}) in ${this.genericName}`;\n }\n\n public async registerAndAssignPort(\n taskName: string,\n options?: { startFrom?: number },\n ): Promise<number> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n /**\n * @deprecated use this.registerAndAssignPort() or Utils.getFreePort() instead\n */\n async assignFreePort(startFrom: number = 4200): Promise<number> {\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 * main/default hardcoded branches\n */\n getMainBranches(): string[] {\n return ['master', 'develop', 'stage', 'prod', 'test'];\n }\n\n\n\n useFeatureInBranchNameForTests() {\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/* */\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 | string[],\n lodashGetPath: string,\n value: any,\n ): void {\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n setValueToJSONC(\n relativePath: string | string[],\n lodashGetPath: string,\n value: any,\n ): void {\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n setValueToJSON5(\n relativePath: string | string[],\n lodashGetPath: string,\n value: any,\n ): void {\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n getValueFromJSON(\n relativePath: string | string[],\n lodashGetPath: string,\n defaultValue: any = void 0,\n ): any {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n getValueFromJSONC(\n relativePath: string | string[],\n lodashGetPath: string,\n defaultValue: any = void 0,\n ): any {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n\n writeFile(relativePath: string | string[], content: string) {\n/* */\n/* */\n/* */\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?: PROJECT,\n parent?: PROJECT,\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): Promise<void> {\n this.npmHelpers.publishToNpmRegistry();\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/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\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/classes/base-project.ts","\n\nimport { BaseProject } from './base-project';\n\nexport abstract class BaseFeatureForProject<\n PROJECT extends BaseProject<any,any> = BaseProject<any,any>,\n> {\n get ins() {\n return this.project.ins;\n }\n\n constructor(protected project: PROJECT) {}\n}\n\n ;({}); // @--end-of-file-for-module=tnp-helpers lib/base/classes/base-feature-for-project.ts","\n\n\nimport { config, FilesNames } from 'tnp-config/websql';\nimport { chalk } from 'tnp-core/websql';\nimport { CoreModels } from 'tnp-core/websql';\nimport { path, crossPlatformPath } from 'tnp-core/websql';\nimport { _, UtilsTerminal } from 'tnp-core/websql';\n\nimport { Helpers } from '../../index';\nimport { LibrariesBuildOptions, LibraryBuildCommandOptions, NgProject, } from '../../models';/* */\n/* */\n/* */\n/* */\n\n\nimport { BaseFeatureForProject } from './base-feature-for-project';\nimport type { BaseProject } from './base-project';\n\n\n/**\n * Base library build for standard angular/typescript projects\n */\nexport abstract class BaseLibraryBuild<\n PROJECT extends BaseProject<BaseProject, any>,\n> extends BaseFeatureForProject<PROJECT> {\n private cache: any = {};\n protected readonly tempOrgTsConfigFile = `tmp-original-${config.file.tsconfig_json}`;\n\n\n protected sortByDeps(libraries: PROJECT[]): 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 return (void 0);\n }\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\n {\n selectedLibs,\n watch,\n watchBuildSupported,\n skipAllLibsQuestion,\n useLastUserConfiguration,\n }: {\n selectedLibs: PROJECT[];\n watch: boolean;\n watchBuildSupported?: boolean;\n skipAllLibsQuestion?: boolean;\n useLastUserConfiguration?: boolean;\n },\n ): Promise<{ selectedLibs: PROJECT[]; 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/* */\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(): PROJECT[] {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n protected getLibraries() {\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 {\n watch = false,\n strategy,\n releaseBuild = false,\n copylink_to_node_modules,\n outputLineReplace,\n libraries,\n useLastUserConfiguration,\n }: LibrariesBuildOptions<PROJECT> & { 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 protected async libWatchBuildProcess({\n lib,\n locationsForNodeModules,\n strategy,\n outputLineReplace,\n }: {\n lib: PROJECT;\n locationsForNodeModules: string[];\n strategy: 'link' | 'copy';\n outputLineReplace?: (outputLine: string) => string;\n }) {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n protected async libNormalBuildProcess({\n lib,\n locationsForNodeModules,\n strategy,\n outputLineReplace,\n }: {\n lib: PROJECT;\n locationsForNodeModules: string[];\n strategy: 'link' | 'copy';\n outputLineReplace?: (outputLine: string) => string;\n }) {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n getLibraryBuildCommand(\n options?: LibraryBuildCommandOptions,\n ): string | undefined {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n get getLibraryBuildSuccessComamnds(): string[] {\n/* */\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 private async changeTsConfigForLibrariesTypes(): Promise<void> {\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 replaceTsConfigsPathes() {\n/* */\n/* */\n/* */\n/* */\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 restoreOriginalTsConfig() {\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/classes/base-library-build.ts","\n\nimport { config } from 'tnp-config/websql';\nimport { crossPlatformPath, path, _ } from 'tnp-core/websql'; // @ts-ignore\nimport { Helpers } from '../../../lib';\nimport { PackageJson } from 'type-fest';\n\nexport interface BaseJsonFileReaderOptions<DATA> {\n /**\n * cwd for <my-json>.json\n * <cwd>/<my-json>\n * (you can also provide full path - basename will be cut)\n */\n cwd?: string;\n /**\n * file name\n * example: package.json, taon.json etc.\n */\n fileName?: string;\n /**\n * json content to read from memory\n */\n jsonContent?: Partial<DATA>;\n /**\n * callback for external reload\n */\n reloadInMemoryCallback?: (data: DATA) => void;\n /**\n * use json with comments reader to read json file\n */\n readJsonAsJsonWithComments?: boolean;\n /**\n * default value for data\n * if file not exist\n * (ONLY FOR cwd + fileName mode)\n */\n defaultValue?: Partial<DATA>;\n}\n\n/**\n * Base class for reading json files\n * There are 2 modes of reading json files:\n * - cwd + fileName (read and write to disk in cwd)\n * - jsonContent (read and write to memory and use\n * reloadInMemoryCallback for external reload)\n */\nexport class BaseJsonFileReader<DATA> {\n\n /**\n * null when package.json not exist\n */\n protected data: DATA | null;\n\n /**\n * use json with comments reader to read package.json\n */\n protected readonly readJsonAsJsonWithComments: boolean = false;\n\n\n\n public readonly cwd: string;\n protected readonly fileName: string;\n /**\n * @deprecated\n * use only when cwd and fileName are not provided\n */\n protected readonly jsonContent?: Partial<DATA>;\n protected readonly defaultValue?: Partial<DATA>;\n protected readonly reloadInMemoryCallback?: (data: DATA) => void;\n constructor(options: BaseJsonFileReaderOptions<DATA>) {\n let {\n cwd,\n fileName,\n jsonContent,\n reloadInMemoryCallback,\n readJsonAsJsonWithComments,\n defaultValue,\n } = options;\n if (cwd) {\n cwd = crossPlatformPath(cwd);\n if (cwd.endsWith(`/${config.file.package_json}`)) {\n cwd = cwd.replace(`/${config.file.package_json}`, '');\n }\n this.cwd = cwd;\n }\n\n this.defaultValue = defaultValue;\n this.fileName = fileName;\n if (cwd && jsonContent) {\n throw new Error(\n `You can't provide cwd and jsonContent at the same time. Choose one.`,\n );\n }\n if (!cwd && !jsonContent) {\n throw new Error(`You need to provide cwd or jsonContent`);\n }\n this.readJsonAsJsonWithComments = !!readJsonAsJsonWithComments;\n this.reloadInMemoryCallback = reloadInMemoryCallback;\n this.jsonContent = _.cloneDeep(jsonContent);\n this.reloadPackageJsonInMemory();\n }\n\n\n\n /**\n * cwd + fileName\n */\n get path() {\n return crossPlatformPath([this.cwd, this.fileName]);\n }\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 if (this.jsonContent) {\n this.data = _.cloneDeep(this.jsonContent as any);\n } else {\n try {\n if (this.readJsonAsJsonWithComments) {\n this.data = Helpers.readJsonC(this.path);\n } else {\n this.data = Helpers.readJson(this.path);\n }\n if (!this.data && this.defaultValue) {\n this.data = _.cloneDeep(this.defaultValue as any);\n }\n } catch (error) {\n if (this.defaultValue) {\n this.data = _.cloneDeep(this.defaultValue as any);\n } else {\n this.data = null;\n }\n }\n }\n this.reloadInMemoryCallback &&\n this.reloadInMemoryCallback(_.cloneDeep(this.data as any));\n }\n\n\n\n saveToDisk(purpose?: string) {\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 linkTo(destination: string): void {\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n getAllData(): DATA {\n return _.cloneDeep(this.data);\n }\n\n\n\n setAllData(data: DATA): void {\n this.data = _.cloneDeep(data);\n this.saveToDisk();\n }\n\n}\n\n ;({}); // @--end-of-file-for-module=tnp-helpers lib/base/classes/base-json-file-reader.ts","\n\nimport { config } from 'tnp-config/websql';\nimport { _, CoreModels } from 'tnp-core/websql';\nimport { Helpers } from 'tnp-core/websql';\nimport { PackageJson as PackageJsonBase } from 'type-fest';\n\nimport { BaseJsonFileReader, BaseJsonFileReaderOptions, } from './base-json-file-reader';/* */\n/* */\n/* */\n\n\ntype PackageJson = PackageJsonBase & { lastBuildTagHash: string };\n\n\nexport type PackageJsonDependencyObj =\n | 'dependencies'\n | 'devDependencies'\n | 'peerDependencies'\n | 'resolutions';\n\nexport const PackageJsonDependencyObjArr = [\n 'dependencies',\n 'devDependencies',\n 'peerDependencies',\n 'resolutions',\n] as PackageJsonDependencyObj[];\n\n\nexport class BasePackageJson extends BaseJsonFileReader<PackageJson> {\n constructor(\n options: Omit<BaseJsonFileReaderOptions<PackageJson>, 'fileName'>,\n ) {\n super({ ...options, fileName: config.file.package_json });\n }\n\n\n\n /**\n * 'dependencies'\n * 'devDependencies'\n * 'peerDependencies'\n * 'resolutions';\n * and whatever is in package.json to npm install\n */\n get dependenciesTypesArray(): PackageJsonDependencyObj[] {\n return PackageJsonDependencyObjArr;\n }\n\n get name(): string {\n return this.data?.name || '';\n }\n\n async setName(name: string): Promise<void> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n /**\n * devDependencies dependencies\n */\n get devDependencies(): PackageJson['devDependencies'] {\n return _.cloneDeep(this.data ? this.data.devDependencies : {}) || {};\n }\n\n\n\n /**\n * resolutions dependencies\n */\n get resolutions(): PackageJson['resolutions'] {\n return _.cloneDeep(this.data ? this.data['resolutions'] : {}) || {};\n }\n\n\n\n /**\n * npm dependencies from package.json\n */\n get dependencies(): PackageJson['dependencies'] {\n return _.cloneDeep(this.data ? this.data.dependencies : {}) || {};\n }\n\n /**\n * set the WHOLE dependencies object\n * THIS WILL NOT MERGE -> IT WILL REPLACE WHOLE DEPENDENCIES OBJECT\n */\n setDependencies(dependencies: PackageJson['dependencies']) {\n if (!this.data) {\n Helpers.warn(\n `[taon][setDependencies] Package.json not exist in ${this.cwd}`,\n );\n return;\n }\n this.data.dependencies = dependencies;\n this.saveToDisk();\n }\n\n\n /**\n * set the WHOLE dependencies object\n * THIS WILL NOT MERGE -> IT WILL REPLACE WHOLE DEPENDENCIES OBJECT\n */\n setDevDependencies(devDependencies: PackageJson['devDependencies']) {\n if (!this.data) {\n Helpers.warn(\n `[taon][setDevDependencies] Package.json not exist in ${this.cwd}`,\n );\n return;\n }\n this.data.devDependencies = devDependencies;\n this.saveToDisk();\n }\n\n\n\n /**\n * peerDependencies dependencies\n */\n get peerDependencies(): PackageJson['peerDependencies'] {\n return _.cloneDeep(this.data ? this.data.peerDependencies : {}) || {};\n }\n\n /**\n * set the WHOLE peerDependencies object\n * THIS WILL NOT MERGE -> IT WILL REPLACE WHOLE PEER DEPENDENCIES OBJECT\n */\n setPeerDependencies(peerDependencies: PackageJson['peerDependencies']) {\n if (!this.data) {\n Helpers.warn(\n `[taon][setPeerDependencies] Package.json not exist in ${this.cwd}`,\n );\n return;\n }\n this.data.peerDependencies = peerDependencies;\n this.saveToDisk();\n }\n\n\n\n removeDevDependencies() {\n if (!this.data) {\n Helpers.warn(\n `[taon][removeDevDependencies] Package.json not exist in ${this.cwd}`,\n );\n return;\n }\n try {\n delete this.data.devDependencies;\n } catch (error) {}\n this.saveToDisk();\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.data);\n }\n\n /**\n * @returns object witl all deps from package json\n */\n protected allDepsFromPackageJson(packageJson: PackageJson) {\n return _.cloneDeep(\n _.merge({\n ...PackageJsonDependencyObjArr.reduce((acc, depObj) => {\n return {\n ...acc,\n ...(packageJson[depObj] || {}),\n };\n }, {}),\n }),\n );\n }\n\n\n\n /**\n * version from package.json -> property version\n */\n get version(): string {\n return this.data?.version;\n }\n\n setVersion(version: string): void {\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n /**\n * bin with cli config from package.json\n */\n get bin(): Partial<Record<string, string>> {\n return _.cloneDeep(this.data?.bin || {}) as any;\n }\n\n set bin(value: Partial<Record<string, string>>) {\n this.data.bin = value;\n this.saveToDisk('setting bin');\n }\n\n\n\n get engines(): PackageJson['engines'] {\n return _.cloneDeep(this.data.engines);\n }\n\n async setEngines(engines: PackageJson['engines']): Promise<void> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n get homepage(): PackageJson['homepage'] {\n return _.cloneDeep(this.data.homepage);\n }\n\n async setHomepage(homepage: PackageJson['homepage']): Promise<void> {\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 get versionPathAsNumber(): number {\n/* */\n/* */\n/* */\n/* */\n return (void 0);\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 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 return (void 0);\n }\n\n\n\n getVersionFor(releaseType: CoreModels.ReleaseVersionType): string {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n updateDepsFrom(locations: string[]) {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n /**\n * this will NOT SET dependency if\n * dependency name is not in package.json\n */\n updateDependency({\n packageName,\n version,\n }: {\n packageName: string;\n version: string | null;\n }): void {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n get isPrivate(): boolean {\n/* */\n/* */\n return (void 0);\n }\n\n setIsPrivate(value: boolean) {\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n get sideEffects(): boolean {\n/* */\n/* */\n return (void 0);\n }\n\n\n async setMainProperty(main: string, purpose = ''): Promise<void> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n setBuildHash(hash: string): void {\n this.data.lastBuildTagHash = hash;\n this.saveToDisk('setting build hash');\n }\n getBuildHash(): string {\n return this.data.lastBuildTagHash;\n }\n\n}\n\n ;({}); // @--end-of-file-for-module=tnp-helpers lib/base/classes/base-package-json.ts","\n\n\nimport { config } from 'tnp-config/websql';\nimport { UtilsOs } from 'tnp-core/websql';\nimport { CoreModels, crossPlatformPath, fse, path, _, chalk, dateformat, } from 'tnp-core/websql';/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n // @ts-ignore\nimport type { BaseNpmHelpers } from '../../../lib';\n\nimport { Helpers } from '../../index';\n\nimport type { BaseProject } from './base-project';\n\n\nexport type DedupePackage =\n | string\n | {\n package: string;\n excludeFrom?: string[];\n includeOnlyIn?: string[];\n };\n\nexport class BaseNodeModules<\n NPM_HELPERS extends BaseNpmHelpers = BaseNpmHelpers,\n> {\n protected _npmHelpersType: NPM_HELPERS;\n\n\n constructor(\n /**\n * my-path/node_modules\n */\n protected cwd: string,\n protected npmHelpers: NPM_HELPERS,\n ) {\n this.npmHelpers = npmHelpers;\n }\n\n\n\n /**\n * cwd + node_modules\n */\n get path() {\n return crossPlatformPath([this.cwd, config.folder.node_modules]);\n }\n\n\n\n /**\n * Path to package inside node_modules folder\n * @example <project-path>/node_modules/<package-name>\n */\n pathFor(packageName: string): string {\n/* */\n/* */\n return (void 0);\n }\n\n\n\n /**\n * real path of node_modules\n * if node_modules is a link\n * it will return real path.\n * if node_modules is folder = path\n */\n get realPath() {\n try {\n const realPath = fse.realpathSync(this.path);\n return realPath;\n } catch (error) {\n return this.path;\n }\n }\n\n\n\n protected preventWrongLinkDestination(dest: string): string {\n if (!path.isAbsolute(dest)) {\n Helpers.error(\n `[linkTo..] target destination path is not absolute \"${dest}\"`,\n );\n }\n\n if (dest.endsWith(`/${config.folder.node_modules}`)) {\n return dest;\n }\n return crossPlatformPath([dest, config.folder.node_modules]);\n }\n\n\n\n linkToProject(project: Partial<BaseProject>) {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n linkToLocation(location: string): void {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n async makeSureInstalled(options?: Omit<CoreModels.NpmInstallOptions, 'pkg'>) {\n if (this.isEmpty()) {\n await this.reinstall(options);\n }\n }\n\n\n\n async remove(options?: { skipQuestion?: boolean }): Promise<void> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n removePackage(packageInside: string): void {\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n async reinstall(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/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n get isLink(): boolean {\n return Helpers.isSymlinkFileExitedOrUnexisted(this.path);\n }\n\n\n\n get empty() {\n return this.isEmpty();\n }\n\n\n\n /**\n * @returns true if node_modules folder is empty\n * DEEP CHECK - also if node_modules is a link\n * and is not existent\n */\n isEmpty() {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\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 * Prepare command for npm install\n * (or yarn install)\n */\n async prepareCommand(\n options: CoreModels.NpmInstallOptions,\n cwd: string = this.cwd,\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/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n dedupePackages(packagesConfig?: DedupePackage[], countOnly = false): 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 return (void 0);\n }\n\n\n}\n\n ;({}); // @--end-of-file-for-module=tnp-helpers lib/base/classes/base-node-modules.ts","\n\nimport { config } from 'tnp-config/websql';\n\nimport { BaseJsonFileReader } from './base-json-file-reader';\n\n\n/**\n * Minimal interface describing a bower.json file according to:\n * https://github.com/bower/spec/blob/master/json.md\n */\nexport interface BowerJson {\n name: string;\n version?: string;\n description?: string;\n main?: string | string[];\n keywords?: string[];\n authors?: Array<string | { name: string; email?: string; homepage?: string }>;\n license?: string;\n homepage?: string;\n private?: boolean;\n repository?: {\n type: string;\n url: string;\n };\n ignore?: string[];\n dependencies?: Record<string, string>;\n devDependencies?: Record<string, string>;\n\n resolutions?: Record<string, string>;\n moduleType?: string | string[];\n\n}\n\n\nexport class BaseBowerJson extends BaseJsonFileReader<BowerJson> {\n constructor(public cwd: string) {\n super({ cwd, fileName: config.file.bower_json });\n }\n\n\n get dependencies() {\n return (this.data ? this.data.dependencies : {}) || {};\n }\n\n}\n\n ;({}); // @--end-of-file-for-module=tnp-helpers lib/base/classes/base-bower-json.ts","\n\n\nimport { config } from 'tnp-config/websql';\nimport { UtilsTerminal } from 'tnp-core/websql';\nimport { chalk, child_process, crossPlatformPath, fse, path, } from 'tnp-core/websql';/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n\nimport { _ } from 'tnp-core/websql';\nimport { CoreModels } from 'tnp-core/websql';\nimport { PackageJson } from 'type-fest';\n\nimport { Helpers } from '../../index';\n\nimport { BaseBowerJson } from './base-bower-json';\nimport { BaseFeatureForProject } from './base-feature-for-project';\nimport { BaseNodeModules } from './base-node-modules';\nimport { BasePackageJson } from './base-package-json';\nimport type { BaseProject } from './base-project';\n\n\n\nexport class BaseNpmHelpers<\n PROJECT extends BaseProject = BaseProject,\n> extends BaseFeatureForProject<PROJECT> {\n\n public readonly packageJson: BasePackageJson;\n public readonly _packageJsonType: typeof BasePackageJson = BasePackageJson;\n private readonly _packageJsonTypeOriginal: typeof BasePackageJson =\n BasePackageJson;\n\n public readonly nodeModules: BaseNodeModules;\n public readonly _nodeModulesType: typeof BaseNodeModules = BaseNodeModules;\n private readonly __nodeModulesTypeOriginal: typeof BaseNodeModules =\n BaseNodeModules;\n\n public readonly bowerJson: BaseBowerJson;\n\n\n\n\n constructor(project: PROJECT) {\n super(project);\n this.project = project;\n if (this._packageJsonType === this._packageJsonTypeOriginal) {\n this.packageJson = new this._packageJsonType({ cwd: project.location });\n }\n if (this._nodeModulesType === this.__nodeModulesTypeOriginal) {\n this.nodeModules = new this._nodeModulesType(\n project.location,\n this as any,\n );\n }\n this.bowerJson = new BaseBowerJson(project.location);\n }\n\n\n\n preferYarnOverNpm(): boolean {\n return false;\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/* */\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 * @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/* */\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/* */\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 return (void 0);\n }\n\n\n\n async shouldReleaseMessage(options: {\n releaseVersionBumpType: CoreModels.ReleaseVersionType;\n versionToUse?: string;\n children?: BaseProject[];\n whatToRelease: {\n itself: boolean;\n children: boolean;\n };\n skipQuestionToUser?: boolean;\n }): 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/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n /**\n * @param registry when not specified, it will use the default npm registry\n */\n async publishToNpmRegistry(options?: { 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/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n getPackageVersionFromNpmRegistry(\n packageName: string,\n options?: {\n registry?: string;\n },\n ): Promise<string | undefined> {\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/classes/base-npm-helpers.ts","\n\n\nimport { load } from 'json10-writer/websql';\nimport { config } from 'tnp-config/websql';\nimport { _, chalk, crossPlatformPath, path } from 'tnp-core/websql';\n\nimport { Helpers, LinkedPorjectsConfig, LinkedProject, UtilsTypescript, } from '../../index';/* */\n/* */\n/* */\n/* */\n/* */\n\n\nimport { BaseFeatureForProject } from './base-feature-for-project';\nimport type { BaseProject } from './base-project';\n\n\nexport class BaseLinkedProjects<\n PROJECT extends BaseProject = any,\n> extends BaseFeatureForProject<PROJECT> {\n private cache: any = {};\n\n\n get embeddedProject(): PROJECT {\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 PROJECT;\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 PROJECT;\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 PROJECT;\n\n if (linkedPorj) {\n await linkedPorj.linkedProjects.saveLocationToDB();\n } else {\n Helpers.warn(`\n In project ${proj.genericName}\n\n Folder ${link.relativeClonePath} is missing projects...\n\n `);\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/* */\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 private get linkedProjectsConfigTempPath() {\n return this.project.pathFor([`tmp-${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 setOrigin: 'ssh' | 'http',\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/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n}\n\n ;({}); // @--end-of-file-for-module=tnp-helpers lib/base/classes/base-linked-projects.ts","\n\n\nimport { config } from 'tnp-config/websql';\nimport { chalk, dateformat, fse, Utils } from 'tnp-core/websql';\nimport { crossPlatformPath, path, _, UtilsTerminal } from 'tnp-core/websql';\n\nimport { CommitData, Helpers, PushProcessOptions, TypeOfCommit, } from '../../index';/* */\n/* */\n/* */\n/* */\n/* */\n\nimport { translate } from '../translate';\n\nimport { BaseFeatureForProject } from './base-feature-for-project';\nimport type { BaseProject } from './base-project';\n\n\nexport class BaseGit<\n PROJECT extends BaseProject = any,\n> extends BaseFeatureForProject<PROJECT> {\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(): void {\n/* */\n/* */\n return (void 0);\n }\n\n\n\n stageFile(relativeFilePath: string): void {\n/* */\n/* */\n return (void 0);\n }\n\n\n\n stash(options?: { onlyStaged?: boolean }) {\n/* */\n/* */\n return (void 0);\n }\n\n\n\n rebase(toBranch: string) {\n/* */\n/* */\n return (void 0);\n }\n\n\n\n stashApply(): void {\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 /**\n * general default development branch for all kinds of projects\n */\n getDefaultDevelopmentBranch(): string {\n return 'develop';\n }\n\n\n\n isUsingActionCommit(): boolean {\n return false;\n }\n\n\n jiraIssuesAreOutsideBrackets() {\n return false;\n }\n\n async getUserInfo(\n global = false,\n ): Promise<{ name?: string; email?: string }> {\n/* */\n/* */\n return (void 0);\n }\n\n async setUserInfo(\n { name, email }: { name?: string; email?: string },\n global = false,\n ): Promise<void> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\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 * Resolve last changes\n * - uncommited changes\n * - action commits to melt\n */\n async resolveLastChanges(options?: {\n\n tryAutomaticActionFirst?: boolean;\n projectNameAsOutputPrefix?: string;\n }): Promise<void> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\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 get hasActionCommitsToMelt(): boolean {\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n meltActionCommits() {\n/* */\n/* */\n \n }\n\n\n\n /**\n *\n * @param newVersion\n * @param pushWithoutAsking\n */\n async tagAndPushToGitRepo(\n newVersion: string,\n autoReleaseUsingConfig: boolean,\n isCiProcess: boolean,\n ): Promise<void> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n async pullCurrentBranch(options?: {\n askToRetry?: boolean;\n /**\n * default true, when false it will throw error instead process.exit(0)\n */\n exitOnError?: 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): void {\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 ): void {\n/* */\n/* */\n return (void 0);\n }\n\n\n cleanRepoFromAnyFilesExceptDotGitFolder(): void {\n/* */\n/* */\n/* */\n/* */\n return (void 0);\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 /**\n * get provider of remote origin\n */\n get remoteProvider(): string {\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 get stagedFilesRelativePaths(): string[] {\n/* */\n/* */\n return (void 0);\n }\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 automaticallyAddAllChangesWhenPushingToGit() {\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: PROJECT[] = [];\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 PROJECT;\n })\n .filter(f => !!f);\n } else {\n childrenRepos = this.project.children as PROJECT[];\n }\n\n childrenRepos = childrenRepos.filter(\n f => f.git.isInsideGitRepo && f.git.isGitRoot,\n ) as PROJECT[];\n return childrenRepos;\n }\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\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/* */\n return (void 0);\n }\n\n\n\n async pushProcess(options: PushProcessOptions = {}): Promise<void> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\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(setOrigin: 'ssh' | 'http') {\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 _beforePullProcessAction(\n setOrigin: 'ssh' | 'http',\n cloneChildren = false,\n ) {\n/* */\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 * taon pfix proper input my-repo#344\n * that should be\n * taon 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/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n /**\n * This will prevent accidental branch change for taon projects\n * @returns branch name\n */\n duringPushWarnIfProjectNotOnSpecyficDevBranch(): string {\n return void 0;\n }\n\n\n\n async getChangedFilesInCommitByHash(hash: string) {\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\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\n async changesSummary() {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n /**\n * If true command navi reset will reset project\n * and its children.\n *\n * If false command navi reset will reset only project.\n */\n resetIsRestingAlsoChildren(): boolean {\n return true;\n }\n\n}\n\n ;({}); // @--end-of-file-for-module=tnp-helpers lib/base/classes/base-git.ts","\n\nimport { crossPlatformPath, fse, os, path, Utils, UtilsTerminal, } from 'tnp-core/websql';/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n\nimport { _ } from 'tnp-core/websql';\n\nimport { Helpers } from '../../index';\n\nimport { BaseFeatureForProject } from './base-feature-for-project';\nimport type { BaseProject } from './base-project';\n\nexport interface ISettingsVscode {\n 'workbench.colorTheme': string;\n}\n\nexport class BaseVscodeHelpers<\n PROJECT extends BaseProject = any,\n> extends BaseFeatureForProject<PROJECT> {\n /**\n * settings.json relative path\n */\n public readonly settingsJson = '.vscode/settings.json';\n public readonly extensionsJson = '.vscode/extensions.json';\n\n\n private get extensions(): string[] {\n return Helpers.uniqArray([\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n ]).map(c => (c as string).toLowerCase());\n }\n\n\n\n recreateExtensions(): void {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n recreateWindowTitle(): void {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n async installExtensions(\n extensions = this.extensions,\n defaultSelectedAll = false,\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 return (void 0);\n }\n\n\n\n /**\n * This pattern finds a dash followed by at least one digit.\n * It removes everything from that dash to the end of the string.\n * Examples:\n * \"name-of-extension-1.2.3\" -> \"name-of-extension\"\n * \"extension-0.9.5-win32-x64\" -> \"extension\"\n */\n protected stripVersion(folderName: string): string {\n return folderName.replace(/(-\\d+.*)$/, '');\n }\n\n\n\n get installedExtensions(): 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 async applyProperGlobalSettings(): Promise<void> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n public get vscodeSettingsJson(): ISettingsVscode {\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n}\n\n ;({}); // @--end-of-file-for-module=tnp-helpers lib/base/classes/base-vscode.ts","\n\n\nimport { config } from 'tnp-config/websql';\nimport { CoreModels, chalk, dateformat, _, UtilsTerminal } from 'tnp-core/websql';\n\nimport { Helpers } from '../../index';\nimport type { ChangelogData } from '../../models';\nimport { CommitData } from '../commit-data';\n\nimport { BaseFeatureForProject } from './base-feature-for-project';\nimport type { BaseProject } from './base-project';\n\n\nexport class BaseReleaseProcess<\n PROJECT extends BaseProject<any, any> = any,\n> extends BaseFeatureForProject<PROJECT> {\n\n\n /**\n * Automatic release process of patch plus one version\n */\n automaticRelease: boolean = false;\n versionType: CoreModels.ReleaseVersionType;\n preReleaseVersionTag: CoreModels.PreReleaseVersionTag;\n lastChangesSummary: string;\n newVersion: string;\n commitsForChangelog: {\n commitMessages: string;\n index: number;\n }[] = [];\n\n\n\n startRelease(options?: Partial<BaseReleaseProcess<PROJECT>>): Promise<void> {\n throw new Error('Method not implemented.');\n }\n\n\n\n getReleaseWords(): string[] {\n return ['release'];\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 public async checkBundleQuestion(\n cwdForCode: string,\n checkMessage = `Select action before publishing ?`,\n ): 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/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n /**\n * @returns true if publish , faslse if just version bump\n */\n public async publishToNpm(\n cwdForCode = this.project.pathFor('dist'),\n automaticRelease = this.automaticRelease,\n ): 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/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n protected 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 protected 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 protected 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 });\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 PROJECT[];\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 protected async selectReleaseType(\n versionToUseResolveFn?: (\n releaseVersionBumpType: CoreModels.ReleaseVersionType,\n ) => string,\n ): Promise<CoreModels.ReleaseVersionType> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\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/* */\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/* */\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.lastReleaseCommitMsg;\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 release commit' : 'Last 3 commits',\n)}:\n${await this.getLastChangesFromCommits({\n maxMessagesToCheck: hasLastReleaseCommit ? Number.POSITIVE_INFINITY : 3,\n stopOnCommitMessage: hasLastReleaseCommit\n ? lastReleaseCommitData.lastReleaseCommitMsg\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 lastReleaseCommitMsg: 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/classes/base-release-process.ts","\n\n\n/* */\n/* */\n \nimport { IncCompiler } from 'incremental-compiler/websql';\nimport { _ } from 'tnp-core/websql';\nimport { BaseProject } from './base-project'; // @ts-ignore\nimport { Helpers } from '../../../lib';\nimport { config } from 'tnp-config/websql';\n\n\nexport abstract class BaseCompilerForProject<\n ADDITIONAL_DATA = any,\n PROJECT extends BaseProject = BaseProject,\n> extends IncCompiler.Base<ADDITIONAL_DATA> {\n\n protected checkFolderCompiler(\n project: PROJECT,\n options: IncCompiler.Models.BaseClientCompilerOptions,\n dontCheck = 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 return (void 0);\n }\n\n\n\n\n constructor(\n public project: PROJECT,\n options?: IncCompiler.Models.BaseClientCompilerOptions,\n allowFolderOutSideProject = false,\n ) {\n super();\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/classes/base-compiler-for-project.ts","\n\nimport { ChangeOfFile } from 'incremental-compiler/websql';\nimport { _, Utils } from 'tnp-core/websql';\n\nimport { BaseCompilerForProject } from './base-compiler-for-project';\nimport { BaseProject } from './base-project';\n\nexport abstract class BaseDebounceCompilerForProject<\n ADDITIONAL_DATA = any,\n PROJECT extends BaseProject = BaseProject,\n> extends BaseCompilerForProject<ADDITIONAL_DATA, PROJECT> {\n protected initialParams: ADDITIONAL_DATA;\n /**\n * default debounce time is 1s\n */\n protected debounceTime = 1000;\n abstract action({\n changeOfFiles,\n asyncEvent,\n }: {\n changeOfFiles: ChangeOfFile[];\n asyncEvent: boolean;\n });\n\n /**\n * current files that are in project\n */\n protected exitedFilesAbsPathes: string[] = [];\n\n /**\n * @deprecated use action() instead\n */\n public async syncAction(\n absFilesPathes: string[],\n initialParams: ADDITIONAL_DATA,\n ): Promise<void> {\n this.initialParams = initialParams || ({} as any);\n this.exitedFilesAbsPathes = absFilesPathes;\n return await this.action({\n changeOfFiles: absFilesPathes.map(\n fileAbsolutePath => new ChangeOfFile(fileAbsolutePath, 'change'),\n ),\n asyncEvent: false,\n });\n }\n\n private lastAsyncFilesChanges: ChangeOfFile[] = [];\n private debounceAction = _.debounce(() => {\n const changeOfFiles = this.lastAsyncFilesChanges;\n this.lastAsyncFilesChanges = [];\n this.action({\n changeOfFiles,\n asyncEvent: true,\n });\n }, this.debounceTime);\n\n /**\n * @deprecated use action() instead\n */\n public async asyncAction(\n asyncEvents: ChangeOfFile,\n initialParams?: ADDITIONAL_DATA,\n ): Promise<void> {\n this.lastAsyncFilesChanges.push(asyncEvents);\n if (asyncEvents.eventName === 'unlink') {\n this.exitedFilesAbsPathes = this.exitedFilesAbsPathes.filter(\n f => f !== asyncEvents.fileAbsolutePath,\n );\n } else if (asyncEvents.eventName === 'unlinkDir') {\n this.exitedFilesAbsPathes = this.exitedFilesAbsPathes.filter(\n f =>\n !f.startsWith(asyncEvents.fileAbsolutePath.replace(/\\/$/, '') + '/'),\n );\n } else {\n this.exitedFilesAbsPathes.push(asyncEvents.fileAbsolutePath);\n this.exitedFilesAbsPathes = Utils.uniqArray(this.exitedFilesAbsPathes);\n }\n await this.debounceAction();\n }\n}\n\n ;({}); // @--end-of-file-for-module=tnp-helpers lib/base/classes/base-debounce-compiler-for-project.ts","\n\n\nimport { config } from 'tnp-config/websql';\nimport { _, fse, path } from 'tnp-core/websql';\nimport { PackageJson } from 'type-fest';\n\nimport { Helpers, UtilsQuickFixes } from '../../index';\n\nimport { BaseFeatureForProject } from './base-feature-for-project';\nimport type { BaseProject } from './base-project';\n\n\nexport class BaseQuickFixes<\n PROJECT extends BaseProject<any, any> = BaseProject<any, any>,\n> extends BaseFeatureForProject<PROJECT> {\n constructor(public project: PROJECT) {\n super(project);\n this.project = project;\n }\n\n /**\n * filesRelativePaths example:\n * ['node_modules/@types/glob/index.d.ts', '/home/user/project/src/app.ts']\n *\n * @param filesRelativeAbsPaths\\ Quick fix for typescript check\n */\n excludeNodeModulesDtsFromTypescriptCheck(filesRelativeAbsPaths:string[]) {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n\n }\n\n\n fixSQLLiteModuleInNodeModules() {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n\n\n public createDummyEmptyLibsReplacements(missingLibsNames: 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 return (void 0);\n }\n\n}\n\n ;({}); // @--end-of-file-for-module=tnp-helpers lib/base/classes/base-quick-fixes.ts","\n\n\nimport { ChildProcess, execSync } from 'child_process';\n\nimport { Helpers, UtilsTerminal } from 'tnp-core/websql';\nimport { CoreModels, _ } from 'tnp-core/websql';\n\nimport type { BaseProject, TypeOfCommit } from './base';\nimport type { BaseProcessManger } from './base/classes/base-process-manager';\n\n\n\nexport type BaseProjectType = CoreModels.BaseProjectType;\nexport const BaseProjectTypeArr = CoreModels.BaseProjectTypeArr;\n\n\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\n\n\n\nexport type LibraryBuildCommandOptions = {\n watch?: boolean;\n};\n\n\n\nexport type LibrariesBuildOptions<PROJECT extends BaseProject = BaseProject> = {\n strategy?: 'link' | 'copy';\n /**\n * by default we are copying all libraries to node_modules of itself\n */\n copylink_to_node_modules?: string[];\n releaseBuild?: boolean;\n /**\n * override build options for specific libraries\n * @todo\n */\n libraries?: PROJECT[];\n outputLineReplace?: (\n libForOutput: PROJECT,\n useExternalProvidedLibs: boolean,\n ) => (line: string) => string;\n useLastUserConfiguration?: boolean;\n};\n\n\n\nexport type TestBuildOptions = {\n onlySpecyficFiles?: string[];\n updateSnapshot?: boolean;\n};\n\n\n\nexport interface ChangelogData {\n changes: string[];\n version: string;\n date: string;\n}\n\n\n\nexport interface PushProcessOptions {\n force?: boolean;\n typeofCommit?: TypeOfCommit;\n mergeUpdateCommits?: boolean;\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 overrideCommitMessage?: string;\n commitMessageRequired?: boolean;\n /**\n * only needed when push github\n * and I forgot to add my username before issue\n * taon pfix proper input my-repo#344\n * that should be\n * taon pfix proper input my-username/my-repo#344\n */\n currentOrigin?: string;\n skipChildren?: boolean;\n noExit?: boolean;\n}\n\n\n\nexport class CommandConfig {\n static from(config: CommandConfig): CommandConfig {\n return new CommandConfig(config as any);\n }\n private constructor(data: CommandConfig) {\n Object.keys(data).forEach(key => {\n this[key] = data[key];\n });\n }\n name: string;\n cmd: string;\n\n headerMessageWhenActive?: string;\n /**\n * If true, the output will be stored in a buffer and displayed when requested.\n * Default: true\n */\n useDataBuffer?: boolean;\n /**\n * Process that should be started\n * before this process starts.\n */\n shouldBeActiveOrAlreadyBuild?: CommandConfig[] = [];\n goToNextCommandWhenOutput?:\n | string\n | {\n stdoutContains?: string | string[];\n stderrContains?: string | string[];\n };\n}\n\n\n\nexport interface ProcessManagerConfig<PROJECT> {\n title: string;\n header?: string;\n commands: CommandConfig[];\n /**\n * Default: false\n * If false - after first selection of processes, it will be not possible\n * to add new processes to build and build will be done after\n * all processes are done.\n */\n watch?: boolean;\n}\n\n\n\nexport enum CommandProcessState {\n NOT_STARTED = 'not-started',\n WAITING_TO_START = 'waiting-to-start',\n RUNNING = 'running',\n FINISHED_AND_RUNNING = 'finished-and-running', // only for watch mode\n FINISHED = 'finished', // only for normal mode\n}\n\n\n\nexport interface CommandProcessRunOptions {\n progress?: (n: number, total: number) => void;\n resolveNextProcess?: (\n currentProcess: CommandProcess,\n ) => Promise<CommandProcess>;\n resolveWhenFinish?: boolean;\n}\n\n\n\nexport class CommandProcess {\n\n private state: CommandProcessState = CommandProcessState.NOT_STARTED;\n public readonly child_process?: ChildProcess;\n\n protected get cmd(): string {\n return this.config.cmd;\n }\n\n public get name(): string {\n return this.config.name;\n }\n\n get headerMessageWhenActive(): string | undefined {\n return this.config.headerMessageWhenActive;\n }\n\n get pid(): number | undefined {\n return this.child_process.pid;\n }\n\n get isFinished(): boolean {\n return [\n CommandProcessState.FINISHED,\n CommandProcessState.FINISHED_AND_RUNNING,\n ].includes(this.state);\n }\n\n get isRunning(): boolean {\n return [\n CommandProcessState.RUNNING,\n CommandProcessState.FINISHED_AND_RUNNING,\n ].includes(this.state);\n }\n\n get isWaitingToStart(): boolean {\n return this.state === CommandProcessState.WAITING_TO_START;\n }\n\n markForStart(): void {\n if (this.isRunning || this.isWaitingToStart) {\n console.warn(`Already running or waiting to start: ${this.name}`);\n return;\n }\n this.state = CommandProcessState.WAITING_TO_START;\n }\n\n\n public dependenciesProcesses: CommandProcess[] = [];\n\n\n constructor(\n private project: BaseProject,\n private config: CommandConfig,\n private manager: BaseProcessManger,\n ) {}\n\n\n\n\n async start(options?: CommandProcessRunOptions): 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 async stop(): 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 return (void 0);\n }\n\n}\n\n\n\nexport type CfontStyle =\n | 'block'\n | 'slick'\n | 'tiny'\n | 'grid'\n | 'pallet'\n | 'shade'\n | 'chrome'\n | 'simple'\n | 'simpleBlock'\n | '3d'\n | 'simple3d'\n | 'huge';\n\nexport type CfontAlign = 'left' | 'center' | 'right' | 'block';\n\n\n ;({}); // @--end-of-file-for-module=tnp-helpers lib/models.ts","\n\n\nimport { _, chalk, Helpers, UtilsTerminal } from 'tnp-core/websql';\n\nimport { CommandProcess, ProcessManagerConfig } from '../../models';\n\nimport { BaseFeatureForProject } from './base-feature-for-project';\nimport { BaseProject } from './base-project';\n\nexport { CommandConfig } from '../../models';\n\n\n\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n\n\nexport class BaseProcessManger<\n PROJECT extends BaseProject<any, any> = BaseProject<any, any>,\n> extends BaseFeatureForProject<PROJECT> {\n\n private initialOptions: ProcessManagerConfig<PROJECT>;\n private allProcesses: CommandProcess[] = [];\n private selectedProcesses: CommandProcess[] = [];\n public outputBuffer: string[] = [];\n public startedProcesses = new Set<CommandProcess>();\n public watch = false;\n\n\n private _showLogs: boolean = false;\n public set showLogs(value: boolean) {\n this._showLogs = value;\n this.hideOutput.stderr = !value;\n this.hideOutput.stdout = !value;\n }\n get showLogs(): boolean {\n return this._showLogs;\n }\n\n /**\n * special config for Helpers.executer\n */\n hideOutput = {\n stderr: !this.showLogs,\n stdout: !this.showLogs,\n acceptAllExitCodeAsSuccess: true,\n };\n\n\n\n\n\n constructor(project: PROJECT) {\n super(project as any);\n }\n\n\n\n async init<PROJECT = BaseProject<any, any>>(\n initialOptions: ProcessManagerConfig<PROJECT>,\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 return (void 0);\n }\n\n\n\n private showOutput(): void {\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 killOrBuildMenu(): 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 return (void 0);\n }\n\n\n\n async makeSureSelectedProcessesAreRunning(): 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 return (void 0);\n }\n\n\n\n private async startProcessWithDependencies(\n process: CommandProcess,\n startedProcesses = new Set<CommandProcess>(),\n parent: CommandProcess | undefined = undefined,\n ): Promise<void> {\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 buildMenu(allowedToShowOutput = true): 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 return (void 0);\n }\n\n}\n\n ;({}); // @--end-of-file-for-module=tnp-helpers lib/base/classes/base-process-manager.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-json-file-reader';\nexport * from './base-package-json';\nexport * from './base-node-modules';\nexport * from './base-npm-helpers';\nexport * from './base-linked-projects';\nexport * from './base-git';\nexport * from './base-vscode';\nexport * from './base-release-process';\nexport * from './base-compiler-for-project';\nexport * from './base-debounce-compiler-for-project';\nexport * from './base-quick-fixes';\nexport * from './base-cli-worker';\nexport * from './base-process-manager';\n\n/* */\n/* */\n/* */\n/* */\n \n\n ;({}); // @--end-of-file-for-module=tnp-helpers lib/base/classes/index.ts","\n\n\nimport { _, /* */ /* */ } from 'tnp-core/websql';/* */\n/* */\n/* */\n/* */\n/* */\n\nimport { Helpers } from '../index';\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\n if (!!commitModuleName.trim()) {\n const cleanedModuleName = commitModuleName\n .replace(/\\-/g, ' ')\n .replace(/\\,/g, '_');\n\n message = message.replace(cleanedModuleName, ' ');\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 * taon pfix proper input my-repo#344\n * that should be\n * taon pfix proper input my-username/my-repo#344\n */\n currentOrigin?: string;\n jiraIssuesAreOutsideBrackets?: boolean;\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 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 * taon pfix proper input my-repo#344\n * that should be\n * taon pfix proper input my-username/my-repo#344\n */\n currentOrigin?: string;\n jiraIssuesAreOutsideBrackets?: boolean;\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/* */\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 | 'jiraIssuesAreOutsideBrackets'\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 /**\n * if true then jira issues are outside brackets\n * feat: proper git commands JIRA-1234\n *\n * by default is false\n * feat(JIRA-1234): proper git commands\n */\n jiraIssuesAreOutsideBrackets: boolean;\n\n /**\n * when set -> jiraIssuesAreOutsideBrackets is true\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 useFeatureBranchForTestBranch: boolean = false;\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. taon/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/* */\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/* */\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 './classes/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<any,any>> = {\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<any,any>>(\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 releaseCommand?: (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.nodeModules.makeSureInstalled();\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.nodeModules.makeSureInstalled();\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.defaultBranch) {\n linkedProj.defaultBranch = '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 defaultBranch: 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\n public remoteUrlTransformed(setOrigin: 'ssh' | 'http'): string {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n defaultBranch?: 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 './classes';\nexport * from './commit-data';\nexport * from './core-project';\nexport * from './linked-project';\nexport * from './tcp-udp-ports';\n/* */\n/* */\n \n\n ;({}); // @--end-of-file-for-module=tnp-helpers lib/base/index.ts","\n\nexport * from './validators/validators';\n\nexport { HelpersAngular } from './helpers/for-browser/angular.helper';\n\n\nexport * from './utils';\nimport { HelpersTaon as Base } from './helpers/helpers';\nexport const Helpers: Base = Base.Instance as Base;\nexport * from './base';\nexport * from './models';\n/* */\n/* */\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","Helpers","Base"],"mappings":"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"}