incremental-compiler 21.0.35 → 21.0.37

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 (151) hide show
  1. package/assets/shared/shared_folder_info.txt +7 -0
  2. package/browser/README.md +24 -0
  3. package/browser/fesm2022/incremental-compiler-browser.mjs +327 -0
  4. package/browser/fesm2022/incremental-compiler-browser.mjs.map +1 -0
  5. package/browser/package.json +20 -1
  6. package/browser/types/incremental-compiler-browser.d.ts +126 -0
  7. package/browser-prod/README.md +24 -0
  8. package/browser-prod/fesm2022/incremental-compiler-browser.mjs +327 -0
  9. package/browser-prod/fesm2022/incremental-compiler-browser.mjs.map +1 -0
  10. package/browser-prod/package.json +20 -2
  11. package/browser-prod/types/incremental-compiler-browser.d.ts +126 -0
  12. package/browser-prod.re-export.json +1 -0
  13. package/browser-prod.split-namespaces.json +4 -0
  14. package/index.d.ts +1 -0
  15. package/index.js +18 -0
  16. package/index.js.map +1 -0
  17. package/lib/base-client-compiler.d.ts +53 -0
  18. package/lib/base-client-compiler.js +263 -0
  19. package/lib/base-client-compiler.js.map +1 -0
  20. package/lib/build-info._auto-generated_.d.ts +24 -0
  21. package/lib/build-info._auto-generated_.js +30 -0
  22. package/lib/build-info._auto-generated_.js.map +1 -0
  23. package/lib/compiler-manager.d.ts +14 -0
  24. package/lib/compiler-manager.js +164 -0
  25. package/lib/compiler-manager.js.map +1 -0
  26. package/lib/constants.d.ts +1 -0
  27. package/lib/constants.js +10 -0
  28. package/lib/constants.js.map +1 -0
  29. package/lib/env/env.angular-node-app.d.ts +64 -0
  30. package/lib/env/env.angular-node-app.js +71 -0
  31. package/lib/env/env.angular-node-app.js.map +1 -0
  32. package/lib/env/env.docs-webapp.d.ts +64 -0
  33. package/lib/env/env.docs-webapp.js +71 -0
  34. package/lib/env/env.docs-webapp.js.map +1 -0
  35. package/lib/env/env.electron-app.d.ts +64 -0
  36. package/lib/env/env.electron-app.js +71 -0
  37. package/lib/env/env.electron-app.js.map +1 -0
  38. package/lib/env/env.mobile-app.d.ts +64 -0
  39. package/lib/env/env.mobile-app.js +71 -0
  40. package/lib/env/env.mobile-app.js.map +1 -0
  41. package/lib/env/env.npm-lib-and-cli-tool.d.ts +64 -0
  42. package/lib/env/env.npm-lib-and-cli-tool.js +71 -0
  43. package/lib/env/env.npm-lib-and-cli-tool.js.map +1 -0
  44. package/lib/env/env.vscode-plugin.d.ts +64 -0
  45. package/lib/env/env.vscode-plugin.js +71 -0
  46. package/lib/env/env.vscode-plugin.js.map +1 -0
  47. package/lib/env/index.d.ts +6 -0
  48. package/lib/env/index.js +23 -0
  49. package/lib/env/index.js.map +1 -0
  50. package/lib/helpers.d.ts +12 -0
  51. package/lib/helpers.js +108 -0
  52. package/lib/helpers.js.map +1 -0
  53. package/lib/incremental-watcher.d.ts +3 -0
  54. package/lib/incremental-watcher.js +30 -0
  55. package/lib/incremental-watcher.js.map +1 -0
  56. package/lib/index._auto-generated_.d.ts +0 -0
  57. package/lib/index._auto-generated_.js +6 -0
  58. package/lib/index._auto-generated_.js.map +1 -0
  59. package/lib/index.d.ts +5 -0
  60. package/lib/index.js +22 -0
  61. package/lib/index.js.map +1 -0
  62. package/lib/migrations/index.d.ts +1 -0
  63. package/lib/migrations/index.js +19 -0
  64. package/lib/migrations/index.js.map +1 -0
  65. package/lib/migrations/migrations_index._auto-generated_.d.ts +0 -0
  66. package/lib/migrations/migrations_index._auto-generated_.js +4 -0
  67. package/lib/migrations/migrations_index._auto-generated_.js.map +1 -0
  68. package/lib/models.d.ts +67 -0
  69. package/lib/models.js +3 -0
  70. package/lib/models.js.map +1 -0
  71. package/lib/package.json +1 -1
  72. package/lib/parcel-watcher-adapter.d.ts +30 -0
  73. package/lib/parcel-watcher-adapter.js +300 -0
  74. package/lib/parcel-watcher-adapter.js.map +1 -0
  75. package/lib-prod/base-client-compiler.d.ts +53 -0
  76. package/lib-prod/base-client-compiler.js +259 -0
  77. package/lib-prod/base-client-compiler.js.map +1 -0
  78. package/lib-prod/build-info._auto-generated_.d.ts +24 -0
  79. package/lib-prod/build-info._auto-generated_.js +27 -0
  80. package/lib-prod/build-info._auto-generated_.js.map +1 -0
  81. package/lib-prod/compiler-manager.d.ts +14 -0
  82. package/lib-prod/compiler-manager.js +160 -0
  83. package/lib-prod/compiler-manager.js.map +1 -0
  84. package/lib-prod/constants.d.ts +1 -0
  85. package/lib-prod/constants.js +7 -0
  86. package/lib-prod/constants.js.map +1 -0
  87. package/lib-prod/env/env.angular-node-app.d.ts +64 -0
  88. package/lib-prod/env/env.angular-node-app.js +67 -0
  89. package/lib-prod/env/env.angular-node-app.js.map +1 -0
  90. package/lib-prod/env/env.docs-webapp.d.ts +64 -0
  91. package/lib-prod/env/env.docs-webapp.js +67 -0
  92. package/lib-prod/env/env.docs-webapp.js.map +1 -0
  93. package/lib-prod/env/env.electron-app.d.ts +64 -0
  94. package/lib-prod/env/env.electron-app.js +67 -0
  95. package/lib-prod/env/env.electron-app.js.map +1 -0
  96. package/lib-prod/env/env.mobile-app.d.ts +64 -0
  97. package/lib-prod/env/env.mobile-app.js +67 -0
  98. package/lib-prod/env/env.mobile-app.js.map +1 -0
  99. package/lib-prod/env/env.npm-lib-and-cli-tool.d.ts +64 -0
  100. package/lib-prod/env/env.npm-lib-and-cli-tool.js +67 -0
  101. package/lib-prod/env/env.npm-lib-and-cli-tool.js.map +1 -0
  102. package/lib-prod/env/env.vscode-plugin.d.ts +64 -0
  103. package/lib-prod/env/env.vscode-plugin.js +67 -0
  104. package/lib-prod/env/env.vscode-plugin.js.map +1 -0
  105. package/lib-prod/env/index.d.ts +6 -0
  106. package/lib-prod/env/index.js +7 -0
  107. package/lib-prod/env/index.js.map +1 -0
  108. package/lib-prod/helpers.d.ts +12 -0
  109. package/lib-prod/helpers.js +102 -0
  110. package/lib-prod/helpers.js.map +1 -0
  111. package/lib-prod/incremental-watcher.d.ts +3 -0
  112. package/lib-prod/incremental-watcher.js +27 -0
  113. package/lib-prod/incremental-watcher.js.map +1 -0
  114. package/lib-prod/index._auto-generated_.d.ts +0 -0
  115. package/lib-prod/index._auto-generated_.js +6 -0
  116. package/lib-prod/index._auto-generated_.js.map +1 -0
  117. package/lib-prod/index.d.ts +5 -0
  118. package/lib-prod/index.js +6 -0
  119. package/lib-prod/index.js.map +1 -0
  120. package/lib-prod/migrations/index.d.ts +1 -0
  121. package/lib-prod/migrations/index.js +3 -0
  122. package/lib-prod/migrations/index.js.map +1 -0
  123. package/lib-prod/migrations/migrations_index._auto-generated_.d.ts +0 -0
  124. package/lib-prod/migrations/migrations_index._auto-generated_.js +4 -0
  125. package/lib-prod/migrations/migrations_index._auto-generated_.js.map +1 -0
  126. package/lib-prod/models.d.ts +67 -0
  127. package/lib-prod/models.js +2 -0
  128. package/lib-prod/models.js.map +1 -0
  129. package/lib-prod/package.json +1 -1
  130. package/lib-prod/parcel-watcher-adapter.d.ts +30 -0
  131. package/lib-prod/parcel-watcher-adapter.js +296 -0
  132. package/lib-prod/parcel-watcher-adapter.js.map +1 -0
  133. package/lib-prod.re-export.json +1 -0
  134. package/lib-prod.split-namespaces.json +4 -0
  135. package/package.json +1 -1
  136. package/scss/global.scss +44 -0
  137. package/scss/index.scss +2 -0
  138. package/scss/lib/index.scss +1 -0
  139. package/scss/vars.scss +7 -0
  140. package/websql/README.md +24 -0
  141. package/websql/fesm2022/incremental-compiler-websql.mjs +327 -0
  142. package/websql/fesm2022/incremental-compiler-websql.mjs.map +1 -0
  143. package/websql/package.json +20 -1
  144. package/websql/types/incremental-compiler-websql.d.ts +126 -0
  145. package/websql-prod/README.md +24 -0
  146. package/websql-prod/fesm2022/incremental-compiler-websql.mjs +327 -0
  147. package/websql-prod/fesm2022/incremental-compiler-websql.mjs.map +1 -0
  148. package/websql-prod/package.json +20 -2
  149. package/websql-prod/types/incremental-compiler-websql.d.ts +126 -0
  150. package/websql-prod.re-export.json +1 -0
  151. package/websql-prod.split-namespaces.json +4 -0
