@fyuld/snitch 2.3.0 → 2.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"prepare.d.ts","sourceRoot":"","sources":["../../src/commands/prepare.ts"],"names":[],"mappings":"AAMA,wBAAsB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAsCpD"}
1
+ {"version":3,"file":"prepare.d.ts","sourceRoot":"","sources":["../../src/commands/prepare.ts"],"names":[],"mappings":"AAOA,wBAAsB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAmCpD"}
@@ -36,6 +36,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
36
36
  exports.prepareCommand = prepareCommand;
37
37
  const fs = __importStar(require("fs"));
38
38
  const path = __importStar(require("path"));
39
+ const https = __importStar(require("https"));
39
40
  const SnitchConfigManager_1 = require("../SnitchConfigManager");
40
41
  const enforcement_software_1 = require("../utils/enforcement-software");
41
42
  async function prepareCommand() {
@@ -62,12 +63,43 @@ async function prepareCommand() {
62
63
  }
63
64
  if (config.thirdPartyTools && config.thirdPartyTools.length > 0) {
64
65
  for (const toolEntry of config.thirdPartyTools) {
65
- if ('$ref' in toolEntry || '_extends' in toolEntry) {
66
- console.log('⚠️ References and extensions in thirdPartyTools are not yet supported');
67
- continue;
68
- }
69
- await (0, enforcement_software_1.installThirdPartyTool)(toolEntry);
66
+ const resolvedTool = await resolveThirdPartyTool(toolEntry);
67
+ await (0, enforcement_software_1.installThirdPartyTool)(resolvedTool);
70
68
  }
71
69
  }
72
70
  }
71
+ async function resolveThirdPartyTool(entry) {
72
+ if ('$ref' in entry) {
73
+ const url = entry.$ref;
74
+ console.log(`📥 Fetching tool configuration from: ${url}`);
75
+ const content = await fetchUrl(url);
76
+ const parsed = JSON.parse(content);
77
+ return parsed;
78
+ }
79
+ if ('_extends' in entry) {
80
+ throw new Error('_extends is not yet supported for ThirdPartyTool');
81
+ }
82
+ return entry;
83
+ }
84
+ async function fetchUrl(url) {
85
+ return new Promise((resolve, reject) => {
86
+ https
87
+ .get(url, (res) => {
88
+ if (res.statusCode !== 200) {
89
+ reject(new Error(`Failed to fetch ${url}: HTTP ${res.statusCode}`));
90
+ return;
91
+ }
92
+ let data = '';
93
+ res.on('data', (chunk) => {
94
+ data += chunk;
95
+ });
96
+ res.on('end', () => {
97
+ resolve(data);
98
+ });
99
+ })
100
+ .on('error', (err) => {
101
+ reject(new Error(`Failed to fetch ${url}: ${err.message}`));
102
+ });
103
+ });
104
+ }
73
105
  //# sourceMappingURL=prepare.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"prepare.js","sourceRoot":"","sources":["../../src/commands/prepare.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA,wCAsCC;AA5CD,uCAAwB;AACxB,2CAA4B;AAC5B,gEAA4D;AAC5D,wEAAqE;AAG9D,KAAK,UAAU,cAAc;IAClC,MAAM,MAAM,GAAG,yCAAmB,CAAC,UAAU,EAAE,CAAA;IAE/C,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAA;IACpD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;QACpC,OAAO,CAAC,GAAG,CAAC,yDAAyD,CAAC,CAAA;QACtE,OAAM;IACR,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,CAAA;IACtD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC,CAAA;IAEnD,IAAI,WAAW,GAAa,EAAE,CAAA;IAE9B,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC9B,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;QAC5C,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,CAAA;IAC1C,CAAC;IAED,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QAC5B,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;QAC1C,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,CAAA;IACzC,CAAC;IAED,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAA;QACrC,WAAW,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC,CAAA;IACzD,CAAC;IAED,IAAI,MAAM,CAAC,eAAe,IAAI,MAAM,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChE,KAAK,MAAM,SAAS,IAAI,MAAM,CAAC,eAAe,EAAE,CAAC;YAC/C,IAAI,MAAM,IAAI,SAAS,IAAI,UAAU,IAAI,SAAS,EAAE,CAAC;gBACnD,OAAO,CAAC,GAAG,CAAC,wEAAwE,CAAC,CAAA;gBACrF,SAAQ;YACV,CAAC;YACD,MAAM,IAAA,4CAAqB,EAAC,SAA2B,CAAC,CAAA;QAC1D,CAAC;IACH,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"prepare.js","sourceRoot":"","sources":["../../src/commands/prepare.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fyuld/snitch",
3
- "version": "2.3.0",
3
+ "version": "2.3.1",
4
4
  "description": "Snitch",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",