@interopio/iocd-cli 0.0.46 → 0.0.47
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/dist/services/components/components.registry.js +15 -14
- package/dist/services/components/components.registry.js.map +1 -1
- package/dist/services/license-file.service.js +24 -2
- package/dist/services/license-file.service.js.map +1 -1
- package/dist/services/test.service.js +5 -0
- package/dist/services/test.service.js.map +1 -1
- package/package.json +1 -1
|
@@ -28,21 +28,22 @@ class ComponentsRegistry {
|
|
|
28
28
|
licenseRequired: false,
|
|
29
29
|
platforms: ['win32', 'darwin'],
|
|
30
30
|
description: 'A set of web-based demo applications showcasing various features of io.Connect Desktop',
|
|
31
|
-
},
|
|
32
|
-
'bbgv3': {
|
|
33
|
-
displayName: 'Bloomberg V3 Adapter',
|
|
34
|
-
name: 'bbgv3',
|
|
35
|
-
licenseRequired: true,
|
|
36
|
-
platforms: ['win32', 'darwin'],
|
|
37
|
-
description: 'Bloomberg Terminal V3 integration adapter',
|
|
38
|
-
},
|
|
39
|
-
'ppt': {
|
|
40
|
-
displayName: 'PowerPoint Adapter',
|
|
41
|
-
name: 'ppt',
|
|
42
|
-
licenseRequired: true,
|
|
43
|
-
platforms: ['win32'],
|
|
44
|
-
description: 'PowerPoint integration adapter for io.Connect Desktop',
|
|
45
31
|
}
|
|
32
|
+
// ,
|
|
33
|
+
// 'bbgv3': {
|
|
34
|
+
// displayName: 'Bloomberg V3 Adapter',
|
|
35
|
+
// name: 'bbgv3',
|
|
36
|
+
// licenseRequired: true,
|
|
37
|
+
// platforms: ['win32', 'darwin'],
|
|
38
|
+
// description: 'Bloomberg Terminal V3 integration adapter',
|
|
39
|
+
// },
|
|
40
|
+
// 'ppt': {
|
|
41
|
+
// displayName: 'PowerPoint Adapter',
|
|
42
|
+
// name: 'ppt',
|
|
43
|
+
// licenseRequired: true,
|
|
44
|
+
// platforms: ['win32'],
|
|
45
|
+
// description: 'PowerPoint integration adapter for io.Connect Desktop',
|
|
46
|
+
// }
|
|
46
47
|
};
|
|
47
48
|
static getComponents() {
|
|
48
49
|
return Object.values(this.COMPONENT_REGISTRY);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"components.registry.js","sourceRoot":"","sources":["../../../src/services/components/components.registry.ts"],"names":[],"mappings":";;;AAiBA;;;GAGG;AACH,MAAa,kBAAkB;IAGnB,MAAM,CAAC,kBAAkB,GAAwC;QACrE,IAAI,EAAE;YACF,WAAW,EAAE,oBAAoB;YACjC,IAAI,EAAE,MAAM;YACZ,eAAe,EAAE,IAAI;YACrB,SAAS,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC;YAC9B,WAAW,EAAE,sEAAsE;YACnF,QAAQ,EAAE,IAAI;SACjB;QACD,UAAU,EAAE;YACR,WAAW,EAAE,iBAAiB;YAC9B,IAAI,EAAE,UAAU;YAChB,eAAe,EAAE,KAAK;YACtB,SAAS,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC;YAC9B,WAAW,EAAE,wCAAwC;SACxD;QACD,OAAO,EAAE;YACL,WAAW,EAAE,sBAAsB;YACnC,IAAI,EAAE,OAAO;YACb,eAAe,EAAE,KAAK;YACtB,SAAS,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC;YAC9B,WAAW,EAAE,wFAAwF;SACxG;QACD,
|
|
1
|
+
{"version":3,"file":"components.registry.js","sourceRoot":"","sources":["../../../src/services/components/components.registry.ts"],"names":[],"mappings":";;;AAiBA;;;GAGG;AACH,MAAa,kBAAkB;IAGnB,MAAM,CAAC,kBAAkB,GAAwC;QACrE,IAAI,EAAE;YACF,WAAW,EAAE,oBAAoB;YACjC,IAAI,EAAE,MAAM;YACZ,eAAe,EAAE,IAAI;YACrB,SAAS,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC;YAC9B,WAAW,EAAE,sEAAsE;YACnF,QAAQ,EAAE,IAAI;SACjB;QACD,UAAU,EAAE;YACR,WAAW,EAAE,iBAAiB;YAC9B,IAAI,EAAE,UAAU;YAChB,eAAe,EAAE,KAAK;YACtB,SAAS,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC;YAC9B,WAAW,EAAE,wCAAwC;SACxD;QACD,OAAO,EAAE;YACL,WAAW,EAAE,sBAAsB;YACnC,IAAI,EAAE,OAAO;YACb,eAAe,EAAE,KAAK;YACtB,SAAS,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC;YAC9B,WAAW,EAAE,wFAAwF;SACxG;QACD,IAAI;QACJ,aAAa;QACb,2CAA2C;QAC3C,qBAAqB;QACrB,6BAA6B;QAC7B,sCAAsC;QACtC,gEAAgE;QAChE,KAAK;QACL,WAAW;QACX,yCAAyC;QACzC,mBAAmB;QACnB,6BAA6B;QAC7B,4BAA4B;QAC5B,4EAA4E;QAC5E,IAAI;KACP,CAAC;IAEK,MAAM,CAAC,aAAa;QACvB,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAClD,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,sBAAsB,CAAC,aAAqB;QACtD,OAAO,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,CAAC;IAClD,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,oBAAoB;QAC9B,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAChD,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,wBAAwB,CAAC,QAA4B;QAC/D,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC;aACzC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;aACtD,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,oBAAoB,CAAC,aAAqB,EAAE,QAA4B;QAClF,MAAM,UAAU,GAAG,IAAI,CAAC,sBAAsB,CAAC,aAAa,CAAC,CAAC;QAC9D,OAAO,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IACxE,CAAC;;AA5EL,gDA6EC"}
|
|
@@ -21,11 +21,12 @@ const logger = logger_1.Logger.getInstance("license-file.service");
|
|
|
21
21
|
class LicenseFileService {
|
|
22
22
|
/**
|
|
23
23
|
* Copy the license key to the iocd directory if it exists and copying is enabled
|
|
24
|
+
* @param ignoreSetting If true, will copy the license file regardless of config setting
|
|
24
25
|
*/
|
|
25
|
-
static async copyLicenseFile() {
|
|
26
|
+
static async copyLicenseFile(ignoreSetting = false) {
|
|
26
27
|
// Check if license copying is enabled (default: true)
|
|
27
28
|
const copyEnabled = config_service_1.ConfigManager.config.license?.copyLicenseToOutput ?? true;
|
|
28
|
-
if (!copyEnabled) {
|
|
29
|
+
if (!copyEnabled && !ignoreSetting) {
|
|
29
30
|
logger.debug("License copying is disabled in config - skipping license file copy");
|
|
30
31
|
return;
|
|
31
32
|
}
|
|
@@ -49,6 +50,27 @@ class LicenseFileService {
|
|
|
49
50
|
throw error;
|
|
50
51
|
}
|
|
51
52
|
}
|
|
53
|
+
/**
|
|
54
|
+
* Remove the license file from the iocd directory if it exists
|
|
55
|
+
*/
|
|
56
|
+
static async removeLicenseFile() {
|
|
57
|
+
try {
|
|
58
|
+
// Get the iocd directory
|
|
59
|
+
const iocdDir = path_1.PathUtils.getIOCDResourcesDir();
|
|
60
|
+
const targetLicensePath = (0, path_2.join)(iocdDir, "license.key");
|
|
61
|
+
if (!(0, fs_1.existsSync)(targetLicensePath)) {
|
|
62
|
+
logger.debug(`License file not found at ${targetLicensePath} - nothing to remove`);
|
|
63
|
+
return;
|
|
64
|
+
}
|
|
65
|
+
logger.debug(`Removing license file from ${targetLicensePath}`);
|
|
66
|
+
(0, fs_1.unlinkSync)(targetLicensePath);
|
|
67
|
+
logger.info(`License file removed successfully from ${targetLicensePath}`);
|
|
68
|
+
}
|
|
69
|
+
catch (error) {
|
|
70
|
+
logger.error(`Failed to remove license file: ${error}`);
|
|
71
|
+
throw error;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
52
74
|
}
|
|
53
75
|
exports.LicenseFileService = LicenseFileService;
|
|
54
76
|
//# sourceMappingURL=license-file.service.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"license-file.service.js","sourceRoot":"","sources":["../../src/services/license-file.service.ts"],"names":[],"mappings":";;;AAAA,4CAAyC;AACzC,wCAA0C;AAC1C,
|
|
1
|
+
{"version":3,"file":"license-file.service.js","sourceRoot":"","sources":["../../src/services/license-file.service.ts"],"names":[],"mappings":";;;AAAA,4CAAyC;AACzC,wCAA0C;AAC1C,2BAA2D;AAC3D,+BAA4B;AAC5B,uDAAmD;AACnD,4DAAwD;AAExD,MAAM,MAAM,GAAG,eAAM,CAAC,WAAW,CAAC,sBAAsB,CAAC,CAAC;AAE1D;;;;;;;;;GASG;AACH,MAAa,kBAAkB;IAC3B;;;OAGG;IACH,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,gBAAyB,KAAK;QACvD,sDAAsD;QACtD,MAAM,WAAW,GAAG,8BAAa,CAAC,MAAM,CAAC,OAAO,EAAE,mBAAmB,IAAI,IAAI,CAAC;QAE9E,IAAI,CAAC,WAAW,IAAI,CAAC,aAAa,EAAE,CAAC;YACjC,MAAM,CAAC,KAAK,CAAC,oEAAoE,CAAC,CAAC;YACnF,OAAO;QACX,CAAC;QAED,MAAM,cAAc,GAAG,IAAI,gCAAc,EAAE,CAAC;QAC5C,MAAM,UAAU,GAAG,cAAc,CAAC,aAAa,EAAE,CAAC;QAElD,IAAI,CAAC,UAAU,EAAE,CAAC;YACd,MAAM,CAAC,KAAK,CAAC,mDAAmD,CAAC,CAAC;YAClE,OAAO;QACX,CAAC;QAED,MAAM,CAAC,KAAK,CAAC,iDAAiD,CAAC,CAAC;QAEhE,IAAI,CAAC;YACD,yBAAyB;YACzB,MAAM,OAAO,GAAG,gBAAS,CAAC,mBAAmB,EAAE,CAAC;YAChD,MAAM,iBAAiB,GAAG,IAAA,WAAI,EAAC,OAAO,EAAE,aAAa,CAAC,CAAC;YAEvD,MAAM,CAAC,KAAK,CAAC,2BAA2B,iBAAiB,EAAE,CAAC,CAAC;YAE7D,IAAA,kBAAa,EAAC,iBAAiB,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;YAEtD,MAAM,CAAC,IAAI,CAAC,wCAAwC,iBAAiB,EAAE,CAAC,CAAC;QAC7E,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,MAAM,CAAC,KAAK,CAAC,iCAAiC,KAAK,EAAE,CAAC,CAAC;YACvD,MAAM,KAAK,CAAC;QAChB,CAAC;IACL,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,KAAK,CAAC,iBAAiB;QAC1B,IAAI,CAAC;YACD,yBAAyB;YACzB,MAAM,OAAO,GAAG,gBAAS,CAAC,mBAAmB,EAAE,CAAC;YAChD,MAAM,iBAAiB,GAAG,IAAA,WAAI,EAAC,OAAO,EAAE,aAAa,CAAC,CAAC;YAEvD,IAAI,CAAC,IAAA,eAAU,EAAC,iBAAiB,CAAC,EAAE,CAAC;gBACjC,MAAM,CAAC,KAAK,CAAC,6BAA6B,iBAAiB,sBAAsB,CAAC,CAAC;gBACnF,OAAO;YACX,CAAC;YAED,MAAM,CAAC,KAAK,CAAC,8BAA8B,iBAAiB,EAAE,CAAC,CAAC;YAChE,IAAA,eAAU,EAAC,iBAAiB,CAAC,CAAC;YAC9B,MAAM,CAAC,IAAI,CAAC,0CAA0C,iBAAiB,EAAE,CAAC,CAAC;QAC/E,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,MAAM,CAAC,KAAK,CAAC,kCAAkC,KAAK,EAAE,CAAC,CAAC;YACxD,MAAM,KAAK,CAAC;QAChB,CAAC;IACL,CAAC;CACJ;AA9DD,gDA8DC"}
|
|
@@ -39,6 +39,7 @@ const fs = __importStar(require("fs"));
|
|
|
39
39
|
const path = __importStar(require("path"));
|
|
40
40
|
const path_1 = require("../utils/path");
|
|
41
41
|
const child_process_1 = require("child_process");
|
|
42
|
+
const license_file_service_1 = require("./license-file.service");
|
|
42
43
|
/**
|
|
43
44
|
* TestService handles running automated tests for the io.Connect Desktop application.
|
|
44
45
|
*
|
|
@@ -70,8 +71,12 @@ class TestService {
|
|
|
70
71
|
if (!fs.existsSync(binaryPath)) {
|
|
71
72
|
throw new Error(`Binary not found at ${binaryPath}. Please run 'iocd dev' first to create the executable.`);
|
|
72
73
|
}
|
|
74
|
+
// copy license file to binary directory if it exists
|
|
75
|
+
await license_file_service_1.LicenseFileService.copyLicenseFile(true);
|
|
73
76
|
// Run the test script
|
|
74
77
|
await this.runTestScript(testsDir, binaryPath);
|
|
78
|
+
// remove license file after tests (as tests ignore the copy setting)
|
|
79
|
+
await license_file_service_1.LicenseFileService.removeLicenseFile();
|
|
75
80
|
}
|
|
76
81
|
/**
|
|
77
82
|
* Get the tests directory path
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test.service.js","sourceRoot":"","sources":["../../src/services/test.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,4CAAyC;AACzC,uCAAyB;AACzB,2CAA6B;AAC7B,wCAA0C;AAC1C,iDAAsC;
|
|
1
|
+
{"version":3,"file":"test.service.js","sourceRoot":"","sources":["../../src/services/test.service.ts"],"names":[],"mappings":"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"}
|