{"version":3,"file":"477.index.js","mappings":"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","sources":["webpack://snyk/./src/cli/commands/policy.ts","webpack://snyk/./src/lib/display-policy.ts"],"sourcesContent":["import * as policy from 'snyk-policy';\nimport { display } from '../../lib/display-policy';\nimport {\n FailedToLoadPolicyError,\n PolicyNotFoundError,\n CustomError,\n} from '../../lib/errors';\n\nexport default async function displayPolicy(path?: string): Promise {\n try {\n const loadedPolicy = (await policy.load(path || process.cwd())) as Promise<\n string\n >;\n return await display(loadedPolicy);\n } catch (error) {\n let adaptedError: CustomError;\n if (error.code === 'ENOENT') {\n adaptedError = new PolicyNotFoundError();\n } else {\n adaptedError = new FailedToLoadPolicyError();\n adaptedError.innerError = error;\n }\n throw adaptedError;\n }\n}\n","import chalk from 'chalk';\nimport { demunge } from 'snyk-policy';\nimport config from './config';\n\nexport async function display(policy) {\n const p = demunge(policy, config.PUBLIC_VULN_DB_URL);\n const delimiter = '\\n\\n------------------------\\n';\n\n let res =\n chalk.bold(\n 'Current Snyk policy, read from ' + policy.__filename + ' file',\n ) + '\\n';\n res += 'Modified: ' + policy.__modified + '\\n';\n res += 'Created: ' + policy.__created + '\\n';\n\n res += p.patch.map(displayRule('Patch vulnerability')).join('\\n');\n if (p.patch.length && p.ignore.length) {\n res += delimiter;\n }\n\n res += p.ignore.map(displayRule('Ignore')).join('\\n');\n if (p.ignore.length && p.exclude.length) {\n res += delimiter;\n }\n\n res += p.exclude.map(displayRule('Exclude')).join('\\n');\n\n return Promise.resolve(res);\n}\n\nfunction displayRule(title) {\n return (rule, i) => {\n i += 1;\n\n const formattedTitle =\n title === 'Exclude'\n ? chalk.bold(`\\n#${i} ${title}`) +\n ` the following ${chalk.bold(rule.id)} items/paths:\\n`\n : chalk.bold(`\\n#${i} ${title} ${rule.url}`) +\n ' in the following paths:\\n';\n\n return (\n formattedTitle +\n rule.paths\n .map((p) => {\n return (\n p.path +\n (p.reason\n ? '\\nReason: ' +\n p.reason +\n '\\nExpires: ' +\n p.expires.toUTCString() +\n '\\n'\n : '') +\n '\\n'\n );\n })\n .join('')\n .replace(/\\s*$/, '')\n );\n };\n}\n"],"names":[],"sourceRoot":""}