tnp-helpers 19.0.74 → 19.0.76

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 (101) hide show
  1. package/browser/fesm2022/tnp-helpers.mjs +111 -53
  2. package/browser/fesm2022/tnp-helpers.mjs.map +1 -1
  3. package/browser/lib/base/classes/base-git.d.ts +3 -1
  4. package/browser/lib/base/classes/base-global-command-line.d.ts +28 -15
  5. package/browser/lib/build-info._auto-generated_.d.ts +1 -1
  6. package/browser/package.json +1 -1
  7. package/lib/base/classes/base-git.d.ts +3 -1
  8. package/lib/base/classes/base-git.js +8 -3
  9. package/lib/base/classes/base-git.js.map +1 -1
  10. package/lib/base/classes/base-global-command-line.backend.d.ts +1 -13
  11. package/lib/base/classes/base-global-command-line.backend.js +11 -416
  12. package/lib/base/classes/base-global-command-line.backend.js.map +1 -1
  13. package/lib/base/classes/base-global-command-line.d.ts +25 -12
  14. package/lib/base/classes/base-global-command-line.js +128 -77
  15. package/lib/base/classes/base-global-command-line.js.map +1 -1
  16. package/lib/base/classes/base-node-modules.js +7 -7
  17. package/lib/base/classes/base-node-modules.js.map +1 -1
  18. package/lib/base/tcp-udp-ports/not-assignable-port.entity.js +2 -2
  19. package/lib/build-info._auto-generated_.d.ts +1 -1
  20. package/lib/build-info._auto-generated_.js +1 -1
  21. package/lib/env/env.angular-node-app.d.ts +1 -0
  22. package/lib/env/env.angular-node-app.js +3 -2
  23. package/lib/env/env.angular-node-app.js.map +1 -1
  24. package/lib/env/env.docs-webapp.d.ts +1 -0
  25. package/lib/env/env.docs-webapp.js +3 -2
  26. package/lib/env/env.docs-webapp.js.map +1 -1
  27. package/lib/env/env.electron-app.d.ts +1 -0
  28. package/lib/env/env.electron-app.js +3 -2
  29. package/lib/env/env.electron-app.js.map +1 -1
  30. package/lib/env/env.mobile-app.d.ts +1 -0
  31. package/lib/env/env.mobile-app.js +3 -2
  32. package/lib/env/env.mobile-app.js.map +1 -1
  33. package/lib/env/env.npm-lib-and-cli-tool.d.ts +1 -0
  34. package/lib/env/env.npm-lib-and-cli-tool.js +3 -2
  35. package/lib/env/env.npm-lib-and-cli-tool.js.map +1 -1
  36. package/lib/env/env.vscode-plugin.d.ts +1 -0
  37. package/lib/env/env.vscode-plugin.js +3 -2
  38. package/lib/env/env.vscode-plugin.js.map +1 -1
  39. package/lib/helpers/for-backend/helpers-dependencies.backend.d.ts +1 -0
  40. package/lib/helpers/for-backend/helpers-dependencies.backend.js +27 -0
  41. package/lib/helpers/for-backend/helpers-dependencies.backend.js.map +1 -1
  42. package/lib/helpers/for-browser/angular.helper.js +2 -2
  43. package/lib/old/base-component.js +2 -2
  44. package/lib/old/base-formly-component.js +2 -2
  45. package/lib/old/dual-component-ctrl.js +2 -2
  46. package/lib/validators/validators-git.js.map +1 -1
  47. package/package.json +1 -1
  48. package/tmp-environment.json +11 -7
  49. package/websql/fesm2022/tnp-helpers.mjs +111 -53
  50. package/websql/fesm2022/tnp-helpers.mjs.map +1 -1
  51. package/websql/lib/base/classes/base-git.d.ts +3 -1
  52. package/websql/lib/base/classes/base-global-command-line.d.ts +28 -15
  53. package/websql/lib/build-info._auto-generated_.d.ts +1 -1
  54. package/websql/package.json +1 -1
  55. package/lib/base/classes/base-process/base-process-api.service.d.ts +0 -7
  56. package/lib/base/classes/base-process/base-process.context.d.ts +0 -19
  57. package/lib/base/classes/base-process/base-process.context.js +0 -22
  58. package/lib/base/classes/base-process/base-process.context.js.map +0 -1
  59. package/lib/base/classes/base-process/base-process.controller.d.ts +0 -17
  60. package/lib/base/classes/base-process/base-process.controller.js +0 -91
  61. package/lib/base/classes/base-process/base-process.controller.js.map +0 -1
  62. package/lib/base/classes/base-process/base-process.d.ts +0 -8
  63. package/lib/base/classes/base-process/base-process.defaults-values.d.ts +0 -2
  64. package/lib/base/classes/base-process/base-process.defaults-values.js +0 -9
  65. package/lib/base/classes/base-process/base-process.defaults-values.js.map +0 -1
  66. package/lib/base/classes/base-process/base-process.js +0 -62
  67. package/lib/base/classes/base-process/base-process.js.map +0 -1
  68. package/lib/base/classes/base-process/base-process.models.d.ts +0 -6
  69. package/lib/base/classes/base-process/base-process.models.js +0 -3
  70. package/lib/base/classes/base-process/base-process.models.js.map +0 -1
  71. package/lib/base/classes/base-process/base-process.provider.d.ts +0 -16
  72. package/lib/base/classes/base-process/base-process.provider.js +0 -69
  73. package/lib/base/classes/base-process/base-process.provider.js.map +0 -1
  74. package/lib/base/classes/base-process/base-process.repository copy.d.ts +0 -8
  75. package/lib/base/classes/base-process/base-process.repository copy.js +0 -32
  76. package/lib/base/classes/base-process/base-process.repository copy.js.map +0 -1
  77. package/lib/base/classes/base-process/base-process.repository.d.ts +0 -8
  78. package/lib/base/classes/base-process/base-process.repository.js +0 -32
  79. package/lib/base/classes/base-process/base-process.repository.js.map +0 -1
  80. package/lib/base/classes/base-process/base-process.terminal-ui.d.ts +0 -11
  81. package/lib/base/classes/base-process/base-process.terminal-ui.js +0 -54
  82. package/lib/base/classes/base-process/base-process.terminal-ui.js.map +0 -1
  83. package/lib/base/classes/base-process/base-process.worker.d.ts +0 -16
  84. package/lib/base/classes/base-process/base-process.worker.js +0 -29
  85. package/lib/base/classes/base-process/base-process.worker.js.map +0 -1
  86. package/lib/base/classes/base-process/index.d.ts +0 -1
  87. package/lib/base/classes/base-process/index.js +0 -22
  88. package/lib/base/classes/base-process/index.js.map +0 -1
  89. package/lib/base/classes/base-process/processes.repository.d.ts +0 -0
  90. package/lib/base/classes/base-process/processes.repository.js +0 -5
  91. package/lib/base/classes/base-process/processes.repository.js.map +0 -1
  92. package/lib/env-backend._auto-generated_.d.ts +0 -34
  93. package/lib/env-backend._auto-generated_.js +0 -38
  94. package/lib/env-backend._auto-generated_.js.map +0 -1
  95. package/lib/env-browser._auto-generated_.d.ts +0 -34
  96. package/lib/env-browser._auto-generated_.js +0 -38
  97. package/lib/env-browser._auto-generated_.js.map +0 -1
  98. package/lib/env.backend.d.ts +0 -34
  99. package/lib/env.backend.js +0 -40
  100. package/lib/env.backend.js.map +0 -1
  101. package/lib/env.browser.d.ts +0 -34
