@squiz/component-cli-lib 1.2.1-alpha.57 → 1.2.1-alpha.59
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.
- package/.env +6 -0
- package/.gitlab-ci.yml +25 -0
- package/CHANGELOG.md +23 -1
- package/jest.config.ts +2 -2
- package/jest.integration.config.ts +12 -0
- package/lib/config.d.ts +6 -0
- package/lib/config.js +20 -0
- package/lib/config.js.map +1 -0
- package/lib/index.js +5 -3
- package/lib/index.js.map +1 -1
- package/lib/integration-tests/__components__/cmp-static-file-test/manifest.json +28 -0
- package/lib/integration-tests/helper.d.ts +3 -0
- package/lib/integration-tests/helper.js +30 -0
- package/lib/integration-tests/helper.js.map +1 -0
- package/lib/integration-tests/service-deployment.spec.d.ts +1 -0
- package/lib/integration-tests/service-deployment.spec.js +25 -0
- package/lib/integration-tests/service-deployment.spec.js.map +1 -0
- package/lib/integration-tests/test-setup.d.ts +0 -0
- package/lib/integration-tests/test-setup.js +3 -0
- package/lib/integration-tests/test-setup.js.map +1 -0
- package/lib/integration-tests/upload-and-render-component.spec.d.ts +1 -0
- package/lib/integration-tests/upload-and-render-component.spec.js +61 -0
- package/lib/integration-tests/upload-and-render-component.spec.js.map +1 -0
- package/lib/test.js +2 -3
- package/lib/test.js.map +1 -1
- package/package.json +17 -13
- package/src/config.ts +28 -0
- package/src/index.ts +5 -3
- package/src/integration-tests/__components__/cmp-static-file-test/main.js +10 -0
- package/src/integration-tests/__components__/cmp-static-file-test/manifest.json +32 -0
- package/src/integration-tests/__components__/cmp-static-file-test/public/static-library-file.js +1 -0
- package/src/integration-tests/helper.ts +25 -0
- package/src/integration-tests/service-deployment.spec.ts +31 -0
- package/src/integration-tests/test-setup.ts +1 -0
- package/src/integration-tests/upload-and-render-component.spec.ts +72 -0
- package/src/test.ts +2 -4
- package/test.log +1 -0
- package/tsconfig.tsbuildinfo +1 -1
package/.env
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
# COMPONENT_MANAGEMENT_SERVICE_URL=https://management.develop.components.dev.dx.squiz.cloud/
|
|
2
|
+
|
|
3
|
+
# COMPONENT_RENDER_SERVICE_URL=https://render.develop.components.dev.dx.squiz.cloud/
|
|
4
|
+
|
|
5
|
+
COMPONENT_MANAGEMENT_SERVICE_URL=http://localhost:3010
|
|
6
|
+
COMPONENT_RENDER_SERVICE_URL=http://localhost:3000
|
package/.gitlab-ci.yml
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
smoke-test:
|
|
2
|
+
stage: smoke-test
|
|
3
|
+
tags:
|
|
4
|
+
- size/l
|
|
5
|
+
except:
|
|
6
|
+
- tags
|
|
7
|
+
only:
|
|
8
|
+
- develop
|
|
9
|
+
variables:
|
|
10
|
+
COMPONENT_MANAGEMENT_SERVICE_URL: $COMPONENT_MANAGEMENT_SERVICE_URL
|
|
11
|
+
COMPONENT_RENDER_SERVICE_URL: $COMPONENT_RENDER_SERVICE_URL
|
|
12
|
+
script:
|
|
13
|
+
- npm i
|
|
14
|
+
- npm run bootstrap
|
|
15
|
+
- npm run clean
|
|
16
|
+
- npm run lint
|
|
17
|
+
- npm run format-code
|
|
18
|
+
- npm run compile
|
|
19
|
+
- cd packages/component-cli-lib
|
|
20
|
+
- npm run test:integration
|
|
21
|
+
retry:
|
|
22
|
+
max: 2
|
|
23
|
+
when:
|
|
24
|
+
- runner_system_failure
|
|
25
|
+
- stuck_or_timeout_failure
|
package/CHANGELOG.md
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
-
## [1.2.1-alpha.
|
|
6
|
+
## [1.2.1-alpha.59](https://gitlab.squiz.net/developer-experience/cmp/compare/v1.2.1-alpha.58...v1.2.1-alpha.59) (2022-06-22)
|
|
7
7
|
|
|
8
8
|
**Note:** Version bump only for package @squiz/component-cli-lib
|
|
9
9
|
|
|
@@ -11,6 +11,28 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
|
|
|
11
11
|
|
|
12
12
|
|
|
13
13
|
|
|
14
|
+
## [1.2.1-alpha.58](https://gitlab.squiz.net/developer-experience/cmp/compare/v1.2.0...v1.2.1-alpha.58) (2022-06-22)
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
### Bug Fixes
|
|
18
|
+
|
|
19
|
+
* **deps:** update aws-cdk monorepo to v2.27.0 ([8b81e98](https://gitlab.squiz.net/developer-experience/cmp/commit/8b81e98ed6ec756bd956d3b479a5b7b56446b5a8))
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
## [1.2.1-alpha.57](https://gitlab.squiz.net/developer-experience/cmp/compare/v1.2.0...v1.2.1-alpha.57) (2022-06-17)
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
### Bug Fixes
|
|
29
|
+
|
|
30
|
+
* **deps:** update aws-cdk monorepo to v2.27.0 ([8b81e98](https://gitlab.squiz.net/developer-experience/cmp/commit/8b81e98ed6ec756bd956d3b479a5b7b56446b5a8))
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
|
|
14
36
|
## [1.2.1-alpha.56](https://gitlab.squiz.net/developer-experience/cmp/compare/v1.2.0...v1.2.1-alpha.56) (2022-06-06)
|
|
15
37
|
|
|
16
38
|
**Note:** Version bump only for package @squiz/component-cli-lib
|
package/jest.config.ts
CHANGED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { Config } from '@jest/types';
|
|
2
|
+
|
|
3
|
+
// Sync object
|
|
4
|
+
const config: Config.InitialOptions = {
|
|
5
|
+
preset: 'ts-jest',
|
|
6
|
+
testEnvironment: 'node',
|
|
7
|
+
testRegex: '/integration-tests/.*\\.spec\\.ts$',
|
|
8
|
+
setupFiles: ['./src/integration-tests/test-setup.ts'],
|
|
9
|
+
detectOpenHandles: true,
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
export default config;
|
package/lib/config.d.ts
ADDED
package/lib/config.js
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const dotenv_1 = require("dotenv");
|
|
4
|
+
(0, dotenv_1.config)();
|
|
5
|
+
const configObj = {
|
|
6
|
+
managementServiceUrl: parseEnvVarForVar('COMPONENT_MANAGEMENT_SERVICE_URL').replace(/\/+$/, ''),
|
|
7
|
+
renderServiceUrl: parseEnvVarForVar('COMPONENT_RENDER_SERVICE_URL').replace(/\/+$/, ''),
|
|
8
|
+
};
|
|
9
|
+
exports.default = configObj;
|
|
10
|
+
function parseEnvVarForVar(varName, defaultValue = undefined) {
|
|
11
|
+
if (process.env[varName] === undefined) {
|
|
12
|
+
if (defaultValue !== undefined) {
|
|
13
|
+
return defaultValue;
|
|
14
|
+
}
|
|
15
|
+
throw new Error(`env variable ${varName} must be set`);
|
|
16
|
+
}
|
|
17
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
18
|
+
return process.env[varName];
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":";;AAAA,mCAAgC;AAEhC,IAAA,eAAM,GAAE,CAAC;AAOT,MAAM,SAAS,GAAW;IACxB,oBAAoB,EAAE,iBAAiB,CAAC,kCAAkC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;IAC/F,gBAAgB,EAAE,iBAAiB,CAAC,8BAA8B,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;CACxF,CAAC;AAEF,kBAAe,SAAS,CAAC;AAEzB,SAAS,iBAAiB,CAAC,OAAe,EAAE,eAAmC,SAAS;IACtF,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,SAAS,EAAE;QACtC,IAAI,YAAY,KAAK,SAAS,EAAE;YAC9B,OAAO,YAAY,CAAC;SACrB;QAED,MAAM,IAAI,KAAK,CAAC,gBAAgB,OAAO,cAAc,CAAC,CAAC;KACxD;IAED,oEAAoE;IACpE,OAAO,OAAO,CAAC,GAAG,CAAC,OAAO,CAAE,CAAC;AAC/B,CAAC"}
|
package/lib/index.js
CHANGED
|
@@ -9,6 +9,7 @@ const component_lib_1 = require("@squiz/component-lib");
|
|
|
9
9
|
const promises_1 = __importDefault(require("fs/promises"));
|
|
10
10
|
const path_1 = __importDefault(require("path"));
|
|
11
11
|
const axios_1 = __importDefault(require("axios"));
|
|
12
|
+
const cli_color_1 = __importDefault(require("cli-color"));
|
|
12
13
|
async function uploadComponentFolder(folderPath, componentServiceManagementUrl) {
|
|
13
14
|
const tmpDir = path_1.default.resolve(await promises_1.default.mkdtemp('cmp-upload'));
|
|
14
15
|
try {
|
|
@@ -25,16 +26,17 @@ async function uploadComponentFolder(folderPath, componentServiceManagementUrl)
|
|
|
25
26
|
const result = await handleResponse(axiosInstance.post(`upload-component/next/${initialUpload.id}`));
|
|
26
27
|
await promises_1.default.rm(tmpDir, { force: true, recursive: true });
|
|
27
28
|
if (result.status === 'successful') {
|
|
28
|
-
console.log(`deployment id: ${initialUpload.id} status: success`);
|
|
29
|
+
console.log(`deployment id: ${initialUpload.id} status: ${cli_color_1.default.green('success')}`);
|
|
30
|
+
console.log(`uploaded location: ${result.accessLink}`);
|
|
29
31
|
}
|
|
30
32
|
else {
|
|
31
|
-
console.
|
|
33
|
+
console.error('failed for an unknown reason', cli_color_1.default.red(result));
|
|
32
34
|
}
|
|
33
35
|
}
|
|
34
36
|
catch (e) {
|
|
35
37
|
await promises_1.default.rm(tmpDir, { force: true, recursive: true });
|
|
36
38
|
if (e instanceof Error) {
|
|
37
|
-
console.error(e.message);
|
|
39
|
+
console.error(cli_color_1.default.red(e.message));
|
|
38
40
|
}
|
|
39
41
|
else {
|
|
40
42
|
throw e;
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;AAAA,gEAAkE;AAClE,wDAAoD;AACpD,2DAA8B;AAC9B,gDAAwB;AACxB,kDAAwE;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://localhost:3000/schemas/v1.json#",
|
|
3
|
+
"name": "cmp-static-file-test",
|
|
4
|
+
"version": "1.0.0",
|
|
5
|
+
"main-function": "main",
|
|
6
|
+
"functions": [
|
|
7
|
+
{
|
|
8
|
+
"entry": "main.js",
|
|
9
|
+
"name": "main",
|
|
10
|
+
"input": {
|
|
11
|
+
"type": "object",
|
|
12
|
+
"properties": {
|
|
13
|
+
"something": {
|
|
14
|
+
"type": "string"
|
|
15
|
+
}
|
|
16
|
+
},
|
|
17
|
+
"required": ["something"]
|
|
18
|
+
},
|
|
19
|
+
"output": {
|
|
20
|
+
"response-type": "html",
|
|
21
|
+
"static-files": [{ "location": "header", "file": "static-library-file.js" }]
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
],
|
|
25
|
+
"static-files": {
|
|
26
|
+
"location-root": "public"
|
|
27
|
+
}
|
|
28
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.getTestComponents = exports.renderService = exports.managementService = void 0;
|
|
7
|
+
const axios_1 = __importDefault(require("axios"));
|
|
8
|
+
const fs_1 = __importDefault(require("fs"));
|
|
9
|
+
const path_1 = __importDefault(require("path"));
|
|
10
|
+
const config_1 = __importDefault(require("../config"));
|
|
11
|
+
exports.managementService = axios_1.default.create({
|
|
12
|
+
baseURL: config_1.default.managementServiceUrl,
|
|
13
|
+
});
|
|
14
|
+
exports.renderService = axios_1.default.create({
|
|
15
|
+
baseURL: config_1.default.renderServiceUrl,
|
|
16
|
+
});
|
|
17
|
+
function getTestComponents() {
|
|
18
|
+
const componets = [];
|
|
19
|
+
const componentsDir = path_1.default.join(__dirname, '/__components__/');
|
|
20
|
+
const files = fs_1.default.readdirSync(componentsDir);
|
|
21
|
+
for (const file of files) {
|
|
22
|
+
const stat = fs_1.default.statSync(path_1.default.join(componentsDir, file));
|
|
23
|
+
if (stat.isDirectory() && file.substring(0, 4) === 'cmp-') {
|
|
24
|
+
componets.push(file);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
return componets;
|
|
28
|
+
}
|
|
29
|
+
exports.getTestComponents = getTestComponents;
|
|
30
|
+
//# sourceMappingURL=helper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"helper.js","sourceRoot":"","sources":["../../src/integration-tests/helper.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAC1B,4CAAoB;AACpB,gDAAwB;AACxB,uDAAmC;AAEtB,QAAA,iBAAiB,GAAG,eAAK,CAAC,MAAM,CAAC;IAC5C,OAAO,EAAE,gBAAU,CAAC,oBAAoB;CACzC,CAAC,CAAC;AAEU,QAAA,aAAa,GAAG,eAAK,CAAC,MAAM,CAAC;IACxC,OAAO,EAAE,gBAAU,CAAC,gBAAgB;CACrC,CAAC,CAAC;AAEH,SAAgB,iBAAiB;IAC/B,MAAM,SAAS,GAAG,EAAE,CAAC;IACrB,MAAM,aAAa,GAAG,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,kBAAkB,CAAC,CAAC;IAC/D,MAAM,KAAK,GAAG,YAAE,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;IAC5C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;QACxB,MAAM,IAAI,GAAG,YAAE,CAAC,QAAQ,CAAC,cAAI,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC,CAAC;QACzD,IAAI,IAAI,CAAC,WAAW,EAAE,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,MAAM,EAAE;YACzD,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACtB;KACF;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAXD,8CAWC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const helper_1 = require("./helper");
|
|
7
|
+
const promises_1 = __importDefault(require("fs/promises"));
|
|
8
|
+
const path_1 = __importDefault(require("path"));
|
|
9
|
+
describe('Verify latest services deployments', () => {
|
|
10
|
+
it('Should have latest Management API service', async () => {
|
|
11
|
+
const packagePath = path_1.default.resolve('../../applications/management-api/package.json');
|
|
12
|
+
const file = await promises_1.default.readFile(packagePath, { encoding: 'utf-8' });
|
|
13
|
+
const pkg = JSON.parse(file);
|
|
14
|
+
const response = (await helper_1.managementService.get('/health')).data;
|
|
15
|
+
expect(pkg.version).toBe(response.version);
|
|
16
|
+
});
|
|
17
|
+
it('Should have latest Render Runtime service', async () => {
|
|
18
|
+
const packagePath = path_1.default.resolve('../../applications/render-runtime/package.json');
|
|
19
|
+
const file = await promises_1.default.readFile(packagePath, { encoding: 'utf-8' });
|
|
20
|
+
const pkg = JSON.parse(file);
|
|
21
|
+
const response = (await helper_1.renderService.get('/health')).data;
|
|
22
|
+
expect(pkg.version).toBe(response.version);
|
|
23
|
+
});
|
|
24
|
+
});
|
|
25
|
+
//# sourceMappingURL=service-deployment.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"service-deployment.spec.js","sourceRoot":"","sources":["../../src/integration-tests/service-deployment.spec.ts"],"names":[],"mappings":";;;;;AAAA,qCAA4D;AAC5D,2DAA8B;AAC9B,gDAAwB;AAQxB,QAAQ,CAAC,oCAAoC,EAAE,GAAG,EAAE;IAClD,EAAE,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;QACzD,MAAM,WAAW,GAAG,cAAI,CAAC,OAAO,CAAC,gDAAgD,CAAC,CAAC;QACnF,MAAM,IAAI,GAAG,MAAM,kBAAG,CAAC,QAAQ,CAAC,WAAW,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;QACpE,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAE7B,MAAM,QAAQ,GAAe,CAAC,MAAM,0BAAiB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;QAE3E,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;QACzD,MAAM,WAAW,GAAG,cAAI,CAAC,OAAO,CAAC,gDAAgD,CAAC,CAAC;QACnF,MAAM,IAAI,GAAG,MAAM,kBAAG,CAAC,QAAQ,CAAC,WAAW,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;QACpE,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAE7B,MAAM,QAAQ,GAAe,CAAC,MAAM,sBAAa,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;QAEvE,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test-setup.js","sourceRoot":"","sources":["../../src/integration-tests/test-setup.ts"],"names":[],"mappings":";AAAA,IAAI,CAAC,UAAU,CAAC,KAAM,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const index_1 = require("../index");
|
|
7
|
+
const helper_1 = require("./helper");
|
|
8
|
+
const config_1 = __importDefault(require("../config"));
|
|
9
|
+
const cli_color_1 = __importDefault(require("cli-color"));
|
|
10
|
+
const path_1 = __importDefault(require("path"));
|
|
11
|
+
const supertest_1 = __importDefault(require("supertest"));
|
|
12
|
+
const mockConsoleError = jest.fn();
|
|
13
|
+
const mockConsoleLog = jest.fn();
|
|
14
|
+
const orgConsoleError = console.error;
|
|
15
|
+
afterAll(async () => {
|
|
16
|
+
// clean up the component added by the test
|
|
17
|
+
(0, helper_1.getTestComponents)().forEach(async (componentName) => {
|
|
18
|
+
await helper_1.managementService.delete(`/component/${componentName}`);
|
|
19
|
+
});
|
|
20
|
+
});
|
|
21
|
+
describe('Deploy basic component having a static file', () => {
|
|
22
|
+
beforeEach(() => {
|
|
23
|
+
console.error = mockConsoleError;
|
|
24
|
+
console.log = mockConsoleLog;
|
|
25
|
+
});
|
|
26
|
+
afterEach(() => {
|
|
27
|
+
console.error = orgConsoleError;
|
|
28
|
+
});
|
|
29
|
+
// component to deploy for this test
|
|
30
|
+
const componentPath = path_1.default.join(__dirname, '/__components__/cmp-static-file-test');
|
|
31
|
+
let url = '';
|
|
32
|
+
it('Should upload the component and return a valid url to preview', async () => {
|
|
33
|
+
var _a;
|
|
34
|
+
mockConsoleLog.mockClear();
|
|
35
|
+
await (0, index_1.uploadComponentFolder)(componentPath, config_1.default.managementServiceUrl);
|
|
36
|
+
url = ((_a = /uploaded location: (.*)/.exec(mockConsoleLog.mock.lastCall)) === null || _a === void 0 ? void 0 : _a[1]) || '';
|
|
37
|
+
expect(url).toEqual(`${config_1.default.renderServiceUrl}/r/set/cmp-static-file-test/1.0.0`);
|
|
38
|
+
const get = await (0, supertest_1.default)(url).get('');
|
|
39
|
+
expect(get.status).toEqual(400);
|
|
40
|
+
expect(get.body).toEqual({
|
|
41
|
+
message: 'input validation failed: "must have required property \'something\'"',
|
|
42
|
+
});
|
|
43
|
+
});
|
|
44
|
+
it('Should fail upload the component with same version', async () => {
|
|
45
|
+
await (0, index_1.uploadComponentFolder)(componentPath, config_1.default.managementServiceUrl);
|
|
46
|
+
expect(mockConsoleError.mock.calls[0][0]).toEqual(cli_color_1.default.red([
|
|
47
|
+
'Unexpected response code 400. message: ',
|
|
48
|
+
'cmp-static-file-test version 1.0.0 already exists and cannot be uploaded',
|
|
49
|
+
].join('')));
|
|
50
|
+
});
|
|
51
|
+
it('Should render component', async () => {
|
|
52
|
+
const response = await helper_1.renderService.get('/r/set/cmp-static-file-test/1.0.0/?something=hello');
|
|
53
|
+
expect(response.status).toEqual(200);
|
|
54
|
+
expect(response.data).toEqual([
|
|
55
|
+
'<div>Input: hello</div>',
|
|
56
|
+
'<div>cmp-static-file-test 1.0.0 ',
|
|
57
|
+
`${config_1.default.renderServiceUrl}/s/cmp-static-file-test/1.0.0/birthday-cake.png</div>`,
|
|
58
|
+
].join(''));
|
|
59
|
+
});
|
|
60
|
+
});
|
|
61
|
+
//# sourceMappingURL=upload-and-render-component.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"upload-and-render-component.spec.js","sourceRoot":"","sources":["../../src/integration-tests/upload-and-render-component.spec.ts"],"names":[],"mappings":"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"}
|
package/lib/test.js
CHANGED
|
@@ -4,11 +4,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
const _1 = require(".");
|
|
7
|
-
const
|
|
7
|
+
const config_1 = __importDefault(require("./config"));
|
|
8
8
|
const path_1 = __importDefault(require("path"));
|
|
9
|
-
(0, dotenv_1.config)();
|
|
10
9
|
const dir = path_1.default.resolve(process.argv[2]);
|
|
11
10
|
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
12
|
-
const componentManagementURL =
|
|
11
|
+
const componentManagementURL = config_1.default.managementServiceUrl || process.argv[3];
|
|
13
12
|
(0, _1.uploadComponentFolder)(dir, componentManagementURL);
|
|
14
13
|
//# sourceMappingURL=test.js.map
|
package/lib/test.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test.js","sourceRoot":"","sources":["../src/test.ts"],"names":[],"mappings":";;;;;AAAA,wBAA0C;AAC1C,
|
|
1
|
+
{"version":3,"file":"test.js","sourceRoot":"","sources":["../src/test.ts"],"names":[],"mappings":";;;;;AAAA,wBAA0C;AAC1C,sDAAkC;AAClC,gDAAwB;AAExB,MAAM,GAAG,GAAG,cAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1C,oEAAoE;AACpE,MAAM,sBAAsB,GAAG,gBAAU,CAAC,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClF,IAAA,wBAAqB,EAAC,GAAG,EAAE,sBAAsB,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@squiz/component-cli-lib",
|
|
3
|
-
"version": "1.2.1-alpha.
|
|
3
|
+
"version": "1.2.1-alpha.59",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -8,28 +8,32 @@
|
|
|
8
8
|
"compile": "tsc",
|
|
9
9
|
"lint": "eslint ./src --ext .ts",
|
|
10
10
|
"test": "echo \"No unit tests, to be tested in integration tests\"",
|
|
11
|
+
"test:integration": "jest -c jest.integration.config.ts",
|
|
11
12
|
"clean": "rimraf \".tsbuildinfo\" \"./lib\""
|
|
12
13
|
},
|
|
13
14
|
"author": "",
|
|
14
15
|
"license": "ISC",
|
|
15
16
|
"devDependencies": {
|
|
16
|
-
"@
|
|
17
|
+
"@types/cli-color": "2.0.2",
|
|
17
18
|
"@types/express": "4.17.13",
|
|
18
|
-
"@types/jest": "
|
|
19
|
+
"@types/jest": "28.1.3",
|
|
19
20
|
"@types/node": "17.0.27",
|
|
21
|
+
"@types/supertest": "^2.0.12",
|
|
20
22
|
"dotenv": "16.0.1",
|
|
21
|
-
"eslint": "8.
|
|
22
|
-
"jest": "28.1.
|
|
23
|
-
"ts-jest": "28.0.
|
|
24
|
-
"ts-loader": "9.
|
|
25
|
-
"ts-node": "10.8.
|
|
26
|
-
"typescript": "4.7.
|
|
23
|
+
"eslint": "8.18.0",
|
|
24
|
+
"jest": "28.1.1",
|
|
25
|
+
"ts-jest": "28.0.5",
|
|
26
|
+
"ts-loader": "9.3.0",
|
|
27
|
+
"ts-node": "10.8.1",
|
|
28
|
+
"typescript": "4.7.4"
|
|
27
29
|
},
|
|
28
30
|
"dependencies": {
|
|
29
|
-
"@squiz/component-lib": "^1.2.1-alpha.
|
|
30
|
-
"@squiz/virus-scanner-lib": "^1.2.1-alpha.
|
|
31
|
+
"@squiz/component-lib": "^1.2.1-alpha.59",
|
|
32
|
+
"@squiz/virus-scanner-lib": "^1.2.1-alpha.59",
|
|
31
33
|
"archiver": "5.3.1",
|
|
32
|
-
"axios": "0.27.2"
|
|
34
|
+
"axios": "0.27.2",
|
|
35
|
+
"cli-color": "^2.0.2",
|
|
36
|
+
"supertest": "^6.2.3"
|
|
33
37
|
},
|
|
34
|
-
"gitHead": "
|
|
38
|
+
"gitHead": "9abac4fdd00565078abb0866ab1f204bc0ebfc44"
|
|
35
39
|
}
|
package/src/config.ts
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { config } from 'dotenv';
|
|
2
|
+
|
|
3
|
+
config();
|
|
4
|
+
|
|
5
|
+
interface Config {
|
|
6
|
+
managementServiceUrl: string;
|
|
7
|
+
renderServiceUrl: string;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
const configObj: Config = {
|
|
11
|
+
managementServiceUrl: parseEnvVarForVar('COMPONENT_MANAGEMENT_SERVICE_URL').replace(/\/+$/, ''),
|
|
12
|
+
renderServiceUrl: parseEnvVarForVar('COMPONENT_RENDER_SERVICE_URL').replace(/\/+$/, ''),
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
export default configObj;
|
|
16
|
+
|
|
17
|
+
function parseEnvVarForVar(varName: string, defaultValue: string | undefined = undefined): string {
|
|
18
|
+
if (process.env[varName] === undefined) {
|
|
19
|
+
if (defaultValue !== undefined) {
|
|
20
|
+
return defaultValue;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
throw new Error(`env variable ${varName} must be set`);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
27
|
+
return process.env[varName]!;
|
|
28
|
+
}
|
package/src/index.ts
CHANGED
|
@@ -3,6 +3,7 @@ import { zipDirectory } from '@squiz/component-lib';
|
|
|
3
3
|
import fsp from 'fs/promises';
|
|
4
4
|
import path from 'path';
|
|
5
5
|
import axios, { AxiosResponse, AxiosError, AxiosInstance } from 'axios';
|
|
6
|
+
import color from 'cli-color';
|
|
6
7
|
|
|
7
8
|
export async function uploadComponentFolder(folderPath: string, componentServiceManagementUrl: string): Promise<void> {
|
|
8
9
|
const tmpDir = path.resolve(await fsp.mkdtemp('cmp-upload'));
|
|
@@ -27,15 +28,16 @@ export async function uploadComponentFolder(folderPath: string, componentService
|
|
|
27
28
|
await fsp.rm(tmpDir, { force: true, recursive: true });
|
|
28
29
|
|
|
29
30
|
if (result.status === 'successful') {
|
|
30
|
-
console.log(`deployment id: ${initialUpload.id} status: success`);
|
|
31
|
+
console.log(`deployment id: ${initialUpload.id} status: ${color.green('success')}`);
|
|
32
|
+
console.log(`uploaded location: ${result.accessLink}`);
|
|
31
33
|
} else {
|
|
32
|
-
console.
|
|
34
|
+
console.error('failed for an unknown reason', color.red(result));
|
|
33
35
|
}
|
|
34
36
|
} catch (e) {
|
|
35
37
|
await fsp.rm(tmpDir, { force: true, recursive: true });
|
|
36
38
|
|
|
37
39
|
if (e instanceof Error) {
|
|
38
|
-
console.error(e.message);
|
|
40
|
+
console.error(color.red(e.message));
|
|
39
41
|
} else {
|
|
40
42
|
throw e;
|
|
41
43
|
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @param {object} input
|
|
3
|
+
* @param {ComponentInfo} info
|
|
4
|
+
*/
|
|
5
|
+
module.exports = async function (input, info) {
|
|
6
|
+
return (
|
|
7
|
+
`<div>Input: ${input.something}</div>` +
|
|
8
|
+
`<div>${info.ctx.componentName} ${info.ctx.version} ${info.ctx.getStaticResourceUrl('birthday-cake.png')}</div>`
|
|
9
|
+
);
|
|
10
|
+
};
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://localhost:3000/schemas/v1.json#",
|
|
3
|
+
|
|
4
|
+
"name": "cmp-static-file-test",
|
|
5
|
+
"version": "1.0.0",
|
|
6
|
+
"main-function": "main",
|
|
7
|
+
|
|
8
|
+
"functions": [
|
|
9
|
+
{
|
|
10
|
+
"entry": "main.js",
|
|
11
|
+
"name": "main",
|
|
12
|
+
"input": {
|
|
13
|
+
"type": "object",
|
|
14
|
+
"properties": {
|
|
15
|
+
"something": {
|
|
16
|
+
"type": "string"
|
|
17
|
+
}
|
|
18
|
+
},
|
|
19
|
+
"required": ["something"]
|
|
20
|
+
},
|
|
21
|
+
"output": {
|
|
22
|
+
"response-type": "html",
|
|
23
|
+
|
|
24
|
+
"static-files": [{ "location": "header", "file": "static-library-file.js" }]
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
],
|
|
28
|
+
|
|
29
|
+
"static-files": {
|
|
30
|
+
"location-root": "public"
|
|
31
|
+
}
|
|
32
|
+
}
|
package/src/integration-tests/__components__/cmp-static-file-test/public/static-library-file.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const name = 'foo';
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import axios from 'axios';
|
|
2
|
+
import fs from 'fs';
|
|
3
|
+
import path from 'path';
|
|
4
|
+
import configVars from '../config';
|
|
5
|
+
|
|
6
|
+
export const managementService = axios.create({
|
|
7
|
+
baseURL: configVars.managementServiceUrl,
|
|
8
|
+
});
|
|
9
|
+
|
|
10
|
+
export const renderService = axios.create({
|
|
11
|
+
baseURL: configVars.renderServiceUrl,
|
|
12
|
+
});
|
|
13
|
+
|
|
14
|
+
export function getTestComponents(): string[] {
|
|
15
|
+
const componets = [];
|
|
16
|
+
const componentsDir = path.join(__dirname, '/__components__/');
|
|
17
|
+
const files = fs.readdirSync(componentsDir);
|
|
18
|
+
for (const file of files) {
|
|
19
|
+
const stat = fs.statSync(path.join(componentsDir, file));
|
|
20
|
+
if (stat.isDirectory() && file.substring(0, 4) === 'cmp-') {
|
|
21
|
+
componets.push(file);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
return componets;
|
|
25
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { renderService, managementService } from './helper';
|
|
2
|
+
import fsp from 'fs/promises';
|
|
3
|
+
import path from 'path';
|
|
4
|
+
|
|
5
|
+
interface HealthInfo {
|
|
6
|
+
status: string;
|
|
7
|
+
version: string;
|
|
8
|
+
name: string;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
describe('Verify latest services deployments', () => {
|
|
12
|
+
it('Should have latest Management API service', async () => {
|
|
13
|
+
const packagePath = path.resolve('../../applications/management-api/package.json');
|
|
14
|
+
const file = await fsp.readFile(packagePath, { encoding: 'utf-8' });
|
|
15
|
+
const pkg = JSON.parse(file);
|
|
16
|
+
|
|
17
|
+
const response: HealthInfo = (await managementService.get('/health')).data;
|
|
18
|
+
|
|
19
|
+
expect(pkg.version).toBe(response.version);
|
|
20
|
+
});
|
|
21
|
+
|
|
22
|
+
it('Should have latest Render Runtime service', async () => {
|
|
23
|
+
const packagePath = path.resolve('../../applications/render-runtime/package.json');
|
|
24
|
+
const file = await fsp.readFile(packagePath, { encoding: 'utf-8' });
|
|
25
|
+
const pkg = JSON.parse(file);
|
|
26
|
+
|
|
27
|
+
const response: HealthInfo = (await renderService.get('/health')).data;
|
|
28
|
+
|
|
29
|
+
expect(pkg.version).toBe(response.version);
|
|
30
|
+
});
|
|
31
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
jest.setTimeout(30_000);
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { uploadComponentFolder } from '../index';
|
|
2
|
+
import { renderService, managementService, getTestComponents } from './helper';
|
|
3
|
+
import configVars from '../config';
|
|
4
|
+
import color from 'cli-color';
|
|
5
|
+
import path from 'path';
|
|
6
|
+
import supertest from 'supertest';
|
|
7
|
+
|
|
8
|
+
const mockConsoleError = jest.fn();
|
|
9
|
+
const mockConsoleLog = jest.fn();
|
|
10
|
+
|
|
11
|
+
const orgConsoleError = console.error;
|
|
12
|
+
|
|
13
|
+
afterAll(async () => {
|
|
14
|
+
// clean up the component added by the test
|
|
15
|
+
getTestComponents().forEach(async (componentName) => {
|
|
16
|
+
await managementService.delete(`/component/${componentName}`);
|
|
17
|
+
});
|
|
18
|
+
});
|
|
19
|
+
|
|
20
|
+
describe('Deploy basic component having a static file', () => {
|
|
21
|
+
beforeEach(() => {
|
|
22
|
+
console.error = mockConsoleError;
|
|
23
|
+
console.log = mockConsoleLog;
|
|
24
|
+
});
|
|
25
|
+
|
|
26
|
+
afterEach(() => {
|
|
27
|
+
console.error = orgConsoleError;
|
|
28
|
+
});
|
|
29
|
+
|
|
30
|
+
// component to deploy for this test
|
|
31
|
+
const componentPath = path.join(__dirname, '/__components__/cmp-static-file-test');
|
|
32
|
+
let url = '';
|
|
33
|
+
|
|
34
|
+
it('Should upload the component and return a valid url to preview', async () => {
|
|
35
|
+
mockConsoleLog.mockClear();
|
|
36
|
+
|
|
37
|
+
await uploadComponentFolder(componentPath, configVars.managementServiceUrl);
|
|
38
|
+
|
|
39
|
+
url = /uploaded location: (.*)/.exec(mockConsoleLog.mock.lastCall)?.[1] || '';
|
|
40
|
+
expect(url).toEqual(`${configVars.renderServiceUrl}/r/set/cmp-static-file-test/1.0.0`);
|
|
41
|
+
|
|
42
|
+
const get = await supertest(url).get('');
|
|
43
|
+
expect(get.status).toEqual(400);
|
|
44
|
+
expect(get.body).toEqual({
|
|
45
|
+
message: 'input validation failed: "must have required property \'something\'"',
|
|
46
|
+
});
|
|
47
|
+
});
|
|
48
|
+
|
|
49
|
+
it('Should fail upload the component with same version', async () => {
|
|
50
|
+
await uploadComponentFolder(componentPath, configVars.managementServiceUrl);
|
|
51
|
+
expect(mockConsoleError.mock.calls[0][0]).toEqual(
|
|
52
|
+
color.red(
|
|
53
|
+
[
|
|
54
|
+
'Unexpected response code 400. message: ',
|
|
55
|
+
'cmp-static-file-test version 1.0.0 already exists and cannot be uploaded',
|
|
56
|
+
].join(''),
|
|
57
|
+
),
|
|
58
|
+
);
|
|
59
|
+
});
|
|
60
|
+
|
|
61
|
+
it('Should render component', async () => {
|
|
62
|
+
const response = await renderService.get('/r/set/cmp-static-file-test/1.0.0/?something=hello');
|
|
63
|
+
expect(response.status).toEqual(200);
|
|
64
|
+
expect(response.data).toEqual(
|
|
65
|
+
[
|
|
66
|
+
'<div>Input: hello</div>',
|
|
67
|
+
'<div>cmp-static-file-test 1.0.0 ',
|
|
68
|
+
`${configVars.renderServiceUrl}/s/cmp-static-file-test/1.0.0/birthday-cake.png</div>`,
|
|
69
|
+
].join(''),
|
|
70
|
+
);
|
|
71
|
+
});
|
|
72
|
+
});
|
package/src/test.ts
CHANGED
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
import { uploadComponentFolder } from '.';
|
|
2
|
-
import
|
|
2
|
+
import configVars from './config';
|
|
3
3
|
import path from 'path';
|
|
4
4
|
|
|
5
|
-
config();
|
|
6
|
-
|
|
7
5
|
const dir = path.resolve(process.argv[2]);
|
|
8
6
|
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
9
|
-
const componentManagementURL =
|
|
7
|
+
const componentManagementURL = configVars.managementServiceUrl || process.argv[3];
|
|
10
8
|
uploadComponentFolder(dir, componentManagementURL);
|
package/test.log
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
1111111
|
package/tsconfig.tsbuildinfo
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"program":{"fileNames":["./node_modules/typescript/lib/lib.es5.d.ts","./node_modules/typescript/lib/lib.es2015.d.ts","./node_modules/typescript/lib/lib.es2016.d.ts","./node_modules/typescript/lib/lib.es2017.d.ts","./node_modules/typescript/lib/lib.es2018.d.ts","./node_modules/typescript/lib/lib.es2019.d.ts","./node_modules/typescript/lib/lib.es2020.d.ts","./node_modules/typescript/lib/lib.dom.d.ts","./node_modules/typescript/lib/lib.dom.iterable.d.ts","./node_modules/typescript/lib/lib.webworker.importscripts.d.ts","./node_modules/typescript/lib/lib.scripthost.d.ts","./node_modules/typescript/lib/lib.es2015.core.d.ts","./node_modules/typescript/lib/lib.es2015.collection.d.ts","./node_modules/typescript/lib/lib.es2015.generator.d.ts","./node_modules/typescript/lib/lib.es2015.iterable.d.ts","./node_modules/typescript/lib/lib.es2015.promise.d.ts","./node_modules/typescript/lib/lib.es2015.proxy.d.ts","./node_modules/typescript/lib/lib.es2015.reflect.d.ts","./node_modules/typescript/lib/lib.es2015.symbol.d.ts","./node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","./node_modules/typescript/lib/lib.es2016.array.include.d.ts","./node_modules/typescript/lib/lib.es2017.object.d.ts","./node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","./node_modules/typescript/lib/lib.es2017.string.d.ts","./node_modules/typescript/lib/lib.es2017.intl.d.ts","./node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","./node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","./node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","./node_modules/typescript/lib/lib.es2018.intl.d.ts","./node_modules/typescript/lib/lib.es2018.promise.d.ts","./node_modules/typescript/lib/lib.es2018.regexp.d.ts","./node_modules/typescript/lib/lib.es2019.array.d.ts","./node_modules/typescript/lib/lib.es2019.object.d.ts","./node_modules/typescript/lib/lib.es2019.string.d.ts","./node_modules/typescript/lib/lib.es2019.symbol.d.ts","./node_modules/typescript/lib/lib.es2020.bigint.d.ts","./node_modules/typescript/lib/lib.es2020.date.d.ts","./node_modules/typescript/lib/lib.es2020.promise.d.ts","./node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","./node_modules/typescript/lib/lib.es2020.string.d.ts","./node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","./node_modules/typescript/lib/lib.es2020.intl.d.ts","./node_modules/typescript/lib/lib.es2020.number.d.ts","./node_modules/typescript/lib/lib.esnext.intl.d.ts","./node_modules/typescript/lib/lib.es2019.full.d.ts","../virus-scanner-lib/node_modules/axios/index.d.ts","../virus-scanner-lib/lib/generated/models/InitialScan.d.ts","../virus-scanner-lib/lib/generated/models/ScanStatus.d.ts","../virus-scanner-lib/lib/generated/schemas/$InitialScan.d.ts","../virus-scanner-lib/lib/generated/schemas/$ScanStatus.d.ts","../virus-scanner-lib/lib/generated/index.d.ts","../virus-scanner-lib/lib/VirusScanner.d.ts","../virus-scanner-lib/lib/uploadFile.d.ts","../virus-scanner-lib/lib/index.d.ts","../component-lib/lib/Manifest.d.ts","../component-lib/node_modules/uri-js/dist/es5/uri.all.d.ts","../component-lib/node_modules/ajv/dist/compile/codegen/code.d.ts","../component-lib/node_modules/ajv/dist/compile/codegen/scope.d.ts","../component-lib/node_modules/ajv/dist/compile/codegen/index.d.ts","../component-lib/node_modules/ajv/dist/compile/rules.d.ts","../component-lib/node_modules/ajv/dist/compile/util.d.ts","../component-lib/node_modules/ajv/dist/compile/validate/subschema.d.ts","../component-lib/node_modules/ajv/dist/compile/errors.d.ts","../component-lib/node_modules/ajv/dist/compile/validate/index.d.ts","../component-lib/node_modules/ajv/dist/compile/validate/dataType.d.ts","../component-lib/node_modules/ajv/dist/vocabularies/applicator/additionalItems.d.ts","../component-lib/node_modules/ajv/dist/vocabularies/applicator/items2020.d.ts","../component-lib/node_modules/ajv/dist/vocabularies/applicator/contains.d.ts","../component-lib/node_modules/ajv/dist/vocabularies/applicator/dependencies.d.ts","../component-lib/node_modules/ajv/dist/vocabularies/applicator/propertyNames.d.ts","../component-lib/node_modules/ajv/dist/vocabularies/applicator/additionalProperties.d.ts","../component-lib/node_modules/ajv/dist/vocabularies/applicator/not.d.ts","../component-lib/node_modules/ajv/dist/vocabularies/applicator/anyOf.d.ts","../component-lib/node_modules/ajv/dist/vocabularies/applicator/oneOf.d.ts","../component-lib/node_modules/ajv/dist/vocabularies/applicator/if.d.ts","../component-lib/node_modules/ajv/dist/vocabularies/applicator/index.d.ts","../component-lib/node_modules/ajv/dist/vocabularies/validation/limitNumber.d.ts","../component-lib/node_modules/ajv/dist/vocabularies/validation/multipleOf.d.ts","../component-lib/node_modules/ajv/dist/vocabularies/validation/pattern.d.ts","../component-lib/node_modules/ajv/dist/vocabularies/validation/required.d.ts","../component-lib/node_modules/ajv/dist/vocabularies/validation/uniqueItems.d.ts","../component-lib/node_modules/ajv/dist/vocabularies/validation/const.d.ts","../component-lib/node_modules/ajv/dist/vocabularies/validation/enum.d.ts","../component-lib/node_modules/ajv/dist/vocabularies/validation/index.d.ts","../component-lib/node_modules/ajv/dist/vocabularies/format/format.d.ts","../component-lib/node_modules/ajv/dist/vocabularies/unevaluated/unevaluatedProperties.d.ts","../component-lib/node_modules/ajv/dist/vocabularies/unevaluated/unevaluatedItems.d.ts","../component-lib/node_modules/ajv/dist/vocabularies/validation/dependentRequired.d.ts","../component-lib/node_modules/ajv/dist/vocabularies/discriminator/types.d.ts","../component-lib/node_modules/ajv/dist/vocabularies/discriminator/index.d.ts","../component-lib/node_modules/ajv/dist/vocabularies/errors.d.ts","../component-lib/node_modules/ajv/dist/types/json-schema.d.ts","../component-lib/node_modules/ajv/dist/types/jtd-schema.d.ts","../component-lib/node_modules/ajv/dist/runtime/validation_error.d.ts","../component-lib/node_modules/ajv/dist/compile/ref_error.d.ts","../component-lib/node_modules/ajv/dist/core.d.ts","../component-lib/node_modules/ajv/dist/compile/resolve.d.ts","../component-lib/node_modules/ajv/dist/compile/index.d.ts","../component-lib/node_modules/ajv/dist/types/index.d.ts","../component-lib/node_modules/ajv/dist/ajv.d.ts","../component-lib/lib/validator/schemas.d.ts","../component-lib/lib/validator/ValidationFailure.d.ts","../component-lib/lib/validator/ValidationSuccess.d.ts","../component-lib/lib/validator/validateManifest.d.ts","../component-lib/lib/validator/isValidationFailure.d.ts","../component-lib/lib/component-sets/loadComponentSet.d.ts","../component-lib/lib/loaders/LoadedComponent.d.ts","../component-lib/lib/loaders/loadComponent.d.ts","../component-lib/lib/loaders/loadManifest.d.ts","./node_modules/@types/node/assert.d.ts","./node_modules/@types/node/assert/strict.d.ts","./node_modules/@types/node/globals.d.ts","./node_modules/@types/node/async_hooks.d.ts","./node_modules/@types/node/buffer.d.ts","./node_modules/@types/node/child_process.d.ts","./node_modules/@types/node/cluster.d.ts","./node_modules/@types/node/console.d.ts","./node_modules/@types/node/constants.d.ts","./node_modules/@types/node/crypto.d.ts","./node_modules/@types/node/dgram.d.ts","./node_modules/@types/node/diagnostics_channel.d.ts","./node_modules/@types/node/dns.d.ts","./node_modules/@types/node/dns/promises.d.ts","./node_modules/@types/node/domain.d.ts","./node_modules/@types/node/events.d.ts","./node_modules/@types/node/fs.d.ts","./node_modules/@types/node/fs/promises.d.ts","./node_modules/@types/node/http.d.ts","./node_modules/@types/node/http2.d.ts","./node_modules/@types/node/https.d.ts","./node_modules/@types/node/inspector.d.ts","./node_modules/@types/node/module.d.ts","./node_modules/@types/node/net.d.ts","./node_modules/@types/node/os.d.ts","./node_modules/@types/node/path.d.ts","./node_modules/@types/node/perf_hooks.d.ts","./node_modules/@types/node/process.d.ts","./node_modules/@types/node/punycode.d.ts","./node_modules/@types/node/querystring.d.ts","./node_modules/@types/node/readline.d.ts","./node_modules/@types/node/repl.d.ts","./node_modules/@types/node/stream.d.ts","./node_modules/@types/node/stream/promises.d.ts","./node_modules/@types/node/stream/consumers.d.ts","./node_modules/@types/node/stream/web.d.ts","./node_modules/@types/node/string_decoder.d.ts","./node_modules/@types/node/timers.d.ts","./node_modules/@types/node/timers/promises.d.ts","./node_modules/@types/node/tls.d.ts","./node_modules/@types/node/trace_events.d.ts","./node_modules/@types/node/tty.d.ts","./node_modules/@types/node/url.d.ts","./node_modules/@types/node/util.d.ts","./node_modules/@types/node/v8.d.ts","./node_modules/@types/node/vm.d.ts","./node_modules/@types/node/wasi.d.ts","./node_modules/@types/node/worker_threads.d.ts","./node_modules/@types/node/zlib.d.ts","./node_modules/@types/node/globals.global.d.ts","./node_modules/@types/node/index.d.ts","./node_modules/@types/range-parser/index.d.ts","./node_modules/@types/qs/index.d.ts","./node_modules/@types/express-serve-static-core/index.d.ts","./node_modules/@types/mime/index.d.ts","./node_modules/@types/serve-static/index.d.ts","../component-lib/node_modules/@types/connect/index.d.ts","../component-lib/node_modules/@types/body-parser/index.d.ts","../component-lib/node_modules/@types/serve-static/index.d.ts","../component-lib/node_modules/@types/express-serve-static-core/index.d.ts","../component-lib/node_modules/@types/qs/index.d.ts","../component-lib/node_modules/@types/express/index.d.ts","../component-lib/lib/server-utils/errorMiddleware.d.ts","../component-lib/lib/server-utils/requestLogger.d.ts","../component-lib/lib/zip/zipDirectory.d.ts","../component-lib/lib/error/ErrorWithHttpStatusCode.d.ts","../component-lib/lib/error/BadRequestError.d.ts","../component-lib/lib/error/InternalServerError.d.ts","../component-lib/lib/error/ResourceNotFoundError.d.ts","../component-lib/lib/error/TimeoutError.d.ts","../component-lib/lib/error/index.d.ts","../component-lib/lib/component-context/createComponentContext.d.ts","../component-lib/lib/index.d.ts","./node_modules/axios/index.d.ts","./src/index.ts","./node_modules/dotenv/lib/main.d.ts","./src/test.ts","./node_modules/chalk/index.d.ts","./node_modules/jest-diff/build/cleanupSemantic.d.ts","./node_modules/pretty-format/build/types.d.ts","./node_modules/pretty-format/build/index.d.ts","./node_modules/jest-diff/build/types.d.ts","./node_modules/jest-diff/build/diffLines.d.ts","./node_modules/jest-diff/build/printDiffs.d.ts","./node_modules/jest-diff/build/index.d.ts","./node_modules/jest-matcher-utils/build/index.d.ts","./node_modules/@types/jest/index.d.ts"],"fileInfos":[{"version":"f5c28122bee592cfaf5c72ed7bcc47f453b79778ffa6e301f45d21a0970719d4","affectsGlobalScope":true},"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06","e6b724280c694a9f588847f754198fb96c43d805f065c3a5b28bbc9594541c84","1fc5ab7a764205c68fa10d381b08417795fc73111d6dd16b5b1ed36badb743d9",{"version":"3f149f903dd20dfeb7c80e228b659f0e436532de772469980dbd00702cc05cc1","affectsGlobalScope":true},{"version":"1272277fe7daa738e555eb6cc45ded42cc2d0f76c07294142283145d49e96186","affectsGlobalScope":true},{"version":"7fac8cb5fc820bc2a59ae11ef1c5b38d3832c6d0dfaec5acdb5569137d09a481","affectsGlobalScope":true},{"version":"097a57355ded99c68e6df1b738990448e0bf170e606707df5a7c0481ff2427cd","affectsGlobalScope":true},{"version":"adb996790133eb33b33aadb9c09f15c2c575e71fb57a62de8bf74dbf59ec7dfb","affectsGlobalScope":true},{"version":"43fb1d932e4966a39a41b464a12a81899d9ae5f2c829063f5571b6b87e6d2f9c","affectsGlobalScope":true},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true},{"version":"c5c05907c02476e4bde6b7e76a79ffcd948aedd14b6a8f56e4674221b0417398","affectsGlobalScope":true},{"version":"0d5f52b3174bee6edb81260ebcd792692c32c81fd55499d69531496f3f2b25e7","affectsGlobalScope":true},{"version":"810627a82ac06fb5166da5ada4159c4ec11978dfbb0805fe804c86406dab8357","affectsGlobalScope":true},{"version":"181f1784c6c10b751631b24ce60c7f78b20665db4550b335be179217bacc0d5f","affectsGlobalScope":true},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true},{"version":"75ec0bdd727d887f1b79ed6619412ea72ba3c81d92d0787ccb64bab18d261f14","affectsGlobalScope":true},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true},{"version":"12a310447c5d23c7d0d5ca2af606e3bd08afda69100166730ab92c62999ebb9d","affectsGlobalScope":true},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true},{"version":"d154ea5bb7f7f9001ed9153e876b2d5b8f5c2bb9ec02b3ae0d239ec769f1f2ae","affectsGlobalScope":true},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true},{"version":"9d57b2b5d15838ed094aa9ff1299eecef40b190722eb619bac4616657a05f951","affectsGlobalScope":true},{"version":"6c51b5dd26a2c31dbf37f00cfc32b2aa6a92e19c995aefb5b97a3a64f1ac99de","affectsGlobalScope":true},{"version":"6e7997ef61de3132e4d4b2250e75343f487903ddf5370e7ce33cf1b9db9a63ed","affectsGlobalScope":true},{"version":"2ad234885a4240522efccd77de6c7d99eecf9b4de0914adb9a35c0c22433f993","affectsGlobalScope":true},{"version":"09aa50414b80c023553090e2f53827f007a301bc34b0495bfb2c3c08ab9ad1eb","affectsGlobalScope":true},{"version":"d7f680a43f8cd12a6b6122c07c54ba40952b0c8aa140dcfcf32eb9e6cb028596","affectsGlobalScope":true},{"version":"3787b83e297de7c315d55d4a7c546ae28e5f6c0a361b7a1dcec1f1f50a54ef11","affectsGlobalScope":true},{"version":"e7e8e1d368290e9295ef18ca23f405cf40d5456fa9f20db6373a61ca45f75f40","affectsGlobalScope":true},{"version":"faf0221ae0465363c842ce6aa8a0cbda5d9296940a8e26c86e04cc4081eea21e","affectsGlobalScope":true},{"version":"06393d13ea207a1bfe08ec8d7be562549c5e2da8983f2ee074e00002629d1871","affectsGlobalScope":true},{"version":"cd483c056da900716879771893a3c9772b66c3c88f8943b4205aec738a94b1d0","affectsGlobalScope":true},{"version":"b248e32ca52e8f5571390a4142558ae4f203ae2f94d5bac38a3084d529ef4e58","affectsGlobalScope":true},{"version":"c37f8a49593a0030eecb51bbfa270e709bec9d79a6cc3bb851ef348d4e6b26f8","affectsGlobalScope":true},"1f03b495671c3a1bd24510f38b8947f0991dfd6bf0278c68eca14af15b306e1f","d88dc05fd345b7a4e1816bbfd2dd087eefa9b9e36096818c2348f5b246971125","ca9ebc5b0d02b1a6417aa85f7c8c685a8ed1b71e496367f21fa80b5884e648c7","4dd414d700d383f51e95de06a3dd767ecfc6e884207df2ab6bbf0a5ee2947197","dd1376343798071eca045504b679ce66db19e716df789de32a34e6cd4117e56e","d6916856643459f6295b01a3c2bb1a91885d50a13bb2a675b4c760947c881938","b1f03c33978d580e40b089312d9b86c827af12db5939d001e2b6ddeed864f216","4aa198370b45595ab2b079184272dacdd1d3a6e185b5a8bc25b6c57822eb301d","fb6ea4754383178e666a5839222f181c5cc28e0b07e3324dcd19dbd61062d844","37ce3e0b120cdeb2028f060b8c0e4ef399647bba65812e376b65721ac4256421","3f28cb39b92af8c1fa0577f97f78649dd1088f7034bad4c2447eb247973d33a0","9f3c5498245c38c9016a369795ec5ef1768d09db63643c8dba9656e5ab294825","44a8d350600656882fd7462774e32e8d13788313ba2e36d2e8d5437ac91b98df","60bb0e47502bf8716d1230288b4e6387c1d34cded12752ab5338108e2e662e67","b8870b5155d11a273c75718a4f19026da49f91c548703858cd3400d06c3bd3b8","b3ae4ded82f27cabba780b9af9647f6e08c9a4cabe8fbb7a0cca69c7add9ef4b","8d26ae32e5c9c080e44aee4a67e5ef02b5fda0604e6fecbb7b753c537e5282d9","05c4e792dae38912ba333725cdf8c42d242337d006c0d887f4ce5a7787871a95","cd44995ee13d5d23df17a10213fed7b483fabfd5ea08f267ab52c07ce0b6b4da","58ce1486f851942bd2d3056b399079bc9cb978ec933fe9833ea417e33eab676e","1a23b521db8d7ec9e2b96c6fbd4c7e96d12f408b1e03661b3b9f7da7291103e6","d3d0d11d30c9878ada3356b9c36a2754b8c7b6204a41c86bfb1488c08ce263b0","a6493f1f479637ed89a3ebec03f6dc117e3b1851d7e938ac4c8501396b8639a8","ae0951e44973e928fe2e999b11960493835d094b16adac0b085a79cff181bcb9","9d00e3a59eff68fa8c40e89953083eeaad1c5b2580ed7da2304424b249ecb237","1609ad4d488c356ee91eba7d7aa87cc6fb59bc8ac05c1a8f08665285ba3b71ad","8add088f72326098d68d622ddb024c00ae56a912383efe96b03f0481db88f7c9","dd17fe6332567b8f13e33dd3ff8926553cdcea2ad32d4350ce0063a2addaa764","4091d56a4622480549350b8811ec64c7826cd41a70ce5d9c1cc20384bb144049","353c0125b9e50c2a71e18394d46be5ccb37161cc0f0e7c69216aa6932c8cdafb","9c5d5f167e86b6ddf7142559a17d13fd39c34e868ae947c40381db866eed6609","4430dea494b0ee77bf823d9a7c4850a539e1060d5d865316bb23fb393e4f01d7","aae698ceead4edad0695b9ea87e43f274e698bdb302c8cb5fd2cab4dc496ccf0","51631e9a0c041e12479ab01f5801d8a237327d19e9ee37d5f1f66be912631425","c9d5d8adb1455f49182751ce885745dcc5f9697e9c260388bc3ae9d1860d5d10","f64289e3fa8d5719eaf5ba1bb02dd32dbbf7c603dda75c16770a6bc6e9c6b6d9","b1aa0e2e3511a8d10990f35866405c64c9e576258ef99eeb9ebafed980fd7506","2d255a5287f2fb5295688cb25bd18e1cd59866179f795f3f1fd6b71b7f0edf8f","43c1dbb78d5277a5fdd8fddce8b257f84ffa2b4253f58b95c04a310710d19e97","6c669d7e080344c1574aa276a89e57c3b9f0e97fab96a09427e7dfb19ca261bf","b71ac126853867d8e64c910f47d46d05c5ea797987d2604f63d401507dc43b6d","9a37238558d28b7ee06d08599e92eab30b90704541cc85e6448009d6d55fffa9","120b14d66a061910309ff97e7b06b5c6c09444218178b80b687a92af4d22d5dc","3de958065e3a44cbe0bfa667813bc59c63e63c9ce522af8dc1b64714910fa9ba","66e655f7c43558bae6703242cbd6c0551a94d0a97204bd4c4bbf7e77f24d1f85","72f7b32e023814078046c036ed4b7ad92414be0aebb63e805c682e14103ae38a","a89d8e67966d085ff971c9900cfa1abdd9732bab66d9c1914ecc15befdf8623d","7dfd0308261bb91b058eb91802690fe3f09192b263e070a19df4d629df29e265","608eb9d411ac76e93a10e05f8aae92b3a5cefc87594219b737df7c8737ba2bd7","cde493e09daad4bb29922fe633f760be9f0e8e2f39cdca999cce3b8690b5e13a","3d7f9eb12aface876f7b535cc89dcd416daf77f0b3573333f16ec0a70bcf902a","93ba4ac36f570c70a12d588e21c10dda9f351fad3e77d416952acddb27bff01d","8750f9dc1e277ffff7446c95571bae61aca0984e8f99e40fc1e8cb7161ae0642","66408d81ba8962282b1a55da34c6bd767105141f54d0ba14dca330efe0c8f552","7481b9d93ca44eb1f689e0b939545ff00dead7bdb9daba401dfb74292d83f831","821e64ddbdfa10fac5f0aed1c1d4e1f275840400caa96357ddfd15d02e5afba1","359dd75a879c0dca78624fd38cd70a997af8431f84eeef96cbe025b207d56d7c","bf2b9e09ab805a9dfd942bce104f9b08c4aca6acd6d2bc51c1558269f7d6dbf8","c5c02cf97dd48e47f77dc973fa082b4610ea30964f8d92a83e6366ac944380d0","42bf40a061bfd8d72f0b2590bd437cffe189c19cd44e3bf5e7a0b7c6d76862d2","5b312a14de195172d56bee9129237403eca227b03c214af351196bd91cf94fe0","e6d30c042473d086896f5d16cd4fe9ab080196fe83c71fc488f10aaaf23213e3","e63f5f6b41f97a9cbe453d2c114dadbab317551a1b382fa11f37aa4a9af550a0","7ea356b4d80a33924b6144122832d8fe8f045266d09bd3ed27d6f186c980d733","0c3dc3807897264f5304fd236fbad5a467937cf5f0ed74db0fe24ff8e5d58a7f","0cba3a5d7b81356222594442753cf90dd2892e5ccfe1d262aaca6896ba6c1380","a69c09dbea52352f479d3e7ac949fde3d17b195abe90b045d619f747b38d6d1a",{"version":"c2ab70bbc7a24c42a790890739dd8a0ba9d2e15038b40dff8163a97a5d148c00","affectsGlobalScope":true},"422dbb183fdced59425ca072c8bd09efaa77ce4e2ab928ec0d8a1ce062d2a45a",{"version":"fcdcb42da18dd98dc286b1876dd425791772036012ae61263c011a76b13a190f","affectsGlobalScope":true},"1dab5ab6bcf11de47ab9db295df8c4f1d92ffa750e8f095e88c71ce4c3299628","f71f46ccd5a90566f0a37b25b23bc4684381ab2180bdf6733f4e6624474e1894",{"version":"54e65985a3ee3cec182e6a555e20974ea936fc8b8d1738c14e8ed8a42bd921d4","affectsGlobalScope":true},"82408ed3e959ddc60d3e9904481b5a8dc16469928257af22a3f7d1a3bc7fd8c4","918a76828d88a73924bb26fef58040a6eb8a9adb7e407ea7264175520dda9450","34e5de87d983bc6aefef8b17658556e3157003e8d9555d3cb098c6bef0b5fbc8","cc0b61316c4f37393f1f9595e93b673f4184e9d07f4c127165a490ec4a928668","f27371653aded82b2b160f7a7033fb4a5b1534b6f6081ef7be1468f0f15327d3","c762cd6754b13a461c54b59d0ae0ab7aeef3c292c6cf889873f786ee4d8e75c9","f4ea7d5df644785bd9fbf419930cbaec118f0d8b4160037d2339b8e23c059e79",{"version":"bfea28e6162ed21a0aeed181b623dcf250aa79abf49e24a6b7e012655af36d81","affectsGlobalScope":true},"b8aca9d0c81abb02bec9b7621983ae65bde71da6727580070602bd2500a9ce2a","ae97e20f2e10dbeec193d6a2f9cd9a367a1e293e7d6b33b68bacea166afd7792","10d4796a130577d57003a77b95d8723530bbec84718e364aa2129fa8ffba0378","063f53ff674228c190efa19dd9448bcbd540acdbb48a928f4cf3a1b9f9478e43","bf73c576885408d4a176f44a9035d798827cc5020d58284cb18d7573430d9022","7ae078ca42a670445ae0c6a97c029cb83d143d62abd1730efb33f68f0b2c0e82",{"version":"e8b18c6385ff784228a6f369694fcf1a6b475355ba89090a88de13587a9391d5","affectsGlobalScope":true},"287b21dc1d1b9701c92e15e7dd673dfe6044b15812956377adffb6f08825b1bc","12eea70b5e11e924bb0543aea5eadc16ced318aa26001b453b0d561c2fd0bd1e","08777cd9318d294646b121838574e1dd7acbb22c21a03df84e1f2c87b1ad47f2","08a90bcdc717df3d50a2ce178d966a8c353fd23e5c392fd3594a6e39d9bb6304",{"version":"4cd4cff679c9b3d9239fd7bf70293ca4594583767526916af8e5d5a47d0219c7","affectsGlobalScope":true},"2a12d2da5ac4c4979401a3f6eaafa874747a37c365e4bc18aa2b171ae134d21b","002b837927b53f3714308ecd96f72ee8a053b8aeb28213d8ec6de23ed1608b66","1dc9c847473bb47279e398b22c740c83ea37a5c88bf66629666e3cf4c5b9f99c","a9e4a5a24bf2c44de4c98274975a1a705a0abbaad04df3557c2d3cd8b1727949","00fa7ce8bc8acc560dc341bbfdf37840a8c59e6a67c9bfa3fa5f36254df35db2","1b952304137851e45bc009785de89ada562d9376177c97e37702e39e60c2f1ff",{"version":"806ef4cac3b3d9fa4a48d849c8e084d7c72fcd7b16d76e06049a9ed742ff79c0","affectsGlobalScope":true},"44b8b584a338b190a59f4f6929d072431950c7bd92ec2694821c11bce180c8a5","5f0ed51db151c2cdc4fa3bb0f44ce6066912ad001b607a34e65a96c52eb76248",{"version":"3345c276cab0e76dda86c0fb79104ff915a4580ba0f3e440870e183b1baec476","affectsGlobalScope":true},"664d8f2d59164f2e08c543981453893bc7e003e4dfd29651ce09db13e9457980","103d70bfbeb3cd3a3f26d1705bf986322d8738c2c143f38ebb743b1e228d7444","f52fbf64c7e480271a9096763c4882d356b05cab05bf56a64e68a95313cd2ce2","59bdb65f28d7ce52ccfc906e9aaf422f8b8534b2d21c32a27d7819be5ad81df7",{"version":"3a2da34079a2567161c1359316a32e712404b56566c45332ac9dcee015ecce9f","affectsGlobalScope":true},"28a2e7383fd898c386ffdcacedf0ec0845e5d1a86b5a43f25b86bc315f556b79","3aff9c8c36192e46a84afe7b926136d520487155154ab9ba982a8b544ea8fc95","a880cf8d85af2e4189c709b0fea613741649c0e40fffb4360ec70762563d5de0","85bbf436a15bbeda4db888be3062d47f99c66fd05d7c50f0f6473a9151b6a070","9f9c49c95ecd25e0cb2587751925976cf64fd184714cb11e213749c80cf0f927","f0c75c08a71f9212c93a719a25fb0320d53f2e50ca89a812640e08f8ad8c408c",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"9cafe917bf667f1027b2bb62e2de454ecd2119c80873ad76fc41d941089753b8","16d51f964ec125ad2024cf03f0af444b3bc3ec3614d9345cc54d09bab45c9a4c","ba601641fac98c229ccd4a303f747de376d761babb33229bb7153bed9356c9cc",{"version":"d2f7baf43dfa349d4010cbd9d64d84cdf3ec26c65fa5f44c8f74f052bedd0b49","affectsGlobalScope":true},"84e3bbd6f80983d468260fdbfeeb431cc81f7ea98d284d836e4d168e36875e86","0b85cb069d0e427ba946e5eb2d86ef65ffd19867042810516d16919f6c1a5aec","6d829824ead8999f87b6df21200df3c6150391b894b4e80662caa462bd48d073","afc559c1b93df37c25aef6b3dfa2d64325b0e112e887ee18bf7e6f4ec383fc90","0b85cb069d0e427ba946e5eb2d86ef65ffd19867042810516d16919f6c1a5aec",{"version":"d2f7baf43dfa349d4010cbd9d64d84cdf3ec26c65fa5f44c8f74f052bedd0b49","affectsGlobalScope":true},"ba601641fac98c229ccd4a303f747de376d761babb33229bb7153bed9356c9cc","15c88bfd1b8dc7231ff828ae8df5d955bae5ebca4cf2bcb417af5821e52299ae","1c26b05af1ecc2d8a9d2e682931ec21658c842a792ced4dcf18ea5a49f1a695e","580304f233b87c918b6ee81c358b2efe818284fe19584e28e5a26026d8a355cf","558e0d1c797f78421be23db3c79a93db5b6c26a42a1e2b55a3efba037f26ab48","048c8482f35a0f3abd2ec8c86ba7b3c86af4906ebb7a12e4fbdc8d6896eb19dc","69c97795fcaf5bf566a1efcc24e5a5bf2d8c261ad1851239b0504c9c4a9e9cc0","9dfc364342a667c968f9be3ff7865abaf477df206a936b578b2a98eeaff0e318","56d6e24f71ed721db5a196fc6ab8523f0f469f7ae01b663ddea59981e0d82423","0bccccdd597d8a14213654d62b6ec25f37925bcd9bf6b9470006867478d7f612","2d4252e5d4c4061e8a9c3a98b5f2213565968572d6c2e3700be40e166f4c43ea","8671015544c781db69e1812986381ebc2b6dd303dfdf57b5c4ad45ed4c471deb","999db03ba5e8982c9864b80f3192c51546832ef0da83e8a26bb7c54bb6a2d646","d88dc05fd345b7a4e1816bbfd2dd087eefa9b9e36096818c2348f5b246971125",{"version":"da160ee1bd838a9e0163d7e51167a46a2ade3d7125a0131e93d4da39767bb7e4","signature":"575c89f0099618634f45b3b4b9d472e691f878c12dfc6fece5ca3251de077d19"},"cfdd927a5eae7a7e623b9745722ef3f2b7a2997fddc5d32b7e3dcaeeb15ff4a3",{"version":"90882a72210b86ac398527ad4ad4711ca731e6c36fe42918948a2ee51d7ada5b","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},"0d14fa22c41fdc7277e6f71473b20ebc07f40f00e38875142335d5b63cdfc9d2","d8aab31ba8e618cc3eea10b0945de81cb93b7e8150a013a482332263b9305322","462bccdf75fcafc1ae8c30400c9425e1a4681db5d605d1a0edb4f990a54d8094","5923d8facbac6ecf7c84739a5c701a57af94a6f6648d6229a6c768cf28f0f8cb","7adecb2c3238794c378d336a8182d4c3dd2c4fa6fa1785e2797a3db550edea62","dc12dc0e5aa06f4e1a7692149b78f89116af823b9e1f1e4eae140cd3e0e674e6","1bfc6565b90c8771615cd8cfcf9b36efc0275e5e83ac7d9181307e96eb495161","8a8a96898906f065f296665e411f51010b51372fa260d5373bf9f64356703190","7f82ef88bdb67d9a850dd1c7cd2d690f33e0f0acd208e3c9eba086f3670d4f73",{"version":"4564f780fd20582c57ae218a4cd017717181ab0e228639d905ef054288655b5e","affectsGlobalScope":true}],"options":{"composite":true,"declaration":true,"esModuleInterop":true,"module":1,"outDir":"./lib","rootDir":"./src","skipLibCheck":true,"sourceMap":true,"strict":true,"target":6},"fileIdsList":[[125,128,153,160,161,162],[153,190,195],[153],[110,153],[113,153],[114,119,153],[115,125,126,133,142,152,153],[115,116,125,133,153],[117,153],[118,119,126,134,153],[119,142,149,153],[120,122,125,133,153],[121,153],[122,123,153],[124,125,153],[125,153],[125,126,127,142,152,153],[125,126,127,142,153],[128,133,142,152,153],[125,126,128,129,133,142,149,152,153],[128,130,142,149,152,153],[110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159],[125,131,153],[132,152,153],[122,125,133,142,153],[134,153],[135,153],[113,136,153],[137,151,153,157],[138,153],[139,153],[125,140,153],[140,141,153,155],[125,142,143,144,153],[142,144,153],[142,143,153],[145,153],[146,153],[125,147,148,153],[147,148,153],[119,133,142,149,153],[150,153],[133,151,153],[114,128,139,152,153],[119,153],[142,153,154],[153,155],[153,156],[114,119,125,127,136,142,152,153,155,157],[142,153,158],[128,153,160,164],[153,160],[153,188,191],[153,188,191,192,193],[153,190],[153,187,194],[153,189],[46,54,127,135,153,182],[135,153,184,185],[106,153],[153,175],[153,175,176,177,178,179],[55,101,102,103,104,105,106,107,108,109,153,172,173,174,180,181],[55,100,106,153,182],[107,153],[55,153],[153,171],[102,153],[100,153],[55,101,102,103,153],[128,153,160,166],[128,153,160],[153,162,163,165,167],[59,60,64,91,92,96,98,99,153],[57,58,153],[57,153],[59,99,153],[59,60,96,97,99,153],[99,153],[56,99,100,153],[59,60,98,99,153],[59,60,62,63,98,99,153],[59,60,61,98,99,153],[59,60,64,91,92,93,94,95,98,99,153],[56,59,60,64,96,98,153],[64,99,153],[66,67,68,69,70,71,72,73,74,75,99,153],[89,99,153],[65,76,84,85,86,87,88,90,153],[69,99,153],[77,78,79,80,81,82,83,99,153],[46,51,153],[47,48,49,50,153],[51,52,53,153]],"referencedMap":[[163,1],[196,2],[164,3],[110,4],[111,4],[113,5],[114,6],[115,7],[116,8],[117,9],[118,10],[119,11],[120,12],[121,13],[122,14],[123,14],[124,15],[125,16],[126,17],[127,18],[112,3],[159,3],[128,19],[129,20],[130,21],[160,22],[131,23],[132,24],[133,25],[134,26],[135,27],[136,28],[137,29],[138,30],[139,31],[140,32],[141,33],[142,34],[144,35],[143,36],[145,37],[146,38],[147,39],[148,40],[149,41],[150,42],[151,43],[152,44],[153,45],[154,46],[155,47],[156,48],[157,49],[158,50],[162,3],[161,3],[165,51],[183,3],[187,3],[185,52],[188,3],[192,53],[194,54],[193,53],[191,55],[195,56],[190,57],[189,3],[8,3],[9,3],[13,3],[12,3],[2,3],[14,3],[15,3],[16,3],[17,3],[18,3],[19,3],[20,3],[21,3],[3,3],[4,3],[25,3],[22,3],[23,3],[24,3],[26,3],[27,3],[28,3],[5,3],[29,3],[30,3],[31,3],[32,3],[6,3],[45,3],[33,3],[34,3],[35,3],[36,3],[7,3],[37,3],[42,3],[43,3],[38,3],[39,3],[40,3],[41,3],[1,3],[44,3],[11,3],[10,3],[184,58],[186,59],[55,3],[181,60],[106,3],[176,61],[175,3],[177,61],[178,61],[179,61],[180,62],[182,63],[107,64],[108,65],[109,66],[172,67],[173,67],[102,3],[103,3],[105,68],[101,69],[104,70],[174,3],[167,71],[166,72],[169,1],[171,73],[170,3],[168,51],[100,74],[57,3],[59,75],[58,76],[63,77],[98,78],[95,79],[97,80],[60,79],[61,81],[65,81],[64,82],[62,83],[96,84],[94,79],[99,85],[92,3],[93,3],[66,86],[71,79],[73,79],[68,79],[69,86],[75,79],[76,87],[67,79],[72,79],[74,79],[70,79],[90,88],[89,79],[91,89],[85,79],[87,79],[86,79],[82,79],[88,90],[83,79],[84,91],[77,79],[78,79],[79,79],[80,79],[81,79],[56,3],[52,92],[51,93],[47,3],[48,3],[49,3],[50,3],[54,94],[53,92],[46,3]],"exportedModulesMap":[[163,1],[196,2],[164,3],[110,4],[111,4],[113,5],[114,6],[115,7],[116,8],[117,9],[118,10],[119,11],[120,12],[121,13],[122,14],[123,14],[124,15],[125,16],[126,17],[127,18],[112,3],[159,3],[128,19],[129,20],[130,21],[160,22],[131,23],[132,24],[133,25],[134,26],[135,27],[136,28],[137,29],[138,30],[139,31],[140,32],[141,33],[142,34],[144,35],[143,36],[145,37],[146,38],[147,39],[148,40],[149,41],[150,42],[151,43],[152,44],[153,45],[154,46],[155,47],[156,48],[157,49],[158,50],[162,3],[161,3],[165,51],[183,3],[187,3],[185,52],[188,3],[192,53],[194,54],[193,53],[191,55],[195,56],[190,57],[189,3],[8,3],[9,3],[13,3],[12,3],[2,3],[14,3],[15,3],[16,3],[17,3],[18,3],[19,3],[20,3],[21,3],[3,3],[4,3],[25,3],[22,3],[23,3],[24,3],[26,3],[27,3],[28,3],[5,3],[29,3],[30,3],[31,3],[32,3],[6,3],[45,3],[33,3],[34,3],[35,3],[36,3],[7,3],[37,3],[42,3],[43,3],[38,3],[39,3],[40,3],[41,3],[1,3],[44,3],[11,3],[10,3],[55,3],[181,60],[106,3],[176,61],[175,3],[177,61],[178,61],[179,61],[180,62],[182,63],[107,64],[108,65],[109,66],[172,67],[173,67],[102,3],[103,3],[105,68],[101,69],[104,70],[174,3],[167,71],[166,72],[169,1],[171,73],[170,3],[168,51],[100,74],[57,3],[59,75],[58,76],[63,77],[98,78],[95,79],[97,80],[60,79],[61,81],[65,81],[64,82],[62,83],[96,84],[94,79],[99,85],[92,3],[93,3],[66,86],[71,79],[73,79],[68,79],[69,86],[75,79],[76,87],[67,79],[72,79],[74,79],[70,79],[90,88],[89,79],[91,89],[85,79],[87,79],[86,79],[82,79],[88,90],[83,79],[84,91],[77,79],[78,79],[79,79],[80,79],[81,79],[56,3],[52,92],[51,93],[47,3],[48,3],[49,3],[50,3],[54,94],[53,92],[46,3]],"semanticDiagnosticsPerFile":[163,196,164,110,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,112,159,128,129,130,160,131,132,133,134,135,136,137,138,139,140,141,142,144,143,145,146,147,148,149,150,151,152,153,154,155,156,157,158,162,161,165,183,187,185,188,192,194,193,191,195,190,189,8,9,13,12,2,14,15,16,17,18,19,20,21,3,4,25,22,23,24,26,27,28,5,29,30,31,32,6,45,33,34,35,36,7,37,42,43,38,39,40,41,1,44,11,10,184,186,55,181,106,176,175,177,178,179,180,182,107,108,109,172,173,102,103,105,101,104,174,167,166,169,171,170,168,100,57,59,58,63,98,95,97,60,61,65,64,62,96,94,99,92,93,66,71,73,68,69,75,76,67,72,74,70,90,89,91,85,87,86,82,88,83,84,77,78,79,80,81,56,52,51,47,48,49,50,54,53,46]},"version":"4.7.2"}
|
|
1
|
+
{"program":{"fileNames":["./node_modules/typescript/lib/lib.es5.d.ts","./node_modules/typescript/lib/lib.es2015.d.ts","./node_modules/typescript/lib/lib.es2016.d.ts","./node_modules/typescript/lib/lib.es2017.d.ts","./node_modules/typescript/lib/lib.es2018.d.ts","./node_modules/typescript/lib/lib.es2019.d.ts","./node_modules/typescript/lib/lib.es2020.d.ts","./node_modules/typescript/lib/lib.dom.d.ts","./node_modules/typescript/lib/lib.dom.iterable.d.ts","./node_modules/typescript/lib/lib.webworker.importscripts.d.ts","./node_modules/typescript/lib/lib.scripthost.d.ts","./node_modules/typescript/lib/lib.es2015.core.d.ts","./node_modules/typescript/lib/lib.es2015.collection.d.ts","./node_modules/typescript/lib/lib.es2015.generator.d.ts","./node_modules/typescript/lib/lib.es2015.iterable.d.ts","./node_modules/typescript/lib/lib.es2015.promise.d.ts","./node_modules/typescript/lib/lib.es2015.proxy.d.ts","./node_modules/typescript/lib/lib.es2015.reflect.d.ts","./node_modules/typescript/lib/lib.es2015.symbol.d.ts","./node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","./node_modules/typescript/lib/lib.es2016.array.include.d.ts","./node_modules/typescript/lib/lib.es2017.object.d.ts","./node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","./node_modules/typescript/lib/lib.es2017.string.d.ts","./node_modules/typescript/lib/lib.es2017.intl.d.ts","./node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","./node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","./node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","./node_modules/typescript/lib/lib.es2018.intl.d.ts","./node_modules/typescript/lib/lib.es2018.promise.d.ts","./node_modules/typescript/lib/lib.es2018.regexp.d.ts","./node_modules/typescript/lib/lib.es2019.array.d.ts","./node_modules/typescript/lib/lib.es2019.object.d.ts","./node_modules/typescript/lib/lib.es2019.string.d.ts","./node_modules/typescript/lib/lib.es2019.symbol.d.ts","./node_modules/typescript/lib/lib.es2020.bigint.d.ts","./node_modules/typescript/lib/lib.es2020.date.d.ts","./node_modules/typescript/lib/lib.es2020.promise.d.ts","./node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","./node_modules/typescript/lib/lib.es2020.string.d.ts","./node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","./node_modules/typescript/lib/lib.es2020.intl.d.ts","./node_modules/typescript/lib/lib.es2020.number.d.ts","./node_modules/typescript/lib/lib.esnext.intl.d.ts","./node_modules/typescript/lib/lib.es2019.full.d.ts","./node_modules/@types/node/assert.d.ts","./node_modules/@types/node/assert/strict.d.ts","./node_modules/@types/node/globals.d.ts","./node_modules/@types/node/async_hooks.d.ts","./node_modules/@types/node/buffer.d.ts","./node_modules/@types/node/child_process.d.ts","./node_modules/@types/node/cluster.d.ts","./node_modules/@types/node/console.d.ts","./node_modules/@types/node/constants.d.ts","./node_modules/@types/node/crypto.d.ts","./node_modules/@types/node/dgram.d.ts","./node_modules/@types/node/diagnostics_channel.d.ts","./node_modules/@types/node/dns.d.ts","./node_modules/@types/node/dns/promises.d.ts","./node_modules/@types/node/domain.d.ts","./node_modules/@types/node/events.d.ts","./node_modules/@types/node/fs.d.ts","./node_modules/@types/node/fs/promises.d.ts","./node_modules/@types/node/http.d.ts","./node_modules/@types/node/http2.d.ts","./node_modules/@types/node/https.d.ts","./node_modules/@types/node/inspector.d.ts","./node_modules/@types/node/module.d.ts","./node_modules/@types/node/net.d.ts","./node_modules/@types/node/os.d.ts","./node_modules/@types/node/path.d.ts","./node_modules/@types/node/perf_hooks.d.ts","./node_modules/@types/node/process.d.ts","./node_modules/@types/node/punycode.d.ts","./node_modules/@types/node/querystring.d.ts","./node_modules/@types/node/readline.d.ts","./node_modules/@types/node/repl.d.ts","./node_modules/@types/node/stream.d.ts","./node_modules/@types/node/stream/promises.d.ts","./node_modules/@types/node/stream/consumers.d.ts","./node_modules/@types/node/stream/web.d.ts","./node_modules/@types/node/string_decoder.d.ts","./node_modules/@types/node/timers.d.ts","./node_modules/@types/node/timers/promises.d.ts","./node_modules/@types/node/tls.d.ts","./node_modules/@types/node/trace_events.d.ts","./node_modules/@types/node/tty.d.ts","./node_modules/@types/node/url.d.ts","./node_modules/@types/node/util.d.ts","./node_modules/@types/node/v8.d.ts","./node_modules/@types/node/vm.d.ts","./node_modules/@types/node/wasi.d.ts","./node_modules/@types/node/worker_threads.d.ts","./node_modules/@types/node/zlib.d.ts","./node_modules/@types/node/globals.global.d.ts","./node_modules/@types/node/index.d.ts","./node_modules/dotenv/lib/main.d.ts","./src/config.ts","../virus-scanner-lib/node_modules/axios/index.d.ts","../virus-scanner-lib/lib/generated/models/initialscan.d.ts","../virus-scanner-lib/lib/generated/models/scanstatus.d.ts","../virus-scanner-lib/lib/generated/schemas/$initialscan.d.ts","../virus-scanner-lib/lib/generated/schemas/$scanstatus.d.ts","../virus-scanner-lib/lib/generated/index.d.ts","../virus-scanner-lib/lib/virusscanner.d.ts","../virus-scanner-lib/lib/uploadfile.d.ts","../virus-scanner-lib/lib/index.d.ts","../component-lib/lib/manifest-schemas/v1.d.ts","../component-lib/lib/manifest.d.ts","../component-lib/node_modules/uri-js/dist/es5/uri.all.d.ts","../component-lib/node_modules/ajv/dist/compile/codegen/code.d.ts","../component-lib/node_modules/ajv/dist/compile/codegen/scope.d.ts","../component-lib/node_modules/ajv/dist/compile/codegen/index.d.ts","../component-lib/node_modules/ajv/dist/compile/rules.d.ts","../component-lib/node_modules/ajv/dist/compile/util.d.ts","../component-lib/node_modules/ajv/dist/compile/validate/subschema.d.ts","../component-lib/node_modules/ajv/dist/compile/errors.d.ts","../component-lib/node_modules/ajv/dist/compile/validate/index.d.ts","../component-lib/node_modules/ajv/dist/compile/validate/datatype.d.ts","../component-lib/node_modules/ajv/dist/vocabularies/applicator/additionalitems.d.ts","../component-lib/node_modules/ajv/dist/vocabularies/applicator/items2020.d.ts","../component-lib/node_modules/ajv/dist/vocabularies/applicator/contains.d.ts","../component-lib/node_modules/ajv/dist/vocabularies/applicator/dependencies.d.ts","../component-lib/node_modules/ajv/dist/vocabularies/applicator/propertynames.d.ts","../component-lib/node_modules/ajv/dist/vocabularies/applicator/additionalproperties.d.ts","../component-lib/node_modules/ajv/dist/vocabularies/applicator/not.d.ts","../component-lib/node_modules/ajv/dist/vocabularies/applicator/anyof.d.ts","../component-lib/node_modules/ajv/dist/vocabularies/applicator/oneof.d.ts","../component-lib/node_modules/ajv/dist/vocabularies/applicator/if.d.ts","../component-lib/node_modules/ajv/dist/vocabularies/applicator/index.d.ts","../component-lib/node_modules/ajv/dist/vocabularies/validation/limitnumber.d.ts","../component-lib/node_modules/ajv/dist/vocabularies/validation/multipleof.d.ts","../component-lib/node_modules/ajv/dist/vocabularies/validation/pattern.d.ts","../component-lib/node_modules/ajv/dist/vocabularies/validation/required.d.ts","../component-lib/node_modules/ajv/dist/vocabularies/validation/uniqueitems.d.ts","../component-lib/node_modules/ajv/dist/vocabularies/validation/const.d.ts","../component-lib/node_modules/ajv/dist/vocabularies/validation/enum.d.ts","../component-lib/node_modules/ajv/dist/vocabularies/validation/index.d.ts","../component-lib/node_modules/ajv/dist/vocabularies/format/format.d.ts","../component-lib/node_modules/ajv/dist/vocabularies/unevaluated/unevaluatedproperties.d.ts","../component-lib/node_modules/ajv/dist/vocabularies/unevaluated/unevaluateditems.d.ts","../component-lib/node_modules/ajv/dist/vocabularies/validation/dependentrequired.d.ts","../component-lib/node_modules/ajv/dist/vocabularies/discriminator/types.d.ts","../component-lib/node_modules/ajv/dist/vocabularies/discriminator/index.d.ts","../component-lib/node_modules/ajv/dist/vocabularies/errors.d.ts","../component-lib/node_modules/ajv/dist/types/json-schema.d.ts","../component-lib/node_modules/ajv/dist/types/jtd-schema.d.ts","../component-lib/node_modules/ajv/dist/runtime/validation_error.d.ts","../component-lib/node_modules/ajv/dist/compile/ref_error.d.ts","../component-lib/node_modules/ajv/dist/core.d.ts","../component-lib/node_modules/ajv/dist/compile/resolve.d.ts","../component-lib/node_modules/ajv/dist/compile/index.d.ts","../component-lib/node_modules/ajv/dist/types/index.d.ts","../component-lib/node_modules/ajv/dist/ajv.d.ts","../component-lib/lib/validator/schemas.d.ts","../component-lib/lib/validator/validationfailure.d.ts","../component-lib/lib/validator/validationsuccess.d.ts","../component-lib/lib/validator/validatemanifest.d.ts","../component-lib/lib/validator/isvalidationfailure.d.ts","../component-lib/lib/component-sets/loadcomponentset.d.ts","../component-lib/lib/loaders/loadedcomponent.d.ts","../component-lib/lib/loaders/loadcomponent.d.ts","../component-lib/lib/loaders/loadmanifest.d.ts","./node_modules/@types/range-parser/index.d.ts","./node_modules/@types/qs/index.d.ts","./node_modules/@types/express-serve-static-core/index.d.ts","./node_modules/@types/mime/index.d.ts","./node_modules/@types/serve-static/index.d.ts","../component-lib/node_modules/@types/connect/index.d.ts","../component-lib/node_modules/@types/body-parser/index.d.ts","../component-lib/node_modules/@types/serve-static/index.d.ts","../component-lib/node_modules/@types/express-serve-static-core/index.d.ts","../component-lib/node_modules/@types/qs/index.d.ts","../component-lib/node_modules/@types/express/index.d.ts","../component-lib/lib/server-utils/errormiddleware.d.ts","../component-lib/lib/server-utils/requestlogger.d.ts","../component-lib/lib/zip/zipdirectory.d.ts","../component-lib/lib/error/errorwithhttpstatuscode.d.ts","../component-lib/lib/error/badrequesterror.d.ts","../component-lib/lib/error/internalservererror.d.ts","../component-lib/lib/error/resourcenotfounderror.d.ts","../component-lib/lib/error/timeouterror.d.ts","../component-lib/lib/error/componenterror.d.ts","../component-lib/lib/error/index.d.ts","../component-lib/lib/component-context/createcomponentcontext.d.ts","../component-lib/lib/util/joinabsoluteurlpath.d.ts","../component-lib/lib/index.d.ts","./node_modules/axios/index.d.ts","./node_modules/@types/cli-color/art.d.ts","./node_modules/@types/cli-color/bare.d.ts","./node_modules/@types/cli-color/beep.d.ts","./node_modules/@types/cli-color/columns.d.ts","./node_modules/@types/cli-color/erase.d.ts","./node_modules/@types/cli-color/move.d.ts","./node_modules/@types/cli-color/get-stripped-length.d.ts","./node_modules/@types/cli-color/slice.d.ts","./node_modules/@types/cli-color/strip.d.ts","./node_modules/@types/cli-color/throbber.d.ts","./node_modules/@types/cli-color/reset.d.ts","./node_modules/@types/cli-color/window-size.d.ts","./node_modules/@types/cli-color/index.d.ts","./src/index.ts","./src/test.ts","./src/integration-tests/helper.ts","./src/integration-tests/service-deployment.spec.ts","./src/integration-tests/test-setup.ts","./node_modules/@types/cookiejar/index.d.ts","./node_modules/buffer/index.d.ts","./node_modules/@types/superagent/index.d.ts","./node_modules/@types/supertest/index.d.ts","./src/integration-tests/upload-and-render-component.spec.ts","./src/integration-tests/__components__/cmp-static-file-test/manifest.json","./node_modules/chalk/index.d.ts","./node_modules/@sinclair/typebox/typebox.d.ts","./node_modules/@jest/schemas/build/index.d.ts","./node_modules/pretty-format/build/index.d.ts","./node_modules/jest-diff/build/index.d.ts","./node_modules/jest-matcher-utils/build/index.d.ts","./node_modules/@types/jest/index.d.ts"],"fileInfos":[{"version":"f5c28122bee592cfaf5c72ed7bcc47f453b79778ffa6e301f45d21a0970719d4","affectsGlobalScope":true},"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06","e6b724280c694a9f588847f754198fb96c43d805f065c3a5b28bbc9594541c84","1fc5ab7a764205c68fa10d381b08417795fc73111d6dd16b5b1ed36badb743d9",{"version":"3f149f903dd20dfeb7c80e228b659f0e436532de772469980dbd00702cc05cc1","affectsGlobalScope":true},{"version":"1272277fe7daa738e555eb6cc45ded42cc2d0f76c07294142283145d49e96186","affectsGlobalScope":true},{"version":"7fac8cb5fc820bc2a59ae11ef1c5b38d3832c6d0dfaec5acdb5569137d09a481","affectsGlobalScope":true},{"version":"097a57355ded99c68e6df1b738990448e0bf170e606707df5a7c0481ff2427cd","affectsGlobalScope":true},{"version":"adb996790133eb33b33aadb9c09f15c2c575e71fb57a62de8bf74dbf59ec7dfb","affectsGlobalScope":true},{"version":"43fb1d932e4966a39a41b464a12a81899d9ae5f2c829063f5571b6b87e6d2f9c","affectsGlobalScope":true},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true},{"version":"c5c05907c02476e4bde6b7e76a79ffcd948aedd14b6a8f56e4674221b0417398","affectsGlobalScope":true},{"version":"0d5f52b3174bee6edb81260ebcd792692c32c81fd55499d69531496f3f2b25e7","affectsGlobalScope":true},{"version":"810627a82ac06fb5166da5ada4159c4ec11978dfbb0805fe804c86406dab8357","affectsGlobalScope":true},{"version":"181f1784c6c10b751631b24ce60c7f78b20665db4550b335be179217bacc0d5f","affectsGlobalScope":true},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true},{"version":"75ec0bdd727d887f1b79ed6619412ea72ba3c81d92d0787ccb64bab18d261f14","affectsGlobalScope":true},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true},{"version":"12a310447c5d23c7d0d5ca2af606e3bd08afda69100166730ab92c62999ebb9d","affectsGlobalScope":true},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true},{"version":"d154ea5bb7f7f9001ed9153e876b2d5b8f5c2bb9ec02b3ae0d239ec769f1f2ae","affectsGlobalScope":true},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true},{"version":"9d57b2b5d15838ed094aa9ff1299eecef40b190722eb619bac4616657a05f951","affectsGlobalScope":true},{"version":"6c51b5dd26a2c31dbf37f00cfc32b2aa6a92e19c995aefb5b97a3a64f1ac99de","affectsGlobalScope":true},{"version":"6e7997ef61de3132e4d4b2250e75343f487903ddf5370e7ce33cf1b9db9a63ed","affectsGlobalScope":true},{"version":"2ad234885a4240522efccd77de6c7d99eecf9b4de0914adb9a35c0c22433f993","affectsGlobalScope":true},{"version":"09aa50414b80c023553090e2f53827f007a301bc34b0495bfb2c3c08ab9ad1eb","affectsGlobalScope":true},{"version":"d7f680a43f8cd12a6b6122c07c54ba40952b0c8aa140dcfcf32eb9e6cb028596","affectsGlobalScope":true},{"version":"3787b83e297de7c315d55d4a7c546ae28e5f6c0a361b7a1dcec1f1f50a54ef11","affectsGlobalScope":true},{"version":"e7e8e1d368290e9295ef18ca23f405cf40d5456fa9f20db6373a61ca45f75f40","affectsGlobalScope":true},{"version":"faf0221ae0465363c842ce6aa8a0cbda5d9296940a8e26c86e04cc4081eea21e","affectsGlobalScope":true},{"version":"06393d13ea207a1bfe08ec8d7be562549c5e2da8983f2ee074e00002629d1871","affectsGlobalScope":true},{"version":"cd483c056da900716879771893a3c9772b66c3c88f8943b4205aec738a94b1d0","affectsGlobalScope":true},{"version":"b248e32ca52e8f5571390a4142558ae4f203ae2f94d5bac38a3084d529ef4e58","affectsGlobalScope":true},{"version":"c37f8a49593a0030eecb51bbfa270e709bec9d79a6cc3bb851ef348d4e6b26f8","affectsGlobalScope":true},"1f03b495671c3a1bd24510f38b8947f0991dfd6bf0278c68eca14af15b306e1f","0cba3a5d7b81356222594442753cf90dd2892e5ccfe1d262aaca6896ba6c1380","a69c09dbea52352f479d3e7ac949fde3d17b195abe90b045d619f747b38d6d1a",{"version":"c2ab70bbc7a24c42a790890739dd8a0ba9d2e15038b40dff8163a97a5d148c00","affectsGlobalScope":true},"422dbb183fdced59425ca072c8bd09efaa77ce4e2ab928ec0d8a1ce062d2a45a",{"version":"fcdcb42da18dd98dc286b1876dd425791772036012ae61263c011a76b13a190f","affectsGlobalScope":true},"1dab5ab6bcf11de47ab9db295df8c4f1d92ffa750e8f095e88c71ce4c3299628","f71f46ccd5a90566f0a37b25b23bc4684381ab2180bdf6733f4e6624474e1894",{"version":"54e65985a3ee3cec182e6a555e20974ea936fc8b8d1738c14e8ed8a42bd921d4","affectsGlobalScope":true},"82408ed3e959ddc60d3e9904481b5a8dc16469928257af22a3f7d1a3bc7fd8c4","918a76828d88a73924bb26fef58040a6eb8a9adb7e407ea7264175520dda9450","34e5de87d983bc6aefef8b17658556e3157003e8d9555d3cb098c6bef0b5fbc8","cc0b61316c4f37393f1f9595e93b673f4184e9d07f4c127165a490ec4a928668","f27371653aded82b2b160f7a7033fb4a5b1534b6f6081ef7be1468f0f15327d3","c762cd6754b13a461c54b59d0ae0ab7aeef3c292c6cf889873f786ee4d8e75c9","f4ea7d5df644785bd9fbf419930cbaec118f0d8b4160037d2339b8e23c059e79",{"version":"bfea28e6162ed21a0aeed181b623dcf250aa79abf49e24a6b7e012655af36d81","affectsGlobalScope":true},"b8aca9d0c81abb02bec9b7621983ae65bde71da6727580070602bd2500a9ce2a","ae97e20f2e10dbeec193d6a2f9cd9a367a1e293e7d6b33b68bacea166afd7792","10d4796a130577d57003a77b95d8723530bbec84718e364aa2129fa8ffba0378","063f53ff674228c190efa19dd9448bcbd540acdbb48a928f4cf3a1b9f9478e43","bf73c576885408d4a176f44a9035d798827cc5020d58284cb18d7573430d9022","7ae078ca42a670445ae0c6a97c029cb83d143d62abd1730efb33f68f0b2c0e82",{"version":"e8b18c6385ff784228a6f369694fcf1a6b475355ba89090a88de13587a9391d5","affectsGlobalScope":true},"287b21dc1d1b9701c92e15e7dd673dfe6044b15812956377adffb6f08825b1bc","12eea70b5e11e924bb0543aea5eadc16ced318aa26001b453b0d561c2fd0bd1e","08777cd9318d294646b121838574e1dd7acbb22c21a03df84e1f2c87b1ad47f2","08a90bcdc717df3d50a2ce178d966a8c353fd23e5c392fd3594a6e39d9bb6304",{"version":"4cd4cff679c9b3d9239fd7bf70293ca4594583767526916af8e5d5a47d0219c7","affectsGlobalScope":true},"2a12d2da5ac4c4979401a3f6eaafa874747a37c365e4bc18aa2b171ae134d21b","002b837927b53f3714308ecd96f72ee8a053b8aeb28213d8ec6de23ed1608b66","1dc9c847473bb47279e398b22c740c83ea37a5c88bf66629666e3cf4c5b9f99c","a9e4a5a24bf2c44de4c98274975a1a705a0abbaad04df3557c2d3cd8b1727949","00fa7ce8bc8acc560dc341bbfdf37840a8c59e6a67c9bfa3fa5f36254df35db2","1b952304137851e45bc009785de89ada562d9376177c97e37702e39e60c2f1ff",{"version":"806ef4cac3b3d9fa4a48d849c8e084d7c72fcd7b16d76e06049a9ed742ff79c0","affectsGlobalScope":true},"44b8b584a338b190a59f4f6929d072431950c7bd92ec2694821c11bce180c8a5","5f0ed51db151c2cdc4fa3bb0f44ce6066912ad001b607a34e65a96c52eb76248",{"version":"3345c276cab0e76dda86c0fb79104ff915a4580ba0f3e440870e183b1baec476","affectsGlobalScope":true},"664d8f2d59164f2e08c543981453893bc7e003e4dfd29651ce09db13e9457980","103d70bfbeb3cd3a3f26d1705bf986322d8738c2c143f38ebb743b1e228d7444","f52fbf64c7e480271a9096763c4882d356b05cab05bf56a64e68a95313cd2ce2","59bdb65f28d7ce52ccfc906e9aaf422f8b8534b2d21c32a27d7819be5ad81df7",{"version":"3a2da34079a2567161c1359316a32e712404b56566c45332ac9dcee015ecce9f","affectsGlobalScope":true},"28a2e7383fd898c386ffdcacedf0ec0845e5d1a86b5a43f25b86bc315f556b79","3aff9c8c36192e46a84afe7b926136d520487155154ab9ba982a8b544ea8fc95","a880cf8d85af2e4189c709b0fea613741649c0e40fffb4360ec70762563d5de0","85bbf436a15bbeda4db888be3062d47f99c66fd05d7c50f0f6473a9151b6a070","9f9c49c95ecd25e0cb2587751925976cf64fd184714cb11e213749c80cf0f927","f0c75c08a71f9212c93a719a25fb0320d53f2e50ca89a812640e08f8ad8c408c",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"9cafe917bf667f1027b2bb62e2de454ecd2119c80873ad76fc41d941089753b8","cfdd927a5eae7a7e623b9745722ef3f2b7a2997fddc5d32b7e3dcaeeb15ff4a3",{"version":"4c30c86dbb715822535b0c358239db36d869db57e513a002df8747aa5fa1cdcd","signature":"b6ff98628b0e3d5e9f59982914559e8fd76f81b3675acc0a40fdb3519162116e"},"d88dc05fd345b7a4e1816bbfd2dd087eefa9b9e36096818c2348f5b246971125","ca9ebc5b0d02b1a6417aa85f7c8c685a8ed1b71e496367f21fa80b5884e648c7","4dd414d700d383f51e95de06a3dd767ecfc6e884207df2ab6bbf0a5ee2947197","dd1376343798071eca045504b679ce66db19e716df789de32a34e6cd4117e56e","d6916856643459f6295b01a3c2bb1a91885d50a13bb2a675b4c760947c881938","b1f03c33978d580e40b089312d9b86c827af12db5939d001e2b6ddeed864f216","4aa198370b45595ab2b079184272dacdd1d3a6e185b5a8bc25b6c57822eb301d","fb6ea4754383178e666a5839222f181c5cc28e0b07e3324dcd19dbd61062d844","37ce3e0b120cdeb2028f060b8c0e4ef399647bba65812e376b65721ac4256421","4335dec7ce54653abcb176bc8b3798fc3b78f71facac76caa7248c800dce13bc","3f28cb39b92af8c1fa0577f97f78649dd1088f7034bad4c2447eb247973d33a0","9f3c5498245c38c9016a369795ec5ef1768d09db63643c8dba9656e5ab294825","44a8d350600656882fd7462774e32e8d13788313ba2e36d2e8d5437ac91b98df","60bb0e47502bf8716d1230288b4e6387c1d34cded12752ab5338108e2e662e67","b8870b5155d11a273c75718a4f19026da49f91c548703858cd3400d06c3bd3b8","b3ae4ded82f27cabba780b9af9647f6e08c9a4cabe8fbb7a0cca69c7add9ef4b","8d26ae32e5c9c080e44aee4a67e5ef02b5fda0604e6fecbb7b753c537e5282d9","05c4e792dae38912ba333725cdf8c42d242337d006c0d887f4ce5a7787871a95","cd44995ee13d5d23df17a10213fed7b483fabfd5ea08f267ab52c07ce0b6b4da","58ce1486f851942bd2d3056b399079bc9cb978ec933fe9833ea417e33eab676e","1a23b521db8d7ec9e2b96c6fbd4c7e96d12f408b1e03661b3b9f7da7291103e6","d3d0d11d30c9878ada3356b9c36a2754b8c7b6204a41c86bfb1488c08ce263b0","a6493f1f479637ed89a3ebec03f6dc117e3b1851d7e938ac4c8501396b8639a8","ae0951e44973e928fe2e999b11960493835d094b16adac0b085a79cff181bcb9","9d00e3a59eff68fa8c40e89953083eeaad1c5b2580ed7da2304424b249ecb237","1609ad4d488c356ee91eba7d7aa87cc6fb59bc8ac05c1a8f08665285ba3b71ad","8add088f72326098d68d622ddb024c00ae56a912383efe96b03f0481db88f7c9","dd17fe6332567b8f13e33dd3ff8926553cdcea2ad32d4350ce0063a2addaa764","4091d56a4622480549350b8811ec64c7826cd41a70ce5d9c1cc20384bb144049","353c0125b9e50c2a71e18394d46be5ccb37161cc0f0e7c69216aa6932c8cdafb","9c5d5f167e86b6ddf7142559a17d13fd39c34e868ae947c40381db866eed6609","4430dea494b0ee77bf823d9a7c4850a539e1060d5d865316bb23fb393e4f01d7","aae698ceead4edad0695b9ea87e43f274e698bdb302c8cb5fd2cab4dc496ccf0","51631e9a0c041e12479ab01f5801d8a237327d19e9ee37d5f1f66be912631425","c9d5d8adb1455f49182751ce885745dcc5f9697e9c260388bc3ae9d1860d5d10","f64289e3fa8d5719eaf5ba1bb02dd32dbbf7c603dda75c16770a6bc6e9c6b6d9","b1aa0e2e3511a8d10990f35866405c64c9e576258ef99eeb9ebafed980fd7506","2d255a5287f2fb5295688cb25bd18e1cd59866179f795f3f1fd6b71b7f0edf8f","43c1dbb78d5277a5fdd8fddce8b257f84ffa2b4253f58b95c04a310710d19e97","6c669d7e080344c1574aa276a89e57c3b9f0e97fab96a09427e7dfb19ca261bf","b71ac126853867d8e64c910f47d46d05c5ea797987d2604f63d401507dc43b6d","9a37238558d28b7ee06d08599e92eab30b90704541cc85e6448009d6d55fffa9","120b14d66a061910309ff97e7b06b5c6c09444218178b80b687a92af4d22d5dc","3de958065e3a44cbe0bfa667813bc59c63e63c9ce522af8dc1b64714910fa9ba","66e655f7c43558bae6703242cbd6c0551a94d0a97204bd4c4bbf7e77f24d1f85","72f7b32e023814078046c036ed4b7ad92414be0aebb63e805c682e14103ae38a","a89d8e67966d085ff971c9900cfa1abdd9732bab66d9c1914ecc15befdf8623d","7dfd0308261bb91b058eb91802690fe3f09192b263e070a19df4d629df29e265","608eb9d411ac76e93a10e05f8aae92b3a5cefc87594219b737df7c8737ba2bd7","cde493e09daad4bb29922fe633f760be9f0e8e2f39cdca999cce3b8690b5e13a","3d7f9eb12aface876f7b535cc89dcd416daf77f0b3573333f16ec0a70bcf902a","93ba4ac36f570c70a12d588e21c10dda9f351fad3e77d416952acddb27bff01d","8750f9dc1e277ffff7446c95571bae61aca0984e8f99e40fc1e8cb7161ae0642","66408d81ba8962282b1a55da34c6bd767105141f54d0ba14dca330efe0c8f552","7481b9d93ca44eb1f689e0b939545ff00dead7bdb9daba401dfb74292d83f831","821e64ddbdfa10fac5f0aed1c1d4e1f275840400caa96357ddfd15d02e5afba1","419564ce933b3a54b5d44beb063dd025106042440080bceba32c04938d61a484","bf2b9e09ab805a9dfd942bce104f9b08c4aca6acd6d2bc51c1558269f7d6dbf8","c5c02cf97dd48e47f77dc973fa082b4610ea30964f8d92a83e6366ac944380d0","42bf40a061bfd8d72f0b2590bd437cffe189c19cd44e3bf5e7a0b7c6d76862d2","5b312a14de195172d56bee9129237403eca227b03c214af351196bd91cf94fe0","e6d30c042473d086896f5d16cd4fe9ab080196fe83c71fc488f10aaaf23213e3","e63f5f6b41f97a9cbe453d2c114dadbab317551a1b382fa11f37aa4a9af550a0","7ea356b4d80a33924b6144122832d8fe8f045266d09bd3ed27d6f186c980d733","0c3dc3807897264f5304fd236fbad5a467937cf5f0ed74db0fe24ff8e5d58a7f","16d51f964ec125ad2024cf03f0af444b3bc3ec3614d9345cc54d09bab45c9a4c","ba601641fac98c229ccd4a303f747de376d761babb33229bb7153bed9356c9cc",{"version":"101eb8b4e972b9326f39591e2e40e967e3331e8d960f81248daeb266ea1affec","affectsGlobalScope":true},"84e3bbd6f80983d468260fdbfeeb431cc81f7ea98d284d836e4d168e36875e86","0b85cb069d0e427ba946e5eb2d86ef65ffd19867042810516d16919f6c1a5aec","6d829824ead8999f87b6df21200df3c6150391b894b4e80662caa462bd48d073","afc559c1b93df37c25aef6b3dfa2d64325b0e112e887ee18bf7e6f4ec383fc90","0b85cb069d0e427ba946e5eb2d86ef65ffd19867042810516d16919f6c1a5aec",{"version":"101eb8b4e972b9326f39591e2e40e967e3331e8d960f81248daeb266ea1affec","affectsGlobalScope":true},"ba601641fac98c229ccd4a303f747de376d761babb33229bb7153bed9356c9cc","15c88bfd1b8dc7231ff828ae8df5d955bae5ebca4cf2bcb417af5821e52299ae","1c26b05af1ecc2d8a9d2e682931ec21658c842a792ced4dcf18ea5a49f1a695e","580304f233b87c918b6ee81c358b2efe818284fe19584e28e5a26026d8a355cf","558e0d1c797f78421be23db3c79a93db5b6c26a42a1e2b55a3efba037f26ab48","048c8482f35a0f3abd2ec8c86ba7b3c86af4906ebb7a12e4fbdc8d6896eb19dc","69c97795fcaf5bf566a1efcc24e5a5bf2d8c261ad1851239b0504c9c4a9e9cc0","9dfc364342a667c968f9be3ff7865abaf477df206a936b578b2a98eeaff0e318","56d6e24f71ed721db5a196fc6ab8523f0f469f7ae01b663ddea59981e0d82423","0bccccdd597d8a14213654d62b6ec25f37925bcd9bf6b9470006867478d7f612","b089e61130588931583bb35fa3de8fbf8695ed2b84de63d6623cdc935f6da676","9acbadd311ff3c3befca95fffdebbb1e703c437f708ff22c1324243c8f1c8d19","8671015544c781db69e1812986381ebc2b6dd303dfdf57b5c4ad45ed4c471deb","4889ae7c801238c611fcc96216b4b0bcdf39f0da707c77ca19fe561371029d11","1df6ed0807ed23a8b56d8dbf75a6da95e0acf24d944d94f1d17d5e5dad3e76f5","d88dc05fd345b7a4e1816bbfd2dd087eefa9b9e36096818c2348f5b246971125","a7b9533447378e7f34fa432e26be9102173e79bceb65b20d258d61c4042e90ad","d71ffe64592c4e61c6b431d8fbaff58735cd659738d788a4c8423a27f78f01b7","b869f848bec826c9d3645d10a183b905672a4675747f41700fd30e1b7e0d0308","62cc84c2971b16cc82e1f7cb1dac7d8c70b589d492fbc2f6efbcbfc53b61d514","67729b7b26e1ecf2afeb2f4a0a8c3ba16712918ef22d23bb615f033169ebe0f3","903da09dbdfea0af66cb6b7b25950e42e350f1f3cc87f3516baa553cc4de882f","e237aa7b157ebfb2699d2e3bbf07c65a8cea0382201dc44c9da006f0f730de67","05e8a403b04248dbe9eebd2025d58e95495de303f37b39f13e7562f5f414087a","a56bf5dce7c05192e4c2d95eb1527feda15f9225afea8c5ad67034a79992ebb6","fcb510be50b0756cb770f8caf321dba38ae074665efbea090584f8a8d3e6b8f4","d4c9c56a2f4ecedcc224a495dfbaee88072c8e99679504fb32ef1d0629f843a1","5ec537948044f7c0280d6175729bf7aa13deae28fe0f6346628a8cf15569aefa","94998ffb6165ce44d492327169a7f7cb0e1e11a967f068fbda6796029a4a40dd",{"version":"9ec2c49b02bdf628539eb091aa152226eec56ba36db83771a8dd303e2ab9835b","signature":"575c89f0099618634f45b3b4b9d472e691f878c12dfc6fece5ca3251de077d19"},{"version":"2a8060db74972bc7624a0240e5cbb5ab52dfcc27732ff5376bb851c0b43cce82","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"f97c59c0709d2b68b9b37853554571ef9fede5f0e4c7366da930bf42f19145a6","signature":"0155ad91d9eeab5c1858e2989485b66800aad24884cab49bba8bcb0b90b3e470"},{"version":"e1d1990438e06ef9b5b8239f4d489ec96a0fe5529afa5d90accd87b39909bce6","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"ca359b5cf8ca716abad8e9169fd12ddc625b159bae3cf0aff057f14cd8bb76df","signature":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","affectsGlobalScope":true},"8d48b8f8a377ade8dd1f000625bc276eea067f2529cc9cafdf082d17142107d6","8e9c23ba78aabc2e0a27033f18737a6df754067731e69dc5f52823957d60a4b6","31c502014e5ba046d5cb060136929b73fd53f0f989aa37b2b0424644cb0d93ef","76232dbb982272b182a76ad8745a9b02724dc9896e2328ce360e2c56c64c9778",{"version":"f84082986bff7d23b820ddeb3f4190448180842de0e61026774e5e51e9d1cb4b","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},"1d507604bd101871a8ad6eb17c7de82b940b3eab0222a049e72d43fc86c77351","0d14fa22c41fdc7277e6f71473b20ebc07f40f00e38875142335d5b63cdfc9d2","7980bf9d2972585cdf76b5a72105f7817be0723ccb2256090f6335f45b462abe","301d7466eb591139c7d456958f732153b3400f3243f68d3321956b43a64769e9","22f13de9e2fe5f0f4724797abd3d34a1cdd6e47ef81fc4933fea3b8bf4ad524b","e3ba509d3dce019b3190ceb2f3fc88e2610ab717122dabd91a9efaa37804040d","cda0cb09b995489b7f4c57f168cd31b83dcbaa7aad49612734fb3c9c73f6e4f2",{"version":"2abad7477cf6761b55c18bea4c21b5a5dcf319748c13696df3736b35f8ac149e","affectsGlobalScope":true}],"options":{"composite":true,"declaration":true,"esModuleInterop":true,"module":1,"outDir":"./lib","rootDir":"./src","skipLibCheck":true,"sourceMap":true,"strict":true,"target":6},"fileIdsList":[[89,214],[89],[89,189,190,191,192,193,194,195,196,197,198,199,200],[61,64,89,96,164,165],[89,216,218],[46,89],[49,89],[50,55,89],[51,61,62,69,78,88,89],[51,52,61,69,89],[53,89],[54,55,62,70,89],[55,78,85,89],[56,58,61,69,89],[57,89],[58,59,89],[60,61,89],[61,89],[61,62,63,78,88,89],[61,62,63,78,89],[64,69,78,88,89],[61,62,64,65,69,78,85,88,89],[64,66,78,85,88,89],[46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95],[61,67,89],[68,88,89],[58,61,69,78,89],[70,89],[71,89],[49,72,89],[73,87,89,93],[74,89],[75,89],[61,76,89],[76,77,89,91],[61,78,79,80,89],[78,80,89],[78,79,89],[81,89],[82,89],[61,83,84,89],[83,84,89],[55,69,78,85,89],[86,89],[69,87,89],[50,64,75,88,89],[55,89],[78,89,90],[89,91],[89,92],[50,55,61,63,72,78,88,89,91,93],[78,89,94],[64,89,96,167],[50,62,64,78,89,96,207],[89,209],[89,96],[89,216],[89,213,217],[89,215],[89,97],[63,71,89,99,107,187,201],[62,71,89,98,99],[63,71,89,204],[71,89,98,201,202,204,210],[71,89,98,202],[89,160],[89,178],[89,178,179,180,181,182,183],[89,108,109,155,156,157,158,159,160,161,162,163,175,176,177,184,185,186],[89,161],[89,108,109,154,160,187],[89,109],[89,108],[89,174],[89,156],[89,154],[89,109,155,156,157],[64,89,96,169],[64,89,96],[89,165,166,168,170],[89,113,114,118,145,146,150,152,153],[89,111,112],[89,111],[89,113,153],[89,113,114,150,151,153],[89,153],[89,110,153,154],[89,113,114,152,153],[89,113,114,116,117,152,153],[89,113,114,115,152,153],[89,113,114,118,145,146,147,148,149,152,153],[89,110,113,114,118,150,152],[89,118,153],[89,120,121,122,123,124,125,126,127,128,129,153],[89,143,153],[89,119,130,138,139,140,141,142,144],[89,123,153],[89,131,132,133,134,135,136,137,153],[89,100,101,102,103],[89,104,105,106],[89,99,104],[99]],"referencedMap":[[215,1],[214,2],[189,2],[190,2],[191,2],[192,2],[193,2],[195,2],[201,3],[194,2],[199,2],[196,2],[197,2],[198,2],[200,2],[207,2],[166,4],[219,5],[167,2],[46,6],[47,6],[49,7],[50,8],[51,9],[52,10],[53,11],[54,12],[55,13],[56,14],[57,15],[58,16],[59,16],[60,17],[61,18],[62,19],[63,20],[48,2],[95,2],[64,21],[65,22],[66,23],[96,24],[67,25],[68,26],[69,27],[70,28],[71,29],[72,30],[73,31],[74,32],[75,33],[76,34],[77,35],[78,36],[80,37],[79,38],[81,39],[82,40],[83,41],[84,42],[85,43],[86,44],[87,45],[88,46],[89,47],[90,48],[91,49],[92,50],[93,51],[94,52],[165,2],[164,2],[168,53],[209,54],[210,55],[188,2],[208,2],[213,2],[97,56],[217,57],[218,58],[216,59],[8,2],[9,2],[13,2],[12,2],[2,2],[14,2],[15,2],[16,2],[17,2],[18,2],[19,2],[20,2],[21,2],[3,2],[4,2],[25,2],[22,2],[23,2],[24,2],[26,2],[27,2],[28,2],[5,2],[29,2],[30,2],[31,2],[32,2],[6,2],[45,2],[33,2],[34,2],[35,2],[36,2],[7,2],[37,2],[42,2],[43,2],[38,2],[39,2],[40,2],[41,2],[1,2],[44,2],[11,2],[10,2],[98,60],[202,61],[212,2],[204,62],[205,63],[206,2],[211,64],[203,65],[185,66],[160,2],[179,67],[183,67],[178,2],[184,68],[180,67],[181,67],[182,67],[187,69],[162,70],[161,71],[163,72],[108,2],[109,73],[175,74],[176,74],[186,2],[159,75],[155,76],[158,77],[156,2],[157,2],[177,2],[170,78],[169,79],[172,4],[174,80],[173,2],[171,53],[154,81],[111,2],[113,82],[112,83],[117,84],[152,85],[149,86],[151,87],[114,86],[115,88],[119,88],[118,89],[116,90],[150,91],[148,86],[153,92],[146,2],[147,2],[120,93],[125,86],[127,86],[122,86],[123,93],[129,86],[130,94],[121,86],[126,86],[128,86],[124,86],[144,95],[143,86],[145,96],[139,86],[141,86],[140,86],[136,86],[142,97],[137,86],[138,98],[131,86],[132,86],[133,86],[134,86],[135,86],[110,2],[104,99],[100,2],[101,2],[102,2],[103,2],[107,100],[106,101],[105,101],[99,2]],"exportedModulesMap":[[215,1],[214,2],[189,2],[190,2],[191,2],[192,2],[193,2],[195,2],[201,3],[194,2],[199,2],[196,2],[197,2],[198,2],[200,2],[207,2],[166,4],[219,5],[167,2],[46,6],[47,6],[49,7],[50,8],[51,9],[52,10],[53,11],[54,12],[55,13],[56,14],[57,15],[58,16],[59,16],[60,17],[61,18],[62,19],[63,20],[48,2],[95,2],[64,21],[65,22],[66,23],[96,24],[67,25],[68,26],[69,27],[70,28],[71,29],[72,30],[73,31],[74,32],[75,33],[76,34],[77,35],[78,36],[80,37],[79,38],[81,39],[82,40],[83,41],[84,42],[85,43],[86,44],[87,45],[88,46],[89,47],[90,48],[91,49],[92,50],[93,51],[94,52],[165,2],[164,2],[168,53],[209,54],[210,55],[188,2],[208,2],[213,2],[97,56],[217,57],[218,58],[216,59],[8,2],[9,2],[13,2],[12,2],[2,2],[14,2],[15,2],[16,2],[17,2],[18,2],[19,2],[20,2],[21,2],[3,2],[4,2],[25,2],[22,2],[23,2],[24,2],[26,2],[27,2],[28,2],[5,2],[29,2],[30,2],[31,2],[32,2],[6,2],[45,2],[33,2],[34,2],[35,2],[36,2],[7,2],[37,2],[42,2],[43,2],[38,2],[39,2],[40,2],[41,2],[1,2],[44,2],[11,2],[10,2],[212,2],[204,102],[185,66],[160,2],[179,67],[183,67],[178,2],[184,68],[180,67],[181,67],[182,67],[187,69],[162,70],[161,71],[163,72],[108,2],[109,73],[175,74],[176,74],[186,2],[159,75],[155,76],[158,77],[156,2],[157,2],[177,2],[170,78],[169,79],[172,4],[174,80],[173,2],[171,53],[154,81],[111,2],[113,82],[112,83],[117,84],[152,85],[149,86],[151,87],[114,86],[115,88],[119,88],[118,89],[116,90],[150,91],[148,86],[153,92],[146,2],[147,2],[120,93],[125,86],[127,86],[122,86],[123,93],[129,86],[130,94],[121,86],[126,86],[128,86],[124,86],[144,95],[143,86],[145,96],[139,86],[141,86],[140,86],[136,86],[142,97],[137,86],[138,98],[131,86],[132,86],[133,86],[134,86],[135,86],[110,2],[104,99],[100,2],[101,2],[102,2],[103,2],[107,100],[106,101],[105,101],[99,2]],"semanticDiagnosticsPerFile":[215,214,189,190,191,192,193,195,201,194,199,196,197,198,200,207,166,219,167,46,47,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,48,95,64,65,66,96,67,68,69,70,71,72,73,74,75,76,77,78,80,79,81,82,83,84,85,86,87,88,89,90,91,92,93,94,165,164,168,209,210,188,208,213,97,217,218,216,8,9,13,12,2,14,15,16,17,18,19,20,21,3,4,25,22,23,24,26,27,28,5,29,30,31,32,6,45,33,34,35,36,7,37,42,43,38,39,40,41,1,44,11,10,98,202,212,204,205,206,211,203,185,160,179,183,178,184,180,181,182,187,162,161,163,108,109,175,176,186,159,155,158,156,157,177,170,169,172,174,173,171,154,111,113,112,117,152,149,151,114,115,119,118,116,150,148,153,146,147,120,125,127,122,123,129,130,121,126,128,124,144,143,145,139,141,140,136,142,137,138,131,132,133,134,135,110,104,100,101,102,103,107,106,105,99]},"version":"4.7.4"}
|