incremental-compiler 18.0.10 → 18.0.12

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 (108) hide show
  1. package/assets/shared/shared_folder_info.txt +1 -1
  2. package/browser/esm2022/lib/base-client-compiler.mjs +269 -0
  3. package/browser/esm2022/lib/change-of-file.mjs +16 -0
  4. package/browser/esm2022/lib/compiler-manager.mjs +198 -0
  5. package/browser/esm2022/lib/constants.mjs +4 -0
  6. package/browser/esm2022/lib/incremental-watcher/incremental-watcher-events.mjs +4 -0
  7. package/browser/esm2022/lib/incremental-watcher/incremental-watcher-instance.mjs +4 -0
  8. package/browser/esm2022/lib/incremental-watcher/incremental-watcher-options.mjs +4 -0
  9. package/browser/esm2022/lib/incremental-watcher/incremental-watcher.mjs +49 -0
  10. package/browser/esm2022/lib/incremental-watcher/index.mjs +6 -0
  11. package/browser/esm2022/lib/index.mjs +24 -75
  12. package/browser/esm2022/lib/models.mjs +1 -3
  13. package/browser/fesm2022/incremental-compiler.mjs +360 -68
  14. package/browser/fesm2022/incremental-compiler.mjs.map +1 -1
  15. package/browser/lib/base-client-compiler.d.ts +56 -0
  16. package/browser/lib/change-of-file.d.ts +9 -0
  17. package/browser/lib/compiler-manager.d.ts +17 -0
  18. package/browser/lib/constants.d.ts +2 -0
  19. package/browser/lib/incremental-watcher/incremental-watcher-events.d.ts +6 -0
  20. package/browser/lib/incremental-watcher/incremental-watcher-instance.d.ts +7 -0
  21. package/browser/lib/incremental-watcher/incremental-watcher-options.d.ts +10 -0
  22. package/browser/lib/incremental-watcher/incremental-watcher.d.ts +4 -0
  23. package/browser/lib/incremental-watcher/index.d.ts +4 -0
  24. package/browser/lib/index.d.ts +24 -1
  25. package/browser/lib/models.d.ts +7 -6
  26. package/client/esm2022/lib/base-client-compiler.mjs +269 -0
  27. package/client/esm2022/lib/change-of-file.mjs +16 -0
  28. package/client/esm2022/lib/compiler-manager.mjs +198 -0
  29. package/client/esm2022/lib/constants.mjs +4 -0
  30. package/client/esm2022/lib/incremental-watcher/incremental-watcher-events.mjs +4 -0
  31. package/client/esm2022/lib/incremental-watcher/incremental-watcher-instance.mjs +4 -0
  32. package/client/esm2022/lib/incremental-watcher/incremental-watcher-options.mjs +4 -0
  33. package/client/esm2022/lib/incremental-watcher/incremental-watcher.mjs +49 -0
  34. package/client/esm2022/lib/incremental-watcher/index.mjs +6 -0
  35. package/client/esm2022/lib/index.mjs +24 -75
  36. package/client/esm2022/lib/models.mjs +1 -3
  37. package/client/fesm2022/incremental-compiler.mjs +360 -68
  38. package/client/fesm2022/incremental-compiler.mjs.map +1 -1
  39. package/client/lib/base-client-compiler.d.ts +56 -0
  40. package/client/lib/change-of-file.d.ts +9 -0
  41. package/client/lib/compiler-manager.d.ts +17 -0
  42. package/client/lib/constants.d.ts +2 -0
  43. package/client/lib/incremental-watcher/incremental-watcher-events.d.ts +6 -0
  44. package/client/lib/incremental-watcher/incremental-watcher-instance.d.ts +7 -0
  45. package/client/lib/incremental-watcher/incremental-watcher-options.d.ts +10 -0
  46. package/client/lib/incremental-watcher/incremental-watcher.d.ts +4 -0
  47. package/client/lib/incremental-watcher/index.d.ts +4 -0
  48. package/client/lib/index.d.ts +24 -1
  49. package/client/lib/models.d.ts +7 -6
  50. package/lib/{base-client-compiler.backend.d.ts → base-client-compiler.d.ts} +11 -11
  51. package/lib/{base-client-compiler.backend.js → base-client-compiler.js} +108 -83
  52. package/lib/base-client-compiler.js.map +1 -0
  53. package/lib/change-of-file.d.ts +8 -0
  54. package/lib/change-of-file.js +27 -0
  55. package/lib/change-of-file.js.map +1 -0
  56. package/lib/{compiler-manager.backend.d.ts → compiler-manager.d.ts} +1 -11
  57. package/lib/compiler-manager.js +220 -0
  58. package/lib/compiler-manager.js.map +1 -0
  59. package/lib/incremental-watcher/incremental-watcher.js +14 -10
  60. package/lib/incremental-watcher/incremental-watcher.js.map +1 -1
  61. package/lib/incremental-watcher/parcel-watcher-adapter.backend.js +10 -10
  62. package/lib/incremental-watcher/parcel-watcher-adapter.backend.js.map +1 -1
  63. package/lib/index._auto-generated_.d.ts +0 -0
  64. package/lib/index._auto-generated_.js +6 -0
  65. package/lib/index._auto-generated_.js.map +1 -0
  66. package/lib/index.d.ts +8 -25
  67. package/lib/index.js +8 -55
  68. package/lib/index.js.map +1 -1
  69. package/lib/models.d.ts +7 -6
  70. package/package.json +4 -6
  71. package/taon.jsonc +2 -3
  72. package/tmp-environment.json +28 -27
  73. package/websql/esm2022/lib/base-client-compiler.mjs +269 -0
  74. package/websql/esm2022/lib/change-of-file.mjs +16 -0
  75. package/websql/esm2022/lib/compiler-manager.mjs +198 -0
  76. package/websql/esm2022/lib/constants.mjs +4 -0
  77. package/websql/esm2022/lib/incremental-watcher/incremental-watcher-events.mjs +4 -0
  78. package/websql/esm2022/lib/incremental-watcher/incremental-watcher-instance.mjs +4 -0
  79. package/websql/esm2022/lib/incremental-watcher/incremental-watcher-options.mjs +4 -0
  80. package/websql/esm2022/lib/incremental-watcher/incremental-watcher.mjs +49 -0
  81. package/websql/esm2022/lib/incremental-watcher/index.mjs +6 -0
  82. package/websql/esm2022/lib/index.mjs +24 -75
  83. package/websql/esm2022/lib/models.mjs +1 -3
  84. package/websql/fesm2022/incremental-compiler.mjs +360 -68
  85. package/websql/fesm2022/incremental-compiler.mjs.map +1 -1
  86. package/websql/lib/base-client-compiler.d.ts +56 -0
  87. package/websql/lib/change-of-file.d.ts +9 -0
  88. package/websql/lib/compiler-manager.d.ts +17 -0
  89. package/websql/lib/constants.d.ts +2 -0
  90. package/websql/lib/incremental-watcher/incremental-watcher-events.d.ts +6 -0
  91. package/websql/lib/incremental-watcher/incremental-watcher-instance.d.ts +7 -0
  92. package/websql/lib/incremental-watcher/incremental-watcher-options.d.ts +10 -0
  93. package/websql/lib/incremental-watcher/incremental-watcher.d.ts +4 -0
  94. package/websql/lib/incremental-watcher/index.d.ts +4 -0
  95. package/websql/lib/index.d.ts +24 -1
  96. package/websql/lib/models.d.ts +7 -6
  97. package/lib/base-client-compiler.backend.js.map +0 -1
  98. package/lib/change-of-file.backend.d.ts +0 -14
  99. package/lib/change-of-file.backend.js +0 -54
  100. package/lib/change-of-file.backend.js.map +0 -1
  101. package/lib/compiler-manager.backend.js +0 -307
  102. package/lib/compiler-manager.backend.js.map +0 -1
  103. package/lib/decorators.backend.d.ts +0 -5
  104. package/lib/decorators.backend.js +0 -56
  105. package/lib/decorators.backend.js.map +0 -1
  106. package/lib/helpers.backend.d.ts +0 -3
  107. package/lib/helpers.backend.js +0 -31
  108. package/lib/helpers.backend.js.map +0 -1
