@equinor/echo-cli 2.3.0 → 2.4.2-beta-0

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 (45) hide show
  1. package/README.md +393 -384
  2. package/lib/echo-dev-host/README.md +121 -121
  3. package/lib/echo-dev-host/babel.config.js +10 -10
  4. package/lib/echo-dev-host/echo-dev-host-build/d2d97a9feca22f12a8c8c7413d7867ac.jpg +0 -0
  5. package/lib/echo-dev-host/echo-dev-host-build/env-config.js +1 -0
  6. package/lib/echo-dev-host/echo-dev-host-build/index.css +60 -0
  7. package/lib/echo-dev-host/echo-dev-host-build/index.html +21 -0
  8. package/lib/echo-dev-host/echo-dev-host-build/main.echo.bundle.js +3 -0
  9. package/lib/echo-dev-host/echo-dev-host-build/main.echo.bundle.js.LICENSE.txt +149 -0
  10. package/lib/echo-dev-host/echo-dev-host-build/main.echo.bundle.js.map +1 -0
  11. package/lib/echo-dev-host/echo-dev-host-build/vendors-node_modules_babel_polyfill_lib_index_js-node_modules_react-dom_client_js-node_module-972289.echo.bundle.js +3 -0
  12. package/lib/echo-dev-host/echo-dev-host-build/vendors-node_modules_babel_polyfill_lib_index_js-node_modules_react-dom_client_js-node_module-972289.echo.bundle.js.LICENSE.txt +8539 -0
  13. package/lib/echo-dev-host/echo-dev-host-build/vendors-node_modules_babel_polyfill_lib_index_js-node_modules_react-dom_client_js-node_module-972289.echo.bundle.js.map +1 -0
  14. package/lib/echo-dev-host/jest.config.js +21 -21
  15. package/lib/echo-dev-host/package-lock.json +13153 -13127
  16. package/lib/echo-dev-host/package.json +14 -14
  17. package/lib/echo-dev-host/public/env-config.js +17 -17
  18. package/lib/echo-dev-host/public/index.html +21 -21
  19. package/lib/echo-dev-host/src/index.tsx +0 -1
  20. package/lib/echo-dev-host/tsconfig.json +21 -21
  21. package/lib/echo-dev-host/webpack.config.js +145 -145
  22. package/lib/sync-echo-dev-versions.d.ts +6 -0
  23. package/lib/sync-echo-dev-versions.js +43 -0
  24. package/lib/sync-echo-dev-versions.js.map +1 -0
  25. package/lib/tools/buildScripts/buildAndCopyDevHost.test.d.ts +1 -0
  26. package/lib/tools/buildScripts/buildAndCopyDevHost.test.js +500 -0
  27. package/lib/tools/buildScripts/buildAndCopyDevHost.test.js.map +1 -0
  28. package/lib/utils/merge.test.d.ts +1 -0
  29. package/lib/utils/merge.test.js +29 -0
  30. package/lib/utils/merge.test.js.map +1 -0
  31. package/package.json +111 -111
  32. package/templates/echoAppTemplate/.gitattributes +3 -3
  33. package/templates/echoAppTemplate/package.json +35 -35
  34. package/templates/echoAppTemplate/readme.md +41 -41
  35. package/templates/echoAppTemplate/tsconfig.json +25 -25
  36. package/templates/echoAppTemplateTutorial/.gitattributes +3 -3
  37. package/templates/echoAppTemplateTutorial/package.json +36 -36
  38. package/templates/echoAppTemplateTutorial/readme.md +41 -41
  39. package/templates/echoAppTemplateTutorial/tsconfig.json +25 -25
  40. package/templates/echoLibraryTemplate/package.json +35 -35
  41. package/templates/echoLibraryTemplate/public/index.html +21 -21
  42. package/templates/echoLibraryTemplate/readme.md +1 -1
  43. package/templates/echoPluginTemplate/package.json +35 -35
  44. package/templates/echoPluginTemplate/public/index.html +21 -21
  45. package/templates/echoPluginTemplate/readme.md +1 -1
