snyk 1.802.0 → 1.806.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -4684,19 +4684,25 @@ const api_token_1 = __webpack_require__(95181);
4684
4684
  const config_1 = __webpack_require__(22541);
4685
4685
  const spinner_1 = __webpack_require__(86766);
4686
4686
  const utils_1 = __webpack_require__(33113);
4687
- const unsupported_feature_snyk_code_error_1 = __webpack_require__(90551);
4687
+ const errors_1 = __webpack_require__(61315);
4688
4688
  const proxy_from_env_1 = __webpack_require__(21394);
4689
4689
  const global_agent_1 = __webpack_require__(97959);
4690
- async function getCodeAnalysisAndParseResults(root, options) {
4690
+ async function getCodeAnalysisAndParseResults(root, options, sastSettings) {
4691
4691
  await spinner_1.spinner.clearAll();
4692
4692
  utils_1.analysisProgressUpdate();
4693
- const codeAnalysis = await getCodeAnalysis(root, options);
4693
+ const codeAnalysis = await getCodeAnalysis(root, options, sastSettings);
4694
4694
  spinner_1.spinner.clearAll();
4695
4695
  return parseSecurityResults(codeAnalysis);
4696
4696
  }
4697
4697
  exports.getCodeAnalysisAndParseResults = getCodeAnalysisAndParseResults;
4698
- async function getCodeAnalysis(root, options) {
4699
- const baseURL = config_1.default.CODE_CLIENT_PROXY_URL;
4698
+ async function getCodeAnalysis(root, options, sastSettings) {
4699
+ const isLocalCodeEngineEnabled = isLocalCodeEngine(sastSettings);
4700
+ if (isLocalCodeEngineEnabled) {
4701
+ validateLocalCodeEngineUrl(sastSettings.localCodeEngine.url);
4702
+ }
4703
+ const baseURL = isLocalCodeEngineEnabled
4704
+ ? sastSettings.localCodeEngine.url
4705
+ : config_1.default.CODE_CLIENT_PROXY_URL;
4700
4706
  // TODO(james) This mirrors the implementation in request.ts and we need to use this for deeproxy calls
4701
4707
  // This ensures we support lowercase http(s)_proxy values as well
4702
4708
  // The weird IF around it ensures we don't create an envvar with
@@ -4730,7 +4736,7 @@ async function getCodeAnalysis(root, options) {
4730
4736
  }
4731
4737
  function severityToAnalysisSeverity(severity) {
4732
4738
  if (severity === legacy_1.SEVERITY.CRITICAL) {
4733
- throw new unsupported_feature_snyk_code_error_1.FeatureNotSupportedBySnykCodeError(legacy_1.SEVERITY.CRITICAL);
4739
+ throw new errors_1.FeatureNotSupportedBySnykCodeError(legacy_1.SEVERITY.CRITICAL);
4734
4740
  }
4735
4741
  const severityLevel = {
4736
4742
  low: 1,
@@ -4777,6 +4783,15 @@ function getSecurityResultsOnly(results, securityRules) {
4777
4783
  }, []);
4778
4784
  return securityResults;
4779
4785
  }
4786
+ function isLocalCodeEngine(sastSettings) {
4787
+ const { sastEnabled, localCodeEngine } = sastSettings;
4788
+ return sastEnabled && localCodeEngine.enabled;
4789
+ }
4790
+ function validateLocalCodeEngineUrl(localCodeEngineUrl) {
4791
+ if (localCodeEngineUrl.length === 0) {
4792
+ throw new errors_1.MissingConfigurationError('Local Code Engine');
4793
+ }
4794
+ }
4780
4795
 
4781
4796
 
4782
4797
  /***/ }),
@@ -4822,6 +4837,41 @@ async function trackUsage(org) {
4822
4837
  exports.trackUsage = trackUsage;
4823
4838
 
4824
4839
 
4840
+ /***/ }),
4841
+
4842
+ /***/ 61315:
4843
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4844
+
4845
+ "use strict";
4846
+
4847
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
4848
+ var missing_configuration_error_1 = __webpack_require__(73016);
4849
+ Object.defineProperty(exports, "MissingConfigurationError", ({ enumerable: true, get: function () { return missing_configuration_error_1.MissingConfigurationError; } }));
4850
+ var unsupported_feature_snyk_code_error_1 = __webpack_require__(90551);
4851
+ Object.defineProperty(exports, "FeatureNotSupportedBySnykCodeError", ({ enumerable: true, get: function () { return unsupported_feature_snyk_code_error_1.FeatureNotSupportedBySnykCodeError; } }));
4852
+
4853
+
4854
+ /***/ }),
4855
+
4856
+ /***/ 73016:
4857
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
4858
+
4859
+ "use strict";
4860
+
4861
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
4862
+ exports.MissingConfigurationError = void 0;
4863
+ const custom_error_1 = __webpack_require__(17188);
4864
+ class MissingConfigurationError extends custom_error_1.CustomError {
4865
+ constructor(action, additionalUserHelp = '') {
4866
+ super(`Missing configuration for ${action}.`);
4867
+ this.code = 422;
4868
+ this.action = action;
4869
+ this.userMessage = `'Configuration is missing or wrong for ${action}'. ${additionalUserHelp}`;
4870
+ }
4871
+ }
4872
+ exports.MissingConfigurationError = MissingConfigurationError;
4873
+
4874
+
4825
4875
  /***/ }),