@@ -0,0 +1,56 @@
1
+ // @ts-nocheck
2
+ import { ChangeOfFile } from './change-of-file';
3
+ import { Models } from './models';
4
+ import { CoreModels } from 'tnp-core/browser';
5
+ export declare class BaseClientCompiler<INITAL_PARAMS = any> implements Models.BaseClientCompilerOptions {
6
+ readonly followSymlinks: boolean;
7
+ readonly subscribeOnlyFor: CoreModels.FileExtension[];
8
+ readonly executeOutsideScenario: boolean;
9
+ readonly taskName: string;
10
+ ignoreFolderPatter?: string[];
11
+ readonly notifyOnFileUnlink: boolean;
12
+ private pathResolve;
13
+ private initedWithOptions;
14
+ private __folderPath;
15
+ lastAsyncFiles: string[];
16
+ private _folderPathContentCheck;
17
+ isWatchCompilation: boolean;
18
+ get isInited(): boolean;
19
+ get folderPathContentCheck(): string[];
20
+ private set folderPathContentCheck(value);
21
+ set folderPath(v: string[]);
22
+ get folderPath(): string[];
23
+ /**
24
+ * manually init options (when no passing object to constructor super() )
25
+ */
26
+ protected initOptions(options?: Models.BaseClientCompilerOptions): any;
27
+ protected onlySingleRun: boolean;
28
+ /**
29
+ * do not override this
30
+ */
31
+ runTask(options?: {
32
+ watch?: boolean;
33
+ } & Models.StartAndWatchOptions<INITAL_PARAMS>): Promise<BaseClientCompiler<INITAL_PARAMS>>;
34
+ /**
35
+ * @deprecated use runTask instead
36
+ * Do not override this
37
+ */
38
+ start(options?: Models.StartOptions<INITAL_PARAMS>): Promise<BaseClientCompiler<INITAL_PARAMS>>;
39
+ /**
40
+ * @deprecated use runTask instead
41
+ * Do not override this
42
+ */
43
+ startAndWatch(options?: Models.StartAndWatchOptions<INITAL_PARAMS>): Promise<BaseClientCompiler<INITAL_PARAMS>>;
44
+ /**
45
+ *
46
+ * @param absolteFilesPathes for each watched file
47
+ * @returns
48
+ */
49
+ syncAction(absolteFilesPathes?: string[], initalParams?: INITAL_PARAMS): Promise<void>;
50
+ preAsyncAction(initalParams?: INITAL_PARAMS): Promise<void>;
51
+ asyncAction(asyncEvents: ChangeOfFile, initalParams?: INITAL_PARAMS): Promise<void>;
52
+ private _init;
53
+ private fixTaskName;
54
+ filesToWatch(): any;
55
+ private mapForWatching;
56
+ }
@@ -0,0 +1,9 @@
1
+ // @ts-nocheck
2
+ import { CoreModels } from 'tnp-core/browser';
3
+ export declare class ChangeOfFile {
4
+ fileAbsolutePath: string;
5
+ readonly eventName: 'add' | 'change' | 'unlink' | 'unlinkDir';
6
+ readonly datetime: Date;
7
+ constructor(fileAbsolutePath?: string, eventName?: 'add' | 'change' | 'unlink' | 'unlinkDir');
8
+ get fileExt(): CoreModels.FileExtension;
9
+ }
@@ -0,0 +1,17 @@
1
+ // @ts-nocheck
2
+ import { BaseClientCompiler } from './base-client-compiler';
3
+ export declare class CompilerManager {
4
+ private static _instance;
5
+ static get Instance(): CompilerManager;
6
+ private clients;
7
+ private asyncEventScenario;
8
+ private inited;
9
+ private filesContentCache;
10
+ private constructor();
11
+ syncInit(client: BaseClientCompiler<any>, initalParams: any): Promise<any>;
12
+ asyncInit(client: BaseClientCompiler<any>, initialParams: any): Promise<any>;
13
+ private actionForAsyncEvent;
14
+ addClient(client: BaseClientCompiler<any>): any;
15
+ private preventAlreadyInited;
16
+ private fileShouldBeChecked;
17
+ }
@@ -0,0 +1,2 @@
1
+ // @ts-nocheck
2
+ export declare const COMPILER_POOLING: {};
@@ -0,0 +1,6 @@
1
+ // @ts-nocheck
2
+ export type IncrementalWatcherEvents = 'add' | 'addDir' | 'change' | 'unlink' | 'unlinkDir';
3
+ export type IncrementalWatcherAllEvents = 'all' | IncrementalWatcherEvents;
4
+ export type ListenerForAll = (eventName: IncrementalWatcherEvents, path: string) => void;
5
+ export type ListenerForSingleEvent = (path: string) => void;
6
+ export type Listener = ListenerForAll | ListenerForSingleEvent;
@@ -0,0 +1,7 @@
1
+ // @ts-nocheck
2
+ import { IncrementalWatcherAllEvents, ListenerForAll, ListenerForSingleEvent } from "./incremental-watcher-events";
3
+ export interface IncrementalWatcherInstance {
4
+ add(paths: string | ReadonlyArray<string>): void;
5
+ on(event: 'all', listener: ListenerForAll): this;
6
+ on(event: IncrementalWatcherAllEvents, listener: ListenerForSingleEvent): this;
7
+ }
@@ -0,0 +1,10 @@
1
+ // @ts-nocheck
2
+ import { Matcher } from 'anymatch';
3
+ export interface IncrementalWatcherOptions {
4
+ cwd?: string;
5
+ ignored?: Matcher;
6
+ ignoreInitial?: boolean;
7
+ followSymlinks?: boolean;
8
+ name: string;
9
+ engine?: 'chokidar' | '@parcel/watcher';
10
+ }
@@ -0,0 +1,4 @@
1
+ // @ts-nocheck
2
+ import { IncrementalWatcherInstance } from './incremental-watcher-instance';
3
+ import { IncrementalWatcherOptions } from './incremental-watcher-options';
4
+ export declare function incrementalWatcher(filePath: string | string[], watchOptions: IncrementalWatcherOptions): Promise<IncrementalWatcherInstance>;
@@ -0,0 +1,4 @@
1
+ // @ts-nocheck
2
+ export * from './incremental-watcher-instance';
3
+ export * from './incremental-watcher-options';
4
+ export * from './incremental-watcher';
@@ -1,2 +1,25 @@
1
1
  // @ts-nocheck
