snyk 1.902.0 → 1.903.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.
- package/dist/cli/450.index.js +2 -2
- package/dist/cli/450.index.js.map +1 -1
- package/dist/cli/{716.index.js → 519.index.js} +20 -20
- package/dist/cli/519.index.js.map +1 -0
- package/dist/cli/874.index.js +3 -3
- package/dist/cli/874.index.js.map +1 -1
- package/dist/cli/{459.index.js → 895.index.js} +13 -13
- package/dist/cli/895.index.js.map +1 -0
- package/dist/cli/917.index.js +370 -151
- package/dist/cli/917.index.js.map +1 -1
- package/dist/cli/99.index.js +2 -2
- package/dist/cli/99.index.js.map +1 -1
- package/dist/cli/commands/test/iac/index.d.ts +3 -0
- package/dist/cli/commands/test/{iac-local-execution → iac/local-execution}/analytics.d.ts +1 -1
- package/dist/cli/commands/test/{iac-local-execution → iac/local-execution}/assert-iac-options-flag.d.ts +1 -1
- package/dist/cli/commands/test/{iac-local-execution → iac/local-execution}/directory-loader.d.ts +0 -0
- package/dist/cli/commands/test/{iac-local-execution → iac/local-execution}/error-utils.d.ts +0 -0
- package/dist/cli/commands/test/{iac-local-execution → iac/local-execution}/extract-line-number.d.ts +0 -0
- package/dist/cli/commands/test/{iac-local-execution → iac/local-execution}/file-loader.d.ts +1 -1
- package/dist/cli/commands/test/{iac-local-execution → iac/local-execution}/file-parser.d.ts +1 -1
- package/dist/cli/commands/test/{iac-local-execution → iac/local-execution}/file-scanner.d.ts +1 -1
- package/dist/cli/commands/test/{iac-local-execution → iac/local-execution}/file-utils.d.ts +0 -0
- package/dist/cli/commands/test/{iac-local-execution → iac/local-execution}/index.d.ts +1 -1
- package/dist/cli/commands/test/{iac-local-execution → iac/local-execution}/local-cache.d.ts +1 -1
- package/dist/cli/commands/test/{iac-local-execution → iac/local-execution}/math-utils.d.ts +0 -0
- package/dist/cli/commands/test/{iac-local-execution → iac/local-execution}/measurable-methods.d.ts +0 -0
- package/dist/cli/commands/test/{iac-local-execution → iac/local-execution}/oci-pull.d.ts +1 -1
- package/dist/cli/commands/test/{iac-local-execution → iac/local-execution}/org-settings/apply-custom-severities.d.ts +0 -0
- package/dist/cli/commands/test/{iac-local-execution → iac/local-execution}/org-settings/get-iac-org-settings.d.ts +1 -1
- package/dist/cli/commands/test/{iac-local-execution → iac/local-execution}/parsers/config-type-detection.d.ts +0 -0
- package/dist/cli/commands/test/{iac-local-execution → iac/local-execution}/parsers/hcl-to-json/index.d.ts +0 -0
- package/dist/cli/commands/test/{iac-local-execution → iac/local-execution}/parsers/hcl-to-json-v2/index.d.ts +0 -0
- package/dist/cli/commands/test/{iac-local-execution → iac/local-execution}/parsers/terraform-file-parser.d.ts +1 -1
- package/dist/cli/commands/test/{iac-local-execution → iac/local-execution}/parsers/terraform-plan-parser.d.ts +1 -1
- package/dist/cli/commands/test/{iac-local-execution → iac/local-execution}/process-results/index.d.ts +2 -2
- package/dist/cli/commands/test/{iac-local-execution → iac/local-execution}/process-results/policy.d.ts +1 -1
- package/dist/cli/commands/test/{iac-local-execution → iac/local-execution}/process-results/results-formatter.d.ts +2 -2
- package/dist/cli/commands/test/{iac-local-execution → iac/local-execution}/process-results/share-results-formatter.d.ts +0 -0
- package/dist/cli/commands/test/{iac-local-execution → iac/local-execution}/process-results/share-results.d.ts +2 -2
- package/dist/cli/commands/test/{iac-local-execution → iac/local-execution}/rules.d.ts +1 -1
- package/dist/cli/commands/test/{iac-local-execution → iac/local-execution}/types.d.ts +4 -4
- package/dist/cli/commands/test/{iac-local-execution → iac/local-execution}/url-utils.d.ts +0 -0
- package/dist/cli/commands/test/{iac-local-execution → iac/local-execution}/usage-tracking.d.ts +1 -1
- package/dist/cli/commands/test/{iac-local-execution → iac/local-execution}/yaml-parser.d.ts +1 -1
- package/dist/cli/index.js +6 -6
- package/dist/cli/index.js.map +1 -1
- package/dist/lib/iac/cli-share-results.d.ts +1 -1
- package/dist/lib/iac/envelope-formatters.d.ts +1 -1
- package/package.json +1 -1
- package/dist/cli/459.index.js.map +0 -1
- package/dist/cli/716.index.js.map +0 -1
package/dist/cli/450.index.js
CHANGED
|
@@ -10,8 +10,8 @@ exports.modules = {
|
|
|
10
10
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
11
11
|
exports.UnsupportedReportCommandError = void 0;
|
|
12
12
|
const errors_1 = __webpack_require__(55191);
|
|
13
|
-
const error_utils_1 = __webpack_require__(
|
|
14
|
-
const types_1 = __webpack_require__(
|
|
13
|
+
const error_utils_1 = __webpack_require__(36401);
|
|
14
|
+
const types_1 = __webpack_require__(94820);
|
|
15
15
|
class UnsupportedReportCommandError extends errors_1.CustomError {
|
|
16
16
|
constructor(message) {
|
|
17
17
|
super(message || 'Command "report" is only supported for IaC');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"450.index.js","mappings":";;;;;;;;;;;AAAA,4CAAqD;AACrD,iDAAgF;AAChF,2CAAqE;AAErE,MAAa,6BAA8B,SAAQ,oBAAW;IAC5D,YAAY,OAAgB;QAC1B,KAAK,CAAC,OAAO,IAAI,4CAA4C,CAAC,CAAC;QAC/D,IAAI,CAAC,IAAI,GAAG,qBAAa,CAAC,6BAA6B,CAAC;QACxD,IAAI,CAAC,OAAO,GAAG,gCAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7C,IAAI,CAAC,WAAW;YACd,wEAAwE,CAAC;IAC7E,CAAC;CACF;AARD,sEAQC;;;;;;;;;;ACTD,0CAA2B;AAC3B,mDAA4D;AAE5D,4CAAkE;AAClE,0DAA6D;AAC7D,gEAAoF;AAErE,KAAK,UAAU,MAAM,CAClC,GAAG,IAAgB;IAEnB,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,yCAAkB,CAAC,GAAG,IAAI,CAAC,CAAC;IAEvD,IAAI,OAAO,CAAC,GAAG,IAAI,IAAI,EAAE;QACvB,MAAM,IAAI,0DAA6B,EAAE,CAAC;KAC3C;IAED,MAAM,qBAAqB,CAAC,OAAO,CAAC,CAAC;IAErC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAEtB,OAAO,MAAM,cAAI,CAAC,GAAG,KAAK,EAAE,OAAO,CAAC,CAAC;AACvC,CAAC;AAdD,yBAcC;AAED,KAAK,UAAU,qBAAqB,CAAC,OAAqB;IACxD,MAAM,iBAAiB,GAAG,MAAM,8BAAc,CAC5C,oBAAoB,EACpB,OAAkB,CACnB,CAAC;IACF,IAAI,CAAC,iBAAiB,EAAE;QACtB,MAAM,IAAI,oCAA2B,CAAC,oBAAoB,CAAC,CAAC;KAC7D;AACH,CAAC","sources":["webpack://snyk/./src/cli/commands/report/errors/unsupported-report-command.ts","webpack://snyk/./src/cli/commands/report/index.ts"],"sourcesContent":["import { CustomError } from '../../../../lib/errors';\nimport { getErrorStringCode } from '../../test/iac
|
|
1
|
+
{"version":3,"file":"450.index.js","mappings":";;;;;;;;;;;AAAA,4CAAqD;AACrD,iDAAgF;AAChF,2CAAqE;AAErE,MAAa,6BAA8B,SAAQ,oBAAW;IAC5D,YAAY,OAAgB;QAC1B,KAAK,CAAC,OAAO,IAAI,4CAA4C,CAAC,CAAC;QAC/D,IAAI,CAAC,IAAI,GAAG,qBAAa,CAAC,6BAA6B,CAAC;QACxD,IAAI,CAAC,OAAO,GAAG,gCAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7C,IAAI,CAAC,WAAW;YACd,wEAAwE,CAAC;IAC7E,CAAC;CACF;AARD,sEAQC;;;;;;;;;;ACTD,0CAA2B;AAC3B,mDAA4D;AAE5D,4CAAkE;AAClE,0DAA6D;AAC7D,gEAAoF;AAErE,KAAK,UAAU,MAAM,CAClC,GAAG,IAAgB;IAEnB,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,yCAAkB,CAAC,GAAG,IAAI,CAAC,CAAC;IAEvD,IAAI,OAAO,CAAC,GAAG,IAAI,IAAI,EAAE;QACvB,MAAM,IAAI,0DAA6B,EAAE,CAAC;KAC3C;IAED,MAAM,qBAAqB,CAAC,OAAO,CAAC,CAAC;IAErC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAEtB,OAAO,MAAM,cAAI,CAAC,GAAG,KAAK,EAAE,OAAO,CAAC,CAAC;AACvC,CAAC;AAdD,yBAcC;AAED,KAAK,UAAU,qBAAqB,CAAC,OAAqB;IACxD,MAAM,iBAAiB,GAAG,MAAM,8BAAc,CAC5C,oBAAoB,EACpB,OAAkB,CACnB,CAAC;IACF,IAAI,CAAC,iBAAiB,EAAE;QACtB,MAAM,IAAI,oCAA2B,CAAC,oBAAoB,CAAC,CAAC;KAC7D;AACH,CAAC","sources":["webpack://snyk/./src/cli/commands/report/errors/unsupported-report-command.ts","webpack://snyk/./src/cli/commands/report/index.ts"],"sourcesContent":["import { CustomError } from '../../../../lib/errors';\nimport { getErrorStringCode } from '../../test/iac/local-execution/error-utils';\nimport { IaCErrorCodes } from '../../test/iac/local-execution/types';\n\nexport class UnsupportedReportCommandError extends CustomError {\n constructor(message?: string) {\n super(message || 'Command \"report\" is only supported for IaC');\n this.code = IaCErrorCodes.UnsupportedReportCommandError;\n this.strCode = getErrorStringCode(this.code);\n this.userMessage =\n '\"report\" is not a supported command. Did you mean to use \"iac report\"?';\n }\n}\n","import { MethodArgs } from '../../args';\nimport { IaCTestFlags } from '../test/iac/local-execution/types';\nimport { TestCommandResult } from '../types';\nimport test from '../test';\nimport { hasFeatureFlag } from '../../../lib/feature-flags';\nimport { Options } from '../../../lib/types';\nimport { UnsupportedFeatureFlagError } from '../../../lib/errors';\nimport { processCommandArgs } from '../process-command-args';\nimport { UnsupportedReportCommandError } from './errors/unsupported-report-command';\n\nexport default async function report(\n ...args: MethodArgs\n): Promise<TestCommandResult> {\n const { paths, options } = processCommandArgs(...args);\n\n if (options.iac != true) {\n throw new UnsupportedReportCommandError();\n }\n\n await assertReportSupported(options);\n\n options.report = true;\n\n return await test(...paths, options);\n}\n\nasync function assertReportSupported(options: IaCTestFlags) {\n const isReportSupported = await hasFeatureFlag(\n 'iacCliShareResults',\n options as Options,\n );\n if (!isReportSupported) {\n throw new UnsupportedFeatureFlagError('iacCliShareResults');\n }\n}\n"],"names":[],"sourceRoot":""}
|
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
exports.id =
|
|
3
|
-
exports.ids = [
|
|
2
|
+
exports.id = 519;
|
|
3
|
+
exports.ids = [519];
|
|
4
4
|
exports.modules = {
|
|
5
5
|
|
|
6
|
-
/***/
|
|
6
|
+
/***/ 41519:
|
|
7
7
|
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
8
8
|
|
|
9
9
|
|
|
10
10
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
11
11
|
exports.addIacDriftAnalytics = exports.performanceAnalyticsObject = exports.addIacAnalytics = void 0;
|
|
12
|
-
const types_1 = __webpack_require__(
|
|
12
|
+
const types_1 = __webpack_require__(94820);
|
|
13
13
|
const analytics = __webpack_require__(82744);
|
|
14
|
-
const math_utils_1 = __webpack_require__(
|
|
15
|
-
const file_utils_1 = __webpack_require__(
|
|
14
|
+
const math_utils_1 = __webpack_require__(42095);
|
|
15
|
+
const file_utils_1 = __webpack_require__(45281);
|
|
16
16
|
const drift_1 = __webpack_require__(26445);
|
|
17
17
|
function addIacAnalytics(formattedResults, opts) {
|
|
18
18
|
let totalIssuesCount = 0;
|
|
@@ -93,7 +93,7 @@ exports.addIacDriftAnalytics = addIacDriftAnalytics;
|
|
|
93
93
|
|
|
94
94
|
/***/ }),
|
|
95
95
|
|
|
96
|
-
/***/
|
|
96
|
+
/***/ 45281:
|
|
97
97
|
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
98
98
|
|
|
99
99
|
|
|
@@ -103,8 +103,8 @@ const fs = __webpack_require__(35747);
|
|
|
103
103
|
const tar = __webpack_require__(97998);
|
|
104
104
|
const path = __webpack_require__(85622);
|
|
105
105
|
const crypto = __webpack_require__(76417);
|
|
106
|
-
const local_cache_1 = __webpack_require__(
|
|
107
|
-
const oci_pull_1 = __webpack_require__(
|
|
106
|
+
const local_cache_1 = __webpack_require__(50089);
|
|
107
|
+
const oci_pull_1 = __webpack_require__(584);
|
|
108
108
|
const detect_1 = __webpack_require__(45318);
|
|
109
109
|
const fs_1 = __webpack_require__(35747);
|
|
110
110
|
const path_1 = __webpack_require__(85622);
|
|
@@ -229,7 +229,7 @@ exports.makeFileAndDirectoryGenerator = makeFileAndDirectoryGenerator;
|
|
|
229
229
|
|
|
230
230
|
/***/ }),
|
|
231
231
|
|
|
232
|
-
/***/
|
|
232
|
+
/***/ 50089:
|
|
233
233
|
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
234
234
|
|
|
235
235
|
|
|
@@ -237,14 +237,14 @@ Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
|
237
237
|
exports.InvalidCustomRulesPath = exports.InvalidCustomRules = exports.FailedToExtractCustomRulesError = exports.FailedToDownloadRulesError = exports.FailedToInitLocalCacheError = exports.cleanLocalCache = exports.initLocalCache = exports.getLocalCachePath = exports.assertNever = exports.CUSTOM_POLICY_ENGINE_WASM_PATH = exports.LOCAL_POLICY_ENGINE_DIR = void 0;
|
|
238
238
|
const path = __webpack_require__(85622);
|
|
239
239
|
const fs = __webpack_require__(35747);
|
|
240
|
-
const types_1 = __webpack_require__(
|
|
240
|
+
const types_1 = __webpack_require__(94820);
|
|
241
241
|
const needle = __webpack_require__(64484);
|
|
242
242
|
const rimraf = __webpack_require__(50984);
|
|
243
|
-
const file_utils_1 = __webpack_require__(
|
|
243
|
+
const file_utils_1 = __webpack_require__(45281);
|
|
244
244
|
const Debug = __webpack_require__(15158);
|
|
245
245
|
const errors_1 = __webpack_require__(55191);
|
|
246
246
|
const analytics = __webpack_require__(82744);
|
|
247
|
-
const error_utils_1 = __webpack_require__(
|
|
247
|
+
const error_utils_1 = __webpack_require__(36401);
|
|
248
248
|
const debug = Debug('iac-local-cache');
|
|
249
249
|
exports.LOCAL_POLICY_ENGINE_DIR = '.iac-data';
|
|
250
250
|
const KUBERNETES_POLICY_ENGINE_WASM_PATH = path.join(exports.LOCAL_POLICY_ENGINE_DIR, 'k8s_policy.wasm');
|
|
@@ -404,7 +404,7 @@ class FailedToCleanLocalCacheError extends errors_1.CustomError {
|
|
|
404
404
|
|
|
405
405
|
/***/ }),
|
|
406
406
|
|
|
407
|
-
/***/
|
|
407
|
+
/***/ 42095:
|
|
408
408
|
/***/ ((__unused_webpack_module, exports) => {
|
|
409
409
|
|
|
410
410
|
|
|
@@ -421,7 +421,7 @@ exports.calculatePercentage = (relativeValue, totalValue) => +(totalValue ? (rel
|
|
|
421
421
|
|
|
422
422
|
/***/ }),
|
|
423
423
|
|
|
424
|
-
/***/
|
|
424
|
+
/***/ 584:
|
|
425
425
|
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
426
426
|
|
|
427
427
|
|
|
@@ -430,12 +430,12 @@ exports.UnsupportedEntitlementPullError = exports.InvalidRemoteRegistryURLError
|
|
|
430
430
|
const registryClient = __webpack_require__(28310);
|
|
431
431
|
const fs_1 = __webpack_require__(35747);
|
|
432
432
|
const path = __webpack_require__(85622);
|
|
433
|
-
const types_1 = __webpack_require__(
|
|
433
|
+
const types_1 = __webpack_require__(94820);
|
|
434
434
|
const errors_1 = __webpack_require__(55191);
|
|
435
|
-
const error_utils_1 = __webpack_require__(
|
|
436
|
-
const local_cache_1 = __webpack_require__(
|
|
435
|
+
const error_utils_1 = __webpack_require__(36401);
|
|
436
|
+
const local_cache_1 = __webpack_require__(50089);
|
|
437
437
|
const Debug = __webpack_require__(15158);
|
|
438
|
-
const file_utils_1 = __webpack_require__(
|
|
438
|
+
const file_utils_1 = __webpack_require__(45281);
|
|
439
439
|
const debug = Debug('iac-oci-pull');
|
|
440
440
|
exports.CUSTOM_RULES_TARBALL = 'custom-bundle.tar.gz';
|
|
441
441
|
function extractOCIRegistryURLComponents(OCIRegistryURL) {
|
|
@@ -538,4 +538,4 @@ exports.UnsupportedEntitlementPullError = UnsupportedEntitlementPullError;
|
|
|
538
538
|
|
|
539
539
|
};
|
|
540
540
|
;
|
|
541
|
-
//# sourceMappingURL=
|
|
541
|
+
//# sourceMappingURL=519.index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"519.index.js","mappings":"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","sources":["webpack://snyk/./src/cli/commands/test/iac/local-execution/analytics.ts","webpack://snyk/./src/cli/commands/test/iac/local-execution/file-utils.ts","webpack://snyk/./src/cli/commands/test/iac/local-execution/local-cache.ts","webpack://snyk/./src/cli/commands/test/iac/local-execution/math-utils.ts","webpack://snyk/./src/cli/commands/test/iac/local-execution/oci-pull.ts"],"sourcesContent":["import { FormattedResult, PerformanceAnalyticsKey, RulesOrigin } from './types';\nimport * as analytics from '../../../../../lib/analytics';\nimport { calculatePercentage } from './math-utils';\nimport { computeCustomRulesBundleChecksum } from './file-utils';\nimport { DescribeOptions, DriftAnalysis } from '../../../../../lib/iac/types';\nimport { driftctlVersion } from '../../../../../lib/iac/drift';\n\nexport function addIacAnalytics(\n formattedResults: FormattedResult[],\n opts: {\n ignoredIssuesCount: number;\n rulesOrigin: RulesOrigin;\n },\n): void {\n let totalIssuesCount = 0;\n const customRulesIdsFoundInIssues: { [customRuleId: string]: true } = {};\n let issuesFromCustomRulesCount = 0;\n const projectTypeAnalytics: Record<string, object> = {};\n const packageManagers = Array<string>();\n\n formattedResults.forEach((res) => {\n totalIssuesCount =\n (totalIssuesCount || 0) + res.result.cloudConfigResults.length;\n\n const projectType = res.packageManager;\n packageManagers.push(projectType);\n projectTypeAnalytics[projectType] = projectTypeAnalytics[projectType] ?? {\n count: 0,\n };\n projectTypeAnalytics[projectType]['count']++;\n\n res.result.cloudConfigResults.forEach((policy) => {\n projectTypeAnalytics[projectType][policy.severity] =\n (projectTypeAnalytics[projectType][policy.severity] || 0) + 1;\n\n if (policy.isGeneratedByCustomRule) {\n issuesFromCustomRulesCount++;\n customRulesIdsFoundInIssues[policy.publicId] = true;\n }\n });\n });\n\n const uniqueCustomRulesCount: number = Object.keys(\n customRulesIdsFoundInIssues,\n ).length;\n\n analytics.add('packageManager', Array.from(new Set(packageManagers)));\n analytics.add('iac-issues-count', totalIssuesCount);\n analytics.add('iac-ignored-issues-count', opts.ignoredIssuesCount);\n analytics.add('iac-type', projectTypeAnalytics);\n analytics.add('iac-metrics', performanceAnalyticsObject);\n analytics.add('iac-test-count', formattedResults.length); // TODO: remove this once we all analytics use iac-files-count\n analytics.add('iac-files-count', formattedResults.length);\n analytics.add(\n 'iac-local-custom-rules',\n opts.rulesOrigin === RulesOrigin.Local,\n );\n analytics.add(\n 'iac-remote-custom-rules',\n opts.rulesOrigin === RulesOrigin.Remote,\n );\n analytics.add('iac-custom-rules-issues-count', issuesFromCustomRulesCount);\n analytics.add(\n 'iac-custom-rules-issues-percentage',\n calculatePercentage(issuesFromCustomRulesCount, totalIssuesCount),\n );\n analytics.add(\n 'iac-custom-rules-checksum',\n computeCustomRulesBundleChecksum(),\n );\n analytics.add('iac-custom-rules-coverage-count', uniqueCustomRulesCount);\n}\n\nexport const performanceAnalyticsObject: Record<\n PerformanceAnalyticsKey,\n number | null\n> = {\n [PerformanceAnalyticsKey.InitLocalCache]: null,\n [PerformanceAnalyticsKey.FileLoading]: null,\n [PerformanceAnalyticsKey.FileParsing]: null,\n [PerformanceAnalyticsKey.FileScanning]: null,\n [PerformanceAnalyticsKey.OrgSettings]: null,\n [PerformanceAnalyticsKey.CustomSeverities]: null,\n [PerformanceAnalyticsKey.ResultFormatting]: null,\n [PerformanceAnalyticsKey.UsageTracking]: null,\n [PerformanceAnalyticsKey.CacheCleanup]: null,\n [PerformanceAnalyticsKey.Total]: null,\n};\n\nexport function addIacDriftAnalytics(\n analysis: DriftAnalysis,\n options: DescribeOptions,\n): void {\n analytics.add('iac-drift-coverage', analysis.coverage);\n analytics.add('iac-drift-total-resources', analysis.summary.total_resources);\n analytics.add('iac-drift-total-unmanaged', analysis.summary.total_unmanaged);\n analytics.add('iac-drift-total-managed', analysis.summary.total_managed);\n analytics.add('iac-drift-total-missing', analysis.summary.total_missing);\n analytics.add('iac-drift-total-changed', analysis.summary.total_changed);\n analytics.add(\n 'iac-drift-iac-source-count',\n analysis.summary.total_iac_source_count,\n );\n analytics.add('iac-drift-provider-name', analysis.provider_name);\n analytics.add('iac-drift-provider-version', analysis.provider_version);\n analytics.add('iac-drift-version', driftctlVersion);\n analytics.add('iac-drift-scan-duration', analysis.scan_duration);\n\n let scope = 'all';\n if (options['only-managed']) {\n scope = 'managed';\n } else if (options['only-unmanaged']) {\n scope = 'unmanaged';\n }\n analytics.add('iac-drift-scan-scope', scope);\n}\n","import * as fs from 'fs';\nimport * as tar from 'tar';\nimport * as path from 'path';\nimport * as crypto from 'crypto';\nimport {\n FailedToInitLocalCacheError,\n LOCAL_POLICY_ENGINE_DIR,\n} from './local-cache';\nimport { CUSTOM_RULES_TARBALL } from './oci-pull';\nimport { isLocalFolder } from '../../../../../lib/detect';\nimport { readdirSync } from 'fs';\nimport { join } from 'path';\n\nfunction hashData(s: string): string {\n const hashedData = crypto\n .createHash('sha1')\n .update(s)\n .digest('hex');\n return hashedData;\n}\n\nexport function createIacDir(): void {\n // this path will be able to be customised by the user in the future\n const iacPath: fs.PathLike = path.join(LOCAL_POLICY_ENGINE_DIR);\n try {\n if (!fs.existsSync(iacPath)) {\n fs.mkdirSync(iacPath, '700');\n }\n fs.accessSync(iacPath, fs.constants.W_OK);\n } catch {\n throw new FailedToInitLocalCacheError();\n }\n}\n\nexport function extractBundle(response: NodeJS.ReadableStream): Promise<void> {\n return new Promise((resolve, reject) => {\n response\n .on('error', reject)\n .pipe(\n tar.x({\n C: path.join(LOCAL_POLICY_ENGINE_DIR),\n }),\n )\n .on('finish', resolve)\n .on('error', reject);\n });\n}\n\nexport function isValidBundle(wasmPath: string, dataPath: string): boolean {\n try {\n // verify that the correct files were generated, since this is user input\n return !(!fs.existsSync(wasmPath) || !fs.existsSync(dataPath));\n } catch {\n return false;\n }\n}\n\nexport function computeCustomRulesBundleChecksum(): string | undefined {\n try {\n const customRulesPolicyWasmPath = path.join(\n LOCAL_POLICY_ENGINE_DIR,\n CUSTOM_RULES_TARBALL,\n );\n // if bundle is not configured we don't want to include the checksum\n if (!fs.existsSync(customRulesPolicyWasmPath)) {\n return;\n }\n const policyWasm = fs.readFileSync(customRulesPolicyWasmPath, 'utf8');\n return hashData(policyWasm);\n } catch (err) {\n return;\n }\n}\n\nexport function computePaths(\n filePath: string,\n pathArg = '.',\n): { targetFilePath: string; projectName: string; targetFile: string } {\n const targetFilePath = path.resolve(filePath, '.');\n\n // the absolute path is needed to compute the full project path\n const cmdPath = path.resolve(pathArg);\n\n let projectPath: string;\n let targetFile: string;\n if (!isLocalFolder(cmdPath)) {\n // if the provided path points to a file, then the project starts at the parent folder of that file\n // and the target file was provided as the path argument\n projectPath = path.dirname(cmdPath);\n targetFile = path.isAbsolute(pathArg)\n ? path.relative(process.cwd(), pathArg)\n : pathArg;\n } else {\n // otherwise, the project starts at the provided path\n // and the target file must be the relative path from the project path to the path of the scanned file\n projectPath = cmdPath;\n targetFile = path.relative(projectPath, targetFilePath);\n }\n\n return {\n targetFilePath,\n projectName: path.basename(projectPath),\n targetFile,\n };\n}\n\n/**\n * makeFileAndDirectoryGenerator is a generator function that helps walking the directory and file structure of this pathToScan\n * @param root\n * @param maxDepth? - An optional `maxDepth` argument can be provided to limit how deep in the file tree the search will go.\n * @returns {Generator<object>} - a generator which yields an object with directories or paths for the path to scan\n */\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\nexport function* makeFileAndDirectoryGenerator(root = '.', maxDepth?: number) {\n function* generatorHelper(pathToScan, currentDepth) {\n {\n yield { directory: pathToScan };\n }\n if (maxDepth !== currentDepth) {\n for (const dirent of readdirSync(pathToScan, { withFileTypes: true })) {\n if (\n dirent.isDirectory() &&\n fs.readdirSync(join(pathToScan, dirent.name)).length !== 0\n ) {\n yield* generatorHelper(\n join(pathToScan, dirent.name),\n currentDepth + 1,\n );\n } else if (dirent.isFile()) {\n yield {\n file: {\n dir: pathToScan,\n fileName: join(pathToScan, dirent.name),\n },\n };\n }\n }\n }\n }\n yield* generatorHelper(root, 0);\n}\n","import * as path from 'path';\nimport * as fs from 'fs';\nimport { EngineType, IaCErrorCodes } from './types';\nimport * as needle from 'needle';\nimport * as rimraf from 'rimraf';\nimport { createIacDir, extractBundle, isValidBundle } from './file-utils';\nimport * as Debug from 'debug';\nimport { CustomError } from '../../../../../lib/errors';\nimport * as analytics from '../../../../../lib/analytics';\nimport ReadableStream = NodeJS.ReadableStream;\nimport { getErrorStringCode } from './error-utils';\n\nconst debug = Debug('iac-local-cache');\n\nexport const LOCAL_POLICY_ENGINE_DIR = '.iac-data';\n\nconst KUBERNETES_POLICY_ENGINE_WASM_PATH = path.join(\n LOCAL_POLICY_ENGINE_DIR,\n 'k8s_policy.wasm',\n);\nconst KUBERNETES_POLICY_ENGINE_DATA_PATH = path.join(\n LOCAL_POLICY_ENGINE_DIR,\n 'k8s_data.json',\n);\nconst TERRAFORM_POLICY_ENGINE_WASM_PATH = path.join(\n LOCAL_POLICY_ENGINE_DIR,\n 'tf_policy.wasm',\n);\nconst TERRAFORM_POLICY_ENGINE_DATA_PATH = path.join(\n LOCAL_POLICY_ENGINE_DIR,\n 'tf_data.json',\n);\nconst CLOUDFORMATION_POLICY_ENGINE_WASM_PATH = path.join(\n LOCAL_POLICY_ENGINE_DIR,\n 'cloudformation_policy.wasm',\n);\nconst CLOUDFORMATION_POLICY_ENGINE_DATA_PATH = path.join(\n LOCAL_POLICY_ENGINE_DIR,\n 'cloudformation_data.json',\n);\nconst ARM_POLICY_ENGINE_WASM_PATH = path.join(\n LOCAL_POLICY_ENGINE_DIR,\n 'arm_policy.wasm',\n);\nconst ARM_POLICY_ENGINE_DATA_PATH = path.join(\n LOCAL_POLICY_ENGINE_DIR,\n 'arm_data.json',\n);\n\n// NOTE: The filenames used for the custom policy bundles match those output\n// by the `opa` CLI tool, which is why they are very generic.\nexport const CUSTOM_POLICY_ENGINE_WASM_PATH = path.join(\n LOCAL_POLICY_ENGINE_DIR,\n 'policy.wasm',\n);\nconst CUSTOM_POLICY_ENGINE_DATA_PATH = path.join(\n LOCAL_POLICY_ENGINE_DIR,\n 'data.json',\n);\n\nexport function assertNever(value: never): never {\n throw new Error(\n `Unhandled discriminated union member: ${JSON.stringify(value)}`,\n );\n}\n\nexport function getLocalCachePath(engineType: EngineType): string[] {\n switch (engineType) {\n case EngineType.Kubernetes:\n return [\n `${process.cwd()}/${KUBERNETES_POLICY_ENGINE_WASM_PATH}`,\n `${process.cwd()}/${KUBERNETES_POLICY_ENGINE_DATA_PATH}`,\n ];\n case EngineType.Terraform:\n return [\n `${process.cwd()}/${TERRAFORM_POLICY_ENGINE_WASM_PATH}`,\n `${process.cwd()}/${TERRAFORM_POLICY_ENGINE_DATA_PATH}`,\n ];\n case EngineType.CloudFormation:\n return [\n `${process.cwd()}/${CLOUDFORMATION_POLICY_ENGINE_WASM_PATH}`,\n `${process.cwd()}/${CLOUDFORMATION_POLICY_ENGINE_DATA_PATH}`,\n ];\n case EngineType.ARM:\n return [\n `${process.cwd()}/${ARM_POLICY_ENGINE_WASM_PATH}`,\n `${process.cwd()}/${ARM_POLICY_ENGINE_DATA_PATH}`,\n ];\n case EngineType.Custom:\n return [\n `${process.cwd()}/${CUSTOM_POLICY_ENGINE_WASM_PATH}`,\n `${process.cwd()}/${CUSTOM_POLICY_ENGINE_DATA_PATH}`,\n ];\n default:\n assertNever(engineType);\n }\n}\n\nexport async function initLocalCache({\n customRulesPath,\n}: { customRulesPath?: string } = {}): Promise<void> {\n try {\n createIacDir();\n } catch (e) {\n throw new FailedToInitLocalCacheError();\n }\n\n // Attempt to extract the custom rules from the path provided.\n if (customRulesPath) {\n if (!fs.existsSync(customRulesPath)) {\n throw new InvalidCustomRulesPath(customRulesPath);\n }\n\n try {\n const response = fs.createReadStream(customRulesPath);\n await extractBundle(response);\n } catch (e) {\n throw new FailedToExtractCustomRulesError(customRulesPath);\n }\n\n if (\n !isValidBundle(\n CUSTOM_POLICY_ENGINE_WASM_PATH,\n CUSTOM_POLICY_ENGINE_DATA_PATH,\n )\n ) {\n throw new InvalidCustomRules(customRulesPath);\n }\n }\n\n // We extract the Snyk rules after the custom rules to ensure our files\n // always overwrite whatever might be there.\n try {\n const BUNDLE_URL = 'https://static.snyk.io/cli/wasm/bundle.tar.gz';\n const response: ReadableStream = needle.get(BUNDLE_URL);\n await extractBundle(response);\n } catch (e) {\n throw new FailedToDownloadRulesError();\n }\n}\n\nexport function cleanLocalCache() {\n // path to delete is hardcoded for now\n const iacPath: fs.PathLike = path.join(\n `${process.cwd()}`,\n LOCAL_POLICY_ENGINE_DIR,\n );\n try {\n // when we support Node version >= 12.10.0 , we can replace rimraf\n // with the native fs.rmdirSync(path, {recursive: true})\n rimraf.sync(iacPath);\n } catch (e) {\n const err = new FailedToCleanLocalCacheError();\n analytics.add('error-code', err.code);\n debug('The local cache directory could not be deleted');\n }\n}\n\nexport class FailedToInitLocalCacheError extends CustomError {\n constructor(message?: string) {\n super(message || 'Failed to initialize local cache');\n this.code = IaCErrorCodes.FailedToInitLocalCacheError;\n this.strCode = getErrorStringCode(this.code);\n this.userMessage =\n 'We were unable to create a local directory to store the test assets, please ensure that the current working directory is writable';\n }\n}\n\nexport class FailedToDownloadRulesError extends CustomError {\n constructor(message?: string) {\n super(message || 'Failed to download policies');\n this.code = IaCErrorCodes.FailedToDownloadRulesError;\n this.strCode = getErrorStringCode(this.code);\n this.userMessage =\n 'We were unable to download the security rules, please ensure the network can access https://static.snyk.io';\n }\n}\n\nexport class FailedToExtractCustomRulesError extends CustomError {\n constructor(path: string, message?: string) {\n super(message || 'Failed to download policies');\n this.code = IaCErrorCodes.FailedToExtractCustomRulesError;\n this.strCode = getErrorStringCode(this.code);\n this.userMessage = `We were unable to extract the rules provided at: ${path}. The provided bundle may be corrupted or invalid. Please ensure it was generated using the 'snyk-iac-rules' SDK`;\n }\n}\n\nexport class InvalidCustomRules extends CustomError {\n constructor(path: string, message?: string) {\n super(message || 'Invalid custom rules bundle');\n this.code = IaCErrorCodes.InvalidCustomRules;\n this.strCode = getErrorStringCode(this.code);\n this.userMessage = `We were unable to extract the rules provided at: ${path}. The provided bundle does not match the required structure. Please ensure it was generated using the 'snyk-iac-rules' SDK`;\n }\n}\n\nexport class InvalidCustomRulesPath extends CustomError {\n constructor(path: string, message?: string) {\n super(message || 'Invalid path to custom rules bundle');\n this.code = IaCErrorCodes.InvalidCustomRulesPath;\n this.strCode = getErrorStringCode(this.code);\n this.userMessage = `We were unable to extract the rules provided at: ${path}. The bundle at the provided path does not exist`;\n }\n}\n\nclass FailedToCleanLocalCacheError extends CustomError {\n constructor(message?: string) {\n super(message || 'Failed to clean local cache');\n this.code = IaCErrorCodes.FailedToCleanLocalCacheError;\n this.strCode = getErrorStringCode(this.code);\n this.userMessage = ''; // Not a user facing error.\n }\n}\n","/**\n * Calculate percentage from relative and total amounts.\n * @param relativeValue The relative amount.\n * @param totalValue The total amount.\n * @returns The calculated precentage.\n */\nexport const calculatePercentage = (\n relativeValue: number,\n totalValue: number,\n): number => +(totalValue ? (relativeValue / totalValue) * 100 : 0).toFixed(2);\n","import * as registryClient from '@snyk/docker-registry-v2-client';\nimport { promises as fs } from 'fs';\nimport * as path from 'path';\nimport {\n IaCErrorCodes,\n ImageManifest,\n ManifestConfig,\n OCIPullOptions,\n OCIRegistryURLComponents,\n} from './types';\nimport { CustomError } from '../../../../../lib/errors';\nimport { getErrorStringCode } from './error-utils';\nimport { LOCAL_POLICY_ENGINE_DIR } from './local-cache';\nimport * as Debug from 'debug';\nimport { createIacDir } from './file-utils';\nconst debug = Debug('iac-oci-pull');\n\nexport const CUSTOM_RULES_TARBALL = 'custom-bundle.tar.gz';\n\nexport function extractOCIRegistryURLComponents(\n OCIRegistryURL: string,\n): OCIRegistryURLComponents {\n try {\n const urlWithoutProtocol = OCIRegistryURL.includes('://')\n ? OCIRegistryURL.split('://')[1]\n : OCIRegistryURL;\n\n const firstSlashIdx = urlWithoutProtocol.indexOf('/');\n if (firstSlashIdx === -1) {\n throw new InvalidRemoteRegistryURLError(OCIRegistryURL);\n }\n\n const [registryHost, repoWithTag] = [\n urlWithoutProtocol.substring(0, firstSlashIdx),\n urlWithoutProtocol.substring(firstSlashIdx + 1),\n ];\n if (!registryHost || !repoWithTag) {\n throw new InvalidRemoteRegistryURLError(OCIRegistryURL);\n }\n\n const [repo, tag = 'latest'] = repoWithTag.split(':');\n if (!repo) {\n throw new InvalidRemoteRegistryURLError(OCIRegistryURL);\n }\n\n return { registryBase: registryHost, repo, tag };\n } catch {\n throw new InvalidRemoteRegistryURLError(OCIRegistryURL);\n }\n}\n\n/**\n * Downloads an OCI Artifact from a remote OCI Registry and writes it to the disk.\n * The artifact here is a custom rules bundle stored in a remote registry.\n * In order to do that, it calls an external docker registry v2 client to get the manifests, the layers and then builds the artifact.\n * Example: https://github.com/opencontainers/image-spec/blob/main/manifest.md#example-image-manifest\n * @param OCIRegistryURL - the URL where the custom rules bundle is stored\n * @param opt????? (optional) - object that holds the credentials and other metadata required for the registry-v2-client\n **/\nexport async function pull(\n { registryBase, repo, tag }: OCIRegistryURLComponents,\n opt?: OCIPullOptions,\n): Promise<string> {\n const manifest: ImageManifest = await registryClient.getManifest(\n registryBase,\n repo,\n tag,\n opt?.username,\n opt?.password,\n opt?.reqOptions,\n );\n if (manifest.schemaVersion !== 2) {\n throw new InvalidManifestSchemaVersionError(\n manifest.schemaVersion.toString(),\n );\n }\n const manifestLayers: ManifestConfig[] = manifest.layers;\n // We assume that we will always have an artifact of a single layer\n if (manifestLayers.length > 1) {\n debug('There were more than one layers found in the OCI Artifact.');\n }\n const blob = await registryClient.getLayer(\n registryBase,\n repo,\n manifestLayers[0].digest,\n opt?.username,\n opt?.password,\n opt?.reqOptions,\n );\n\n try {\n const downloadPath: string = path.join(\n LOCAL_POLICY_ENGINE_DIR,\n CUSTOM_RULES_TARBALL,\n );\n createIacDir();\n await fs.writeFile(downloadPath, blob);\n return downloadPath;\n } catch (err) {\n throw new FailedToBuildOCIArtifactError();\n }\n}\n\nexport class FailedToBuildOCIArtifactError extends CustomError {\n constructor(message?: string) {\n super(message || 'Could not build OCI Artifact');\n this.code = IaCErrorCodes.FailedToBuildOCIArtifactError;\n this.strCode = getErrorStringCode(this.code);\n this.userMessage =\n 'We were unable to build the remote OCI Artifact locally, please ensure that the local directory is writeable.';\n }\n}\n\nexport class InvalidManifestSchemaVersionError extends CustomError {\n constructor(message?: string) {\n super(message || 'Invalid manifest schema version');\n this.code = IaCErrorCodes.InvalidRemoteRegistryURLError;\n this.strCode = getErrorStringCode(this.code);\n this.userMessage = `Invalid manifest schema version: ${message}. We currently support Image Manifest Version 2, Schema 2`;\n }\n}\n\nexport class InvalidRemoteRegistryURLError extends CustomError {\n constructor(url?: string) {\n super('Invalid URL for Remote Registry');\n this.code = IaCErrorCodes.InvalidRemoteRegistryURLError;\n this.strCode = getErrorStringCode(this.code);\n this.userMessage = `The provided remote registry URL${\n url ? `: \"${url}\"` : ''\n } is invalid. Please check it again.`;\n }\n}\n\nexport class UnsupportedEntitlementPullError extends CustomError {\n constructor(entitlement: string) {\n super(`OCI Pull not supported - Missing the ${entitlement} entitlement`);\n this.code = IaCErrorCodes.UnsupportedEntitlementPullError;\n this.strCode = getErrorStringCode(this.code);\n this.userMessage = `The custom rules feature is currently not supported for this org. To enable it, please contact snyk support.`;\n }\n}\n"],"names":[],"sourceRoot":""}
|
package/dist/cli/874.index.js
CHANGED
|
@@ -92,10 +92,10 @@ Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
|
92
92
|
const process_command_args_1 = __webpack_require__(52369);
|
|
93
93
|
const legacyError = __webpack_require__(79407);
|
|
94
94
|
const drift_1 = __webpack_require__(26445);
|
|
95
|
-
const get_iac_org_settings_1 = __webpack_require__(
|
|
96
|
-
const assert_iac_options_flag_1 = __webpack_require__(
|
|
95
|
+
const get_iac_org_settings_1 = __webpack_require__(11693);
|
|
96
|
+
const assert_iac_options_flag_1 = __webpack_require__(33111);
|
|
97
97
|
const config_1 = __webpack_require__(22541);
|
|
98
|
-
const analytics_1 = __webpack_require__(
|
|
98
|
+
const analytics_1 = __webpack_require__(41519);
|
|
99
99
|
const analytics = __webpack_require__(82744);
|
|
100
100
|
const policy_1 = __webpack_require__(32615);
|
|
101
101
|
const describe_required_argument_error_1 = __webpack_require__(37541);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"874.index.js","mappings":"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","sources":["webpack://snyk/./node_modules/env-paths/index.js","webpack://snyk/./src/cli/commands/describe.ts","webpack://snyk/./src/cli/commands/help/index.ts","webpack://snyk/./src/cli/commands/help/markdown-renderer.ts","webpack://snyk/./src/cli/commands/help/reflow-text.ts","webpack://snyk/./src/cli/commands/process-command-args.ts","webpack://snyk/./src/lib/policy/find-and-load-policy.ts","webpack://snyk/./src/lib/policy/index.ts","webpack://snyk/./src/lib/policy/pluck-policies.ts"],"sourcesContent":["'use strict';\nconst path = require('path');\nconst os = require('os');\n\nconst homedir = os.homedir();\nconst tmpdir = os.tmpdir();\nconst {env} = process;\n\nconst macos = name => {\n\tconst library = path.join(homedir, 'Library');\n\n\treturn {\n\t\tdata: path.join(library, 'Application Support', name),\n\t\tconfig: path.join(library, 'Preferences', name),\n\t\tcache: path.join(library, 'Caches', name),\n\t\tlog: path.join(library, 'Logs', name),\n\t\ttemp: path.join(tmpdir, name)\n\t};\n};\n\nconst windows = name => {\n\tconst appData = env.APPDATA || path.join(homedir, 'AppData', 'Roaming');\n\tconst localAppData = env.LOCALAPPDATA || path.join(homedir, 'AppData', 'Local');\n\n\treturn {\n\t\t// Data/config/cache/log are invented by me as Windows isn't opinionated about this\n\t\tdata: path.join(localAppData, name, 'Data'),\n\t\tconfig: path.join(appData, name, 'Config'),\n\t\tcache: path.join(localAppData, name, 'Cache'),\n\t\tlog: path.join(localAppData, name, 'Log'),\n\t\ttemp: path.join(tmpdir, name)\n\t};\n};\n\n// https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html\nconst linux = name => {\n\tconst username = path.basename(homedir);\n\n\treturn {\n\t\tdata: path.join(env.XDG_DATA_HOME || path.join(homedir, '.local', 'share'), name),\n\t\tconfig: path.join(env.XDG_CONFIG_HOME || path.join(homedir, '.config'), name),\n\t\tcache: path.join(env.XDG_CACHE_HOME || path.join(homedir, '.cache'), name),\n\t\t// https://wiki.debian.org/XDGBaseDirectorySpecification#state\n\t\tlog: path.join(env.XDG_STATE_HOME || path.join(homedir, '.local', 'state'), name),\n\t\ttemp: path.join(tmpdir, username, name)\n\t};\n};\n\nconst envPaths = (name, options) => {\n\tif (typeof name !== 'string') {\n\t\tthrow new TypeError(`Expected string, got ${typeof name}`);\n\t}\n\n\toptions = Object.assign({suffix: 'nodejs'}, options);\n\n\tif (options.suffix) {\n\t\t// Add suffix to prevent possible conflict with native apps\n\t\tname += `-${options.suffix}`;\n\t}\n\n\tif (process.platform === 'darwin') {\n\t\treturn macos(name);\n\t}\n\n\tif (process.platform === 'win32') {\n\t\treturn windows(name);\n\t}\n\n\treturn linux(name);\n};\n\nmodule.exports = envPaths;\n// TODO: Remove this for the next major release\nmodule.exports.default = envPaths;\n","import { MethodArgs } from '../args';\nimport { processCommandArgs } from './process-command-args';\nimport * as legacyError from '../../lib/errors/legacy-errors';\nimport {\n DCTL_EXIT_CODES,\n runDriftCTL,\n driftignoreFromPolicy,\n parseDriftAnalysisResults,\n processDriftctlOutput,\n} from '../../lib/iac/drift';\nimport { getIacOrgSettings } from './test/iac-local-execution/org-settings/get-iac-org-settings';\nimport { UnsupportedEntitlementCommandError } from './test/iac-local-execution/assert-iac-options-flag';\nimport config from '../../lib/config';\nimport { addIacDriftAnalytics } from './test/iac-local-execution/analytics';\nimport * as analytics from '../../lib/analytics';\nimport { findAndLoadPolicy } from '../../lib/policy';\nimport { DescribeRequiredArgumentError } from '../../lib/errors/describe-required-argument-error';\nimport help from './help';\n\nexport default async (...args: MethodArgs): Promise<any> => {\n const { options } = processCommandArgs(...args);\n\n // Ensure that this describe command can only be runned when using `snyk iac describe`\n // Avoid `snyk describe` direct usage\n if (options.iac != true) {\n return legacyError('describe');\n }\n\n // Ensure that we are allowed to run that command\n // by checking the entitlement\n const orgPublicId = options.org ?? config.org;\n const iacOrgSettings = await getIacOrgSettings(orgPublicId);\n if (!iacOrgSettings.entitlements?.iacDrift) {\n throw new UnsupportedEntitlementCommandError('drift', 'iacDrift');\n }\n\n const policy = await findAndLoadPolicy(process.cwd(), 'iac', options);\n const driftIgnore = driftignoreFromPolicy(policy);\n\n try {\n const describe = await runDriftCTL({\n options: { ...options, kind: 'describe' },\n driftIgnore: driftIgnore,\n });\n analytics.add('is-iac-drift', true);\n analytics.add('iac-drift-exit-code', describe.code);\n if (describe.code === DCTL_EXIT_CODES.EXIT_ERROR) {\n process.exitCode = describe.code;\n throw new Error();\n }\n\n // Parse analysis JSON and add to analytics\n const analysis = parseDriftAnalysisResults(describe.stdout);\n addIacDriftAnalytics(analysis, options);\n\n const fmtResult = await runDriftCTL({\n options: { ...options, kind: 'fmt' },\n input: describe.stdout,\n });\n process.stdout.write(processDriftctlOutput(options, fmtResult.stdout));\n process.exitCode = describe.code;\n } catch (e) {\n if (e instanceof DescribeRequiredArgumentError) {\n // when missing a required arg we will display help to explain\n const helpMsg = await help('iac', 'describe');\n console.log(helpMsg);\n }\n return Promise.reject(e);\n }\n};\n","import * as fs from 'fs';\nimport * as path from 'path';\nimport { MethodArgs } from '../../args';\nimport { renderMarkdown } from './markdown-renderer';\n\nexport function findHelpFile(\n helpArgs: string[],\n helpFolderPath = '../../help/cli-commands', // this is a relative path from the webpack dist directory,\n): string {\n while (helpArgs.length > 0) {\n // cleanse the filename to only contain letters\n // aka: /\\W/g but figured this was easier to read\n const file = `${helpArgs.join('-').replace(/[^a-z0-9-]/gi, '')}.md`;\n const testHelpAbsolutePath = path.resolve(__dirname, helpFolderPath, file);\n if (fs.existsSync(testHelpAbsolutePath)) {\n return testHelpAbsolutePath;\n }\n helpArgs = helpArgs.slice(0, -1);\n }\n return path.resolve(__dirname, helpFolderPath, `README.md`); // Default help file\n}\n\nexport default async function help(...args: MethodArgs): Promise<string> {\n const helpArgs = args.filter((arg): arg is string => typeof arg === 'string');\n const helpFileAbsolutePath = findHelpFile(helpArgs);\n return renderMarkdown(fs.readFileSync(helpFileAbsolutePath, 'utf8'));\n}\n","import { marked } from 'marked';\nimport chalk from 'chalk';\nimport { reflowText } from './reflow-text';\n\n// stateful variable to control left-padding by header level\nlet currentHeader = 1;\nconst listItemSeparator = 'LISTITEMSEPARATOR'; // Helper string for rendering ListItems\n\n/**\n * @description get padding spaces depending on the last header level used\n * @returns string\n */\nfunction getLeftTextPadding(): string {\n return ' '.repeat(\n currentHeader === 1 || currentHeader === 2 ? 1 : currentHeader - 1,\n );\n}\n\n/**\n * @description Reads current terminal width if available to limit column width for text-reflowing\n * @returns {number}\n */\nconst defaultMaximumLineWidth = 100;\nfunction getIdealTextWidth(maximumLineWidth = defaultMaximumLineWidth): number {\n if (typeof process.stdout.columns === 'number') {\n if (process.stdout.columns < maximumLineWidth) {\n return process.stdout.columns - getLeftTextPadding().length - 5;\n }\n }\n return maximumLineWidth - getLeftTextPadding().length;\n}\n\n// Marked custom renderer class\nconst renderer = {\n em(text) {\n return chalk.italic(text);\n },\n strong(text) {\n return chalk.bold(text);\n },\n link(href, title, text) {\n // Don't render links to relative paths (like local files)\n if (href.startsWith('./') || !href.includes('://')) {\n return text;\n }\n const renderedLink = chalk.bold.blueBright(href);\n if (text && text !== href) {\n return `${text} ${renderedLink}`;\n }\n return renderedLink;\n },\n blockquote(quote) {\n return quote;\n },\n list(body, ordered, start) {\n return (\n body\n .split(listItemSeparator)\n .map((listItem, listItemIndex) => {\n const bulletPoint = ordered ? `${listItemIndex + start}. ` : '- ';\n return reflowText(listItem, getIdealTextWidth())\n .split('\\n')\n .map((listItemLine, listItemLineIndex) => {\n if (!listItemLine) {\n return '';\n }\n return `${getLeftTextPadding()}${\n listItemLineIndex === 0 ? bulletPoint : ' '\n }${listItemLine}`;\n })\n .join('\\n');\n })\n .join('\\n') + '\\n'\n );\n },\n listitem(text) {\n return text + listItemSeparator;\n },\n paragraph(text) {\n return (\n reflowText(text, getIdealTextWidth())\n .split('\\n')\n .map((s) => getLeftTextPadding() + chalk.reset() + s)\n .join('\\n') + '\\n\\n'\n );\n },\n codespan(text) {\n return chalk.italic.blueBright(`${text}`);\n },\n code(code) {\n return (\n code\n .split('\\n')\n .map((s) => getLeftTextPadding() + chalk.reset() + s)\n .join('\\n') + '\\n\\n'\n );\n },\n heading(text, level) {\n currentHeader = level;\n let coloring;\n switch (level) {\n case 1:\n coloring = chalk.bold.underline;\n break;\n case 3:\n case 4:\n coloring = chalk;\n break;\n default:\n coloring = chalk.bold;\n break;\n }\n return `${' '.repeat(level === 1 ? 0 : currentHeader - 2)}${coloring(\n text,\n )}\\n`;\n },\n};\n\nmarked.use({ renderer });\nmarked.setOptions({\n mangle: false,\n});\n\nconst htmlUnescapes = {\n '&': '&',\n '<': '<',\n '>': '>',\n '"': '\"',\n ''': \"'\",\n '`': '`',\n ' ': '',\n};\n\n/**\n * @description Replace HTML entities with their non-encoded variant\n * @param {string} text\n * @returns {string}\n */\nfunction unescape(text: string): string {\n Object.entries(htmlUnescapes).forEach(([escapedChar, unescapedChar]) => {\n const escapedCharRegExp = new RegExp(escapedChar, 'g');\n text = text.replace(escapedCharRegExp, unescapedChar);\n });\n return text;\n}\n\nexport function renderMarkdown(markdown: string): string {\n return unescape(marked.parse(markdown));\n}\n","/**\nCode in this file is adapted from mikaelbr/marked-terminal\nhttps://github.com/mikaelbr/marked-terminal/blob/7501b8bb24a5ed52ec7d9114d4aeefa14f1bf5e6/index.js#L234-L330\n\n\nMIT License\n\nCopyright (c) 2017 Mikael Brevik\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n */\n\n// Compute length of str not including ANSI escape codes.\n// See http://en.wikipedia.org/wiki/ANSI_escape_code#graphics\nfunction textLength(str: string): number {\n // eslint-disable-next-line no-control-regex\n return str.replace(/\\u001b\\[(?:\\d{1,3})(?:;\\d{1,3})*m/g, '').length;\n}\n\n// Munge \\n's and spaces in \"text\" so that the number of\n// characters between \\n's is less than or equal to \"width\".\nexport function reflowText(text: string, width: number): string {\n const HARD_RETURN = '\\r|\\n';\n const HARD_RETURN_GFM_RE = new RegExp(HARD_RETURN + '|<br ?/?>');\n\n const splitRe = HARD_RETURN_GFM_RE;\n const sections = text.split(splitRe);\n const reflowed = [] as string[];\n\n sections.forEach((section) => {\n // Split the section by escape codes so that we can\n // deal with them separately.\n // eslint-disable-next-line no-control-regex\n const fragments = section.split(/(\\u001b\\[(?:\\d{1,3})(?:;\\d{1,3})*m)/g);\n let column = 0;\n let currentLine = '';\n let lastWasEscapeChar = false;\n\n while (fragments.length) {\n const fragment = fragments[0];\n\n if (fragment === '') {\n fragments.splice(0, 1);\n lastWasEscapeChar = false;\n continue;\n }\n\n // This is an escape code - leave it whole and\n // move to the next fragment.\n if (!textLength(fragment)) {\n currentLine += fragment;\n fragments.splice(0, 1);\n lastWasEscapeChar = true;\n continue;\n }\n\n const words = fragment.split(/[ \\t\\n]+/);\n\n for (let i = 0; i < words.length; i++) {\n let word = words[i];\n let addSpace = column != 0;\n if (lastWasEscapeChar) addSpace = false;\n\n // If adding the new word overflows the required width\n if (column + word.length > width) {\n if (word.length <= width) {\n // If the new word is smaller than the required width\n // just add it at the beginning of a new line\n reflowed.push(currentLine);\n currentLine = word;\n column = word.length;\n } else {\n // If the new word is longer than the required width\n // split this word into smaller parts.\n const w = word.substr(0, width - column);\n if (addSpace) currentLine += ' ';\n currentLine += w;\n reflowed.push(currentLine);\n currentLine = '';\n column = 0;\n\n word = word.substr(w.length);\n while (word.length) {\n const w = word.substr(0, width);\n\n if (!w.length) break;\n\n if (w.length < width) {\n currentLine = w;\n column = w.length;\n break;\n } else {\n reflowed.push(w);\n word = word.substr(width);\n }\n }\n }\n } else {\n if (addSpace) {\n currentLine += ' ';\n column++;\n }\n\n currentLine += word;\n column += word.length;\n }\n\n lastWasEscapeChar = false;\n }\n\n fragments.splice(0, 1);\n }\n\n if (textLength(currentLine)) reflowed.push(currentLine);\n });\n\n return reflowed.join('\\n');\n}\n","import { Options } from '../../lib/types';\n\nexport function processCommandArgs<CommandOptions>(\n ...args\n): { paths: string[]; options: Options & CommandOptions } {\n let options = ({} as any) as Options & CommandOptions;\n\n if (typeof args[args.length - 1] === 'object') {\n options = (args.pop() as any) as Options & CommandOptions;\n }\n args = args.filter(Boolean);\n\n // For repository scanning, populate with default path (cwd) if no path given\n if (args.length === 0 && !options.docker) {\n args.unshift(process.cwd());\n }\n\n return { options, paths: args };\n}\n","import * as snykPolicyLib from 'snyk-policy';\nimport * as debugModule from 'debug';\nimport { PackageExpanded } from 'snyk-resolve-deps';\n\nimport { pluckPolicies } from '.';\nimport { SupportedPackageManagers } from '../package-managers';\nimport { PackageJson, PolicyOptions } from '../types';\nimport * as analytics from '../analytics';\n\nconst debug = debugModule('snyk');\n\nexport async function findAndLoadPolicy(\n root: string,\n scanType: SupportedPackageManagers | 'docker' | 'iac' | 'cpp',\n options: PolicyOptions,\n pkg?: PackageExpanded,\n scannedProjectFolder?: string,\n): Promise<Policy | undefined> {\n const isDocker = scanType === 'docker';\n const isNodeProject = ['npm', 'yarn'].includes(scanType);\n // monitor\n let policyLocations: string[] = [\n options['policy-path'] || scannedProjectFolder || root,\n ];\n if (isDocker) {\n policyLocations = policyLocations.filter((loc) => loc !== root);\n } else if (isNodeProject) {\n // TODO: pluckPolicies expects a package.json object to\n // find and apply policies in node_modules\n policyLocations = policyLocations.concat(pluckPolicies(pkg as PackageJson));\n }\n\n debug('Potential policy locations found:', policyLocations);\n analytics.add('policies', policyLocations.length);\n analytics.add('policyLocations', policyLocations);\n\n if (policyLocations.length === 0) {\n return;\n }\n let policy;\n try {\n policy = await snykPolicyLib.load(policyLocations, options);\n } catch (err) {\n // note: inline catch, to handle error from .load\n // if the .snyk file wasn't found, it is fine\n if (err.code !== 'ENOENT' && err.code !== 'ENOTDIR') {\n throw err;\n }\n }\n return policy;\n}\n\nexport interface Policy {\n filter(vulns: any, root?: string, matchStrategy?: string): any;\n exclude?: { [key: string]: string[] };\n ignore?: any;\n}\n","export { pluckPolicies } from './pluck-policies';\nexport { findAndLoadPolicy } from './find-and-load-policy';\n","const flatten = require('lodash.flatten');\nimport { PackageExpanded } from 'snyk-resolve-deps';\n\nexport function pluckPolicies(pkg: PackageExpanded): string[] | string {\n if (!pkg) {\n return [];\n }\n\n if (pkg.snyk) {\n return pkg.snyk;\n }\n\n if (!pkg.dependencies) {\n return [];\n }\n\n return flatten(\n Object.keys(pkg.dependencies)\n .map((name: string) => pluckPolicies(pkg.dependencies[name]))\n .filter(Boolean),\n );\n}\n"],"names":[],"sourceRoot":""}
|
|
1
|
+
{"version":3,"file":"874.index.js","mappings":"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","sources":["webpack://snyk/./node_modules/env-paths/index.js","webpack://snyk/./src/cli/commands/describe.ts","webpack://snyk/./src/cli/commands/help/index.ts","webpack://snyk/./src/cli/commands/help/markdown-renderer.ts","webpack://snyk/./src/cli/commands/help/reflow-text.ts","webpack://snyk/./src/cli/commands/process-command-args.ts","webpack://snyk/./src/lib/policy/find-and-load-policy.ts","webpack://snyk/./src/lib/policy/index.ts","webpack://snyk/./src/lib/policy/pluck-policies.ts"],"sourcesContent":["'use strict';\nconst path = require('path');\nconst os = require('os');\n\nconst homedir = os.homedir();\nconst tmpdir = os.tmpdir();\nconst {env} = process;\n\nconst macos = name => {\n\tconst library = path.join(homedir, 'Library');\n\n\treturn {\n\t\tdata: path.join(library, 'Application Support', name),\n\t\tconfig: path.join(library, 'Preferences', name),\n\t\tcache: path.join(library, 'Caches', name),\n\t\tlog: path.join(library, 'Logs', name),\n\t\ttemp: path.join(tmpdir, name)\n\t};\n};\n\nconst windows = name => {\n\tconst appData = env.APPDATA || path.join(homedir, 'AppData', 'Roaming');\n\tconst localAppData = env.LOCALAPPDATA || path.join(homedir, 'AppData', 'Local');\n\n\treturn {\n\t\t// Data/config/cache/log are invented by me as Windows isn't opinionated about this\n\t\tdata: path.join(localAppData, name, 'Data'),\n\t\tconfig: path.join(appData, name, 'Config'),\n\t\tcache: path.join(localAppData, name, 'Cache'),\n\t\tlog: path.join(localAppData, name, 'Log'),\n\t\ttemp: path.join(tmpdir, name)\n\t};\n};\n\n// https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html\nconst linux = name => {\n\tconst username = path.basename(homedir);\n\n\treturn {\n\t\tdata: path.join(env.XDG_DATA_HOME || path.join(homedir, '.local', 'share'), name),\n\t\tconfig: path.join(env.XDG_CONFIG_HOME || path.join(homedir, '.config'), name),\n\t\tcache: path.join(env.XDG_CACHE_HOME || path.join(homedir, '.cache'), name),\n\t\t// https://wiki.debian.org/XDGBaseDirectorySpecification#state\n\t\tlog: path.join(env.XDG_STATE_HOME || path.join(homedir, '.local', 'state'), name),\n\t\ttemp: path.join(tmpdir, username, name)\n\t};\n};\n\nconst envPaths = (name, options) => {\n\tif (typeof name !== 'string') {\n\t\tthrow new TypeError(`Expected string, got ${typeof name}`);\n\t}\n\n\toptions = Object.assign({suffix: 'nodejs'}, options);\n\n\tif (options.suffix) {\n\t\t// Add suffix to prevent possible conflict with native apps\n\t\tname += `-${options.suffix}`;\n\t}\n\n\tif (process.platform === 'darwin') {\n\t\treturn macos(name);\n\t}\n\n\tif (process.platform === 'win32') {\n\t\treturn windows(name);\n\t}\n\n\treturn linux(name);\n};\n\nmodule.exports = envPaths;\n// TODO: Remove this for the next major release\nmodule.exports.default = envPaths;\n","import { MethodArgs } from '../args';\nimport { processCommandArgs } from './process-command-args';\nimport * as legacyError from '../../lib/errors/legacy-errors';\nimport {\n DCTL_EXIT_CODES,\n runDriftCTL,\n driftignoreFromPolicy,\n parseDriftAnalysisResults,\n processDriftctlOutput,\n} from '../../lib/iac/drift';\nimport { getIacOrgSettings } from './test/iac/local-execution/org-settings/get-iac-org-settings';\nimport { UnsupportedEntitlementCommandError } from './test/iac/local-execution/assert-iac-options-flag';\nimport config from '../../lib/config';\nimport { addIacDriftAnalytics } from './test/iac/local-execution/analytics';\nimport * as analytics from '../../lib/analytics';\nimport { findAndLoadPolicy } from '../../lib/policy';\nimport { DescribeRequiredArgumentError } from '../../lib/errors/describe-required-argument-error';\nimport help from './help';\n\nexport default async (...args: MethodArgs): Promise<any> => {\n const { options } = processCommandArgs(...args);\n\n // Ensure that this describe command can only be runned when using `snyk iac describe`\n // Avoid `snyk describe` direct usage\n if (options.iac != true) {\n return legacyError('describe');\n }\n\n // Ensure that we are allowed to run that command\n // by checking the entitlement\n const orgPublicId = options.org ?? config.org;\n const iacOrgSettings = await getIacOrgSettings(orgPublicId);\n if (!iacOrgSettings.entitlements?.iacDrift) {\n throw new UnsupportedEntitlementCommandError('drift', 'iacDrift');\n }\n\n const policy = await findAndLoadPolicy(process.cwd(), 'iac', options);\n const driftIgnore = driftignoreFromPolicy(policy);\n\n try {\n const describe = await runDriftCTL({\n options: { ...options, kind: 'describe' },\n driftIgnore: driftIgnore,\n });\n analytics.add('is-iac-drift', true);\n analytics.add('iac-drift-exit-code', describe.code);\n if (describe.code === DCTL_EXIT_CODES.EXIT_ERROR) {\n process.exitCode = describe.code;\n throw new Error();\n }\n\n // Parse analysis JSON and add to analytics\n const analysis = parseDriftAnalysisResults(describe.stdout);\n addIacDriftAnalytics(analysis, options);\n\n const fmtResult = await runDriftCTL({\n options: { ...options, kind: 'fmt' },\n input: describe.stdout,\n });\n process.stdout.write(processDriftctlOutput(options, fmtResult.stdout));\n process.exitCode = describe.code;\n } catch (e) {\n if (e instanceof DescribeRequiredArgumentError) {\n // when missing a required arg we will display help to explain\n const helpMsg = await help('iac', 'describe');\n console.log(helpMsg);\n }\n return Promise.reject(e);\n }\n};\n","import * as fs from 'fs';\nimport * as path from 'path';\nimport { MethodArgs } from '../../args';\nimport { renderMarkdown } from './markdown-renderer';\n\nexport function findHelpFile(\n helpArgs: string[],\n helpFolderPath = '../../help/cli-commands', // this is a relative path from the webpack dist directory,\n): string {\n while (helpArgs.length > 0) {\n // cleanse the filename to only contain letters\n // aka: /\\W/g but figured this was easier to read\n const file = `${helpArgs.join('-').replace(/[^a-z0-9-]/gi, '')}.md`;\n const testHelpAbsolutePath = path.resolve(__dirname, helpFolderPath, file);\n if (fs.existsSync(testHelpAbsolutePath)) {\n return testHelpAbsolutePath;\n }\n helpArgs = helpArgs.slice(0, -1);\n }\n return path.resolve(__dirname, helpFolderPath, `README.md`); // Default help file\n}\n\nexport default async function help(...args: MethodArgs): Promise<string> {\n const helpArgs = args.filter((arg): arg is string => typeof arg === 'string');\n const helpFileAbsolutePath = findHelpFile(helpArgs);\n return renderMarkdown(fs.readFileSync(helpFileAbsolutePath, 'utf8'));\n}\n","import { marked } from 'marked';\nimport chalk from 'chalk';\nimport { reflowText } from './reflow-text';\n\n// stateful variable to control left-padding by header level\nlet currentHeader = 1;\nconst listItemSeparator = 'LISTITEMSEPARATOR'; // Helper string for rendering ListItems\n\n/**\n * @description get padding spaces depending on the last header level used\n * @returns string\n */\nfunction getLeftTextPadding(): string {\n return ' '.repeat(\n currentHeader === 1 || currentHeader === 2 ? 1 : currentHeader - 1,\n );\n}\n\n/**\n * @description Reads current terminal width if available to limit column width for text-reflowing\n * @returns {number}\n */\nconst defaultMaximumLineWidth = 100;\nfunction getIdealTextWidth(maximumLineWidth = defaultMaximumLineWidth): number {\n if (typeof process.stdout.columns === 'number') {\n if (process.stdout.columns < maximumLineWidth) {\n return process.stdout.columns - getLeftTextPadding().length - 5;\n }\n }\n return maximumLineWidth - getLeftTextPadding().length;\n}\n\n// Marked custom renderer class\nconst renderer = {\n em(text) {\n return chalk.italic(text);\n },\n strong(text) {\n return chalk.bold(text);\n },\n link(href, title, text) {\n // Don't render links to relative paths (like local files)\n if (href.startsWith('./') || !href.includes('://')) {\n return text;\n }\n const renderedLink = chalk.bold.blueBright(href);\n if (text && text !== href) {\n return `${text} ${renderedLink}`;\n }\n return renderedLink;\n },\n blockquote(quote) {\n return quote;\n },\n list(body, ordered, start) {\n return (\n body\n .split(listItemSeparator)\n .map((listItem, listItemIndex) => {\n const bulletPoint = ordered ? `${listItemIndex + start}. ` : '- ';\n return reflowText(listItem, getIdealTextWidth())\n .split('\\n')\n .map((listItemLine, listItemLineIndex) => {\n if (!listItemLine) {\n return '';\n }\n return `${getLeftTextPadding()}${\n listItemLineIndex === 0 ? bulletPoint : ' '\n }${listItemLine}`;\n })\n .join('\\n');\n })\n .join('\\n') + '\\n'\n );\n },\n listitem(text) {\n return text + listItemSeparator;\n },\n paragraph(text) {\n return (\n reflowText(text, getIdealTextWidth())\n .split('\\n')\n .map((s) => getLeftTextPadding() + chalk.reset() + s)\n .join('\\n') + '\\n\\n'\n );\n },\n codespan(text) {\n return chalk.italic.blueBright(`${text}`);\n },\n code(code) {\n return (\n code\n .split('\\n')\n .map((s) => getLeftTextPadding() + chalk.reset() + s)\n .join('\\n') + '\\n\\n'\n );\n },\n heading(text, level) {\n currentHeader = level;\n let coloring;\n switch (level) {\n case 1:\n coloring = chalk.bold.underline;\n break;\n case 3:\n case 4:\n coloring = chalk;\n break;\n default:\n coloring = chalk.bold;\n break;\n }\n return `${' '.repeat(level === 1 ? 0 : currentHeader - 2)}${coloring(\n text,\n )}\\n`;\n },\n};\n\nmarked.use({ renderer });\nmarked.setOptions({\n mangle: false,\n});\n\nconst htmlUnescapes = {\n '&': '&',\n '<': '<',\n '>': '>',\n '"': '\"',\n ''': \"'\",\n '`': '`',\n ' ': '',\n};\n\n/**\n * @description Replace HTML entities with their non-encoded variant\n * @param {string} text\n * @returns {string}\n */\nfunction unescape(text: string): string {\n Object.entries(htmlUnescapes).forEach(([escapedChar, unescapedChar]) => {\n const escapedCharRegExp = new RegExp(escapedChar, 'g');\n text = text.replace(escapedCharRegExp, unescapedChar);\n });\n return text;\n}\n\nexport function renderMarkdown(markdown: string): string {\n return unescape(marked.parse(markdown));\n}\n","/**\nCode in this file is adapted from mikaelbr/marked-terminal\nhttps://github.com/mikaelbr/marked-terminal/blob/7501b8bb24a5ed52ec7d9114d4aeefa14f1bf5e6/index.js#L234-L330\n\n\nMIT License\n\nCopyright (c) 2017 Mikael Brevik\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n */\n\n// Compute length of str not including ANSI escape codes.\n// See http://en.wikipedia.org/wiki/ANSI_escape_code#graphics\nfunction textLength(str: string): number {\n // eslint-disable-next-line no-control-regex\n return str.replace(/\\u001b\\[(?:\\d{1,3})(?:;\\d{1,3})*m/g, '').length;\n}\n\n// Munge \\n's and spaces in \"text\" so that the number of\n// characters between \\n's is less than or equal to \"width\".\nexport function reflowText(text: string, width: number): string {\n const HARD_RETURN = '\\r|\\n';\n const HARD_RETURN_GFM_RE = new RegExp(HARD_RETURN + '|<br ?/?>');\n\n const splitRe = HARD_RETURN_GFM_RE;\n const sections = text.split(splitRe);\n const reflowed = [] as string[];\n\n sections.forEach((section) => {\n // Split the section by escape codes so that we can\n // deal with them separately.\n // eslint-disable-next-line no-control-regex\n const fragments = section.split(/(\\u001b\\[(?:\\d{1,3})(?:;\\d{1,3})*m)/g);\n let column = 0;\n let currentLine = '';\n let lastWasEscapeChar = false;\n\n while (fragments.length) {\n const fragment = fragments[0];\n\n if (fragment === '') {\n fragments.splice(0, 1);\n lastWasEscapeChar = false;\n continue;\n }\n\n // This is an escape code - leave it whole and\n // move to the next fragment.\n if (!textLength(fragment)) {\n currentLine += fragment;\n fragments.splice(0, 1);\n lastWasEscapeChar = true;\n continue;\n }\n\n const words = fragment.split(/[ \\t\\n]+/);\n\n for (let i = 0; i < words.length; i++) {\n let word = words[i];\n let addSpace = column != 0;\n if (lastWasEscapeChar) addSpace = false;\n\n // If adding the new word overflows the required width\n if (column + word.length > width) {\n if (word.length <= width) {\n // If the new word is smaller than the required width\n // just add it at the beginning of a new line\n reflowed.push(currentLine);\n currentLine = word;\n column = word.length;\n } else {\n // If the new word is longer than the required width\n // split this word into smaller parts.\n const w = word.substr(0, width - column);\n if (addSpace) currentLine += ' ';\n currentLine += w;\n reflowed.push(currentLine);\n currentLine = '';\n column = 0;\n\n word = word.substr(w.length);\n while (word.length) {\n const w = word.substr(0, width);\n\n if (!w.length) break;\n\n if (w.length < width) {\n currentLine = w;\n column = w.length;\n break;\n } else {\n reflowed.push(w);\n word = word.substr(width);\n }\n }\n }\n } else {\n if (addSpace) {\n currentLine += ' ';\n column++;\n }\n\n currentLine += word;\n column += word.length;\n }\n\n lastWasEscapeChar = false;\n }\n\n fragments.splice(0, 1);\n }\n\n if (textLength(currentLine)) reflowed.push(currentLine);\n });\n\n return reflowed.join('\\n');\n}\n","import { Options } from '../../lib/types';\n\nexport function processCommandArgs<CommandOptions>(\n ...args\n): { paths: string[]; options: Options & CommandOptions } {\n let options = ({} as any) as Options & CommandOptions;\n\n if (typeof args[args.length - 1] === 'object') {\n options = (args.pop() as any) as Options & CommandOptions;\n }\n args = args.filter(Boolean);\n\n // For repository scanning, populate with default path (cwd) if no path given\n if (args.length === 0 && !options.docker) {\n args.unshift(process.cwd());\n }\n\n return { options, paths: args };\n}\n","import * as snykPolicyLib from 'snyk-policy';\nimport * as debugModule from 'debug';\nimport { PackageExpanded } from 'snyk-resolve-deps';\n\nimport { pluckPolicies } from '.';\nimport { SupportedPackageManagers } from '../package-managers';\nimport { PackageJson, PolicyOptions } from '../types';\nimport * as analytics from '../analytics';\n\nconst debug = debugModule('snyk');\n\nexport async function findAndLoadPolicy(\n root: string,\n scanType: SupportedPackageManagers | 'docker' | 'iac' | 'cpp',\n options: PolicyOptions,\n pkg?: PackageExpanded,\n scannedProjectFolder?: string,\n): Promise<Policy | undefined> {\n const isDocker = scanType === 'docker';\n const isNodeProject = ['npm', 'yarn'].includes(scanType);\n // monitor\n let policyLocations: string[] = [\n options['policy-path'] || scannedProjectFolder || root,\n ];\n if (isDocker) {\n policyLocations = policyLocations.filter((loc) => loc !== root);\n } else if (isNodeProject) {\n // TODO: pluckPolicies expects a package.json object to\n // find and apply policies in node_modules\n policyLocations = policyLocations.concat(pluckPolicies(pkg as PackageJson));\n }\n\n debug('Potential policy locations found:', policyLocations);\n analytics.add('policies', policyLocations.length);\n analytics.add('policyLocations', policyLocations);\n\n if (policyLocations.length === 0) {\n return;\n }\n let policy;\n try {\n policy = await snykPolicyLib.load(policyLocations, options);\n } catch (err) {\n // note: inline catch, to handle error from .load\n // if the .snyk file wasn't found, it is fine\n if (err.code !== 'ENOENT' && err.code !== 'ENOTDIR') {\n throw err;\n }\n }\n return policy;\n}\n\nexport interface Policy {\n filter(vulns: any, root?: string, matchStrategy?: string): any;\n exclude?: { [key: string]: string[] };\n ignore?: any;\n}\n","export { pluckPolicies } from './pluck-policies';\nexport { findAndLoadPolicy } from './find-and-load-policy';\n","const flatten = require('lodash.flatten');\nimport { PackageExpanded } from 'snyk-resolve-deps';\n\nexport function pluckPolicies(pkg: PackageExpanded): string[] | string {\n if (!pkg) {\n return [];\n }\n\n if (pkg.snyk) {\n return pkg.snyk;\n }\n\n if (!pkg.dependencies) {\n return [];\n }\n\n return flatten(\n Object.keys(pkg.dependencies)\n .map((name: string) => pluckPolicies(pkg.dependencies[name]))\n .filter(Boolean),\n );\n}\n"],"names":[],"sourceRoot":""}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
exports.id =
|
|
3
|
-
exports.ids = [
|
|
2
|
+
exports.id = 895;
|
|
3
|
+
exports.ids = [895];
|
|
4
4
|
exports.modules = {
|
|
5
5
|
|
|
6
|
-
/***/
|
|
6
|
+
/***/ 33111:
|
|
7
7
|
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
8
8
|
|
|
9
9
|
|
|
@@ -11,8 +11,8 @@ Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
|
11
11
|
exports.isIacShareResultsOptions = exports.assertIaCOptionsFlags = exports.UnsupportedEntitlementCommandError = exports.UnsupportedEntitlementFlagError = exports.FlagValueError = exports.FeatureFlagError = exports.FlagError = void 0;
|
|
12
12
|
const errors_1 = __webpack_require__(55191);
|
|
13
13
|
const args_1 = __webpack_require__(94765);
|
|
14
|
-
const error_utils_1 = __webpack_require__(
|
|
15
|
-
const types_1 = __webpack_require__(
|
|
14
|
+
const error_utils_1 = __webpack_require__(36401);
|
|
15
|
+
const types_1 = __webpack_require__(94820);
|
|
16
16
|
const keys = [
|
|
17
17
|
'org',
|
|
18
18
|
'debug',
|
|
@@ -155,13 +155,13 @@ exports.isIacShareResultsOptions = isIacShareResultsOptions;
|
|
|
155
155
|
|
|
156
156
|
/***/ }),
|
|
157
157
|
|
|
158
|
-
/***/
|
|
158
|
+
/***/ 36401:
|
|
159
159
|
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
160
160
|
|
|
161
161
|
|
|
162
162
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
163
163
|
exports.getErrorStringCode = void 0;
|
|
164
|
-
const types_1 = __webpack_require__(
|
|
164
|
+
const types_1 = __webpack_require__(94820);
|
|
165
165
|
function getErrorStringCode(code) {
|
|
166
166
|
const errorName = types_1.IaCErrorCodes[code];
|
|
167
167
|
if (!errorName) {
|
|
@@ -178,19 +178,19 @@ exports.getErrorStringCode = getErrorStringCode;
|
|
|
178
178
|
|
|
179
179
|
/***/ }),
|
|
180
180
|
|
|
181
|
-
/***/
|
|
181
|
+
/***/ 11693:
|
|
182
182
|
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
|
183
183
|
|
|
184
184
|
|
|
185
185
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
186
186
|
exports.FailedToGetIacOrgSettingsError = exports.getIacOrgSettings = void 0;
|
|
187
|
-
const types_1 = __webpack_require__(
|
|
187
|
+
const types_1 = __webpack_require__(94820);
|
|
188
188
|
const config_1 = __webpack_require__(22541);
|
|
189
189
|
const is_ci_1 = __webpack_require__(10090);
|
|
190
190
|
const api_token_1 = __webpack_require__(95181);
|
|
191
191
|
const request_1 = __webpack_require__(52050);
|
|
192
192
|
const errors_1 = __webpack_require__(55191);
|
|
193
|
-
const error_utils_1 = __webpack_require__(
|
|
193
|
+
const error_utils_1 = __webpack_require__(36401);
|
|
194
194
|
function getIacOrgSettings(publicOrgId) {
|
|
195
195
|
const payload = {
|
|
196
196
|
method: 'get',
|
|
@@ -717,8 +717,8 @@ function rebrandHTMLOutput(data) {
|
|
|
717
717
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
718
718
|
exports.InvalidServiceError = exports.createIgnorePatternWithMap = exports.createIgnorePattern = exports.verifyServiceMappingExists = exports.services2resources = void 0;
|
|
719
719
|
const errors_1 = __webpack_require__(55191);
|
|
720
|
-
const types_1 = __webpack_require__(
|
|
721
|
-
const error_utils_1 = __webpack_require__(
|
|
720
|
+
const types_1 = __webpack_require__(94820);
|
|
721
|
+
const error_utils_1 = __webpack_require__(36401);
|
|
722
722
|
exports.services2resources = new Map([
|
|
723
723
|
// Amazon
|
|
724
724
|
[
|
|
@@ -976,4 +976,4 @@ exports.InvalidServiceError = InvalidServiceError;
|
|
|
976
976
|
|
|
977
977
|
};
|
|
978
978
|
;
|
|
979
|
-
//# sourceMappingURL=
|
|
979
|
+
//# sourceMappingURL=895.index.js.map
|