@@ -197,7 +197,9 @@ export declare class BaseGit<PROJECT extends BaseProject = any> extends BaseFeat
197
197
  * @param index 0 - means last commit
198
198
  */
199
199
  getChangedFilesInCommitByIndex(index: number): Promise<string[]>;
200
- changesSummary(): Promise<string>;
200
+ changesSummary(options?: {
201
+ prefix?: string;
202
+ }): Promise<string>;
201
203
  /**
202
204
  * If true command navi reset will reset project
203
205
  * and its children.
@@ -35,28 +35,41 @@ export declare class BaseGlobalCommandLine<PARAMS = any, PROJECT extends BasePro
35
35
  settingsVscode(): any;
36
36
  refreshVscodeColors(): any;
37
37
  protected _regenerateVscodeSettingsColors(overideBottomColor?: string): void;
38
+ private updateProject;
39
+ forceUpdate(): Promise<void>;
38
40
  /**
39
- * quick git update push
41
+ * alias for forceupdate
40
42
  */
41
- _update(commitMessage: string, force?: boolean): Promise<any>;
42
43
  forceup(): Promise<void>;
43
- forceUpdate(): Promise<any>;
44
- update(): Promise<any>;
45
- docsUp(): Promise<any>;
46
- private updateProject;
47
- deepUp(noExit?: boolean): Promise<any>;
48
- upAll(noExit?: boolean): Promise<any>;
49
- deepUpForce(noExit?: boolean): Promise<any>;
50
- deepUpdateForce(noExit?: boolean): Promise<any>;
51
- deepUpdate(noExit?: boolean): Promise<any>;
44
+ update(): Promise<void>;
45
+ /**
46
+ * alias for update
47
+ */
48
+ up(): Promise<void>;
49
+ /**
50
+ * alias for update
51
+ */
52
+ pu(): Promise<void>;
53
+ docsUpdate(): Promise<void>;
54
+ /**
55
+ * alias for docsUpdate
56
+ */
57
+ docsUp(): Promise<void>;
58
+ deepUpdate(): Promise<void>;
59
+ /**
60
+ * alias for deepupdate
61
+ */
62
+ deepUp(): Promise<void>;
63
+ updateAll(): Promise<void>;
52
64
  /**
53
- * Push update
65
+ * alias for updateAll
54
66
  */