@@ -0,0 +1,500 @@
1
+ // Mock all dependencies BEFORE any imports
2
+ jest.mock('fs-extra');
3
+ jest.mock('../../utils/printEchoLibsVersions.js', () => ({
4
+ printEchoLibsVersions: jest.fn()
5
+ }));
6
+ jest.mock('chalk', () => {
7
+ const mockFn = jest.fn((str) => str);
8
+ const chalkMock = {
9
+ cyan: mockFn,
10
+ yellow: mockFn,
11
+ gray: mockFn,
12
+ green: mockFn,
13
+ magentaBright: { bold: mockFn },
14
+ blueBright: { bold: mockFn },
15
+ yellowBright: { bold: mockFn },
16
+ greenBright: { bold: mockFn }
17
+ };
18
+ // Also add nested bold methods for green
19
+ chalkMock.green.bold = mockFn;
20
+ // Return both default export and named export pattern
21
+ chalkMock.default = chalkMock;
22
+ return chalkMock;
23
+ });
24
+ jest.mock('figlet', () => ({
25
+ default: {
26
+ textSync: jest.fn(() => 'ECHO DEV HOST')
27
+ }
28
+ }));
29
+ jest.mock('child_process', () => ({
30
+ execSync: jest.fn()
31
+ }));
32
+ import fs from 'fs-extra';
33
+ import path from 'node:path';
34
+ import { determineEchoLibVersionsForProdBuild, syncDevHostToConsumerVersions } from './buildAndCopyDevHost';
35
+ const mockedFs = fs;
36
+ // Mock console.log to suppress output during tests
37
+ const originalConsoleLog = console.log;
38
+ beforeAll(() => {
39
+ console.log = jest.fn();
40
+ });
41
+ afterAll(() => {
42
+ console.log = originalConsoleLog;
43
+ });
44
+ describe('determineEchoLibVersionsForProdBuild', () => {
45
+ const tmpDevHostFolder = '/tmp/dev-host';
46
+ const devHostPkgPath = path.join(tmpDevHostFolder, 'package.json');
47
+ beforeEach(() => {
48
+ jest.clearAllMocks();
49
+ });
50
+ describe('Consumer version is higher than dev host version', () => {
51
+ it('should update dev host package.json with consumer versions when consumer has higher versions', async () => {
52
+ // Arrange
53
+ const consumerPkg = {
54
+ name: 'test-consumer-app',
55
+ dependencies: {
56
+ '@equinor/echo-base': '2.2.1',
57
+ '@equinor/echo-core': '2.2.1',
58
+ '@equinor/echo-framework': '2.2.1'
59
+ }
60
+ };
61
+ const devHostPkg = {
62
+ name: 'echo-dev-host',
63
+ dependencies: {
64
+ '@equinor/echo-base': '2.0.1',
65
+ '@equinor/echo-core': '2.0.1',
66
+ '@equinor/echo-framework': '2.0.1'
67
+ }
68
+ };
69
+ mockedFs.readJsonSync.mockImplementation((filePath) => {
70
+ if (filePath.includes('consumer'))
71
+ return consumerPkg;
72
+ if (filePath === devHostPkgPath)
73
+ return devHostPkg;
74
+ throw new Error(`Unexpected file path: ${filePath}`);
75
+ });
76
+ // Act
77
+ const result = await determineEchoLibVersionsForProdBuild({
78
+ appPkgPath: '/path/to/consumer/package.json',
79
+ tmpDevHostFolder
80
+ });
81
+ // Assert
82
+ expect(result).toEqual({
83
+ '@equinor/echo-base': '2.2.1',
84
+ '@equinor/echo-core': '2.2.1',
85
+ '@equinor/echo-framework': '2.2.1'
86
+ });
87
+ // Verify dev host package.json was updated
88
+ expect(mockedFs.writeJsonSync).toHaveBeenCalledWith(devHostPkgPath, expect.objectContaining({
89
+ dependencies: {
90
+ '@equinor/echo-base': '2.2.1',
91
+ '@equinor/echo-core': '2.2.1',
92
+ '@equinor/echo-framework': '2.2.1'
93
+ }
94
+ }), { spaces: 4 });
95
+ });
96
+ });
97
+ describe('Dev host version is higher than consumer version', () => {
98
+ it('should keep dev host versions when dev host has higher versions', async () => {
99
+ // Arrange
100
+ const consumerPkg = {
101
+ name: 'test-consumer-app',
102
+ dependencies: {
103
+ '@equinor/echo-base': '2.0.1',
104
+ '@equinor/echo-core': '2.0.1'
105
+ }
106
+ };
107
+ const devHostPkg = {
108
+ name: 'echo-dev-host',
109
+ dependencies: {
110
+ '@equinor/echo-base': '2.2.1',
111
+ '@equinor/echo-core': '2.2.1'
112
+ }
113
+ };
114
+ mockedFs.readJsonSync.mockImplementation((filePath) => {
115
+ if (filePath.includes('consumer'))
116
+ return consumerPkg;
117
+ if (filePath === devHostPkgPath)
118
+ return devHostPkg;
119
+ throw new Error(`Unexpected file path: ${filePath}`);
120
+ });
121
+ // Act
122
+ const result = await determineEchoLibVersionsForProdBuild({
123
+ appPkgPath: '/path/to/consumer/package.json',
124
+ tmpDevHostFolder
125
+ });
126
+ // Assert
127
+ expect(result).toEqual({
128
+ '@equinor/echo-base': '2.2.1',
129
+ '@equinor/echo-core': '2.2.1'
130
+ });
131
+ // Verify dev host package.json was NOT updated (no changes needed)
132
+ expect(mockedFs.writeJsonSync).not.toHaveBeenCalled();
133
+ });
134
+ });
135
+ describe('Mixed version scenarios', () => {
136
+ it('should use max version for each library independently', async () => {
137
+ // Arrange
138
+ const consumerPkg = {
139
+ name: 'test-consumer-app',
140
+ dependencies: {
141
+ '@equinor/echo-base': '2.2.1', // Consumer higher
142
+ '@equinor/echo-core': '2.0.1', // Dev host higher
143
+ '@equinor/echo-framework': '2.1.0' // Equal
144
+ }
145
+ };
146
+ const devHostPkg = {
147
+ name: 'echo-dev-host',
148
+ dependencies: {
149
+ '@equinor/echo-base': '2.0.1',
150
+ '@equinor/echo-core': '2.2.1',
151
+ '@equinor/echo-framework': '2.1.0'
152
+ }
153
+ };
154
+ mockedFs.readJsonSync.mockImplementation((filePath) => {
155
+ if (filePath.includes('consumer'))
156
+ return consumerPkg;
157
+ if (filePath === devHostPkgPath)
158
+ return devHostPkg;
159
+ throw new Error(`Unexpected file path: ${filePath}`);
160
+ });
161
+ // Act
162
+ const result = await determineEchoLibVersionsForProdBuild({
163
+ appPkgPath: '/path/to/consumer/package.json',
164
+ tmpDevHostFolder
165
+ });
166
+ // Assert
167
+ expect(result).toEqual({
168
+ '@equinor/echo-base': '2.2.1', // Consumer version used
169
+ '@equinor/echo-core': '2.2.1', // Dev host version used
170
+ '@equinor/echo-framework': '2.1.0' // Equal, consumer used
171
+ });
172
+ // Verify only echo-base was updated in dev host package.json
173
+ expect(mockedFs.writeJsonSync).toHaveBeenCalledWith(devHostPkgPath, expect.objectContaining({
174
+ dependencies: {
175
+ '@equinor/echo-base': '2.2.1', // Updated
176
+ '@equinor/echo-core': '2.2.1', // Unchanged
177
+ '@equinor/echo-framework': '2.1.0' // Unchanged
178
+ }
179
+ }), { spaces: 4 });
180
+ });
181
+ });
182
+ describe('Missing dependencies in dev host', () => {
183
+ it('should add missing libraries from consumer to dev host', async () => {
184
+ // Arrange
185
+ const consumerPkg = {
186
+ name: 'test-consumer-app',
187
+ dependencies: {
188
+ '@equinor/echo-base': '2.2.1',
189
+ '@equinor/echo-core': '2.2.1',
190
+ '@equinor/echo-utils': '2.0.2' // Missing in dev host
191
+ }
192
+ };
193
+ const devHostPkg = {
194
+ name: 'echo-dev-host',
195
+ dependencies: {
196
+ '@equinor/echo-base': '2.0.1',
197
+ '@equinor/echo-core': '2.0.1'
198
+ // echo-utils is missing
199
+ }
200
+ };
201
+ mockedFs.readJsonSync.mockImplementation((filePath) => {
202
+ if (filePath.includes('consumer'))
203
+ return consumerPkg;
204
+ if (filePath === devHostPkgPath)
205
+ return devHostPkg;
206
+ throw new Error(`Unexpected file path: ${filePath}`);
207
+ });
208
+ // Act
209
+ const result = await determineEchoLibVersionsForProdBuild({
210
+ appPkgPath: '/path/to/consumer/package.json',
211
+ tmpDevHostFolder
212
+ });
213
+ // Assert
214
+ expect(result).toEqual({
215
+ '@equinor/echo-base': '2.2.1',
216
+ '@equinor/echo-core': '2.2.1',
217
+ '@equinor/echo-utils': '2.0.2'
218
+ });
219
+ // Verify dev host package.json was updated with all three libraries
220
+ expect(mockedFs.writeJsonSync).toHaveBeenCalledWith(devHostPkgPath, expect.objectContaining({
221
+ dependencies: {
222
+ '@equinor/echo-base': '2.2.1',
223
+ '@equinor/echo-core': '2.2.1',
224
+ '@equinor/echo-utils': '2.0.2' // Added
225
+ }
226
+ }), { spaces: 4 });
227
+ });
228
+ });
229
+ describe('Real-world bug scenario from issue report', () => {
230
+ it('should reproduce and fix the reported bug where consumer 2.2.1 was ignored and dev host 2.0.1 was used', async () => {
231
+ // This is the exact scenario from the user's bug report
232
+ const consumerPkg = {
233
+ name: 'echo-3d-web',
234
+ dependencies: {
235
+ '@equinor/echo-base': '2.2.1',
236
+ '@equinor/echo-components': '2.2.1',
237
+ '@equinor/echo-core': '2.2.1',
238
+ '@equinor/echo-framework': '2.2.1',
239
+ '@equinor/echo-search': '2.2.1',
240
+ '@equinor/echo-utils': '2.2.1',
241
+ '@equinor/echo-cli': '2.0.0'
242
+ }
243
+ };
244
+ const devHostPkg = {
245
+ name: 'echo-dev-host',
246
+ dependencies: {
247
+ '@equinor/echo-base': '2.0.1',
248
+ '@equinor/echo-components': '2.0.1',
249
+ '@equinor/echo-core': '2.0.1',
250
+ '@equinor/echo-framework': '2.0.1',
251
+ '@equinor/echo-search': '2.0.1',
252
+ '@equinor/echo-utils': '2.0.2'
253
+ }
254
+ };
255
+ mockedFs.readJsonSync.mockImplementation((filePath) => {
256
+ if (filePath.includes('consumer') || filePath.includes('echo-3d-web'))
257
+ return consumerPkg;
258
+ if (filePath === devHostPkgPath)
259
+ return devHostPkg;
260
+ throw new Error(`Unexpected file path: ${filePath}`);
261
+ });
262
+ // Act
263
+ const result = await determineEchoLibVersionsForProdBuild({
264
+ appPkgPath: '/path/to/echo-3d-web/package.json',
265
+ tmpDevHostFolder
266
+ });
267
+ // Assert - All should use the consumer's 2.2.1 versions (except echo-utils which is higher in dev host)
268
+ expect(result).toEqual({
269
+ '@equinor/echo-base': '2.2.1',
270
+ '@equinor/echo-components': '2.2.1',
271
+ '@equinor/echo-core': '2.2.1',
272
+ '@equinor/echo-framework': '2.2.1',
273
+ '@equinor/echo-search': '2.2.1',
274
+ '@equinor/echo-utils': '2.2.1' // Consumer version is higher than 2.0.2
275
+ });
276
+ // Verify dev host package.json was updated with the higher consumer versions
277
+ expect(mockedFs.writeJsonSync).toHaveBeenCalledWith(devHostPkgPath, expect.objectContaining({
278
+ dependencies: expect.objectContaining({
279
+ '@equinor/echo-base': '2.2.1',
280
+ '@equinor/echo-components': '2.2.1',
281
+ '@equinor/echo-core': '2.2.1',
282
+ '@equinor/echo-framework': '2.2.1',
283
+ '@equinor/echo-search': '2.2.1',
284
+ '@equinor/echo-utils': '2.2.1'
285
+ })
286
+ }), { spaces: 4 });
287
+ });
288
+ });
289
+ });
290
+ describe('syncDevHostToConsumerVersions', () => {
291
+ const tmpDevHostFolder = '/tmp/dev-host';
292
+ const devHostPkgPath = path.join(tmpDevHostFolder, 'package.json');
293
+ beforeEach(() => {
294
+ jest.clearAllMocks();
295
+ });
296
+ describe('Force sync behavior', () => {
297
+ it('should downgrade dev host versions to match lower consumer versions', async () => {
298
+ // Arrange
299
+ const consumerPkg = {
300
+ name: 'my-echo-app',
301
+ dependencies: {
302
+ '@equinor/echo-core': '2.0.1',
303
+ '@equinor/echo-framework': '2.0.1'
304
+ }
305
+ };
306
+ const devHostPkg = {
307
+ name: 'echo-dev-host',
308
+ dependencies: {
309
+ '@equinor/echo-core': '2.3.0', // Higher than consumer
310
+ '@equinor/echo-framework': '2.3.0' // Higher than consumer
311
+ }
312
+ };
313
+ mockedFs.readJsonSync.mockImplementation((filePath) => {
314
+ if (filePath.includes('my-echo-app'))
315
+ return consumerPkg;
316
+ if (filePath === devHostPkgPath)
317
+ return devHostPkg;
318
+ throw new Error(`Unexpected file path: ${filePath}`);
319
+ });
320
+ // Act
321
+ const result = await syncDevHostToConsumerVersions({
322
+ appPkgPath: '/path/to/my-echo-app/package.json',
323
+ tmpDevHostFolder
324
+ });
325
+ // Assert - Should force downgrade to consumer versions
326
+ expect(result).toEqual({
327
+ '@equinor/echo-core': '2.0.1',
328
+ '@equinor/echo-framework': '2.0.1'
329
+ });
330
+ // Verify dev host was downgraded
331
+ expect(mockedFs.writeJsonSync).toHaveBeenCalledWith(devHostPkgPath, expect.objectContaining({
332
+ dependencies: {
333
+ '@equinor/echo-core': '2.0.1',
334
+ '@equinor/echo-framework': '2.0.1'
335
+ }
336
+ }), { spaces: 4 });
337
+ });
338
+ it('should upgrade dev host versions to match higher consumer versions', async () => {
339
+ // Arrange
340
+ const consumerPkg = {
341
+ name: 'my-echo-app',
342
+ dependencies: {
343
+ '@equinor/echo-core': '2.5.0',
344
+ '@equinor/echo-framework': '2.5.0'
345
+ }
346
+ };
347
+ const devHostPkg = {
348
+ name: 'echo-dev-host',
349
+ dependencies: {
350
+ '@equinor/echo-core': '2.0.1', // Lower than consumer
351
+ '@equinor/echo-framework': '2.0.1' // Lower than consumer
352
+ }
353
+ };
354
+ mockedFs.readJsonSync.mockImplementation((filePath) => {
355
+ if (filePath.includes('my-echo-app'))
356
+ return consumerPkg;
357
+ if (filePath === devHostPkgPath)
358
+ return devHostPkg;
359
+ throw new Error(`Unexpected file path: ${filePath}`);
360
+ });
361
+ // Act
362
+ const result = await syncDevHostToConsumerVersions({
363
+ appPkgPath: '/path/to/my-echo-app/package.json',
364
+ tmpDevHostFolder
365
+ });
366
+ // Assert - Should upgrade to consumer versions
367
+ expect(result).toEqual({
368
+ '@equinor/echo-core': '2.5.0',
369
+ '@equinor/echo-framework': '2.5.0'
370
+ });
371
+ expect(mockedFs.writeJsonSync).toHaveBeenCalledWith(devHostPkgPath, expect.objectContaining({
372
+ dependencies: {
373
+ '@equinor/echo-core': '2.5.0',
374
+ '@equinor/echo-framework': '2.5.0'
375
+ }
376
+ }), { spaces: 4 });
377
+ });
378
+ it('should not update package.json if versions already match', async () => {
379
+ // Arrange
380
+ const consumerPkg = {
381
+ name: 'my-echo-app',
382
+ dependencies: {
383
+ '@equinor/echo-core': '2.2.1',
384
+ '@equinor/echo-framework': '2.2.1'
385
+ }
386
+ };
387
+ const devHostPkg = {
388
+ name: 'echo-dev-host',
389
+ dependencies: {
390
+ '@equinor/echo-core': '2.2.1', // Same as consumer
391
+ '@equinor/echo-framework': '2.2.1' // Same as consumer
392
+ }
393
+ };
394
+ mockedFs.readJsonSync.mockImplementation((filePath) => {
395
+ if (filePath.includes('my-echo-app'))
396
+ return consumerPkg;
397
+ if (filePath === devHostPkgPath)
398
+ return devHostPkg;
399
+ throw new Error(`Unexpected file path: ${filePath}`);
400
+ });
401
+ // Act
402
+ const result = await syncDevHostToConsumerVersions({
403
+ appPkgPath: '/path/to/my-echo-app/package.json',
404
+ tmpDevHostFolder
405
+ });
406
+ // Assert
407
+ expect(result).toEqual({
408
+ '@equinor/echo-core': '2.2.1',
409
+ '@equinor/echo-framework': '2.2.1'
410
+ });
411
+ // Should NOT write to package.json if already synced
412
+ expect(mockedFs.writeJsonSync).not.toHaveBeenCalled();
413
+ });
414
+ it('should handle mixed versions (some up, some down, some same)', async () => {
415
+ // Arrange
416
+ const consumerPkg = {
417
+ name: 'my-echo-app',
418
+ dependencies: {
419
+ '@equinor/echo-core': '2.0.1', // Lower than dev host
420
+ '@equinor/echo-framework': '2.5.0', // Higher than dev host
421
+ '@equinor/echo-search': '2.2.1' // Same as dev host
422
+ }
423
+ };
424
+ const devHostPkg = {
425
+ name: 'echo-dev-host',
426
+ dependencies: {
427
+ '@equinor/echo-core': '2.3.0',
428
+ '@equinor/echo-framework': '2.0.1',
429
+ '@equinor/echo-search': '2.2.1'
430
+ }
431
+ };
432
+ mockedFs.readJsonSync.mockImplementation((filePath) => {
433
+ if (filePath.includes('my-echo-app'))
434
+ return consumerPkg;
435
+ if (filePath === devHostPkgPath)
436
+ return devHostPkg;
437
+ throw new Error(`Unexpected file path: ${filePath}`);
438
+ });
439
+ // Act
440
+ const result = await syncDevHostToConsumerVersions({
441
+ appPkgPath: '/path/to/my-echo-app/package.json',
442
+ tmpDevHostFolder
443
+ });
444
+ // Assert - All should match consumer, regardless of direction
445
+ expect(result).toEqual({
446
+ '@equinor/echo-core': '2.0.1',
447
+ '@equinor/echo-framework': '2.5.0',
448
+ '@equinor/echo-search': '2.2.1'
449
+ });
450
+ // Only echo-core and echo-framework should be updated (echo-search already synced)
451
+ expect(mockedFs.writeJsonSync).toHaveBeenCalledWith(devHostPkgPath, expect.objectContaining({
452
+ dependencies: {
453
+ '@equinor/echo-core': '2.0.1',
454
+ '@equinor/echo-framework': '2.5.0',
455
+ '@equinor/echo-search': '2.2.1'
456
+ }
457
+ }), { spaces: 4 });
458
+ });
459
+ it('should add missing libraries from consumer app', async () => {
460
+ // Arrange
461
+ const consumerPkg = {
462
+ name: 'my-echo-app',
463
+ dependencies: {
464
+ '@equinor/echo-core': '2.2.1',
465
+ '@equinor/echo-search': '2.2.1' // Not in dev host
466
+ }
467
+ };
468
+ const devHostPkg = {
469
+ name: 'echo-dev-host',
470
+ dependencies: {
471
+ '@equinor/echo-core': '2.0.1'
472
+ }
473
+ };
474
+ mockedFs.readJsonSync.mockImplementation((filePath) => {
475
+ if (filePath.includes('my-echo-app'))
476
+ return consumerPkg;
477
+ if (filePath === devHostPkgPath)
478
+ return devHostPkg;
479
+ throw new Error(`Unexpected file path: ${filePath}`);
480
+ });
481
+ // Act
482
+ const result = await syncDevHostToConsumerVersions({
483
+ appPkgPath: '/path/to/my-echo-app/package.json',
484
+ tmpDevHostFolder
485
+ });
486
+ // Assert
487
+ expect(result).toEqual({
488
+ '@equinor/echo-core': '2.2.1',
489
+ '@equinor/echo-search': '2.2.1'
490
+ });
491
+ expect(mockedFs.writeJsonSync).toHaveBeenCalledWith(devHostPkgPath, expect.objectContaining({
492
+ dependencies: {
493
+ '@equinor/echo-core': '2.2.1',
494
+ '@equinor/echo-search': '2.2.1'
495
+ }
496
+ }), { spaces: 4 });
497
+ });
498
+ });
499
+ });
500
+ //# sourceMappingURL=buildAndCopyDevHost.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buildAndCopyDevHost.test.js","sourceRoot":"","sources":["../../../src/tools/buildScripts/buildAndCopyDevHost.test.ts"],"names":[],"mappings":"AAAA,2CAA2C;AAC3C,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AACtB,IAAI,CAAC,IAAI,CAAC,sCAAsC,EAAE,GAAG,EAAE,CAAC,CAAC;IACrD,qBAAqB,EAAE,IAAI,CAAC,EAAE,EAAE;CACnC,CAAC,CAAC,CAAC;AACJ,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE;IACpB,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;IACrC,MAAM,SAAS,GAAQ;QACnB,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,MAAM;QACZ,KAAK,EAAE,MAAM;QACb,aAAa,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;QAC/B,UAAU,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;QAC5B,YAAY,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;QAC9B,WAAW,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;KAChC,CAAC;IACF,yCAAyC;IACzC,SAAS,CAAC,KAAK,CAAC,IAAI,GAAG,MAAM,CAAC;IAC9B,sDAAsD;IACtD,SAAS,CAAC,OAAO,GAAG,SAAS,CAAC;IAC9B,OAAO,SAAS,CAAC;AACrB,CAAC,CAAC,CAAC;AACH,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC;IACvB,OAAO,EAAE;QACL,QAAQ,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,eAAe,CAAC;KAC3C;CACJ,CAAC,CAAC,CAAC;AACJ,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,GAAG,EAAE,CAAC,CAAC;IAC9B,QAAQ,EAAE,IAAI,CAAC,EAAE,EAAE;CACtB,CAAC,CAAC,CAAC;AAEJ,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,oCAAoC,EAAE,6BAA6B,EAAE,MAAM,uBAAuB,CAAC;AAC5G,MAAM,QAAQ,GAAG,EAA4B,CAAC;AAE9C,mDAAmD;AACnD,MAAM,kBAAkB,GAAG,OAAO,CAAC,GAAG,CAAC;AACvC,SAAS,CAAC,GAAG,EAAE;IACX,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;AAC5B,CAAC,CAAC,CAAC;AACH,QAAQ,CAAC,GAAG,EAAE;IACV,OAAO,CAAC,GAAG,GAAG,kBAAkB,CAAC;AACrC,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,sCAAsC,EAAE,GAAG,EAAE;IAClD,MAAM,gBAAgB,GAAG,eAAe,CAAC;IACzC,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,cAAc,CAAC,CAAC;IAEnE,UAAU,CAAC,GAAG,EAAE;QACZ,IAAI,CAAC,aAAa,EAAE,CAAC;IACzB,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,kDAAkD,EAAE,GAAG,EAAE;QAC9D,EAAE,CAAC,8FAA8F,EAAE,KAAK,IAAI,EAAE;YAC1G,UAAU;YACV,MAAM,WAAW,GAAG;gBAChB,IAAI,EAAE,mBAAmB;gBACzB,YAAY,EAAE;oBACV,oBAAoB,EAAE,OAAO;oBAC7B,oBAAoB,EAAE,OAAO;oBAC7B,yBAAyB,EAAE,OAAO;iBACrC;aACJ,CAAC;YAEF,MAAM,UAAU,GAAG;gBACf,IAAI,EAAE,eAAe;gBACrB,YAAY,EAAE;oBACV,oBAAoB,EAAE,OAAO;oBAC7B,oBAAoB,EAAE,OAAO;oBAC7B,yBAAyB,EAAE,OAAO;iBACrC;aACJ,CAAC;YAEF,QAAQ,CAAC,YAAY,CAAC,kBAAkB,CAAC,CAAC,QAAgB,EAAE,EAAE;gBAC1D,IAAI,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC;oBAAE,OAAO,WAAW,CAAC;gBACtD,IAAI,QAAQ,KAAK,cAAc;oBAAE,OAAO,UAAU,CAAC;gBACnD,MAAM,IAAI,KAAK,CAAC,yBAAyB,QAAQ,EAAE,CAAC,CAAC;YACzD,CAAC,CAAC,CAAC;YAEH,MAAM;YACN,MAAM,MAAM,GAAG,MAAM,oCAAoC,CAAC;gBACtD,UAAU,EAAE,gCAAgC;gBAC5C,gBAAgB;aACnB,CAAC,CAAC;YAEH,SAAS;YACT,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;gBACnB,oBAAoB,EAAE,OAAO;gBAC7B,oBAAoB,EAAE,OAAO;gBAC7B,yBAAyB,EAAE,OAAO;aACrC,CAAC,CAAC;YAEH,2CAA2C;YAC3C,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,oBAAoB,CAC/C,cAAc,EACd,MAAM,CAAC,gBAAgB,CAAC;gBACpB,YAAY,EAAE;oBACV,oBAAoB,EAAE,OAAO;oBAC7B,oBAAoB,EAAE,OAAO;oBAC7B,yBAAyB,EAAE,OAAO;iBACrC;aACJ,CAAC,EACF,EAAE,MAAM,EAAE,CAAC,EAAE,CAChB,CAAC;QACN,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,kDAAkD,EAAE,GAAG,EAAE;QAC9D,EAAE,CAAC,iEAAiE,EAAE,KAAK,IAAI,EAAE;YAC7E,UAAU;YACV,MAAM,WAAW,GAAG;gBAChB,IAAI,EAAE,mBAAmB;gBACzB,YAAY,EAAE;oBACV,oBAAoB,EAAE,OAAO;oBAC7B,oBAAoB,EAAE,OAAO;iBAChC;aACJ,CAAC;YAEF,MAAM,UAAU,GAAG;gBACf,IAAI,EAAE,eAAe;gBACrB,YAAY,EAAE;oBACV,oBAAoB,EAAE,OAAO;oBAC7B,oBAAoB,EAAE,OAAO;iBAChC;aACJ,CAAC;YAEF,QAAQ,CAAC,YAAY,CAAC,kBAAkB,CAAC,CAAC,QAAgB,EAAE,EAAE;gBAC1D,IAAI,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC;oBAAE,OAAO,WAAW,CAAC;gBACtD,IAAI,QAAQ,KAAK,cAAc;oBAAE,OAAO,UAAU,CAAC;gBACnD,MAAM,IAAI,KAAK,CAAC,yBAAyB,QAAQ,EAAE,CAAC,CAAC;YACzD,CAAC,CAAC,CAAC;YAEH,MAAM;YACN,MAAM,MAAM,GAAG,MAAM,oCAAoC,CAAC;gBACtD,UAAU,EAAE,gCAAgC;gBAC5C,gBAAgB;aACnB,CAAC,CAAC;YAEH,SAAS;YACT,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;gBACnB,oBAAoB,EAAE,OAAO;gBAC7B,oBAAoB,EAAE,OAAO;aAChC,CAAC,CAAC;YAEH,mEAAmE;YACnE,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QAC1D,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,yBAAyB,EAAE,GAAG,EAAE;QACrC,EAAE,CAAC,uDAAuD,EAAE,KAAK,IAAI,EAAE;YACnE,UAAU;YACV,MAAM,WAAW,GAAG;gBAChB,IAAI,EAAE,mBAAmB;gBACzB,YAAY,EAAE;oBACV,oBAAoB,EAAE,OAAO,EAAE,kBAAkB;oBACjD,oBAAoB,EAAE,OAAO,EAAE,kBAAkB;oBACjD,yBAAyB,EAAE,OAAO,CAAC,QAAQ;iBAC9C;aACJ,CAAC;YAEF,MAAM,UAAU,GAAG;gBACf,IAAI,EAAE,eAAe;gBACrB,YAAY,EAAE;oBACV,oBAAoB,EAAE,OAAO;oBAC7B,oBAAoB,EAAE,OAAO;oBAC7B,yBAAyB,EAAE,OAAO;iBACrC;aACJ,CAAC;YAEF,QAAQ,CAAC,YAAY,CAAC,kBAAkB,CAAC,CAAC,QAAgB,EAAE,EAAE;gBAC1D,IAAI,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC;oBAAE,OAAO,WAAW,CAAC;gBACtD,IAAI,QAAQ,KAAK,cAAc;oBAAE,OAAO,UAAU,CAAC;gBACnD,MAAM,IAAI,KAAK,CAAC,yBAAyB,QAAQ,EAAE,CAAC,CAAC;YACzD,CAAC,CAAC,CAAC;YAEH,MAAM;YACN,MAAM,MAAM,GAAG,MAAM,oCAAoC,CAAC;gBACtD,UAAU,EAAE,gCAAgC;gBAC5C,gBAAgB;aACnB,CAAC,CAAC;YAEH,SAAS;YACT,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;gBACnB,oBAAoB,EAAE,OAAO,EAAE,wBAAwB;gBACvD,oBAAoB,EAAE,OAAO,EAAE,wBAAwB;gBACvD,yBAAyB,EAAE,OAAO,CAAC,uBAAuB;aAC7D,CAAC,CAAC;YAEH,6DAA6D;YAC7D,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,oBAAoB,CAC/C,cAAc,EACd,MAAM,CAAC,gBAAgB,CAAC;gBACpB,YAAY,EAAE;oBACV,oBAAoB,EAAE,OAAO,EAAE,UAAU;oBACzC,oBAAoB,EAAE,OAAO,EAAE,YAAY;oBAC3C,yBAAyB,EAAE,OAAO,CAAC,YAAY;iBAClD;aACJ,CAAC,EACF,EAAE,MAAM,EAAE,CAAC,EAAE,CAChB,CAAC;QACN,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,kCAAkC,EAAE,GAAG,EAAE;QAC9C,EAAE,CAAC,wDAAwD,EAAE,KAAK,IAAI,EAAE;YACpE,UAAU;YACV,MAAM,WAAW,GAAG;gBAChB,IAAI,EAAE,mBAAmB;gBACzB,YAAY,EAAE;oBACV,oBAAoB,EAAE,OAAO;oBAC7B,oBAAoB,EAAE,OAAO;oBAC7B,qBAAqB,EAAE,OAAO,CAAC,sBAAsB;iBACxD;aACJ,CAAC;YAEF,MAAM,UAAU,GAAG;gBACf,IAAI,EAAE,eAAe;gBACrB,YAAY,EAAE;oBACV,oBAAoB,EAAE,OAAO;oBAC7B,oBAAoB,EAAE,OAAO;oBAC7B,wBAAwB;iBAC3B;aACJ,CAAC;YAEF,QAAQ,CAAC,YAAY,CAAC,kBAAkB,CAAC,CAAC,QAAgB,EAAE,EAAE;gBAC1D,IAAI,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC;oBAAE,OAAO,WAAW,CAAC;gBACtD,IAAI,QAAQ,KAAK,cAAc;oBAAE,OAAO,UAAU,CAAC;gBACnD,MAAM,IAAI,KAAK,CAAC,yBAAyB,QAAQ,EAAE,CAAC,CAAC;YACzD,CAAC,CAAC,CAAC;YAEH,MAAM;YACN,MAAM,MAAM,GAAG,MAAM,oCAAoC,CAAC;gBACtD,UAAU,EAAE,gCAAgC;gBAC5C,gBAAgB;aACnB,CAAC,CAAC;YAEH,SAAS;YACT,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;gBACnB,oBAAoB,EAAE,OAAO;gBAC7B,oBAAoB,EAAE,OAAO;gBAC7B,qBAAqB,EAAE,OAAO;aACjC,CAAC,CAAC;YAEH,oEAAoE;YACpE,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,oBAAoB,CAC/C,cAAc,EACd,MAAM,CAAC,gBAAgB,CAAC;gBACpB,YAAY,EAAE;oBACV,oBAAoB,EAAE,OAAO;oBAC7B,oBAAoB,EAAE,OAAO;oBAC7B,qBAAqB,EAAE,OAAO,CAAC,QAAQ;iBAC1C;aACJ,CAAC,EACF,EAAE,MAAM,EAAE,CAAC,EAAE,CAChB,CAAC;QACN,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,2CAA2C,EAAE,GAAG,EAAE;QACvD,EAAE,CAAC,wGAAwG,EAAE,KAAK,IAAI,EAAE;YACpH,wDAAwD;YACxD,MAAM,WAAW,GAAG;gBAChB,IAAI,EAAE,aAAa;gBACnB,YAAY,EAAE;oBACV,oBAAoB,EAAE,OAAO;oBAC7B,0BAA0B,EAAE,OAAO;oBACnC,oBAAoB,EAAE,OAAO;oBAC7B,yBAAyB,EAAE,OAAO;oBAClC,sBAAsB,EAAE,OAAO;oBAC/B,qBAAqB,EAAE,OAAO;oBAC9B,mBAAmB,EAAE,OAAO;iBAC/B;aACJ,CAAC;YAEF,MAAM,UAAU,GAAG;gBACf,IAAI,EAAE,eAAe;gBACrB,YAAY,EAAE;oBACV,oBAAoB,EAAE,OAAO;oBAC7B,0BAA0B,EAAE,OAAO;oBACnC,oBAAoB,EAAE,OAAO;oBAC7B,yBAAyB,EAAE,OAAO;oBAClC,sBAAsB,EAAE,OAAO;oBAC/B,qBAAqB,EAAE,OAAO;iBACjC;aACJ,CAAC;YAEF,QAAQ,CAAC,YAAY,CAAC,kBAAkB,CAAC,CAAC,QAAgB,EAAE,EAAE;gBAC1D,IAAI,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC;oBAAE,OAAO,WAAW,CAAC;gBAC1F,IAAI,QAAQ,KAAK,cAAc;oBAAE,OAAO,UAAU,CAAC;gBACnD,MAAM,IAAI,KAAK,CAAC,yBAAyB,QAAQ,EAAE,CAAC,CAAC;YACzD,CAAC,CAAC,CAAC;YAEH,MAAM;YACN,MAAM,MAAM,GAAG,MAAM,oCAAoC,CAAC;gBACtD,UAAU,EAAE,mCAAmC;gBAC/C,gBAAgB;aACnB,CAAC,CAAC;YAEH,wGAAwG;YACxG,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;gBACnB,oBAAoB,EAAE,OAAO;gBAC7B,0BAA0B,EAAE,OAAO;gBACnC,oBAAoB,EAAE,OAAO;gBAC7B,yBAAyB,EAAE,OAAO;gBAClC,sBAAsB,EAAE,OAAO;gBAC/B,qBAAqB,EAAE,OAAO,CAAC,wCAAwC;aAC1E,CAAC,CAAC;YAEH,6EAA6E;YAC7E,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,oBAAoB,CAC/C,cAAc,EACd,MAAM,CAAC,gBAAgB,CAAC;gBACpB,YAAY,EAAE,MAAM,CAAC,gBAAgB,CAAC;oBAClC,oBAAoB,EAAE,OAAO;oBAC7B,0BAA0B,EAAE,OAAO;oBACnC,oBAAoB,EAAE,OAAO;oBAC7B,yBAAyB,EAAE,OAAO;oBAClC,sBAAsB,EAAE,OAAO;oBAC/B,qBAAqB,EAAE,OAAO;iBACjC,CAAC;aACL,CAAC,EACF,EAAE,MAAM,EAAE,CAAC,EAAE,CAChB,CAAC;QACN,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,+BAA+B,EAAE,GAAG,EAAE;IAC3C,MAAM,gBAAgB,GAAG,eAAe,CAAC;IACzC,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,cAAc,CAAC,CAAC;IAEnE,UAAU,CAAC,GAAG,EAAE;QACZ,IAAI,CAAC,aAAa,EAAE,CAAC;IACzB,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;QACjC,EAAE,CAAC,qEAAqE,EAAE,KAAK,IAAI,EAAE;YACjF,UAAU;YACV,MAAM,WAAW,GAAG;gBAChB,IAAI,EAAE,aAAa;gBACnB,YAAY,EAAE;oBACV,oBAAoB,EAAE,OAAO;oBAC7B,yBAAyB,EAAE,OAAO;iBACrC;aACJ,CAAC;YAEF,MAAM,UAAU,GAAG;gBACf,IAAI,EAAE,eAAe;gBACrB,YAAY,EAAE;oBACV,oBAAoB,EAAE,OAAO,EAAE,uBAAuB;oBACtD,yBAAyB,EAAE,OAAO,CAAC,uBAAuB;iBAC7D;aACJ,CAAC;YAEF,QAAQ,CAAC,YAAY,CAAC,kBAAkB,CAAC,CAAC,QAAgB,EAAE,EAAE;gBAC1D,IAAI,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC;oBAAE,OAAO,WAAW,CAAC;gBACzD,IAAI,QAAQ,KAAK,cAAc;oBAAE,OAAO,UAAU,CAAC;gBACnD,MAAM,IAAI,KAAK,CAAC,yBAAyB,QAAQ,EAAE,CAAC,CAAC;YACzD,CAAC,CAAC,CAAC;YAEH,MAAM;YACN,MAAM,MAAM,GAAG,MAAM,6BAA6B,CAAC;gBAC/C,UAAU,EAAE,mCAAmC;gBAC/C,gBAAgB;aACnB,CAAC,CAAC;YAEH,uDAAuD;YACvD,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;gBACnB,oBAAoB,EAAE,OAAO;gBAC7B,yBAAyB,EAAE,OAAO;aACrC,CAAC,CAAC;YAEH,iCAAiC;YACjC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,oBAAoB,CAC/C,cAAc,EACd,MAAM,CAAC,gBAAgB,CAAC;gBACpB,YAAY,EAAE;oBACV,oBAAoB,EAAE,OAAO;oBAC7B,yBAAyB,EAAE,OAAO;iBACrC;aACJ,CAAC,EACF,EAAE,MAAM,EAAE,CAAC,EAAE,CAChB,CAAC;QACN,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,oEAAoE,EAAE,KAAK,IAAI,EAAE;YAChF,UAAU;YACV,MAAM,WAAW,GAAG;gBAChB,IAAI,EAAE,aAAa;gBACnB,YAAY,EAAE;oBACV,oBAAoB,EAAE,OAAO;oBAC7B,yBAAyB,EAAE,OAAO;iBACrC;aACJ,CAAC;YAEF,MAAM,UAAU,GAAG;gBACf,IAAI,EAAE,eAAe;gBACrB,YAAY,EAAE;oBACV,oBAAoB,EAAE,OAAO,EAAE,sBAAsB;oBACrD,yBAAyB,EAAE,OAAO,CAAC,sBAAsB;iBAC5D;aACJ,CAAC;YAEF,QAAQ,CAAC,YAAY,CAAC,kBAAkB,CAAC,CAAC,QAAgB,EAAE,EAAE;gBAC1D,IAAI,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC;oBAAE,OAAO,WAAW,CAAC;gBACzD,IAAI,QAAQ,KAAK,cAAc;oBAAE,OAAO,UAAU,CAAC;gBACnD,MAAM,IAAI,KAAK,CAAC,yBAAyB,QAAQ,EAAE,CAAC,CAAC;YACzD,CAAC,CAAC,CAAC;YAEH,MAAM;YACN,MAAM,MAAM,GAAG,MAAM,6BAA6B,CAAC;gBAC/C,UAAU,EAAE,mCAAmC;gBAC/C,gBAAgB;aACnB,CAAC,CAAC;YAEH,+CAA+C;YAC/C,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;gBACnB,oBAAoB,EAAE,OAAO;gBAC7B,yBAAyB,EAAE,OAAO;aACrC,CAAC,CAAC;YAEH,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,oBAAoB,CAC/C,cAAc,EACd,MAAM,CAAC,gBAAgB,CAAC;gBACpB,YAAY,EAAE;oBACV,oBAAoB,EAAE,OAAO;oBAC7B,yBAAyB,EAAE,OAAO;iBACrC;aACJ,CAAC,EACF,EAAE,MAAM,EAAE,CAAC,EAAE,CAChB,CAAC;QACN,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,0DAA0D,EAAE,KAAK,IAAI,EAAE;YACtE,UAAU;YACV,MAAM,WAAW,GAAG;gBAChB,IAAI,EAAE,aAAa;gBACnB,YAAY,EAAE;oBACV,oBAAoB,EAAE,OAAO;oBAC7B,yBAAyB,EAAE,OAAO;iBACrC;aACJ,CAAC;YAEF,MAAM,UAAU,GAAG;gBACf,IAAI,EAAE,eAAe;gBACrB,YAAY,EAAE;oBACV,oBAAoB,EAAE,OAAO,EAAE,mBAAmB;oBAClD,yBAAyB,EAAE,OAAO,CAAC,mBAAmB;iBACzD;aACJ,CAAC;YAEF,QAAQ,CAAC,YAAY,CAAC,kBAAkB,CAAC,CAAC,QAAgB,EAAE,EAAE;gBAC1D,IAAI,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC;oBAAE,OAAO,WAAW,CAAC;gBACzD,IAAI,QAAQ,KAAK,cAAc;oBAAE,OAAO,UAAU,CAAC;gBACnD,MAAM,IAAI,KAAK,CAAC,yBAAyB,QAAQ,EAAE,CAAC,CAAC;YACzD,CAAC,CAAC,CAAC;YAEH,MAAM;YACN,MAAM,MAAM,GAAG,MAAM,6BAA6B,CAAC;gBAC/C,UAAU,EAAE,mCAAmC;gBAC/C,gBAAgB;aACnB,CAAC,CAAC;YAEH,SAAS;YACT,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;gBACnB,oBAAoB,EAAE,OAAO;gBAC7B,yBAAyB,EAAE,OAAO;aACrC,CAAC,CAAC;YAEH,qDAAqD;YACrD,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QAC1D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,8DAA8D,EAAE,KAAK,IAAI,EAAE;YAC1E,UAAU;YACV,MAAM,WAAW,GAAG;gBAChB,IAAI,EAAE,aAAa;gBACnB,YAAY,EAAE;oBACV,oBAAoB,EAAE,OAAO,EAAE,sBAAsB;oBACrD,yBAAyB,EAAE,OAAO,EAAE,uBAAuB;oBAC3D,sBAAsB,EAAE,OAAO,CAAC,mBAAmB;iBACtD;aACJ,CAAC;YAEF,MAAM,UAAU,GAAG;gBACf,IAAI,EAAE,eAAe;gBACrB,YAAY,EAAE;oBACV,oBAAoB,EAAE,OAAO;oBAC7B,yBAAyB,EAAE,OAAO;oBAClC,sBAAsB,EAAE,OAAO;iBAClC;aACJ,CAAC;YAEF,QAAQ,CAAC,YAAY,CAAC,kBAAkB,CAAC,CAAC,QAAgB,EAAE,EAAE;gBAC1D,IAAI,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC;oBAAE,OAAO,WAAW,CAAC;gBACzD,IAAI,QAAQ,KAAK,cAAc;oBAAE,OAAO,UAAU,CAAC;gBACnD,MAAM,IAAI,KAAK,CAAC,yBAAyB,QAAQ,EAAE,CAAC,CAAC;YACzD,CAAC,CAAC,CAAC;YAEH,MAAM;YACN,MAAM,MAAM,GAAG,MAAM,6BAA6B,CAAC;gBAC/C,UAAU,EAAE,mCAAmC;gBAC/C,gBAAgB;aACnB,CAAC,CAAC;YAEH,8DAA8D;YAC9D,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;gBACnB,oBAAoB,EAAE,OAAO;gBAC7B,yBAAyB,EAAE,OAAO;gBAClC,sBAAsB,EAAE,OAAO;aAClC,CAAC,CAAC;YAEH,mFAAmF;YACnF,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,oBAAoB,CAC/C,cAAc,EACd,MAAM,CAAC,gBAAgB,CAAC;gBACpB,YAAY,EAAE;oBACV,oBAAoB,EAAE,OAAO;oBAC7B,yBAAyB,EAAE,OAAO;oBAClC,sBAAsB,EAAE,OAAO;iBAClC;aACJ,CAAC,EACF,EAAE,MAAM,EAAE,CAAC,EAAE,CAChB,CAAC;QACN,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,gDAAgD,EAAE,KAAK,IAAI,EAAE;YAC5D,UAAU;YACV,MAAM,WAAW,GAAG;gBAChB,IAAI,EAAE,aAAa;gBACnB,YAAY,EAAE;oBACV,oBAAoB,EAAE,OAAO;oBAC7B,sBAAsB,EAAE,OAAO,CAAC,kBAAkB;iBACrD;aACJ,CAAC;YAEF,MAAM,UAAU,GAAG;gBACf,IAAI,EAAE,eAAe;gBACrB,YAAY,EAAE;oBACV,oBAAoB,EAAE,OAAO;iBAChC;aACJ,CAAC;YAEF,QAAQ,CAAC,YAAY,CAAC,kBAAkB,CAAC,CAAC,QAAgB,EAAE,EAAE;gBAC1D,IAAI,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC;oBAAE,OAAO,WAAW,CAAC;gBACzD,IAAI,QAAQ,KAAK,cAAc;oBAAE,OAAO,UAAU,CAAC;gBACnD,MAAM,IAAI,KAAK,CAAC,yBAAyB,QAAQ,EAAE,CAAC,CAAC;YACzD,CAAC,CAAC,CAAC;YAEH,MAAM;YACN,MAAM,MAAM,GAAG,MAAM,6BAA6B,CAAC;gBAC/C,UAAU,EAAE,mCAAmC;gBAC/C,gBAAgB;aACnB,CAAC,CAAC;YAEH,SAAS;YACT,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;gBACnB,oBAAoB,EAAE,OAAO;gBAC7B,sBAAsB,EAAE,OAAO;aAClC,CAAC,CAAC;YAEH,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,oBAAoB,CAC/C,cAAc,EACd,MAAM,CAAC,gBAAgB,CAAC;gBACpB,YAAY,EAAE;oBACV,oBAAoB,EAAE,OAAO;oBAC7B,sBAAsB,EAAE,OAAO;iBAClC;aACJ,CAAC,EACF,EAAE,MAAM,EAAE,CAAC,EAAE,CAChB,CAAC;QACN,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,29 @@
1
+ import { merge } from './merge.js';
2
+ describe('merge function tests', () => {
3
+ it('should merge arrays of arrays ', () => {
4
+ const arr1 = [1, 2, 3];
5
+ const arr2 = [4, 5, 6];
6
+ const arr3 = [7, 8, 9];
7
+ const array = [1, 2, 3, 4, 5, 6, 7, 8, 9];
8
+ const result = merge(arr1, arr2, arr3);
9
+ expect(result).toEqual(array);
10
+ });
11
+ it('should return empty array', () => {
12
+ const arr1 = [];
13
+ const arr2 = [];
14
+ const result = merge(arr1, arr2);
15
+ expect(result).toEqual([]);
16
+ });
17
+ it('should also return empty array', () => {
18
+ const arr1 = [];
19
+ const result = merge(arr1);
20
+ expect(result).toEqual([]);
21
+ });
22
+ it('should also [1]', () => {
23
+ const arr1 = [];
24
+ const arr2 = [1];
25
+ const result = merge(arr1, arr2);
26
+ expect(result).toEqual(arr2);
27
+ });
28
+ });
29
+ //# sourceMappingURL=merge.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"merge.test.js","sourceRoot":"","sources":["../../src/utils/merge.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;IAClC,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;QACtC,MAAM,IAAI,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACvB,MAAM,IAAI,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACvB,MAAM,IAAI,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAEvB,MAAM,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAE1C,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QACvC,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2BAA2B,EAAE,GAAG,EAAE;QACjC,MAAM,IAAI,GAAG,EAAE,CAAC;QAChB,MAAM,IAAI,GAAG,EAAE,CAAC;QAChB,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACjC,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC/B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;QACtC,MAAM,IAAI,GAAG,EAAE,CAAC;QAChB,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;QAC3B,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC/B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iBAAiB,EAAE,GAAG,EAAE;QACvB,MAAM,IAAI,GAAG,EAAE,CAAC;QAChB,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC;QACjB,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACjC,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}