4826
4876
 
4827
4877
  /***/ 90551:
@@ -4973,7 +5023,7 @@ exports.codePlugin = void 0;
4973
5023
  const chalk_1 = __webpack_require__(32589);
4974
5024
  const debugLib = __webpack_require__(15158);
4975
5025
  const analysis_1 = __webpack_require__(2806);
4976
- const validate_1 = __webpack_require__(33362);
5026
+ const settings_1 = __webpack_require__(24930);
4977
5027
  const output_format_1 = __webpack_require__(75802);
4978
5028
  const errors_1 = __webpack_require__(55191);
4979
5029
  const json_1 = __webpack_require__(27019);
@@ -4992,10 +5042,10 @@ exports.codePlugin = {
4992
5042
  var _a, _b;
4993
5043
  try {
4994
5044
  analytics.add('sast-scan', true);
4995
- await validate_1.validateCodeTest(options);
5045
+ const sastSettings = await settings_1.getSastSettings(options);
4996
5046
  // Currently code supports only one path
4997
5047
  const path = paths[0];
4998
- const sarifTypedResult = await analysis_1.getCodeAnalysisAndParseResults(path, options);
5048
+ const sarifTypedResult = await analysis_1.getCodeAnalysisAndParseResults(path, options, sastSettings);
4999
5049
  if (!sarifTypedResult) {
5000
5050
  throw new errors_1.NoSupportedSastFiles();
5001
5051
  }
@@ -5053,6 +5103,47 @@ function hasIssues(readableResult) {
5053
5103
  }
5054
5104
 
5055
5105
 
5106
+ /***/ }),
5107
+
5108
+ /***/ 24930:
5109
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
5110
+
5111
+ "use strict";
5112
+
5113
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
5114
+ exports.getSastSettings = void 0;
5115
+ const config_1 = __webpack_require__(22541);
5116
+ const checks_1 = __webpack_require__(15976);
5117
+ const errors_1 = __webpack_require__(55191);
5118
+ async function getSastSettings(options) {
5119
+ const org = options.org || config_1.default.org;
5120
+ // This is an unexpected path, code plugin executed for non-code command.
5121
+ if (!options.code) {
5122
+ throw new errors_1.FeatureNotSupportedForOrgError(org);
5123
+ }
5124
+ const sastSettingsResponse = await checks_1.getSastSettingsForOrg(org);
5125
+ if ((sastSettingsResponse === null || sastSettingsResponse === void 0 ? void 0 : sastSettingsResponse.code) === 401 ||
5126
+ (sastSettingsResponse === null || sastSettingsResponse === void 0 ? void 0 : sastSettingsResponse.code) === 403) {
5127
+ throw errors_1.AuthFailedError(sastSettingsResponse.error, sastSettingsResponse.code);
5128
+ }
5129
+ if ((sastSettingsResponse === null || sastSettingsResponse === void 0 ? void 0 : sastSettingsResponse.code) === 404) {
5130
+ throw new errors_1.NotFoundError(sastSettingsResponse === null || sastSettingsResponse === void 0 ? void 0 : sastSettingsResponse.userMessage);
5131
+ }
5132
+ if (!sastSettingsResponse.sastEnabled) {
5133
+ throw new errors_1.FeatureNotSupportedForOrgError(org, 'Snyk Code', 'enable in Settings > Snyk Code');
5134
+ }
5135
+ if (sastSettingsResponse.localCodeEngine.enabled) {
5136
+ throw new errors_1.CustomError('Snyk Code Local Engine is enabled, Snyk Code CLI is temporary disabled.');
5137
+ }
5138
+ const trackUsageResponse = await checks_1.trackUsage(org);
5139
+ if (trackUsageResponse.code === 429) {
5140
+ throw new errors_1.FailedToRunTestError(trackUsageResponse.userMessage, trackUsageResponse.code);
5141
+ }
5142
+ return sastSettingsResponse;
5143
+ }
5144
+ exports.getSastSettings = getSastSettings;
5145
+
5146
+
5056
5147
  /***/ }),