55
- up(): Promise<any>;
67
+ upAll(): Promise<void>;
68
+ deepUpdateForce(): Promise<void>;
56
69
  /**
57
- * Push update
70
+ * alias for deepUpdateForce
58
71
  */
59
- pu(): Promise<any>;
72
+ deepUpForce(): Promise<void>;
60
73
  develop(): Promise<any>;
61
74
  dev(): Promise<any>;
62
75
  repul(): Promise<any>;
@@ -18,4 +18,4 @@ export declare const PROJECT_NPM_NAME = "tnp-helpers";
18
18
  /**
19
19
  * Autogenerated by current cli tool. Use *tnp release* to bump version.
20
20
  */
21
- export declare const CURRENT_PACKAGE_VERSION = "19.0.74";
21
+ export declare const CURRENT_PACKAGE_VERSION = "19.0.76";
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tnp-helpers/websql",
3
- "version": "19.0.74",
3
+ "version": "19.0.76",
4
4
  "module": "fesm2022/tnp-helpers.mjs",
5
5
  "typings": "index.d.ts",
6
6
  "exports": {
@@ -1,7 +0,0 @@
1
- import { Observable } from 'rxjs';
2
- import { Taon } from 'taon';
3
- import type { BaseProcess } from './base-process';
4
- export declare class BaseProcessApiService extends Taon.Base.AngularService {
5
- private baseProcessController;
6
- get allMyEntities$(): Observable<BaseProcess[]>;
7
- }
@@ -1,19 +0,0 @@
1
- export declare const BaseProcessContext: () => {
2
- readonly contextName: string;
3
- readonly appId: string;
4
- cloneAsRemote: (cloneOpt?: {
5
- overrideRemoteHost?: string;
6
- }) => /*elided*/ any;
7
- cloneAsNormal: (cloneOpt?: {
8
- overrideHost?: string;
9
- }) => /*elided*/ any;
10
- __ref(): Promise<import("taon").EndpointContext>;
11
- readonly __refSync: import("taon").EndpointContext;
12
- getClassInstance<T>(ctor: new (...args: any[]) => T): T;
13
- getClass<T>(ctor: new (...args: any[]) => T): new (...args: any[]) => T;
14
- initialize: (overrideOptions?: import("taon").Models.TaonInitializeParams) => Promise<import("taon").EndpointContext>;
15
- readonly realtime: {
16
- readonly client: import("taon/source/realtime/realtime-client").RealtimeClient;
17
- readonly server: import("taon/source/realtime/realtime-server").RealtimeServer;
18
- };
19
- };
@@ -1,22 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.BaseProcessContext = void 0;
4
- //#region imports
5
- const lib_1 = require("taon/lib");
6
- const base_process_controller_1 = require("./base-process.controller");
7
- //#endregion
8
- const appId = 'base-process-worker-app.project.worker';
9
- exports.BaseProcessContext = lib_1.Taon.createContextTemplate(() => ({
10
- contextName: 'BaseProcessContext',
11
- appId,
12
- skipWritingServerRoutes: true,
13
- contexts: { BaseContext: lib_1.BaseContext },
14
- entities: {},
15
- controllers: { BaseProcessController: base_process_controller_1.BaseProcessController },
16
- database: false,
17
- logs: {
18
- routes: true,
19
- http: true,
20
- }
21
- }));
22
- //# sourceMappingURL=base-process.context.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"base-process.context.js","sourceRoot":"","sources":[""],"names":[],"mappings":";;;AAAA,iBAAiB;AACjB,kCAA6C;AAE7C,uEAAkE;AAClE,YAAY;AAEZ,MAAM,KAAK,GAAG,wCAAwC,CAAC;AAE1C,QAAA,kBAAkB,GAAG,UAAI,CAAC,qBAAqB,CAAC,GAAG,EAAE,CAAC,CAAC;IAClE,WAAW,EAAE,oBAAoB;IACjC,KAAK;IACL,uBAAuB,EAAE,IAAI;IAC7B,QAAQ,EAAE,EAAE,WAAW,EAAX,iBAAW,EAAE;IACzB,QAAQ,EAAE,EAAE;IACZ,WAAW,EAAE,EAAE,qBAAqB,EAArB,+CAAqB,EAAE;IACtC,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE;QACJ,MAAM,EAAE,IAAI;QACZ,IAAI,EAAE,IAAI;KACX;CACF,CAAC,CAAC,CAAC"}
@@ -1,17 +0,0 @@
1
- import { ChildProcess } from 'child_process';
2
- import { Taon } from 'taon';
3
- import { BaseCliWorkerController } from '../base-cli-worker/base-cli-worker-controller';
4
- import { BaseProcessStartOptions } from './base-process.models';
5
- export declare class BaseProcessController extends BaseCliWorkerController {
6
- proc: ChildProcess | null;
7
- private initProcess;
8
- /**
9
- * TODO should be started after
10
- * worker initialization
11
- */
12
- startCommand(options: BaseProcessStartOptions): Taon.Response<string>;
13
- /**
14
- * STOP also kills worker ???
15
- */
16
- stopCommand(): Taon.Response<string>;
17
- }
@@ -1,91 +0,0 @@
1
- "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
- var __param = (this && this.__param) || function (paramIndex, decorator) {
9
- return function (target, key) { decorator(target, key, paramIndex); }
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.BaseProcessController = void 0;
13
- const lib_1 = require("taon/lib");
14
- const lib_2 = require("tnp-core/lib");
15
- const base_cli_worker_controller_1 = require("../base-cli-worker/base-cli-worker-controller");
16
- //#endregion
17
- let BaseProcessController = class BaseProcessController extends base_cli_worker_controller_1.BaseCliWorkerController {
18
- proc = null;
19
- initProcess(options) {
20
- console.log(`
21
-
22
-
23
- Starting process: ${options.command}
24
- in cwd: ${options.cwd}
25
-
26
- `);
27
- this.proc = lib_2.child_process.exec(`${options.command}`, {
28
- cwd: options.cwd,
29
- });
30
- this.proc.stdout.on('data', data => process.stdout.write(data));
31
- this.proc.stderr.on('data', data => process.stderr.write(data));
32
- }
33
- /**
34
- * TODO should be started after
35
- * worker initialization
36
- */
37
- startCommand(options) {
38
- //#region @backendFunc
39
- return async (req, res) => {
40
- if (!options) {
41
- throw new Error(`Options object is required to start process`);
42
- }
43
- if (!options.command) {
44
- throw new Error(`Command is required to start process`);
45
- }
46
- if (!options.cwd) {
47
- throw new Error(`CWD is required to start process`);
48
- }
49
- if (this.proc) {
50
- throw new Error(`Process is already started`);
51
- }
52
- setTimeout(() => this.initProcess(options), 1000);
53
- return `Command started`;
54
- };
55
- //#endregion
56
- }
57
- /**
58
- * STOP also kills worker ???
59
- */
60
- stopCommand() {
61
- //#region @backendFunc
62
- return async (req, res) => {
63
- if (!this.proc) {
64
- throw new Error(`No process is running`);
65
- }
66
- console.log(`Stopping child process`);
67
- lib_2.UtilsProcess.killProcess(this.proc);
68
- delete this.proc;
69
- setTimeout(() => {
70
- console.log(`Exiting process after stopping child process`);
71
- process.exit(0);
72
- }, 1000);
73
- return 'Command stopped';
74
- };
75
- //#endregion
76
- }
77
- };
78
- exports.BaseProcessController = BaseProcessController;
79
- __decorate([
80
- lib_1.Taon.Http.POST(),
81
- __param(0, lib_1.Taon.Http.Param.Body())
82
- ], BaseProcessController.prototype, "startCommand", null);
83
- __decorate([
84
- lib_1.Taon.Http.GET()
85
- ], BaseProcessController.prototype, "stopCommand", null);
86
- exports.BaseProcessController = BaseProcessController = __decorate([
87
- lib_1.Taon.Controller({
88
- className: 'BaseProcessController',
89
- })
90
- ], BaseProcessController);
91
- //# sourceMappingURL=base-process.controller.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"base-process.controller.js","sourceRoot":"","sources":[""],"names":[],"mappings":";;;;;;;;;;;;AAGA,kCAA8C;AAC9C,sCAA8D;AAE9D,8FAAwF;AAGxF,YAAY;AAKL,IAAM,qBAAqB,GAA3B,MAAM,qBAAsB,SAAQ,oDAAuB;IAChE,IAAI,GAAwB,IAAI,CAAC;IAEzB,WAAW,CAAC,OAAgC;QAClD,OAAO,CAAC,GAAG,CAAC;;;0BAGU,OAAO,CAAC,OAAO;gBACzB,OAAO,CAAC,GAAG;;OAEpB,CAAC,CAAC;QACL,IAAI,CAAC,IAAI,GAAG,mBAAa,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,OAAO,EAAE,EAAE;YACnD,GAAG,EAAE,OAAO,CAAC,GAAG;SACjB,CAAC,CAAC;QACH,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;QAChE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;IAClE,CAAC;IAED;;;OAGG;IAEH,YAAY,CACc,OAAgC;QAExD,sBAAsB;QACtB,OAAO,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;YACxB,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;YACjE,CAAC;YACD,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;gBACrB,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;YAC1D,CAAC;YACD,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;gBACjB,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;YACtD,CAAC;YACD,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;gBACd,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;YAChD,CAAC;YACD,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,CAAC;YAClD,OAAO,iBAAiB,CAAC;QAC3B,CAAC,CAAC;QACF,YAAY;IACd,CAAC;IAED;;OAEG;IAEH,WAAW;QACT,sBAAsB;QACtB,OAAO,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;YACxB,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;gBACf,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;YAC3C,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;YACtC,kBAAY,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACpC,OAAO,IAAI,CAAC,IAAI,CAAC;YACjB,UAAU,CAAC,GAAG,EAAE;gBACd,OAAO,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAC;gBAC5D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC,EAAE,IAAI,CAAC,CAAC;YACT,OAAO,iBAAiB,CAAC;QAC3B,CAAC,CAAC;QACF,YAAY;IACd,CAAC;CACF,CAAA;AAnEY,sDAAqB;AAuBhC;IADC,UAAI,CAAC,IAAI,CAAC,IAAI,EAAE;IAEd,WAAA,UAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAA;yDAoBxB;AAMD;IADC,UAAI,CAAC,IAAI,CAAC,GAAG,EAAE;wDAiBf;gCAlEU,qBAAqB;IAHjC,UAAI,CAAC,UAAU,CAAC;QACf,SAAS,EAAE,uBAAuB;KACnC,CAAC;GACW,qBAAqB,CAmEjC"}
@@ -1,8 +0,0 @@
1
- import { Taon } from 'taon';
2
- import { BaseProcessState } from './base-process.models';
3
- export declare class BaseProcess extends Taon.Base.AbstractEntity<BaseProcess> {
4
- description?: string;
5
- command: string;
6
- cwd: string;
7
- state: BaseProcessState;
8
- }
@@ -1,2 +0,0 @@
1
- import type { BaseProcess } from './base-process';
2
- export declare const BaseProcessDefaultsValues: Partial<BaseProcess>;
@@ -1,9 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.BaseProcessDefaultsValues = void 0;
4
- exports.BaseProcessDefaultsValues = {
5
- description: '',
6
- version: 0,
7
- id: void 0,
8
- };
9
- //# sourceMappingURL=base-process.defaults-values.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"base-process.defaults-values.js","sourceRoot":"","sources":[""],"names":[],"mappings":";;;AAEa,QAAA,yBAAyB,GAAG;IACvC,WAAW,EAAE,EAAE;IACf,OAAO,EAAE,CAAC;IACV,EAAE,EAAE,KAAK,CAAC;CACa,CAAC"}
@@ -1,62 +0,0 @@
1
- "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
- Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.BaseProcess = void 0;
10
- //#region imports
11
- const lib_1 = require("taon/lib");
12
- const base_process_defaults_values_1 = require("./base-process.defaults-values");
13
- //#endregion
14
- let BaseProcess = class BaseProcess extends lib_1.Taon.Base.AbstractEntity {
15
- //#region @websql
16
- // @ts-ignore
17
- //#endregion
18
- description;
19
- //#region @websql
20
- //#endregion
21
- command;
22
- //#region @websql
23
- //#endregion
24
- cwd;
25
- //#region @websql
26
- //#endregion
27
- state;
28
- };
29
- exports.BaseProcess = BaseProcess;
30
- __decorate([
31
- lib_1.Taon.Orm.Column.String(base_process_defaults_values_1.BaseProcessDefaultsValues.description)
32
- //#endregion
33
- ], BaseProcess.prototype, "description", void 0);
34
- __decorate([
35
- lib_1.Taon.Orm.Column.Custom({
36
- type: 'varchar',
37
- length: 500,
38
- })
39
- //#endregion
40
- ], BaseProcess.prototype, "command", void 0);
41
- __decorate([
42
- lib_1.Taon.Orm.Column.Custom({
43
- type: 'varchar',
44
- length: 1000,
45
- })
46
- //#endregion
47
- ], BaseProcess.prototype, "cwd", void 0);
48
- __decorate([
49
- lib_1.Taon.Orm.Column.Custom({
50
- type: 'varchar',
51
- length: 10,
52
- default: 'created',
53
- })
54
- //#endregion
55
- ], BaseProcess.prototype, "state", void 0);
56
- exports.BaseProcess = BaseProcess = __decorate([
57
- lib_1.Taon.Entity({
58
- className: 'BaseProcess',
59
- createTable: true,
60
- })
61
- ], BaseProcess);
62
- //# sourceMappingURL=base-process.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"base-process.js","sourceRoot":"","sources":[""],"names":[],"mappings":";;;;;;;;;AAAA,iBAAiB;AACjB,kCAAgC;AAGhC,iFAA2E;AAE3E,YAAY;AAML,IAAM,WAAW,GAAjB,MAAM,WAAY,SAAQ,UAAI,CAAC,IAAI,CAAC,cAA2B;IACpE,iBAAiB;IACjB,aAAa;IAGb,AADA,YAAY;IACZ,WAAW,CAAU;IAErB,iBAAiB;IAMjB,AADA,YAAY;IACZ,OAAO,CAAS;IAEhB,iBAAiB;IAMjB,AADA,YAAY;IACZ,GAAG,CAAS;IAEZ,iBAAiB;IAOjB,AADA,YAAY;IACZ,KAAK,CAAmB;CACzB,CAAA;AA/BY,kCAAW;AAKtB;IAFC,UAAI,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,wDAAyB,CAAC,WAAW,CAAC;IAC9D,YAAY;gDACS;AAQrB;IALC,UAAI,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC;QACtB,IAAI,EAAE,SAAS;QACf,MAAM,EAAE,GAAG;KACZ,CAAC;IACF,YAAY;4CACI;AAQhB;IALC,UAAI,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC;QACtB,IAAI,EAAE,SAAS;QACf,MAAM,EAAE,IAAI;KACb,CAAC;IACF,YAAY;wCACA;AASZ;IANC,UAAI,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC;QACtB,IAAI,EAAE,SAAS;QACf,MAAM,EAAE,EAAE;QACV,OAAO,EAAE,SAAS;KACnB,CAAC;IACF,YAAY;0CACY;sBA9Bb,WAAW;IAJvB,UAAI,CAAC,MAAM,CAAC;QACX,SAAS,EAAE,aAAa;QACxB,WAAW,EAAE,IAAI;KAClB,CAAC;GACW,WAAW,CA+BvB"}
@@ -1,6 +0,0 @@
1
- export type BaseProcessState = 'created' | 'starting' | 'restarting' | 'active' | 'killing' | 'killed' | 'ended-with-error' | 'ended-ok';
2
- export type BaseProcessAction = 'start' | 'stop';
3
- export interface BaseProcessStartOptions {
4
- command: string;
5
- cwd: string;
6
- }
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=base-process.models.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"base-process.models.js","sourceRoot":"","sources":[""],"names":[],"mappings":""}
@@ -1,16 +0,0 @@
1
- import { Taon } from 'taon';
2
- import { BaseProcessWorker } from './base-process.worker';
3
- export declare class BaseProcessProvider extends Taon.Base.Provider {
4
- protected readonly processPrefix: string;
5
- protected readonly workers: Map<string, BaseProcessWorker>;
6
- protected getKey(command: string, cwd: string): string;
7
- protected getWorker(command: string, cwd: string): BaseProcessWorker | null;
8
- start(options: {
9
- command: string;
10
- cwd: string;
11
- }): Promise<void>;
12
- stop(options: {
13
- command: string;
14
- cwd: string;
15
- }): Promise<void>;
16
- }
@@ -1,69 +0,0 @@
1
- "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
- Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.BaseProcessProvider = void 0;
10
- //#region imports
11
- const lib_1 = require("taon/lib");
12
- const lib_2 = require("tnp-core/lib");
13
- const lib_3 = require("tnp-core/lib");
14
- const base_global_command_line_backend_1 = require("../base-global-command-line.backend");
15
- const base_process_worker_1 = require("./base-process.worker");
16
- //#endregion
17
- let BaseProcessProvider = class BaseProcessProvider extends lib_1.Taon.Base.Provider {
18
- processPrefix = 'base-process-worker';
19
- workers = new Map();
20
- getKey(command, cwd) {
21
- return `${command}___${cwd}`;
22
- }
23
- getWorker(command, cwd) {
24
- const cliCOmmand = `${lib_2.frameworkName} ${lib_3.UtilsCliMethod.getFrom(base_global_command_line_backend_1.BaseGlobalCommandLine.prototype.startBaseProcess, {
25
- globalMethod: true,
26
- })}`;
27
- const worker = new base_process_worker_1.BaseProcessWorker(`${this.processPrefix}--for--${lib_2._.kebabCase(command)}--in--${lib_2._.kebabCase(cwd)}`, cliCOmmand);
28
- return worker;
29
- }
30
- async start(options) {
31
- //#region @backendFunc
32
- if (this.workers.has(this.getKey(options.command, options.cwd))) {
33
- console.warn(`A worker is already running for command: ${options.command}
34
- in cwd: ${options.cwd}`);
35
- return;
36
- }
37
- const { command, cwd } = options || { command: '', cwd: '' };
38
- const worker = this.getWorker(command, cwd);
39
- this.workers.set(this.getKey(command, cwd), worker);
40
- await worker.startNormallyInCurrentProcess();
41
- const ctrl = await worker.getControllerForRemoteConnection();
42
- await ctrl
43
- .startCommand({
44
- command,
45
- cwd,
46
- })
47
- .request();
48
- //#endregion
49
- }
50
- async stop(options) {
51
- //#region @backendFunc
52
- const worker = this.workers.get(this.getKey(options.command, options.cwd));
53
- if (!worker) {
54
- console.warn(`No worker found for command: ${options.command} in cwd: ${options.cwd}`);
55
- return;
56
- }
57
- const ctrl = await worker.getControllerForRemoteConnection();
58
- await ctrl.stopCommand().request();
59
- this.workers.delete(this.getKey(options.command, options.cwd));
60
- //#endregion
61
- }
62
- };
63
- exports.BaseProcessProvider = BaseProcessProvider;
64
- exports.BaseProcessProvider = BaseProcessProvider = __decorate([
65
- lib_1.Taon.Provider({
66
- className: 'BaseProcessProvider',
67
- })
68
- ], BaseProcessProvider);
69
- //# sourceMappingURL=base-process.provider.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"base-process.provider.js","sourceRoot":"","sources":[""],"names":[],"mappings":"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"}
@@ -1,8 +0,0 @@
1
- import { Taon } from 'taon';
2
- import { BaseProcess } from './base-process';
3
- export declare class BaseProcessRepository extends Taon.Base.Repository<BaseProcess> {
4
- entityClassResolveFn: () => typeof BaseProcess;
5
- start(): void;
6
- stop(): void;
7
- output(): void;
8
- }
@@ -1,32 +0,0 @@
1
- "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
- Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.BaseProcessRepository = void 0;
10
- //#region imports
11
- const lib_1 = require("taon/lib");
12
- const base_process_1 = require("./base-process");
13
- //#endregion
14
- let BaseProcessRepository = class BaseProcessRepository extends lib_1.Taon.Base.Repository {
15
- entityClassResolveFn = () => base_process_1.BaseProcess;
16
- start() {
17
- // TODO
18
- }
19
- stop() {
20
- // TODO
21
- }
22
- output() {
23
- // TODO
24
- }
25
- };
26
- exports.BaseProcessRepository = BaseProcessRepository;
27
- exports.BaseProcessRepository = BaseProcessRepository = __decorate([
28
- lib_1.Taon.Repository({
29
- className: 'BaseProcessRepository',
30
- })
31
- ], BaseProcessRepository);
32
- //# sourceMappingURL=base-process.repository copy.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"base-process.repository copy.js","sourceRoot":"","sources":[""],"names":[],"mappings":";;;;;;;;;AAAA,iBAAiB;AACjB,kCAAgC;AAIhC,iDAA6C;AAC7C,YAAY;AAKL,IAAM,qBAAqB,GAA3B,MAAM,qBAAsB,SAAQ,UAAI,CAAC,IAAI,CAAC,UAAuB;IAC1E,oBAAoB,GAA6B,GAAG,EAAE,CAAC,0BAAW,CAAC;IAEnE,KAAK;QACH,OAAO;IACT,CAAC;IAED,IAAI;QACF,OAAO;IACT,CAAC;IAED,MAAM;QACJ,OAAO;IACT,CAAC;CACF,CAAA;AAdY,sDAAqB;gCAArB,qBAAqB;IAHjC,UAAI,CAAC,UAAU,CAAC;QACf,SAAS,EAAE,uBAAuB;KACnC,CAAC;GACW,qBAAqB,CAcjC"}
@@ -1,8 +0,0 @@
1
- import { Taon } from 'taon';
2
- import { BaseProcess } from './base-process';
3
- export declare class BaseProcessRepository extends Taon.Base.Repository<BaseProcess> {
4
- entityClassResolveFn: () => typeof BaseProcess;
5
- start(): void;
6
- stop(): void;
7
- output(): void;
8
- }
@@ -1,32 +0,0 @@
1
- "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
- Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.BaseProcessRepository = void 0;
10
- //#region imports
11
- const lib_1 = require("taon/lib");
12
- const base_process_1 = require("./base-process");
13
- //#endregion
14
- let BaseProcessRepository = class BaseProcessRepository extends lib_1.Taon.Base.Repository {
15
- entityClassResolveFn = () => base_process_1.BaseProcess;
16
- start() {
17
- // TODO
18
- }
19
- stop() {
20
- // TODO
21
- }
22
- output() {
23
- // TODO
24
- }
25
- };
26
- exports.BaseProcessRepository = BaseProcessRepository;
27
- exports.BaseProcessRepository = BaseProcessRepository = __decorate([
28
- lib_1.Taon.Repository({
29
- className: 'BaseProcessRepository',
30
- })
31
- ], BaseProcessRepository);
32
- //# sourceMappingURL=base-process.repository.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"base-process.repository.js","sourceRoot":"","sources":[""],"names":[],"mappings":";;;;;;;;;AAAA,iBAAiB;AACjB,kCAAgC;AAIhC,iDAA6C;AAC7C,YAAY;AAKL,IAAM,qBAAqB,GAA3B,MAAM,qBAAsB,SAAQ,UAAI,CAAC,IAAI,CAAC,UAAuB;IAC1E,oBAAoB,GAA6B,GAAG,EAAE,CAAC,0BAAW,CAAC;IAEnE,KAAK;QACH,OAAO;IACT,CAAC;IAED,IAAI;QACF,OAAO;IACT,CAAC;IAED,MAAM;QACJ,OAAO;IACT,CAAC;CACF,CAAA;AAdY,sDAAqB;gCAArB,qBAAqB;IAHjC,UAAI,CAAC,UAAU,CAAC;QACf,SAAS,EAAE,uBAAuB;KACnC,CAAC;GACW,qBAAqB,CAcjC"}
@@ -1,11 +0,0 @@
1
- import { CoreModels } from 'tnp-core';
2
- import { BaseCliWorkerTerminalUI, BaseWorkerTerminalActionReturnType } from 'tnp-helpers';
3
- import { BaseProcessWorker } from './base-process.worker';
4
- export declare class BaseProcessTerminalUI extends BaseCliWorkerTerminalUI<BaseProcessWorker> {
5
- protected headerText(): Promise<string>;
6
- textHeaderStyle(): CoreModels.CfontStyle;
7
- getWorkerTerminalActions(options?: {
8
- exitIsOnlyReturn?: boolean;
9
- chooseAction?: boolean;
10
- }): BaseWorkerTerminalActionReturnType;
11
- }
@@ -1,54 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.BaseProcessTerminalUI = void 0;
4
- //#region imports
5
- const lib_1 = require("tnp-core/lib");
6
- const lib_2 = require("../../../../lib");
7
- //#endregion
8
- class BaseProcessTerminalUI extends lib_2.BaseCliWorkerTerminalUI {
9
- async headerText() {
10
- return null;
11
- }
12
- textHeaderStyle() {
13
- return 'block';
14
- }
15
- getWorkerTerminalActions(options) {
16
- //#region @backendFunc
17
- const myActions = {
18
- previewSTDOUT: {
19
- name: 'Preview STDOUT',
20
- action: async () => {
21
- lib_1.Helpers.info(`Preview STDOUT`);
22
- // const ctrl = await this.worker.getControllerForRemoteConnection();
23
- // const list = (await ctrl.getEntities().request())?.body.json || [];
24
- // console.log(list.map( c => `- ${c.id} ${c.description}` ).join('\n'));
25
- // Helpers.info(`Fetched ${list.length} entities`);
26
- // await UtilsTerminal.pressAnyKeyToContinueAsync({
27
- // message: 'Press any key to go back to main menu',
28
- // });
29
- },
30
- },
31
- previewSTDERR: {
32
- name: 'Preview STDERR',
33
- action: async () => {
34
- lib_1.Helpers.info(`Preview STDERR`);
35
- // const ctrl = await this.worker.getControllerForRemoteConnection();
36
- // const list = (await ctrl.getEntities().request())?.body.json || [];
37
- // console.log(list.map( c => `- ${c.id} ${c.description}` ).join('\n'));
38
- // Helpers.info(`Fetched ${list.length} entities`);
39
- // await UtilsTerminal.pressAnyKeyToContinueAsync({
40
- // message: 'Press any key to go back to main menu',
41
- // });
42
- },
43
- },
44
- };
45
- return {
46
- ...this.chooseAction,
47
- ...myActions,
48
- ...super.getWorkerTerminalActions({ chooseAction: false }),
49
- };
50
- //#endregion
51
- }
52
- }
53
- exports.BaseProcessTerminalUI = BaseProcessTerminalUI;
54
- //# sourceMappingURL=base-process.terminal-ui.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"base-process.terminal-ui.js","sourceRoot":"","sources":[""],"names":[],"mappings":";;;AAAA,iBAAiB;AACjB,sCAAqE;AACrE,yCAA8F;AAG9F,YAAY;AAEZ,MAAa,qBAAsB,SAAQ,6BAA0C;IAEzE,KAAK,CAAC,UAAU;QACxB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,eAAe;QACb,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,wBAAwB,CAAC,OAGxB;QACC,sBAAsB;QACtB,MAAM,SAAS,GAAuC;YACpD,aAAa,EAAE;gBACb,IAAI,EAAE,gBAAgB;gBACtB,MAAM,EAAE,KAAK,IAAI,EAAE;oBACjB,aAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;oBAC/B,qEAAqE;oBACrE,sEAAsE;oBACtE,yEAAyE;oBACzE,mDAAmD;oBACnD,mDAAmD;oBACnD,sDAAsD;oBACtD,MAAM;gBACR,CAAC;aACF;YACD,aAAa,EAAE;gBACb,IAAI,EAAE,gBAAgB;gBACtB,MAAM,EAAE,KAAK,IAAI,EAAE;oBACjB,aAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;oBAC/B,qEAAqE;oBACrE,sEAAsE;oBACtE,yEAAyE;oBACzE,mDAAmD;oBACnD,mDAAmD;oBACnD,sDAAsD;oBACtD,MAAM;gBACR,CAAC;aACF;SACF,CAAC;QAEF,OAAO;YACL,GAAG,IAAI,CAAC,YAAY;YACpB,GAAG,SAAS;YACZ,GAAG,KAAK,CAAC,wBAAwB,CAAC,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC;SAC3D,CAAC;QACF,YAAY;IACd,CAAC;CAGF;AArDD,sDAqDC"}