@interopio/iocd-cli 0.0.81 → 0.0.82

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/changelog.md CHANGED
@@ -5,6 +5,14 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [0.0.82](https://github.com/InteropIO/iocd-cli/compare/iocd-cli-v0.0.81...iocd-cli-v0.0.82) (2026-04-08)
9
+
10
+
11
+ ### Bug Fixes
12
+
13
+ * add schema validation with static warning and runtime warning ([#57](https://github.com/InteropIO/iocd-cli/issues/57)) ([cd01948](https://github.com/InteropIO/iocd-cli/commit/cd01948af3bab9160c4c1d086edc611bd8e9de89))
14
+ * update dependencies to resolve npm audit vulnerabilities ([#61](https://github.com/InteropIO/iocd-cli/issues/61)) ([9b68a05](https://github.com/InteropIO/iocd-cli/commit/9b68a054777d6b88a29d4faa7f7d5198b0e53f7e))
15
+
8
16
  ## [0.0.81](https://github.com/InteropIO/iocd-cli/compare/iocd-cli-v0.0.80...iocd-cli-v0.0.81) (2026-03-20)
9
17
 
10
18
 
@@ -211,7 +211,9 @@
211
211
  },
212
212
  "productSlug": {
213
213
  "description": "URL-friendly identifier for your product (e.g., \"my-trading-app\").\nDerived from package.json \"name\" if not set. Used in file names, package identification, and filesystem operations.",
214
- "type": "string"
214
+ "type": "string",
215
+ "pattern": "^[a-zA-Z0-9_-]+$",
216
+ "patternErrorMessage": "Spaces, dots, and other special characters are not allowed."
215
217
  },
216
218
  "sentry": {
217
219
  "description": "Enable Sentry error reporting for production diagnostics (default: true).",
@@ -35,6 +35,7 @@ var __importStar = (this && this.__importStar) || (function () {
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
36
  exports.ConfigManager = void 0;
37
37
  const fs = __importStar(require("fs"));
38
+ const config_validator_js_1 = require("./config.validator.js");
38
39
  const deep_merge_1 = require("../../utils/deep.merge");
39
40
  const path_1 = require("../../utils/path");
40
41
  const path_2 = require("path");
@@ -116,6 +117,7 @@ class ConfigManager {
116
117
  }
117
118
  // deep merge with default config to ensure all fields are present
118
119
  const final = (0, deep_merge_1.deepMerge)(defaultConfig, rawConfig);
120
+ (0, config_validator_js_1.validateCliConfig)(final);
119
121
  return final;
120
122
  }
121
123
  static expandVariablesInString(content) {
@@ -1 +1 @@
1
- {"version":3,"file":"config.service.js","sourceRoot":"","sources":["../../../src/services/config/config.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.service.js","sourceRoot":"","sources":["../../../src/services/config/config.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,48 @@
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.validateCliConfig = validateCliConfig;
7
+ const fs_extra_1 = __importDefault(require("fs-extra"));
8
+ const path_1 = __importDefault(require("path"));
9
+ const logger_js_1 = require("../../utils/logger.js");
10
+ const logger = logger_js_1.Logger.getInstance("config.validator");
11
+ const schemaProperties = loadSchema();
12
+ function validateCliConfig(config) {
13
+ validateProperties(schemaProperties, config, "");
14
+ }
15
+ // Read at module load time from the generated schema in dist/schemas/.
16
+ // Validation is silently skipped if the schema cannot be loaded.
17
+ function loadSchema() {
18
+ try {
19
+ const schemaPath = path_1.default.join(__dirname, "..", "..", "schemas", "iocd.cli.config.schema.json");
20
+ const parsed = JSON.parse(fs_extra_1.default.readFileSync(schemaPath, "utf8"));
21
+ logger.debug("Schema loaded");
22
+ return parsed.properties ?? {};
23
+ }
24
+ catch (e) {
25
+ logger.warn("Failed to load schema, cli config validation will be skipped.");
26
+ logger.debug(`Failed to load schema:`, e);
27
+ return {};
28
+ }
29
+ }
30
+ function validateProperties(properties, values, prefix) {
31
+ for (const [field, def] of Object.entries(properties)) {
32
+ const fieldPath = prefix ? `${prefix}.${field}` : field;
33
+ const value = values[field];
34
+ if ("pattern" in def && typeof value === "string") {
35
+ if (!new RegExp(def.pattern).test(value)) {
36
+ const msg = def.patternErrorMessage ?? `Pattern: ${def.pattern}`;
37
+ logger.warn(`"${fieldPath}": "${value}" is invalid. ${msg}`);
38
+ }
39
+ }
40
+ if ("properties" in def &&
41
+ value !== null &&
42
+ typeof value === "object" &&
43
+ !Array.isArray(value)) {
44
+ validateProperties(def.properties, value, fieldPath);
45
+ }
46
+ }
47
+ }
48
+ //# sourceMappingURL=config.validator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.validator.js","sourceRoot":"","sources":["../../../src/services/config/config.validator.ts"],"names":[],"mappings":";;;;;AAcA,8CAMC;AApBD,wDAA2B;AAC3B,gDAAwB;AAExB,qDAA+C;AAQ/C,MAAM,MAAM,GAAG,kBAAM,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC;AACtD,MAAM,gBAAgB,GAAG,UAAU,EAAE,CAAC;AAEtC,SAAgB,iBAAiB,CAAC,MAAiB;IACjD,kBAAkB,CAChB,gBAAgB,EAChB,MAA4C,EAC5C,EAAE,CACH,CAAC;AACJ,CAAC;AAED,uEAAuE;AACvE,iEAAiE;AACjE,SAAS,UAAU;IACjB,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,cAAI,CAAC,IAAI,CAC1B,SAAS,EACT,IAAI,EACJ,IAAI,EACJ,SAAS,EACT,6BAA6B,CAC9B,CAAC;QACF,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,kBAAG,CAAC,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC;QAChE,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QAC9B,OAAO,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC;IACjC,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,CAAC,IAAI,CACT,+DAA+D,CAChE,CAAC;QACF,MAAM,CAAC,KAAK,CAAC,wBAAwB,EAAE,CAAC,CAAC,CAAC;QAC1C,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,SAAS,kBAAkB,CACzB,UAA0C,EAC1C,MAA+B,EAC/B,MAAc;IAEd,KAAK,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;QACtD,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;QACxD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QAE5B,IAAI,SAAS,IAAI,GAAG,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAClD,IAAI,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,OAAiB,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBACnD,MAAM,GAAG,GAAG,GAAG,CAAC,mBAAmB,IAAI,YAAY,GAAG,CAAC,OAAO,EAAE,CAAC;gBACjE,MAAM,CAAC,IAAI,CAAC,IAAI,SAAS,OAAO,KAAK,iBAAiB,GAAG,EAAE,CAAC,CAAC;YAC/D,CAAC;QACH,CAAC;QACD,IACE,YAAY,IAAI,GAAG;YACnB,KAAK,KAAK,IAAI;YACd,OAAO,KAAK,KAAK,QAAQ;YACzB,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EACrB,CAAC;YACD,kBAAkB,CAChB,GAAG,CAAC,UAA4C,EAChD,KAAgC,EAChC,SAAS,CACV,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@interopio/iocd-cli",
3
- "version": "0.0.81",
3
+ "version": "0.0.82",
4
4
  "description": "CLI tool for setting up, building and packaging io.Connect Desktop platforms",
5
5
  "engines": {
6
6
  "node": ">=22.0.0",
@@ -38,6 +38,24 @@ function removeRequiredRecursively(obj) {
38
38
  return result;
39
39
  }
40
40
 
41
+ /**
42
+ * Recursively merges pattern fields from the source src/schemas/cli-config.schema.json
43
+ * into the target dist/schemas/iocd.cli.config.schema.json.
44
+ */
45
+ function mergeSchemaPatterns(target, source) {
46
+ if (!source?.properties || !target?.properties) return;
47
+
48
+ for (const [key, srcProp] of Object.entries(source.properties)) {
49
+ const prop = target.properties[key];
50
+ if (!prop) continue;
51
+ if (srcProp.pattern !== undefined) prop.pattern = srcProp.pattern;
52
+ if (srcProp.patternErrorMessage !== undefined) prop.patternErrorMessage = srcProp.patternErrorMessage;
53
+
54
+ // Recurse into nested object properties
55
+ mergeSchemaPatterns(prop, srcProp);
56
+ }
57
+ }
58
+
41
59
  try {
42
60
  // Generate schema using typescript-json-schema from CliConfig
43
61
  // Use --required to get full schema structure, then post-process to remove required arrays
@@ -74,9 +92,14 @@ try {
74
92
  }
75
93
  });
76
94
 
95
+ // Merge pattern enhancements from source schema
96
+ const sourceSchemaPath = path.join(__dirname, '..', 'src', 'schemas', 'cli-config.schema.json');
97
+ const sourceSchema = JSON.parse(fs.readFileSync(sourceSchemaPath, 'utf8'));
98
+ mergeSchemaPatterns(enhancedSchema, sourceSchema);
99
+
77
100
  // Write back the updated schema
78
101
  fs.writeFileSync(schemaFile, JSON.stringify(enhancedSchema, null, 2));
79
-
102
+
80
103
  console.log('✅ JSON schema generated successfully at:', schemaFile);
81
104
  } catch (error) {
82
105
  console.error('❌ Error generating JSON schema:', error.message);