5057
5148
 
5058
5149
  /***/ 33113:
@@ -5097,46 +5188,6 @@ function analysisProgressUpdate() {
5097
5188
  exports.analysisProgressUpdate = analysisProgressUpdate;
5098
5189
 
5099
5190
 
5100
- /***/ }),
5101
-
5102
- /***/ 33362:
5103
- /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
5104
-
5105
- "use strict";
5106
-
5107
- Object.defineProperty(exports, "__esModule", ({ value: true }));
5108
- exports.validateCodeTest = void 0;
5109
- const config_1 = __webpack_require__(22541);
5110
- const checks_1 = __webpack_require__(15976);
5111
- const errors_1 = __webpack_require__(55191);
5112
- async function validateCodeTest(options) {
5113
- const org = options.org || config_1.default.org;
5114
- // This is an unexpected path, code plugin executed for non-code command.
5115
- if (!options.code) {
5116
- throw new errors_1.FeatureNotSupportedForOrgError(org);
5117
- }
5118
- const sastSettingsResponse = await checks_1.getSastSettingsForOrg(org);
5119
- if ((sastSettingsResponse === null || sastSettingsResponse === void 0 ? void 0 : sastSettingsResponse.code) === 401 ||
5120
- (sastSettingsResponse === null || sastSettingsResponse === void 0 ? void 0 : sastSettingsResponse.code) === 403) {
5121
- throw errors_1.AuthFailedError(sastSettingsResponse.error, sastSettingsResponse.code);
5122
- }
5123
- if ((sastSettingsResponse === null || sastSettingsResponse === void 0 ? void 0 : sastSettingsResponse.code) === 404) {
5124
- throw new errors_1.NotFoundError(sastSettingsResponse === null || sastSettingsResponse === void 0 ? void 0 : sastSettingsResponse.userMessage);
5125
- }
5126
- if (!sastSettingsResponse.sastEnabled) {
5127
- throw new errors_1.FeatureNotSupportedForOrgError(org, 'Snyk Code', 'enable in Settings > Snyk Code');
5128
- }
5129
- if (sastSettingsResponse.localCodeEngine.enabled) {
5130
- throw new errors_1.CustomError('Snyk Code Local Engine is enabled, Snyk Code CLI is temporary disabled.');
5131
- }
5132
- const trackUsageResponse = await checks_1.trackUsage(org);
5133
- if (trackUsageResponse.code === 429) {
5134
- throw new errors_1.FailedToRunTestError(trackUsageResponse.userMessage, trackUsageResponse.code);
5135
- }
5136
- }
5137
- exports.validateCodeTest = validateCodeTest;
5138
-
5139
-
5140
5191
  /***/ }),
5141
5192
 
5142
5193
  /***/ 8820: