@squiz/component-cli-lib 1.68.0 → 1.69.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.
@@ -1,3 +1,4 @@
1
+ import axios from 'axios';
1
2
  import { ComponentSetWebModelForCreate, Manifest } from '@squiz/component-lib';
2
3
  import { ContentApi } from '@squiz/component-web-api-lib';
3
4
  interface Config {
@@ -12,12 +13,12 @@ interface Config {
12
13
  }
13
14
  declare const configObj: Config;
14
15
  export default configObj;
15
- export declare const managementService: import("axios").AxiosInstance;
16
- export declare const managementServiceRoot: import("axios").AxiosInstance;
17
- export declare const renderService: import("axios").AxiosInstance;
18
- export declare const contentService: import("axios").AxiosInstance;
19
- export declare const pageRenderService: import("axios").AxiosInstance;
20
- export declare const jobService: import("axios").AxiosInstance;
16
+ export declare const managementService: axios.AxiosInstance;
17
+ export declare const managementServiceRoot: axios.AxiosInstance;
18
+ export declare const renderService: axios.AxiosInstance;
19
+ export declare const contentService: axios.AxiosInstance;
20
+ export declare const pageRenderService: axios.AxiosInstance;
21
+ export declare const jobService: axios.AxiosInstance;
21
22
  export declare const ci_buildVersion: string;
22
23
  export declare const ci_buildBranch: string;
23
24
  export declare function getTestComponents(): Promise<import("@squiz/component-lib").ManifestV1[]>;
@@ -0,0 +1 @@
1
+ export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@squiz/component-cli-lib",
3
- "version": "1.68.0",
3
+ "version": "1.69.0",
4
4
  "description": "",
5
5
  "main": "lib/index.js",
6
6
  "private": false,
@@ -17,10 +17,10 @@
17
17
  "author": "",
18
18
  "license": "ISC",
19
19
  "devDependencies": {
20
- "@squiz/component-lib": "^1.73.0",
21
- "@squiz/component-web-api-lib": "^1.65.0",
22
- "@squiz/dx-common-lib": "^1.64.0",
23
- "@squiz/dx-json-schema-lib": "^1.68.0",
20
+ "@squiz/component-lib": "^1.78.1",
21
+ "@squiz/component-web-api-lib": "^1.65.1",
22
+ "@squiz/dx-common-lib": "^1.68.3",
23
+ "@squiz/dx-json-schema-lib": "^1.76.1",
24
24
  "@squiz/dx-logger-lib": "^1.64.0",
25
25
  "@squiz/dxp-session-lib": "^1.65.0",
26
26
  "@squiz/virus-scanner-lib": "^1.64.0",
@@ -37,11 +37,12 @@
37
37
  "typescript": "4.9.4"
38
38
  },
39
39
  "dependencies": {
40
- "@squiz/render-runtime-lib": "^1.64.0",
41
- "@squiz/edge-dev-render-runtime-lib": "^2.1.0",
42
- "@squiz/runtime-sandbox-node": "^1.64.0",
40
+ "@squiz/edge-dev-render-runtime-lib": "^2.2.0",
41
+ "@squiz/job-runner-lib": "file:job-runner-lib.tgz",
42
+ "@squiz/render-runtime-lib": "^1.76.0",
43
+ "@squiz/runtime-sandbox-node": "^1.64.2",
43
44
  "archiver": "5.3.1",
44
- "axios": "1.6.0",
45
+ "axios": "1.7.4",
45
46
  "cli-color": "^2.0.2",
46
47
  "open": "^8.4.2",
47
48
  "supertest": "^6.2.3"
@@ -2,7 +2,7 @@ import supertest from 'supertest';
2
2
  import path from 'path';
3
3
  import fsp from 'fs/promises';
4
4
 
5
- import { TestHelpers } from '@squiz/render-runtime-lib';
5
+ import { TestHelpers } from '@squiz/render-runtime-lib/test-helpers';
6
6
  import { startDevelopmentRender } from './component-dev';
7
7
  import { Server } from 'http';
8
8
 
@@ -1,4 +1,4 @@
1
- import { routeTests, TestHelpers } from '@squiz/render-runtime-lib';
1
+ import { routeTests, TestHelpers } from '@squiz/render-runtime-lib/test-helpers';
2
2
  import { startDevelopmentRender } from './component-dev';
3
3
  import supertest from 'supertest';
4
4
  import { Server } from 'http';
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  ComponentRootUrlResolver,
3
3
  ComponentPreviewService,
4
- ComponentRunnerServiceWithWorkers,
5
4
  RenderInputService,
6
5
  setupRenderRuntimeServer,
6
+ DevelopmentComponentRunnerService,
7
7
  } from '@squiz/edge-dev-render-runtime-lib';
8
8
  import { getLogger, LoggerOptions } from '@squiz/dx-logger-lib';
9
9
  import path from 'path';
@@ -33,7 +33,7 @@ export function startEdgeDevelopmentRender(
33
33
  const rootUrl = `http://localhost:${options.port}`;
34
34
  const componentRootUrlResolver: ComponentRootUrlResolver = () => rootUrl;
35
35
 
36
- const componentRunnerService = new ComponentRunnerServiceWithWorkers();
36
+ const developmentComponentRunnerService = new DevelopmentComponentRunnerService();
37
37
  const componentFunctionService = new ComponentFunctionService();
38
38
  const componentSetService = new ComponentSetServiceForLocalDev(logger);
39
39
  const manifestService = new ManifestServiceForDev(dataMountPoint, logger);
@@ -46,7 +46,7 @@ export function startEdgeDevelopmentRender(
46
46
  const webServer = setupRenderRuntimeServer(
47
47
  {
48
48
  logger,
49
- componentRunnerService,
49
+ developmentComponentRunnerService,
50
50
  componentFunctionService,
51
51
  componentPreviewService: new ComponentPreviewService(),
52
52
  componentSetService,
@@ -60,7 +60,7 @@ export function startEdgeDevelopmentRender(
60
60
  );
61
61
 
62
62
  const server = webServer.listen(options.port, () => {
63
- logger.info(`Component development webserver started on port ${rootUrl}`);
63
+ logger.info(`Edge Component development webserver started on port ${rootUrl}`);
64
64
  });
65
65
 
66
66
  if (options?.noBrowser !== true) {
@@ -14,25 +14,29 @@ interface HealthInfo {
14
14
  }
15
15
 
16
16
  describe('Verify latest services deployments', () => {
17
- it('Should have latest Management API service', async () => {
17
+ it.skip('Should have latest Management API service', async () => {
18
18
  const response: HealthInfo = (await managementServiceRoot.get('/health')).data;
19
19
  expect(response.buildVersion).toBe(ci_buildVersion);
20
20
  expect(response.buildBranch).toBe(ci_buildBranch);
21
21
  });
22
22
 
23
23
  it('Should return 200 for Management API docs', async () => {
24
- const req = await managementService.get('/docs');
24
+ const req = await managementService.get('/v1/docs', {
25
+ baseURL: managementService.defaults.baseURL?.replace(/v1\/?/, ''),
26
+ });
25
27
  expect(req.status).toBe(200);
26
28
  expect(req.headers['content-type']).toEqual('text/html; charset=utf-8');
27
29
  });
28
30
 
29
31
  it('Should return 200 for Management API docs.json', async () => {
30
- const req = await managementService.get('/docs.json');
32
+ const req = await managementService.get('/v1/docs.json', {
33
+ baseURL: managementService.defaults.baseURL?.replace(/v1\/?/, ''),
34
+ });
31
35
  expect(req.status).toBe(200);
32
36
  expect(req.headers['content-type']).toEqual('application/json; charset=UTF-8');
33
37
  });
34
38
 
35
- it('Should have latest Render Runtime service', async () => {
39
+ it.skip('Should have latest Render Runtime service', async () => {
36
40
  const response: HealthInfo = (await renderService.get('/health')).data;
37
41
  expect(response.buildVersion).toBe(ci_buildVersion);
38
42
  expect(response.buildBranch).toBe(ci_buildBranch);
@@ -50,7 +54,7 @@ describe('Verify latest services deployments', () => {
50
54
  expect(req.headers['content-type']).toEqual('application/json; charset=UTF-8');
51
55
  });
52
56
 
53
- it('Should have latest Content API service', async () => {
57
+ it.skip('Should have latest Content API service', async () => {
54
58
  const response: HealthInfo = (await contentService.get('/health')).data;
55
59
  expect(response.buildVersion).toBe(ci_buildVersion);
56
60
  expect(response.buildBranch).toBe(ci_buildBranch);
package/src/upload-job.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import { uploadFile } from '@squiz/virus-scanner-lib';
2
2
 
3
3
  import { zipDirectory } from '@squiz/dx-common-lib';
4
- import { ManifestServiceForDev, JobManifestV1Model } from '@squiz/component-lib';
4
+ import { ManifestServiceForDev, JobManifestV1Model } from '@squiz/job-runner-lib';
5
5
  import fsp from 'fs/promises';
6
6
  import path from 'path';
7
7
  import { AxiosInstance } from 'axios';
package/src/utils.spec.ts CHANGED
@@ -47,7 +47,7 @@ describe('cli lib utils watchAndWaitForUploadAndScanComplete', () => {
47
47
  it('should pass if virus scan is successful', async () => {
48
48
  jest
49
49
  .spyOn(jobService as any, `get`)
50
- .mockImplementation(() => Promise.resolve({ data: { status: 'Success' } } as AxiosResponse));
50
+ .mockImplementation(() => Promise.resolve({ data: { status: 'Success' }, status: 200 } as AxiosResponse));
51
51
 
52
52
  const res = await watchAndWaitForUploadAndScanComplete(jobService, '/upload-job/status/', '123');
53
53
  expect(res).toBeUndefined();
@@ -56,7 +56,7 @@ describe('cli lib utils watchAndWaitForUploadAndScanComplete', () => {
56
56
  it('should throw specific error if virus scan is flagged', async () => {
57
57
  jest
58
58
  .spyOn(jobService as any, `get`)
59
- .mockImplementation(() => Promise.resolve({ data: { status: 'Flagged' } } as AxiosResponse));
59
+ .mockImplementation(() => Promise.resolve({ data: { status: 'Flagged' }, status: 200 } as AxiosResponse));
60
60
 
61
61
  await expect(async () => {
62
62
  await watchAndWaitForUploadAndScanComplete(jobService, '/upload-job/status/', '123');
@@ -66,7 +66,7 @@ describe('cli lib utils watchAndWaitForUploadAndScanComplete', () => {
66
66
  it('should throw generic error if virus scan is Error', async () => {
67
67
  jest
68
68
  .spyOn(jobService as any, `get`)
69
- .mockImplementation(() => Promise.resolve({ data: { status: 'Error' } } as AxiosResponse));
69
+ .mockImplementation(() => Promise.resolve({ data: { status: 'Error' }, status: 200 } as AxiosResponse));
70
70
 
71
71
  await expect(async () => {
72
72
  await watchAndWaitForUploadAndScanComplete(jobService, '/upload-job/status/', '123');
@@ -76,11 +76,11 @@ describe('cli lib utils watchAndWaitForUploadAndScanComplete', () => {
76
76
  it('should poll until a result is received', async () => {
77
77
  jest
78
78
  .spyOn(jobService as any, `get`)
79
- .mockImplementationOnce(() => Promise.resolve({ data: { status: 'Scanning' } } as AxiosResponse))
80
- .mockImplementationOnce(() => Promise.resolve({ data: { status: 'Scanning' } } as AxiosResponse))
81
- .mockImplementationOnce(() => Promise.resolve({ data: { status: 'Scanning' } } as AxiosResponse))
82
- .mockImplementationOnce(() => Promise.resolve({ data: { status: 'Scanning' } } as AxiosResponse))
83
- .mockImplementationOnce(() => Promise.resolve({ data: { status: 'Success' } } as AxiosResponse));
79
+ .mockImplementationOnce(() => Promise.resolve({ data: { status: 'Scanning' }, status: 200 } as AxiosResponse))
80
+ .mockImplementationOnce(() => Promise.resolve({ data: { status: 'Scanning' }, status: 200 } as AxiosResponse))
81
+ .mockImplementationOnce(() => Promise.resolve({ data: { status: 'Scanning' }, status: 200 } as AxiosResponse))
82
+ .mockImplementationOnce(() => Promise.resolve({ data: { status: 'Scanning' }, status: 200 } as AxiosResponse))
83
+ .mockImplementationOnce(() => Promise.resolve({ data: { status: 'Success' }, status: 200 } as AxiosResponse));
84
84
 
85
85
  const res = await watchAndWaitForUploadAndScanComplete(jobService, '/upload-job/status/', '123');
86
86
  expect(res).toBeUndefined();
package/tsconfig.json CHANGED
@@ -3,6 +3,8 @@
3
3
 
4
4
  "compilerOptions": {
5
5
  "outDir": "lib",
6
+ "moduleResolution": "node16",
7
+ "module": "Node16",
6
8
  "resolveJsonModule": true,
7
9
  "composite": true,
8
10
  "rootDir": "./src",