2
- export {};
2
+ import * as models from './models';
3
+ export * from './change-of-file';
4
+ export * from './constants';
5
+ export * from './incremental-watcher';
6
+ import * as change from './change-of-file';
7
+ export * from './base-client-compiler';
8
+ import * as incBase from './base-client-compiler';
9
+ /**
10
+ * Template for watcher client:
11
+ * // @ts-ignore
12
+ * import { IncCompiler } from '../lib';
13
+ *
14
+ * export class TestWatcher extends IncCompiler.Base {
15
+ *
16
+ * syncAction(files = []) { }
17
+ * preAsyncAction() { }
18
+ * asyncAction(change: IncCompiler.Change, additionalData:any ) { }
19
+ * }
20
+ */
21
+ export declare namespace IncCompiler {
22
+ export import Models = models.Models;
23
+ export import Base = incBase.BaseClientCompiler;
24
+ export import Change = change.ChangeOfFile;
25
+ }
@@ -4,11 +4,15 @@ export declare namespace Models {
4
4
  interface StartAndWatchOptions<INIT_PARAMS = any> {
5
5
  afterInitCallBack?: (initalParams?: INIT_PARAMS) => void;
6
6
  watchOnly?: boolean;
7
+ /**
8
+ * override task name
9
+ */
7
10
  taskName?: string;
8
11
  initalParams?: INIT_PARAMS;
9
12
  }
10
13
  type StartOptions<T = any> = Omit<StartAndWatchOptions<T>, 'watchOnly'>;
11
14
  interface BaseClientCompilerOptions {
15
+ taskName: string;
12
16
  folderPath?: string | string[];
13
17
  /**
14
18
  * It will cache in memory previouse files
@@ -16,7 +20,6 @@ export declare namespace Models {
16
20
  * and prevent not changed files emiting change event
17
21
  */
18
22
  folderPathContentCheck?: string | string[];
19
- watchDepth?: Number;
20
23
  /**
21
24
  * default true
22
25
  */
@@ -26,13 +29,11 @@ export declare namespace Models {
26
29
  * default: false
27
30
  */
28
31
  notifyOnFileUnlink?: boolean;
29
- ignoreFolderPatter?: string[];
30
- allowedOnlyFileExt?: string[];
31
32
  /**
32
- * useful when using **allowedOnlyFileExt**
33
+ * ignore glob folder pattern
34
+ * node_modules is always ignored
33
35
  */
34
- additionallyAllowedFilesWithNames?: string[];
35
- executeOutsideScenario?: boolean;
36
+ ignoreFolderPatter?: string[];
36
37
  subscribeOnlyFor?: CoreModels.FileExtension[];
37
38
  }
38
39
  }
@@ -1,15 +1,12 @@
1
- import { ChangeOfFile } from './change-of-file.backend';
1
+ import { ChangeOfFile } from './change-of-file';
2
2
  import { Models } from './models';
3
3
  import { CoreModels } from 'tnp-core/src';
4
4
  export declare class BaseClientCompiler<INITAL_PARAMS = any> implements Models.BaseClientCompilerOptions {
5
5
  readonly followSymlinks: boolean;
6
6
  readonly subscribeOnlyFor: CoreModels.FileExtension[];
7
7
  readonly executeOutsideScenario: boolean;
8
- readonly watchDepth: Number;
9
8
  readonly taskName: string;
10
9
  ignoreFolderPatter?: string[];
11
- allowedOnlyFileExt?: string[];
12
- additionallyAllowedFilesWithNames?: string[];
13
10
  readonly notifyOnFileUnlink: boolean;
14
11
  compilationWrapper: (fn: () => void, taskName?: string, executionType?: "Compilation of" | "Code execution of" | "Event:") => Promise<void>;
15
12
  private pathResolve;
@@ -17,7 +14,7 @@ export declare class BaseClientCompiler<INITAL_PARAMS = any> implements Models.B
17
14
  private __folderPath;
18
15
  lastAsyncFiles: string[];
19
16
  private _folderPathContentCheck;
20
- get key(): string;
17
+ isWatchCompilation: boolean;
21
18
  get isInited(): boolean;
22
19
  get folderPathContentCheck(): string[];
23
20
  private set folderPathContentCheck(value);
@@ -30,10 +27,18 @@ export declare class BaseClientCompiler<INITAL_PARAMS = any> implements Models.B
30
27
  protected initOptions(options?: Models.BaseClientCompilerOptions): void;
31
28
  protected onlySingleRun: boolean;
32
29
  /**
30
+ * do not override this
31
+ */
32
+ runTask(options?: {
33
+ watch?: boolean;
34
+ } & Models.StartAndWatchOptions<INITAL_PARAMS>): Promise<BaseClientCompiler<INITAL_PARAMS>>;
35
+ /**
36
+ * @deprecated use runTask instead
33
37
  * Do not override this
34
38
  */
35
39
  start(options?: Models.StartOptions<INITAL_PARAMS>): Promise<BaseClientCompiler<INITAL_PARAMS>>;
36
40
  /**
41
+ * @deprecated use runTask instead
37
42
  * Do not override this
38
43
  */
39
44
  startAndWatch(options?: Models.StartAndWatchOptions<INITAL_PARAMS>): Promise<BaseClientCompiler<INITAL_PARAMS>>;
@@ -45,13 +50,8 @@ export declare class BaseClientCompiler<INITAL_PARAMS = any> implements Models.B
45
50
  syncAction(absolteFilesPathes?: string[], initalParams?: INITAL_PARAMS): Promise<void>;
46
51
  preAsyncAction(initalParams?: INITAL_PARAMS): Promise<void>;
47
52
  asyncAction(asyncEvents: ChangeOfFile, initalParams?: INITAL_PARAMS): Promise<void>;
48
- watchOptions: {
49
- allowedExt?: string[];
50
- addionalAllowed: string[];
51
- allowedExtEnable: boolean;
52
- addionalAllowedEnable: boolean;
53
- };
54
53
  private _init;
55
54
  private fixTaskName;
56
55
  filesToWatch(): string[];
56
+ private mapForWatching;
57
57
  }
@@ -3,52 +3,44 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.BaseClientCompiler = void 0;
4
4
  var tslib_1 = require("tslib");
5
5
  //#region imports
6
+ //#region @backend
6
7
  var tnp_core_1 = require("tnp-core");
7
- var typescript_class_helpers_1 = require("typescript-class-helpers");
8
- var compiler_manager_backend_1 = require("./compiler-manager.backend");
9
- var helpers_backend_1 = require("./helpers.backend");
8
+ //#endregion
10
9
  var tnp_core_2 = require("tnp-core");
10
+ var compiler_manager_1 = require("./compiler-manager");
11
11
  var tnp_core_3 = require("tnp-core");
12
+ var tnp_core_4 = require("tnp-core");
12
13
  //#endregion
13
14
  var BaseClientCompiler = /** @class */ (function () {
14
15
  //#endregion
15
16
  //#endregion
16
17
  //#region constructor
18
+ //#region @backend
17
19
  function BaseClientCompiler(options) {
18
20
  this.subscribeOnlyFor = [];
19
- this.compilationWrapper = tnp_core_2.Helpers.compilationWrapper;
21
+ //#region @backend
22
+ this.compilationWrapper = tnp_core_3.Helpers.compilationWrapper;
23
+ //#endregion
20
24
  this.pathResolve = false;
21
25
  this.initedWithOptions = false;
22
26
  this.__folderPath = [];
23
27
  this.lastAsyncFiles = [];
24
28
  this._folderPathContentCheck = [];
29
+ this.isWatchCompilation = false;
25
30
  //#endregion
26
31
  this.onlySingleRun = true;
27
- //#endregion
28
- //#endregion
29
- //#region private methods
30
- this.watchOptions = {};
31
- if (tnp_core_1._.isUndefined(options)) {
32
+ if (tnp_core_2._.isUndefined(options)) {
32
33
  this.initedWithOptions = false;
33
- tnp_core_2.Helpers.log('[incremental-compiler] Compiler class instace without init options');
34
+ tnp_core_3.Helpers.log('[incremental-compiler] Compiler class instace without init options');
34
35
  }
35
36
  else {
36
37
  this.initedWithOptions = true;
37
38
  this._init(options);
38
39
  }
39
40
  }
40
- Object.defineProperty(BaseClientCompiler.prototype, "key", {
41
- //#endregion
42
- //#region getters & setteres
43
- //#region getters & setteres / key
44
- get: function () {
45
- return "".concat(typescript_class_helpers_1.CLASS.getNameFromObject(this), "__").concat(tnp_core_1._.kebabCase(this.taskName));
46
- },
47
- enumerable: false,
48
- configurable: true
49
- });
50
41
  Object.defineProperty(BaseClientCompiler.prototype, "isInited", {
51
42
  //#endregion
43
+ //#region getters & setteres
52
44
  //#region getters & setteres / is inited
53
45
  get: function () {
54
46
  return this.initedWithOptions;
@@ -71,47 +63,82 @@ var BaseClientCompiler = /** @class */ (function () {
71
63
  Object.defineProperty(BaseClientCompiler.prototype, "folderPath", {
72
64
  get: function () {
73
65
  var _this = this;
66
+ //#region @backendFunc
74
67
  if (!this.pathResolve) {
75
68
  this.pathResolve = true;
76
- this.__folderPath.map(function (p) {
69
+ this.__folderPath
70
+ .map(function (p) {
77
71
  if (tnp_core_1.fse.existsSync(p)) {
78
- return (0, tnp_core_1.crossPlatformPath)(tnp_core_1.path.resolve(p));
72
+ return (0, tnp_core_2.crossPlatformPath)(tnp_core_2.path.resolve(p));
79
73
  }
80
74
  else {
81
- tnp_core_2.Helpers.warn("[BaseClientCompiler] client \"".concat(typescript_class_helpers_1.CLASS.getNameFromObject(_this), "\" folderPath doesn't not exist ").concat(_this.folderPath));
75
+ tnp_core_3.Helpers.warn("[BaseClientCompiler] Task \"".concat(_this.taskName, "\" folderPath doesn't not exist ").concat(_this.folderPath));
82
76
  return void 0;
83
77
  }
84
- }).filter(function (f) { return !!f; });
78
+ })
79
+ .filter(function (f) { return !!f; });
85
80
  }
86
81
  return this.__folderPath;
82
+ //#endregion
87
83
  },
88
84
  //#endregion
89
85
  //#region getters & setteres / folder path
90
86
  set: function (v) {
87
+ if (tnp_core_2._.isString(v)) {
88
+ v = [v];
89
+ }
91
90
  this.__folderPath = v;
92
91
  },
93
92
  enumerable: false,
94
93
  configurable: true
95
94
  });
96
95
  //#endregion
97
- //#region api methods
98
- //#region api methods / init options
96
+ //#endregion
97
+ //#region / init options
99
98
  /**
100
99
  * manually init options (when no passing object to constructor super() )
101
100
  */
102
101
  BaseClientCompiler.prototype.initOptions = function (options) {
102
+ //#region @backendFunc
103
103
  if (this.initedWithOptions === true) {
104
- tnp_core_2.Helpers.warn("[incremental-compiler] You can't reinit instance class again..."
105
- + " (after reiniting in constructor super(....))", true);
104
+ tnp_core_3.Helpers.warn("[incremental-compiler] You can't reinit instance class again..." +
105
+ " (after reiniting in constructor super(....))", true);
106
106
  }
107
107
  if (!options) {
108
- tnp_core_2.Helpers.error("[incremental-compiler] Please init instance with options config", false, true);
108
+ tnp_core_3.Helpers.error("[incremental-compiler] Please init instance with options config", false, true);
109
109
  }
110
110
  this.initedWithOptions = true;
111
111
  this._init(options);
112
+ //#endregion
113
+ };
114
+ //#region api methods / start
115
+ /**
116
+ * do not override this
117
+ */
118
+ BaseClientCompiler.prototype.runTask = function (options) {
119
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
120
+ return tslib_1.__generator(this, function (_a) {
121
+ switch (_a.label) {
122
+ case 0:
123
+ //#region @backendFunc
124
+ this.isWatchCompilation = options === null || options === void 0 ? void 0 : options.watch;
125
+ if (!(options === null || options === void 0 ? void 0 : options.watch)) return [3 /*break*/, 2];
126
+ return [4 /*yield*/, this.startAndWatch(options)];
127
+ case 1:
128
+ _a.sent();
129
+ return [3 /*break*/, 4];
130
+ case 2: return [4 /*yield*/, this.start(options)];
131
+ case 3:
132
+ _a.sent();
133
+ _a.label = 4;
134
+ case 4: return [2 /*return*/, this];
135
+ }
136
+ });
137
+ });
112
138
  };
113
139
  //#region api methods / start
114
140
  /**
141
+ * @deprecated use runTask instead
115
142
  * Do not override this
116
143
  */
117
144
  BaseClientCompiler.prototype.start = function (options) {
@@ -122,9 +149,9 @@ var BaseClientCompiler = /** @class */ (function () {
122
149
  switch (_b.label) {
123
150
  case 0:
124
151
  _a = options || {}, taskName = _a.taskName, afterInitCallBack = _a.afterInitCallBack, initalParams = _a.initalParams;
125
- compiler_manager_backend_1.CompilerManager.Instance.addClient(this);
152
+ compiler_manager_1.CompilerManager.Instance.addClient(this);
126
153
  if (!this.initedWithOptions) {
127
- tnp_core_2.Helpers.error("[BaseClientCompiler] Please init client class intance with options", false, true);
154
+ tnp_core_3.Helpers.error("[BaseClientCompiler] Please init client class intance with options", false, true);
128
155
  }
129
156
  taskName = this.fixTaskName(taskName);
130
157
  // @ts-ignore
@@ -132,17 +159,20 @@ var BaseClientCompiler = /** @class */ (function () {
132
159
  return [4 /*yield*/, this.compilationWrapper(function () { return tslib_1.__awaiter(_this, void 0, void 0, function () {
133
160
  return tslib_1.__generator(this, function (_a) {
134
161
  switch (_a.label) {
135
- case 0: return [4 /*yield*/, compiler_manager_backend_1.CompilerManager.Instance.syncInit(this, initalParams)];
162
+ case 0: return [4 /*yield*/, compiler_manager_1.CompilerManager.Instance.syncInit(this, initalParams)];
136
163
  case 1:
137
164
  _a.sent();
138
165
  return [2 /*return*/];
139
166
  }
140
167
  });
141
- }); }, "".concat(tnp_core_3.CLI.chalk.green('sync action'), " for ").concat(taskName), 'Event:')];
168
+ }); }, "".concat(tnp_core_4.CLI.chalk.green('sync action'), " for ").concat(taskName), 'Event:')];
142
169
  case 1:
143
170
  _b.sent();
144
- if (!tnp_core_1._.isFunction(afterInitCallBack)) return [3 /*break*/, 3];
145
- return [4 /*yield*/, tnp_core_2.Helpers.runSyncOrAsync({ functionFn: afterInitCallBack, arrayOfParams: [initalParams] })];
171
+ if (!tnp_core_2._.isFunction(afterInitCallBack)) return [3 /*break*/, 3];
172
+ return [4 /*yield*/, tnp_core_3.Helpers.runSyncOrAsync({
173
+ functionFn: afterInitCallBack,
174
+ arrayOfParams: [initalParams],
175
+ })];
146
176
  case 2:
147
177
  _b.sent();
148
178
  _b.label = 3;
@@ -154,6 +184,7 @@ var BaseClientCompiler = /** @class */ (function () {
154
184
  //#endregion
155
185
  //#region api methods / start and watch
156
186
  /**
187
+ * @deprecated use runTask instead
157
188
  * Do not override this
158
189
  */
159
190
  BaseClientCompiler.prototype.startAndWatch = function (options) {
@@ -166,21 +197,21 @@ var BaseClientCompiler = /** @class */ (function () {
166
197
  _a = options || {}, taskName = _a.taskName, watchOnly = _a.watchOnly, initalParams = _a.initalParams;
167
198
  this.onlySingleRun = false;
168
199
  if (!this.initedWithOptions) {
169
- tnp_core_2.Helpers.error("[BaseClientCompiler] Please init client class intance with options", false, true);
200
+ tnp_core_3.Helpers.error("[BaseClientCompiler] Please init client class intance with options", false, true);
170
201
  }
171
202
  taskName = this.fixTaskName(taskName);
172
203
  // @ts-ignore
173
204
  this.taskName = taskName;
174
205
  if (!(this.folderPath.length > 0)) return [3 /*break*/, 7];
175
206
  if (!watchOnly) return [3 /*break*/, 1];
176
- console.log(tnp_core_3.CLI.chalk.gray("[incremental-compiler] Watch mode only for \"".concat(taskName, "\"")));
207
+ console.log(tnp_core_4.CLI.chalk.gray("[incremental-compiler] Watch mode only for \"".concat(taskName, "\"")));
177
208
  return [3 /*break*/, 3];
178
209
  case 1: return [4 /*yield*/, this.start(options)];
179
210
  case 2:
180
211
  _b.sent();
181
212
  _b.label = 3;
182
213
  case 3:
183
- if (!tnp_core_1._.isFunction(this.preAsyncAction)) return [3 /*break*/, 5];
214
+ if (!tnp_core_2._.isFunction(this.preAsyncAction)) return [3 /*break*/, 5];
184
215
  return [4 /*yield*/, this.compilationWrapper(function () { return tslib_1.__awaiter(_this, void 0, void 0, function () {
185
216
  return tslib_1.__generator(this, function (_a) {
186
217
  switch (_a.label) {
@@ -190,16 +221,16 @@ var BaseClientCompiler = /** @class */ (function () {
190
221
  return [2 /*return*/];
191
222
  }
192
223
  });
193
- }); }, "".concat(tnp_core_3.CLI.chalk.green('pre-async action'), " for ").concat(taskName), 'Event:')];
224
+ }); }, "".concat(tnp_core_4.CLI.chalk.green('pre-async action'), " for ").concat(taskName), 'Event:')];
194
225
  case 4:
195
226
  _b.sent();
196
227
  _b.label = 5;
197
- case 5: return [4 /*yield*/, compiler_manager_backend_1.CompilerManager.Instance.asyncInit(this, initalParams || {})];
228
+ case 5: return [4 /*yield*/, compiler_manager_1.CompilerManager.Instance.asyncInit(this, initalParams || {})];
198
229
  case 6:
199
230
  _b.sent();
200
231
  return [3 /*break*/, 9];
201
232
  case 7:
202
- tnp_core_2.Helpers.log("No action for task: ".concat(taskName, ".. starting task"));
233
+ tnp_core_3.Helpers.log("No action for task: ".concat(taskName, ".. starting task"));
203
234
  return [4 /*yield*/, this.start(options)];
204
235
  case 8:
205
236
  _b.sent();
@@ -231,89 +262,83 @@ var BaseClientCompiler = /** @class */ (function () {
231
262
  BaseClientCompiler.prototype.asyncAction = function (asyncEvents, initalParams) {
232
263
  return void 0;
233
264
  };
265
+ //#endregion
266
+ //#endregion
267
+ //#region private methods
234
268
  //#region private methods / _init
235
269
  BaseClientCompiler.prototype._init = function (options) {
236
- if (tnp_core_1._.isUndefined(options.executeOutsideScenario)) {
237
- options.executeOutsideScenario = true;
238
- }
239
- if (!tnp_core_1._.isArray(options.subscribeOnlyFor)) {
270
+ //#region @backendFunc
271
+ if (!tnp_core_2._.isArray(options.subscribeOnlyFor)) {
240
272
  options.subscribeOnlyFor = [];
241
273
  }
242
- if (tnp_core_1._.isUndefined(options.folderPath)) {
274
+ if (tnp_core_2._.isUndefined(options.folderPath)) {
243
275
  options.folderPath = [];
244
276
  }
245
- if (tnp_core_1._.isUndefined(options.folderPathContentCheck)) {
277
+ if (tnp_core_2._.isUndefined(options.folderPathContentCheck)) {
246
278
  options.folderPathContentCheck = [];
247
279
  }
248
- if (tnp_core_1._.isUndefined(options.ignoreFolderPatter)) {
280
+ if (tnp_core_2._.isUndefined(options.ignoreFolderPatter)) {
249
281
  options.ignoreFolderPatter = [];
250
282
  }
251
- if (tnp_core_1._.isString(options.folderPath)) {
283
+ if (tnp_core_2._.isString(options.folderPath)) {
252
284
  options.folderPath = [options.folderPath];
253
285
  }
254
- if (tnp_core_1._.isString(options.folderPathContentCheck)) {
286
+ if (tnp_core_2._.isString(options.folderPathContentCheck)) {
255
287
  options.folderPathContentCheck = [options.folderPathContentCheck];
256
288
  }
257
- if (!tnp_core_1._.isString(options.folderPath) && !tnp_core_1._.isArray(options.folderPath)) {
258
- tnp_core_2.Helpers.error("Folder path shoudl be string or array", false, true);
289
+ if (!tnp_core_2._.isString(options.folderPath) && !tnp_core_2._.isArray(options.folderPath)) {
290
+ tnp_core_3.Helpers.error("Folder path shoudl be string or array", false, true);
259
291
  }
260
- if (!tnp_core_1._.isString(options.folderPathContentCheck) && !tnp_core_1._.isArray(options.folderPathContentCheck)) {
261
- tnp_core_2.Helpers.error("Folder path shoudl be string or array", false, true);
292
+ if (!tnp_core_2._.isString(options.folderPathContentCheck) &&
293
+ !tnp_core_2._.isArray(options.folderPathContentCheck)) {
294
+ tnp_core_3.Helpers.error("Folder path shoudl be string or array", false, true);
262
295
  }
263
- if (tnp_core_1._.isUndefined(options.watchDepth)) {
264
- options.watchDepth = Number.POSITIVE_INFINITY;
265
- }
266
- if (tnp_core_1._.isNumber(options.watchDepth)) {
267
- options.watchDepth = Math.abs(options.watchDepth);
268
- }
269
- if (tnp_core_1._.isUndefined(options.followSymlinks)) {
296
+ if (tnp_core_2._.isUndefined(options.followSymlinks)) {
270
297
  options.followSymlinks = false;
271
298
  }
272
- if (tnp_core_1._.isUndefined(options.notifyOnFileUnlink)) {
299
+ if (tnp_core_2._.isUndefined(options.notifyOnFileUnlink)) {
273
300
  options.notifyOnFileUnlink = false;
274
301
  }
275
302
  // console.log('ASSIGNE', options)
276
303
  Object.assign(this, options);
277
- var allowedExtEnable = Array.isArray(this.allowedOnlyFileExt) && this.allowedOnlyFileExt.length > 0;
278
- this.watchOptions.allowedExtEnable = allowedExtEnable;
279
- var allowedExt = !allowedExtEnable ? [] : (this.allowedOnlyFileExt || []).map(function (ext) {
280
- if (ext.startsWith('.')) {
281
- return ext;
282
- }
283
- return ".".concat(ext);
284
- });
285
- this.watchOptions.allowedExt = allowedExt;
286
- var addionalAllowedEnable = Array.isArray(this.additionallyAllowedFilesWithNames)
287
- && this.additionallyAllowedFilesWithNames.length > 0;
288
- this.watchOptions.addionalAllowedEnable = addionalAllowedEnable;
289
- var addionalAllowed = !addionalAllowedEnable ? [] : (this.additionallyAllowedFilesWithNames || []);
290
- this.watchOptions.addionalAllowed = addionalAllowed;
304
+ //#endregion
291
305
  };
292
306
  //#endregion
293
307
  //#region private methods / fix task name
294
308
  BaseClientCompiler.prototype.fixTaskName = function (taskName) {
295
- if (!tnp_core_1._.isString(taskName)) {
296
- taskName = "task of client \"".concat(typescript_class_helpers_1.CLASS.getNameFromObject(this), "\"");
309
+ if (!tnp_core_2._.isString(taskName)) {
310
+ taskName = "task \"".concat(this.taskName, "\"");
297
311
  }
298
312
  return taskName;
299
313
  };
300
314
  //#endregion
301
315
  BaseClientCompiler.prototype.filesToWatch = function () {
316
+ var _this = this;
317
+ //#region @backendFunc
302
318
  var folders = [];
303
319
  // this.clients.forEach(c => {
304
320
  [this].forEach(function (c) {
305
321
  // console.log("c.folderPath", c.folderPath)
306
- c.folderPath.forEach(function (fp) {
322
+ c.folderPath.forEach(function (folderPath) {
307
323
  // console.log(`fp`, fp)
308
- if (tnp_core_1._.isString(fp) && !folders.includes(fp)) {
309
- var mapped = (0, helpers_backend_1.mapForWatching)(fp);
324
+ if (tnp_core_2._.isString(folderPath) && !folders.includes(folderPath)) {
325
+ var mapped = _this.mapForWatching(folderPath);
310
326
  folders.push.apply(folders, tslib_1.__spreadArray([], tslib_1.__read(mapped), false));
311
327
  }
312
328
  });
313
329
  });
314
- return tnp_core_1._.cloneDeep(folders);
330
+ return tnp_core_2._.cloneDeep(folders);
331
+ //#endregion
332
+ };
333
+ BaseClientCompiler.prototype.mapForWatching = function (c) {
334
+ //#region @backendFunc
335
+ if (tnp_core_1.fse.existsSync(c) && tnp_core_1.fse.lstatSync(c).isDirectory()) {
336
+ return [c, "".concat(c, "/**/*.*")];
337
+ }
338
+ return [c];
339
+ //#endregion
315
340
  };
316
341
  return BaseClientCompiler;
317
342
  }());
318
343
  exports.BaseClientCompiler = BaseClientCompiler;
319
- //# sourceMappingURL=base-client-compiler.backend.js.map
344
+ //# sourceMappingURL=base-client-compiler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-client-compiler.js","sourceRoot":"","sources":[""],"names":[],"mappings":"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"}