@@ -0,0 +1,30 @@
1
+ import { IncrementalWatcherAllEvents, Listener, IncrementalWatcherInstance } from './models';
2
+ import { IncrementalWatcherOptions } from './models';
3
+ /**
4
+ * Adapter for chokidar watcher that uses @parcel/watcher under the hood
5
+ */
6
+ export declare class ParcelWatcherAdapter implements Partial<IncrementalWatcherInstance> {
7
+ static instances: ParcelWatcherAdapter[];
8
+ private pathsToWatch;
9
+ private listenerData;
10
+ private subs;
11
+ private alreadyStarted;
12
+ private allFilesAndFoldersInitial;
13
+ private foldersPathes;
14
+ private readonly ignore;
15
+ private readonly ignoreInitial;
16
+ private readonly followSymlinks;
17
+ private readonly engine;
18
+ private readonly name;
19
+ constructor(filesFolderPathOrPatternsToWatch: string[], initialOptions: IncrementalWatcherOptions);
20
+ private stopWatching;
21
+ startWatching(options?: {}): Promise<void>;
22
+ add(pathToAdd: string | string[], options?: {
23
+ fistTimeAdding?: boolean;
24
+ }): void;
25
+ on(allowedEvent: IncrementalWatcherAllEvents, listenerFromOnFn: Listener): this;
26
+ private handleErrors;
27
+ private notifyListener;
28
+ private chokidarToParcel;
29
+ private pushInitial;
30
+ }
@@ -0,0 +1,300 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ParcelWatcherAdapter = void 0;
4
+ const anymatch_1 = require("anymatch");
5
+ const lib_1 = require("tnp-core/lib");
6
+ const lib_2 = require("tnp-core/lib");
7
+ const lib_3 = require("tnp-core/lib");
8
+ const constants_1 = require("./constants");
9
+ const helpers_1 = require("./helpers");
10
+ //#endregion
11
+ /**
12
+ * Adapter for chokidar watcher that uses @parcel/watcher under the hood
13
+ */
14
+ class ParcelWatcherAdapter {
15
+ //#region fields
16
+ static instances = [];
17
+ pathsToWatch = [];
18
+ listenerData = [];
19
+ subs = [];
20
+ alreadyStarted = false;
21
+ allFilesAndFoldersInitial = [];
22
+ foldersPathes = {};
23
+ ignore;
24
+ ignoreInitial;
25
+ followSymlinks;
26
+ engine;
27
+ name;
28
+ //#endregion
29
+ //#region constructor
30
+ constructor(filesFolderPathOrPatternsToWatch, initialOptions) {
31
+ //#region @backend
32
+ this.ignore = [...constants_1.IGNORE_BY_DEFAULT, ...(initialOptions.ignored || [])];
33
+ this.ignoreInitial = initialOptions.ignoreInitial;
34
+ this.followSymlinks = initialOptions.followSymlinks || false;
35
+ this.engine = initialOptions.engine;
36
+ this.name = initialOptions.name || 'parcel-watcher-adapter';
37
+ ParcelWatcherAdapter.instances.push(this);
38
+ this.add(filesFolderPathOrPatternsToWatch, {
39
+ fistTimeAdding: true,
40
+ });
41
+ //#endregion
42
+ }
43
+ //#endregion
44
+ //#region stop watching
45
+ async stopWatching() {
46
+ //#region @backendFunc
47
+ // Helpers.logInfo('[incremental compiler] Stop all watcher + ' + this.options.name)
48
+ for (const sub of this.subs) {
49
+ await sub.unsubscribe();
50
+ }
51
+ //#endregion
52
+ }
53
+ //#endregion
54
+ //#region start watching
55
+ async startWatching(options) {
56
+ //#region @backendFunc
57
+ options = options || {};
58
+ // console.log('STARTING WATCHING - ' + this.options.name)
59
+ this.pushInitial();
60
+ const eventAction = (events) => {
61
+ // this.isDebugging && console.log(`events before: ${events.length}`);
62
+ // this.isDebugging && console.log(`events after: ${events.length}`);
63
+ for (const listenerEvent of events) {
64
+ listenerEvent.path = (0, lib_2.crossPlatformPath)(listenerEvent.path);
65
+ // this.isDebugging && console.log(
66
+ // `Event ${listenerEvent.type} ${listenerEvent.path}`,
67
+ // );
68
+ for (const listenerData of this.listenerData) {
69
+ const { listenerFromOnFn, allowedEvent } = listenerData;
70
+ this.notifyListener(listenerFromOnFn, allowedEvent, listenerEvent);
71
+ }
72
+ }
73
+ };
74
+ const watcher = require(this.engine);
75
+ for (const pathToCatalog of this.pathsToWatch) {
76
+ let isFile = false;
77
+ if (lib_3.Helpers.isSymlinkFileExitedOrUnexisted(pathToCatalog)) {
78
+ const pathToCatalogFolder = (0, lib_2.crossPlatformPath)(lib_2.fse.realpathSync(pathToCatalog));
79
+ if (!lib_3.Helpers.isFolder(pathToCatalogFolder)) {
80
+ lib_3.Helpers.logWarn(`[incremental-compiler] link not to folder ${pathToCatalogFolder}`);
81
+ isFile = true;
82
+ }
83
+ }
84
+ if (!lib_3.Helpers.isFolder(pathToCatalog)) {
85
+ lib_3.Helpers.logWarn(`[incremental-compiler] not a folder ${pathToCatalog}`);
86
+ isFile = true;
87
+ }
88
+ if (isFile) {
89
+ // FALLBACK TO CHOKIDAR IF WATCHING FILE WITH PARCEL
90
+ lib_1.chokidar
91
+ .watch(pathToCatalog, {
92
+ ignoreInitial: true,
93
+ })
94
+ .on('all', (eventName, absPath) => {
95
+ for (const listenerData of this.listenerData) {
96
+ const { listenerFromOnFn, allowedEvent } = listenerData;
97
+ this.notifyListener(listenerFromOnFn, allowedEvent, this.chokidarToParcel(eventName, absPath));
98
+ }
99
+ });
100
+ }
101
+ else {
102
+ const firstLevelLinks = lib_3.Helpers.linksToFoldersFrom(pathToCatalog, false).filter(f => {
103
+ const exclude = (0, anymatch_1.default)(this.ignore, f);
104
+ return !exclude;
105
+ });
106
+ const firstLevelFolders = lib_3.Helpers.foldersFrom(pathToCatalog)
107
+ .filter(f => !firstLevelLinks.includes(f))
108
+ .filter(f => {
109
+ const exclude = (0, anymatch_1.default)(this.ignore, f);
110
+ return !exclude;
111
+ });
112
+ const secondLevelLinks = firstLevelFolders
113
+ .reduce((a, b) => {
114
+ return a.concat(lib_3.Helpers.linksToFoldersFrom(b, false));
115
+ }, [])
116
+ .filter(f => {
117
+ const exclude = (0, anymatch_1.default)(this.ignore, f);
118
+ return !exclude;
119
+ });
120
+ const linksToWatch = [...firstLevelLinks, ...secondLevelLinks];
121
+ // console.log({
122
+ // ignore: this.ignore,
123
+ // pathToCatalog,
124
+ // linksToWatch,
125
+ // });
126
+ for (const linkFolder of linksToWatch) {
127
+ this.subs.push(await watcher.subscribe(linkFolder, (err, events) => {
128
+ eventAction(events);
129
+ }, {
130
+ ignore: this.ignore,
131
+ }));
132
+ }
133
+ this.subs.push(await watcher.subscribe(pathToCatalog, (err, events) => {
134
+ eventAction(events);
135
+ }, {
136
+ ignore: this.ignore,
137
+ }));
138
+ }
139
+ }
140
+ //#endregion
141
+ }
142
+ //#endregion
143
+ //#region add
144
+ add(pathToAdd, options) {
145
+ //#region @backendFunc
146
+ options = options || {};
147
+ this.pathsToWatch = [
148
+ ...this.pathsToWatch,
149
+ ...(Array.isArray(pathToAdd) ? pathToAdd : [pathToAdd]),
150
+ ];
151
+ this.pathsToWatch = lib_3.Utils.uniqArray(this.pathsToWatch
152
+ .map(a => {
153
+ a = (0, helpers_1.stripGlobToDir)(a);
154
+ // this.isDebugging && console.log(`TO WATCH ${a}`);
155
+ return a;
156
+ })
157
+ .filter(f => !!f));
158
+ // console.log(`[ParcelWatcherAdapter] Watching paths:`, this.pathsToWatch);
159
+ this.pathsToWatch.forEach(possibleGlobPattern => {
160
+ const maybeFolder = (0, helpers_1.stripGlobToDir)(possibleGlobPattern);
161
+ if (lib_3.Helpers.exists(maybeFolder) && lib_3.Helpers.isFolder(maybeFolder)) {
162
+ // add also the folder itself (chokidar does it automatically)
163
+ this.allFilesAndFoldersInitial.push(maybeFolder);
164
+ }
165
+ let filesAndFolders = (0, helpers_1.getFilesByPattern)({
166
+ followSymlinks: this.followSymlinks,
167
+ globPath: possibleGlobPattern,
168
+ ignorePatterns: this.ignore,
169
+ searchStrategy: 'folders-and-files',
170
+ taskName: `${this.name}`,
171
+ });
172
+ // mark folder paths
173
+ for (let index = 0; index < filesAndFolders.length; index++) {
174
+ const file = filesAndFolders[index];
175
+ this.foldersPathes[file] = lib_3.Helpers.isFolder(file);
176
+ }
177
+ this.allFilesAndFoldersInitial.push(...filesAndFolders);
178
+ });
179
+ if (options.fistTimeAdding) {
180
+ // nothing to do
181
+ }
182
+ else {
183
+ this.stopWatching().then(() => {
184
+ this.startWatching().catch(this.handleErrors);
185
+ });
186
+ }
187
+ //#endregion
188
+ }
189
+ //#endregion
190
+ //#region on
191
+ on(allowedEvent, listenerFromOnFn) {
192
+ //#region @backendFunc
193
+ this.listenerData.push({ listenerFromOnFn, allowedEvent });
194
+ this.startWatching().catch(this.handleErrors);
195
+ return this;
196
+ //#endregion
197
+ }
198
+ //#endregion
199
+ //#region private methods / handle errors
200
+ handleErrors(watchingStartErr) {
201
+ console.warn(watchingStartErr);
202
+ }
203
+ //#endregion
204
+ //#region private methods / notify listeners
205
+ notifyListener(listener, eventAllowed, eventFromWatcher) {
206
+ //#region @backendFunc
207
+ if (eventFromWatcher.type === 'create') {
208
+ if (lib_2.fse.existsSync(eventFromWatcher.path) &&
209
+ lib_2.fse.lstatSync(eventFromWatcher.path).isDirectory()) {
210
+ this.foldersPathes[eventFromWatcher.path] = true;
211
+ if (eventAllowed === 'all') {
212
+ listener('addDir', eventFromWatcher.path);
213
+ }
214
+ else if (eventAllowed === 'addDir') {
215
+ listener(eventFromWatcher.path);
216
+ }
217
+ }
218
+ else {
219
+ if (eventAllowed === 'all') {
220
+ listener('add', eventFromWatcher.path);
221
+ }
222
+ else if (eventAllowed === 'add') {
223
+ listener(eventFromWatcher.path);
224
+ }
225
+ }
226
+ }
227
+ else if (eventFromWatcher.type === 'delete') {
228
+ if (this.foldersPathes[eventFromWatcher.path]) {
229
+ this.foldersPathes[eventFromWatcher.path] = false;
230
+ if (eventAllowed === 'all') {
231
+ listener('unlinkDir', eventFromWatcher.path);
232
+ }
233
+ else if (eventAllowed === 'unlinkDir') {
234
+ listener(eventFromWatcher.path);
235
+ }
236
+ }
237
+ else {
238
+ if (eventAllowed === 'all') {
239
+ listener('unlink', eventFromWatcher.path);
240
+ }
241
+ else if (eventAllowed === 'unlink') {
242
+ listener(eventFromWatcher.path);
243
+ }
244
+ }
245
+ }
246
+ else if (eventFromWatcher.type === 'update') {
247
+ if (eventAllowed === 'all') {
248
+ listener('change', eventFromWatcher.path);
249
+ }
250
+ else if (eventAllowed === 'change') {
251
+ listener(eventFromWatcher.path);
252
+ }
253
+ }
254
+ //#endregion
255
+ }
256
+ //#endregion
257
+ //#region private methods / convert chokidar to parcel event
258
+ chokidarToParcel(event, filePath) {
259
+ switch (event) {
260
+ case 'add':
261
+ case 'addDir':
262
+ return { path: filePath, type: 'create' };
263
+ case 'change':
264
+ return { path: filePath, type: 'update' };
265
+ case 'unlink':
266
+ case 'unlinkDir':
267
+ return { path: filePath, type: 'delete' };
268
+ default:
269
+ return null;
270
+ }
271
+ }
272
+ //#endregion
273
+ //#region private methods / push initial
274
+ pushInitial() {
275
+ //#region @backendFunc
276
+ if (!this.alreadyStarted && !this.ignoreInitial) {
277
+ for (const listenerData of this.listenerData) {
278
+ const { listenerFromOnFn, allowedEvent } = listenerData;
279
+ for (const absFilePath of this.allFilesAndFoldersInitial) {
280
+ if (lib_3.Helpers.isFolder(absFilePath)) {
281
+ if (allowedEvent === 'addDir' || allowedEvent === 'all') {
282
+ listenerFromOnFn('addDir', absFilePath);
283
+ }
284
+ }
285
+ else {
286
+ if (allowedEvent === 'add' || allowedEvent === 'all') {
287
+ listenerFromOnFn('add', absFilePath);
288
+ }
289
+ }
290
+ }
291
+ }
292
+ }
293
+ if (!this.alreadyStarted) {
294
+ this.alreadyStarted = true;
295
+ }
296
+ //#endregion
297
+ }
298
+ }
299
+ exports.ParcelWatcherAdapter = ParcelWatcherAdapter;
300
+ //# sourceMappingURL=parcel-watcher-adapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parcel-watcher-adapter.js","sourceRoot":"","sources":[""],"names":[],"mappings":"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"}
@@ -0,0 +1,53 @@
1
+ import { CoreModels__NS__FileExtension } from 'tnp-core/lib-prod';
2
+ import { ChangeOfFile, IncrementalWatcherOptions } from './models';
3
+ import { BaseClientCompilerOptions, StartAndWatchOptions, StartOptions } from './models';
4
+ export declare class BaseClientCompiler<INITIAL_PARAMS = any> implements BaseClientCompilerOptions {
5
+ readonly followSymlinks: boolean;
6
+ readonly subscribeOnlyFor: CoreModels__NS__FileExtension[];
7
+ readonly executeOutsideScenario: boolean;
8
+ readonly taskName: string;
9
+ readonly engine: IncrementalWatcherOptions['engine'];
10
+ readonly notifyOnFileUnlink: boolean;
11
+ protected onlySingleRun: boolean;
12
+ ignoreFolderPatter?: string[];
13
+ private pathResolve;
14
+ private isInitedWithOptions;
15
+ private __folderPath;
16
+ lastAsyncFiles: string[];
17
+ readonly isWatchCompilation: boolean;
18
+ readonly folderPathContentCheck: string[];
19
+ set folderPath(v: string[]);
20
+ get folderPath(): string[];
21
+ constructor(options?: BaseClientCompilerOptions);
22
+ /**
23
+ * manually init options (when no passing object to constructor super() )
24
+ */
25
+ protected initOptions(options?: BaseClientCompilerOptions): void;
26
+ /**
27
+ * do not override this
28
+ */
29
+ runTask(options?: {
30
+ watch?: boolean;
31
+ } & StartAndWatchOptions<INITIAL_PARAMS>): Promise<BaseClientCompiler<INITIAL_PARAMS>>;
32
+ /**
33
+ * @deprecated use runTask instead
34
+ * Do not override this
35
+ */
36
+ start(options?: StartOptions<INITIAL_PARAMS>): Promise<BaseClientCompiler<INITIAL_PARAMS>>;
37
+ /**
38
+ * @deprecated use runTask instead
39
+ * Do not override this
40
+ */
41
+ startAndWatch(options?: StartAndWatchOptions<INITIAL_PARAMS>): Promise<BaseClientCompiler<INITIAL_PARAMS>>;
42
+ /**
43
+ *
44
+ * @param absolteFilesPathes for each watched file
45
+ * @returns
46
+ */
47
+ syncAction(absolteFilesPathes?: string[], initialParams?: INITIAL_PARAMS): Promise<void>;
48
+ preAsyncAction(initialParams?: INITIAL_PARAMS): Promise<void>;
49
+ asyncAction(asyncEvents: ChangeOfFile, initialParams?: INITIAL_PARAMS): Promise<void>;
50
+ getFilesFolderPatternsToWatch(): string[];
51
+ private fixAndAssignOptions;
52
+ private fixTaskName;
53
+ }
@@ -0,0 +1,259 @@
1
+ //#region imports
2
+ import { fse } from 'tnp-core/lib-prod'; // @backend
3
+ import { path, crossPlatformPath, ___NS__cloneDeep, ___NS__isArray, ___NS__isFunction, ___NS__isString, ___NS__isUndefined, UtilsMessages__NS__compilationWrapper } from 'tnp-core/lib-prod';
4
+ import { Helpers__NS__error, Helpers__NS__log, Helpers__NS__logWarn, Helpers__NS__runSyncOrAsync } from 'tnp-core/lib-prod';
5
+ import { CLI } from 'tnp-core/lib-prod';
6
+ import { CompilerManager } from './compiler-manager';
7
+ import { mapForWatching } from './helpers';
8
+ //#endregion
9
+ export class BaseClientCompiler {
10
+ //#region fields & getters
11
+ followSymlinks;
12
+ subscribeOnlyFor = [];
13
+ executeOutsideScenario;
14
+ taskName;
15
+ engine;
16
+ notifyOnFileUnlink;
17
+ onlySingleRun = true;
18
+ ignoreFolderPatter;
19
+ pathResolve = false;
20
+ isInitedWithOptions = false;
21
+ __folderPath = [];
22
+ lastAsyncFiles = [];
23
+ isWatchCompilation = false;
24
+ folderPathContentCheck = [];
25
+ set folderPath(v) {
26
+ //#region @backend
27
+ if (___NS__isString(v)) {
28
+ v = [v];
29
+ }
30
+ this.__folderPath = v;
31
+ //#endregion
32
+ }
33
+ get folderPath() {
34
+ //#region @backendFunc
35
+ if (!this.pathResolve) {
36
+ this.pathResolve = true;
37
+ this.__folderPath
38
+ .map(p => {
39
+ if (fse.existsSync(p)) {
40
+ return crossPlatformPath(path.resolve(p));
41
+ }
42
+ else {
43
+ Helpers__NS__logWarn(`[BaseClientCompiler] Task "${this.taskName}" folderPath doesn't not exist ${this.folderPath}`);
44
+ return void 0;
45
+ }
46
+ })
47
+ .filter(f => !!f);
48
+ }
49
+ return this.__folderPath;
50
+ //#endregion
51
+ }
52
+ //#endregion
53
+ //#region constructor
54
+ //#region @backend
55
+ constructor(options) {
56
+ if (___NS__isUndefined(options)) {
57
+ this.isInitedWithOptions = false;
58
+ // setTimeout(() => {
59
+ // if (!this.isInitedWithOptions) {
60
+ // Helpers__NS__logInfo(
61
+ // `[incremental-compiler] Compiler class instace without init option, task name: "${this.taskName}"
62
+ // `,
63
+ // );
64
+ // }
65
+ // }, 1000);
66
+ }
67
+ else {
68
+ this.isInitedWithOptions = true;
69
+ this.fixAndAssignOptions(options);
70
+ }
71
+ }
72
+ //#endregion
73
+ //#endregion
74
+ //#region init options
75
+ /**
76
+ * manually init options (when no passing object to constructor super() )
77
+ */
78
+ initOptions(options) {
79
+ //#region @backendFunc
80
+ if (this.isInitedWithOptions === true) {
81
+ Helpers__NS__logWarn(`[incremental-compiler] You are reinit instance class again [task name: "${options?.taskName}"]`);
82
+ }
83
+ if (!options) {
84
+ Helpers__NS__error(`[incremental-compiler] Please init instance with options config`, false, true);
85
+ }
86
+ this.isInitedWithOptions = true;
87
+ this.fixAndAssignOptions(options);
88
+ //#endregion
89
+ }
90
+ //#endregion
91
+ //#region run task
92
+ /**
93
+ * do not override this
94
+ */
95
+ async runTask(options) {
96
+ //#region @backendFunc
97
+ // @ts-ignore
98
+ this.isWatchCompilation = options?.watch;
99
+ if (options?.watch) {
100
+ await this.startAndWatch(options);
101
+ }
102
+ else {
103
+ await this.start(options);
104
+ }
105
+ return this;
106
+ //#endregion
107
+ }
108
+ //#endregion
109
+ //#region start
110
+ /**
111
+ * @deprecated use runTask instead
112
+ * Do not override this
113
+ */
114
+ async start(options) {
115
+ //#region @backendFunc
116
+ let { taskName, afterInitCallBack, initialParams } = options || {};
117
+ CompilerManager.Instance.addClient(this);
118
+ if (!this.isInitedWithOptions) {
119
+ Helpers__NS__error(`[BaseClientCompiler] Please init client class intance with options`, false, true);
120
+ }
121
+ taskName = this.fixTaskName(taskName);
122
+ // @ts-ignore
123
+ this.taskName = taskName;
124
+ await UtilsMessages__NS__compilationWrapper(async () => {
125
+ await CompilerManager.Instance.syncInit(this, initialParams);
126
+ }, `${CLI.chalk.green('sync action')} for ${taskName}`, 'Event:');
127
+ if (___NS__isFunction(afterInitCallBack)) {
128
+ await Helpers__NS__runSyncOrAsync({
129
+ functionFn: afterInitCallBack,
130
+ arrayOfParams: [initialParams],
131
+ });
132
+ }
133
+ return this;
134
+ //#endregion
135
+ }
136
+ //#endregion
137
+ //#region start and watch
138
+ /**
139
+ * @deprecated use runTask instead
140
+ * Do not override this
141
+ */
142
+ async startAndWatch(options) {
143
+ //#region @backendFunc
144
+ let { taskName, watchOnly, initialParams } = options || {};
145
+ this.onlySingleRun = false;
146
+ if (!this.isInitedWithOptions) {
147
+ Helpers__NS__error(`[BaseClientCompiler] Please init client class intance with options`, false, true);
148
+ }
149
+ taskName = this.fixTaskName(taskName);
150
+ // @ts-ignore
151
+ this.taskName = taskName;
152
+ if (this.folderPath.length > 0) {
153
+ if (watchOnly) {
154
+ console.log(CLI.chalk.gray(`[incremental-compiler] Watch mode only for "${taskName}"`));
155
+ }
156
+ else {
157
+ await this.start(options);
158
+ }
159
+ if (___NS__isFunction(this.preAsyncAction)) {
160
+ await UtilsMessages__NS__compilationWrapper(async () => {
161
+ await this.preAsyncAction((initialParams || {}));
162
+ }, `${CLI.chalk.green('pre-async action')} for ${taskName}`, 'Event:');
163
+ }
164
+ await CompilerManager.Instance.asyncInit(this, initialParams || {});
165
+ }
166
+ else {
167
+ Helpers__NS__log(`No action for task: ${taskName}.. starting task`);
168
+ await this.start(options);
169
+ }
170
+ return this;
171
+ //#endregion
172
+ }
173
+ //#endregion
174
+ //#region sync action
175
+ /**
176
+ *
177
+ * @param absolteFilesPathes for each watched file
178
+ * @returns
179
+ */
180
+ syncAction(absolteFilesPathes, initialParams) {
181
+ return void 0;
182
+ }
183
+ //#endregion
184
+ //#region pre async action
185
+ async preAsyncAction(initialParams) { }
186
+ //#endregion
187
+ //#region async action
188
+ asyncAction(asyncEvents, initialParams) {
189
+ return void 0;
190
+ }
191
+ //#endregion
192
+ //#region get files to watch
193
+ getFilesFolderPatternsToWatch() {
194
+ //#region @backendFunc
195
+ const folders = [];
196
+ // this.clients.forEach(c => {
197
+ [this].forEach(c => {
198
+ // console.log("c.folderPath", c.folderPath)
199
+ c.folderPath.forEach(folderPath => {
200
+ // console.log(`fp`, fp)
201
+ if (___NS__isString(folderPath) && !folders.includes(folderPath)) {
202
+ const mapped = mapForWatching(folderPath);
203
+ folders.push(...mapped);
204
+ }
205
+ });
206
+ });
207
+ return ___NS__cloneDeep(folders);
208
+ //#endregion
209
+ }
210
+ //#endregion
211
+ //#region private methods
212
+ //#region private methods / fix and assign options
213
+ fixAndAssignOptions(options) {
214
+ //#region @backendFunc
215
+ if (!___NS__isArray(options.subscribeOnlyFor)) {
216
+ options.subscribeOnlyFor = [];
217
+ }
218
+ if (___NS__isUndefined(options.folderPath)) {
219
+ options.folderPath = [];
220
+ }
221
+ if (___NS__isUndefined(options.folderPathContentCheck)) {
222
+ options.folderPathContentCheck = [];
223
+ }
224
+ if (___NS__isUndefined(options.ignoreFolderPatter)) {
225
+ options.ignoreFolderPatter = [];
226
+ }
227
+ if (___NS__isString(options.folderPath)) {
228
+ options.folderPath = [options.folderPath];
229
+ }
230
+ if (___NS__isString(options.folderPathContentCheck)) {
231
+ options.folderPathContentCheck = [options.folderPathContentCheck];
232
+ }
233
+ if (!___NS__isString(options.folderPath) && !___NS__isArray(options.folderPath)) {
234
+ Helpers__NS__error(`Folder path shoudl be string or array`, false, true);
235
+ }
236
+ if (!___NS__isString(options.folderPathContentCheck) &&
237
+ !___NS__isArray(options.folderPathContentCheck)) {
238
+ Helpers__NS__error(`Folder path shoudl be string or array`, false, true);
239
+ }
240
+ if (___NS__isUndefined(options.followSymlinks)) {
241
+ options.followSymlinks = false;
242
+ }
243
+ if (___NS__isUndefined(options.notifyOnFileUnlink)) {
244
+ options.notifyOnFileUnlink = false;
245
+ }
246
+ // console.log('ASSIGNE', options)
247
+ Object.assign(this, options);
248
+ //#endregion
249
+ }
250
+ //#endregion
251
+ //#region private methods / fix task name
252
+ fixTaskName(taskName) {
253
+ if (!___NS__isString(taskName)) {
254
+ taskName = `task "${this.taskName}"`;
255
+ }
256
+ return taskName;
257
+ }
258
+ }
259
+ //# 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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"}