snyk 1.930.0 → 1.931.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/542.index.js +3 -3
- package/dist/cli/542.index.js.map +1 -1
- package/dist/cli/784.index.js +3 -3
- package/dist/cli/784.index.js.map +1 -1
- package/dist/cli/895.index.js +1 -1
- package/dist/cli/895.index.js.map +1 -1
- package/dist/cli/935.index.js +35 -25
- package/dist/cli/935.index.js.map +1 -1
- package/dist/cli/commands/test/iac/index.d.ts +1 -1
- package/package.json +1 -1
package/dist/cli/542.index.js
CHANGED
|
@@ -170,9 +170,9 @@ async function load(path) {
|
|
|
170
170
|
|
|
171
171
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
172
172
|
exports.actionAllowed = void 0;
|
|
173
|
-
const
|
|
174
|
-
const request_1 = __webpack_require__(52050);
|
|
173
|
+
const api_token_1 = __webpack_require__(95181);
|
|
175
174
|
const config_1 = __webpack_require__(22541);
|
|
175
|
+
const request_1 = __webpack_require__(52050);
|
|
176
176
|
async function actionAllowed(action, options) {
|
|
177
177
|
const org = options.org || config_1.default.org || null;
|
|
178
178
|
try {
|
|
@@ -181,7 +181,7 @@ async function actionAllowed(action, options) {
|
|
|
181
181
|
url: config_1.default.API + '/authorization/' + action,
|
|
182
182
|
json: true,
|
|
183
183
|
headers: {
|
|
184
|
-
authorization:
|
|
184
|
+
authorization: api_token_1.getAuthHeader(),
|
|
185
185
|
},
|
|
186
186
|
qs: org && { org },
|
|
187
187
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"542.index.js","mappings":"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","sources":["webpack://snyk/./src/cli/commands/auth/is-authed.ts","webpack://snyk/./src/cli/commands/ignore.ts","webpack://snyk/./src/lib/authorization.ts","webpack://snyk/./src/lib/errors/misconfigured-auth-in-ci-error.ts"],"sourcesContent":["import * as snyk from '../../../lib';\nimport config from '../../../lib/config';\nimport { makeRequest } from '../../../lib/request';\n\nexport function isAuthed() {\n const token = snyk.config.get('api');\n return verifyAPI(token).then((res: any) => {\n return res.body.ok;\n });\n}\n\nexport function verifyAPI(api) {\n const payload = {\n body: {\n api,\n },\n method: 'POST',\n url: config.API + '/verify/token',\n json: true,\n };\n\n return new Promise((resolve, reject) => {\n makeRequest(payload, (error, res, body) => {\n if (error) {\n return reject(error);\n }\n\n resolve({\n res,\n body,\n });\n });\n });\n}\n","import * as policy from 'snyk-policy';\nimport chalk from 'chalk';\nimport * as authorization from '../../lib/authorization';\nimport * as auth from './auth/is-authed';\nimport { apiTokenExists } from '../../lib/api-token';\nimport { isCI } from '../../lib/is-ci';\nimport { IgnoreRules, MethodResult } from './types';\n\nimport * as Debug from 'debug';\nconst debug = Debug('snyk');\n\nimport { MisconfiguredAuthInCI } from '../../lib/errors/misconfigured-auth-in-ci-error';\n\nexport default function ignore(options): Promise<MethodResult> {\n debug('snyk ignore called with options: %O', options);\n\n return auth\n .isAuthed()\n .then((authed) => {\n if (!authed) {\n if (isCI()) {\n throw MisconfiguredAuthInCI();\n }\n }\n apiTokenExists();\n })\n .then(() => {\n return authorization.actionAllowed('cliIgnore', options);\n })\n .then((cliIgnoreAuthorization) => {\n if (!cliIgnoreAuthorization.allowed) {\n debug('snyk ignore called when disallowed');\n console.log(chalk.bold.red(cliIgnoreAuthorization.reason));\n return;\n }\n\n const isFilePathProvided = !!options['file-path'];\n\n if (isFilePathProvided) {\n return excludeFilePathPattern(options);\n }\n\n return ignoreIssue(options);\n });\n}\n\nexport function ignoreIssue(options): Promise<MethodResult> {\n if (!options.id) {\n throw Error('idRequired');\n }\n\n options.expiry = new Date(options.expiry);\n if (options.expiry.getTime() !== options.expiry.getTime()) {\n debug('No/invalid expiry given, using the default 30 days');\n options.expiry = new Date(Date.now() + 30 * 24 * 60 * 60 * 1000);\n }\n\n if (!options.reason) {\n options.reason = 'None Given';\n }\n\n const isPathProvided = !!options.path;\n if (!isPathProvided) {\n options.path = '*';\n }\n\n debug(\n `changing policy: ignore \"%s\", for %s, reason: \"%s\", until: %o`,\n options.id,\n isPathProvided ? 'all paths' : `path: '${options.path}'`,\n options.reason,\n options.expiry,\n );\n\n return load(options['policy-path']).then(async (pol) => {\n let ignoreRulePathDataIdx = -1;\n const ignoreParams = {\n reason: options.reason,\n expires: options.expiry,\n created: new Date(),\n };\n\n const ignoreRules: IgnoreRules = pol.ignore;\n\n const issueIgnorePaths = ignoreRules[options.id] ?? [];\n\n // Checking if the ignore-rule for this issue exists for the provided path.\n ignoreRulePathDataIdx = issueIgnorePaths.findIndex(\n (ignoreMetadata) => !!ignoreMetadata[options.path],\n );\n\n // If an ignore-rule for this path doesn't exist, create one.\n if (ignoreRulePathDataIdx === -1) {\n issueIgnorePaths.push({\n [options.path]: ignoreParams,\n });\n }\n // Otherwise, update the existing rule's metadata.\n else {\n issueIgnorePaths[ignoreRulePathDataIdx][options.path] = ignoreParams;\n }\n\n ignoreRules[options.id] = issueIgnorePaths;\n\n pol.ignore = ignoreRules;\n\n return await policy.save(pol, options['policy-path']);\n });\n}\n\nexport async function excludeFilePathPattern(options): Promise<MethodResult> {\n const pattern = options['file-path'];\n const group = options['file-path-group'] || 'global';\n const policyPath = options['policy-path'];\n\n const excludeOptions = {};\n\n if (options.reason !== undefined) {\n excludeOptions['reason'] = options.reason;\n }\n\n if (options.expiry !== undefined) {\n excludeOptions['expires'] = new Date(options.expiry);\n }\n\n debug(`changing policy: ignore \"%s\" added to \"%s\"`, pattern, policyPath);\n\n const pol = await load(policyPath);\n pol.addExclude(pattern, group, excludeOptions);\n\n return policy.save(pol, policyPath);\n}\n\nasync function load(path: string) {\n return policy.load(path).catch((error) => {\n if (error.code === 'ENOENT') {\n // file does not exist - create it\n return policy.create();\n }\n\n throw Error('policyFile');\n });\n}\n","import * as snyk from './';\nimport { makeRequest } from './request';\nimport config from './config';\n\nexport async function actionAllowed(\n action: string,\n options: { org?: string },\n): Promise<{ allowed: boolean; reason: string }> {\n const org = options.org || config.org || null;\n\n try {\n const res = await makeRequest({\n method: 'GET',\n url: config.API + '/authorization/' + action,\n json: true,\n headers: {\n authorization: 'token ' + snyk.api,\n },\n qs: org && { org },\n });\n\n return (res as any).body.result;\n } catch (err) {\n return {\n allowed: false,\n reason: 'There was an error while checking authorization',\n };\n }\n}\n","import { CustomError } from './custom-error';\n\nexport function MisconfiguredAuthInCI() {\n const errorMsg =\n 'Snyk is missing auth token in order to run inside CI. You must include ' +\n 'your API token as an environment value: `SNYK_TOKEN=12345678`';\n\n const error = new CustomError(errorMsg);\n error.code = 401;\n error.strCode = 'noAuthInCI';\n error.userMessage = errorMsg;\n return error;\n}\n"],"names":[],"sourceRoot":""}
|
|
1
|
+
{"version":3,"file":"542.index.js","mappings":"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","sources":["webpack://snyk/./src/cli/commands/auth/is-authed.ts","webpack://snyk/./src/cli/commands/ignore.ts","webpack://snyk/./src/lib/authorization.ts","webpack://snyk/./src/lib/errors/misconfigured-auth-in-ci-error.ts"],"sourcesContent":["import * as snyk from '../../../lib';\nimport config from '../../../lib/config';\nimport { makeRequest } from '../../../lib/request';\n\nexport function isAuthed() {\n const token = snyk.config.get('api');\n return verifyAPI(token).then((res: any) => {\n return res.body.ok;\n });\n}\n\nexport function verifyAPI(api) {\n const payload = {\n body: {\n api,\n },\n method: 'POST',\n url: config.API + '/verify/token',\n json: true,\n };\n\n return new Promise((resolve, reject) => {\n makeRequest(payload, (error, res, body) => {\n if (error) {\n return reject(error);\n }\n\n resolve({\n res,\n body,\n });\n });\n });\n}\n","import * as policy from 'snyk-policy';\nimport chalk from 'chalk';\nimport * as authorization from '../../lib/authorization';\nimport * as auth from './auth/is-authed';\nimport { apiTokenExists } from '../../lib/api-token';\nimport { isCI } from '../../lib/is-ci';\nimport { IgnoreRules, MethodResult } from './types';\n\nimport * as Debug from 'debug';\nconst debug = Debug('snyk');\n\nimport { MisconfiguredAuthInCI } from '../../lib/errors/misconfigured-auth-in-ci-error';\n\nexport default function ignore(options): Promise<MethodResult> {\n debug('snyk ignore called with options: %O', options);\n\n return auth\n .isAuthed()\n .then((authed) => {\n if (!authed) {\n if (isCI()) {\n throw MisconfiguredAuthInCI();\n }\n }\n apiTokenExists();\n })\n .then(() => {\n return authorization.actionAllowed('cliIgnore', options);\n })\n .then((cliIgnoreAuthorization) => {\n if (!cliIgnoreAuthorization.allowed) {\n debug('snyk ignore called when disallowed');\n console.log(chalk.bold.red(cliIgnoreAuthorization.reason));\n return;\n }\n\n const isFilePathProvided = !!options['file-path'];\n\n if (isFilePathProvided) {\n return excludeFilePathPattern(options);\n }\n\n return ignoreIssue(options);\n });\n}\n\nexport function ignoreIssue(options): Promise<MethodResult> {\n if (!options.id) {\n throw Error('idRequired');\n }\n\n options.expiry = new Date(options.expiry);\n if (options.expiry.getTime() !== options.expiry.getTime()) {\n debug('No/invalid expiry given, using the default 30 days');\n options.expiry = new Date(Date.now() + 30 * 24 * 60 * 60 * 1000);\n }\n\n if (!options.reason) {\n options.reason = 'None Given';\n }\n\n const isPathProvided = !!options.path;\n if (!isPathProvided) {\n options.path = '*';\n }\n\n debug(\n `changing policy: ignore \"%s\", for %s, reason: \"%s\", until: %o`,\n options.id,\n isPathProvided ? 'all paths' : `path: '${options.path}'`,\n options.reason,\n options.expiry,\n );\n\n return load(options['policy-path']).then(async (pol) => {\n let ignoreRulePathDataIdx = -1;\n const ignoreParams = {\n reason: options.reason,\n expires: options.expiry,\n created: new Date(),\n };\n\n const ignoreRules: IgnoreRules = pol.ignore;\n\n const issueIgnorePaths = ignoreRules[options.id] ?? [];\n\n // Checking if the ignore-rule for this issue exists for the provided path.\n ignoreRulePathDataIdx = issueIgnorePaths.findIndex(\n (ignoreMetadata) => !!ignoreMetadata[options.path],\n );\n\n // If an ignore-rule for this path doesn't exist, create one.\n if (ignoreRulePathDataIdx === -1) {\n issueIgnorePaths.push({\n [options.path]: ignoreParams,\n });\n }\n // Otherwise, update the existing rule's metadata.\n else {\n issueIgnorePaths[ignoreRulePathDataIdx][options.path] = ignoreParams;\n }\n\n ignoreRules[options.id] = issueIgnorePaths;\n\n pol.ignore = ignoreRules;\n\n return await policy.save(pol, options['policy-path']);\n });\n}\n\nexport async function excludeFilePathPattern(options): Promise<MethodResult> {\n const pattern = options['file-path'];\n const group = options['file-path-group'] || 'global';\n const policyPath = options['policy-path'];\n\n const excludeOptions = {};\n\n if (options.reason !== undefined) {\n excludeOptions['reason'] = options.reason;\n }\n\n if (options.expiry !== undefined) {\n excludeOptions['expires'] = new Date(options.expiry);\n }\n\n debug(`changing policy: ignore \"%s\" added to \"%s\"`, pattern, policyPath);\n\n const pol = await load(policyPath);\n pol.addExclude(pattern, group, excludeOptions);\n\n return policy.save(pol, policyPath);\n}\n\nasync function load(path: string) {\n return policy.load(path).catch((error) => {\n if (error.code === 'ENOENT') {\n // file does not exist - create it\n return policy.create();\n }\n\n throw Error('policyFile');\n });\n}\n","import { getAuthHeader } from './api-token';\nimport config from './config';\nimport { makeRequest } from './request';\n\nexport async function actionAllowed(\n action: string,\n options: { org?: string },\n): Promise<{ allowed: boolean; reason: string }> {\n const org = options.org || config.org || null;\n\n try {\n const res = await makeRequest({\n method: 'GET',\n url: config.API + '/authorization/' + action,\n json: true,\n headers: {\n authorization: getAuthHeader(),\n },\n qs: org && { org },\n });\n\n return (res as any).body.result;\n } catch (err) {\n return {\n allowed: false,\n reason: 'There was an error while checking authorization',\n };\n }\n}\n","import { CustomError } from './custom-error';\n\nexport function MisconfiguredAuthInCI() {\n const errorMsg =\n 'Snyk is missing auth token in order to run inside CI. You must include ' +\n 'your API token as an environment value: `SNYK_TOKEN=12345678`';\n\n const error = new CustomError(errorMsg);\n error.code = 401;\n error.strCode = 'noAuthInCI';\n error.userMessage = errorMsg;\n return error;\n}\n"],"names":[],"sourceRoot":""}
|
package/dist/cli/784.index.js
CHANGED
|
@@ -5272,7 +5272,7 @@ async function getSastSettingsForOrg(org) {
|
|
|
5272
5272
|
const response = await request_1.makeRequest({
|
|
5273
5273
|
method: 'GET',
|
|
5274
5274
|
headers: {
|
|
5275
|
-
Authorization:
|
|
5275
|
+
Authorization: api_token_1.getAuthHeader(),
|
|
5276
5276
|
},
|
|
5277
5277
|
qs: common_1.assembleQueryString({ org }),
|
|
5278
5278
|
url: `${config_1.default.API}/cli-config/settings/sast`,
|
|
@@ -5286,7 +5286,7 @@ async function trackUsage(org) {
|
|
|
5286
5286
|
const response = await request_1.makeRequest({
|
|
5287
5287
|
method: 'POST',
|
|
5288
5288
|
headers: {
|
|
5289
|
-
Authorization:
|
|
5289
|
+
Authorization: api_token_1.getAuthHeader(),
|
|
5290
5290
|
},
|
|
5291
5291
|
qs: common_1.assembleQueryString({ org }),
|
|
5292
5292
|
url: `${config_1.default.API}/track-sast-usage/cli`,
|
|
@@ -7119,7 +7119,7 @@ async function assembleRemotePayloads(root, options) {
|
|
|
7119
7119
|
json: true,
|
|
7120
7120
|
headers: {
|
|
7121
7121
|
'x-is-ci': is_ci_1.isCI(),
|
|
7122
|
-
authorization:
|
|
7122
|
+
authorization: api_token_1.getAuthHeader(),
|
|
7123
7123
|
},
|
|
7124
7124
|
},
|
|
7125
7125
|
];
|