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.
@@ -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 snyk = __webpack_require__(9146);
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: 'token ' + snyk.api,
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":";;;;;;;;;;;AAAA,uCAAqC;AACrC,4CAAyC;AACzC,6CAAmD;AAEnD,SAAgB,QAAQ;IACtB,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACrC,OAAO,SAAS,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,GAAQ,EAAE,EAAE;QACxC,OAAO,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;IACrB,CAAC,CAAC,CAAC;AACL,CAAC;AALD,4BAKC;AAED,SAAgB,SAAS,CAAC,GAAG;IAC3B,MAAM,OAAO,GAAG;QACd,IAAI,EAAE;YACJ,GAAG;SACJ;QACD,MAAM,EAAE,MAAM;QACd,GAAG,EAAE,gBAAM,CAAC,GAAG,GAAG,eAAe;QACjC,IAAI,EAAE,IAAI;KACX,CAAC;IAEF,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,qBAAW,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;YACxC,IAAI,KAAK,EAAE;gBACT,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;aACtB;YAED,OAAO,CAAC;gBACN,GAAG;gBACH,IAAI;aACL,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAtBD,8BAsBC;;;;;;;;;;;ACjCD,0CAAsC;AACtC,2CAA0B;AAC1B,iDAAyD;AACzD,wCAAyC;AACzC,+CAAqD;AACrD,2CAAuC;AAGvC,yCAA+B;AAC/B,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;AAE5B,oEAAwF;AAExF,SAAwB,MAAM,CAAC,OAAO;IACpC,KAAK,CAAC,qCAAqC,EAAE,OAAO,CAAC,CAAC;IAEtD,OAAO,IAAI;SACR,QAAQ,EAAE;SACV,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;QACf,IAAI,CAAC,MAAM,EAAE;YACX,IAAI,YAAI,EAAE,EAAE;gBACV,MAAM,sDAAqB,EAAE,CAAC;aAC/B;SACF;QACD,0BAAc,EAAE,CAAC;IACnB,CAAC,CAAC;SACD,IAAI,CAAC,GAAG,EAAE;QACT,OAAO,aAAa,CAAC,aAAa,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAC3D,CAAC,CAAC;SACD,IAAI,CAAC,CAAC,sBAAsB,EAAE,EAAE;QAC/B,IAAI,CAAC,sBAAsB,CAAC,OAAO,EAAE;YACnC,KAAK,CAAC,oCAAoC,CAAC,CAAC;YAC5C,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,GAAG,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC,CAAC;YAC3D,OAAO;SACR;QAED,MAAM,kBAAkB,GAAG,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAElD,IAAI,kBAAkB,EAAE;YACtB,OAAO,sBAAsB,CAAC,OAAO,CAAC,CAAC;SACxC;QAED,OAAO,WAAW,CAAC,OAAO,CAAC,CAAC;IAC9B,CAAC,CAAC,CAAC;AACP,CAAC;AA/BD,yBA+BC;AAED,SAAgB,WAAW,CAAC,OAAO;IACjC,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE;QACf,MAAM,KAAK,CAAC,YAAY,CAAC,CAAC;KAC3B;IAED,OAAO,CAAC,MAAM,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC1C,IAAI,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE;QACzD,KAAK,CAAC,oDAAoD,CAAC,CAAC;QAC5D,OAAO,CAAC,MAAM,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;KAClE;IAED,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;QACnB,OAAO,CAAC,MAAM,GAAG,YAAY,CAAC;KAC/B;IAED,MAAM,cAAc,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;IACtC,IAAI,CAAC,cAAc,EAAE;QACnB,OAAO,CAAC,IAAI,GAAG,GAAG,CAAC;KACpB;IAED,KAAK,CACH,+DAA+D,EAC/D,OAAO,CAAC,EAAE,EACV,cAAc,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU,OAAO,CAAC,IAAI,GAAG,EACxD,OAAO,CAAC,MAAM,EACd,OAAO,CAAC,MAAM,CACf,CAAC;IAEF,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;;QACrD,IAAI,qBAAqB,GAAG,CAAC,CAAC,CAAC;QAC/B,MAAM,YAAY,GAAG;YACnB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,OAAO,EAAE,OAAO,CAAC,MAAM;YACvB,OAAO,EAAE,IAAI,IAAI,EAAE;SACpB,CAAC;QAEF,MAAM,WAAW,GAAgB,GAAG,CAAC,MAAM,CAAC;QAE5C,MAAM,gBAAgB,SAAG,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC,mCAAI,EAAE,CAAC;QAEvD,2EAA2E;QAC3E,qBAAqB,GAAG,gBAAgB,CAAC,SAAS,CAChD,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,CACnD,CAAC;QAEF,6DAA6D;QAC7D,IAAI,qBAAqB,KAAK,CAAC,CAAC,EAAE;YAChC,gBAAgB,CAAC,IAAI,CAAC;gBACpB,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,YAAY;aAC7B,CAAC,CAAC;SACJ;QACD,kDAAkD;aAC7C;YACH,gBAAgB,CAAC,qBAAqB,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC;SACtE;QAED,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,gBAAgB,CAAC;QAE3C,GAAG,CAAC,MAAM,GAAG,WAAW,CAAC;QAEzB,OAAO,MAAM,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;AACL,CAAC;AA9DD,kCA8DC;AAEM,KAAK,UAAU,sBAAsB,CAAC,OAAO;IAClD,MAAM,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IACrC,MAAM,KAAK,GAAG,OAAO,CAAC,iBAAiB,CAAC,IAAI,QAAQ,CAAC;IACrD,MAAM,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IAE1C,MAAM,cAAc,GAAG,EAAE,CAAC;IAE1B,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE;QAChC,cAAc,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;KAC3C;IAED,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE;QAChC,cAAc,CAAC,SAAS,CAAC,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;KACtD;IAED,KAAK,CAAC,4CAA4C,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;IAEzE,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,CAAC;IACnC,GAAG,CAAC,UAAU,CAAC,OAAO,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC;IAE/C,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;AACtC,CAAC;AArBD,wDAqBC;AAED,KAAK,UAAU,IAAI,CAAC,IAAY;IAC9B,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;QACvC,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE;YAC3B,kCAAkC;YAClC,OAAO,MAAM,CAAC,MAAM,EAAE,CAAC;SACxB;QAED,MAAM,KAAK,CAAC,YAAY,CAAC,CAAC;IAC5B,CAAC,CAAC,CAAC;AACL,CAAC;;;;;;;;;;;AC9ID,+CAA4C;AAC5C,4CAA8B;AAC9B,6CAAwC;AAEjC,KAAK,UAAU,aAAa,CACjC,MAAc,EACd,OAAyB;IAEzB,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,gBAAM,CAAC,GAAG,IAAI,IAAI,CAAC;IAE9C,IAAI;QACF,MAAM,GAAG,GAAG,MAAM,qBAAW,CAAC;YAC5B,MAAM,EAAE,KAAK;YACb,GAAG,EAAE,gBAAM,CAAC,GAAG,GAAG,iBAAiB,GAAG,MAAM;YAC5C,IAAI,EAAE,IAAI;YACV,OAAO,EAAE;gBACP,aAAa,EAAE,yBAAa,EAAE;aAC/B;YACD,EAAE,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE;SACnB,CAAC,CAAC;QAEH,OAAQ,GAAW,CAAC,IAAI,CAAC,MAAM,CAAC;KACjC;IAAC,OAAO,GAAG,EAAE;QACZ,OAAO;YACL,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,iDAAiD;SAC1D,CAAC;KACH;AACH,CAAC;AAxBD,sCAwBC;;;;;;;;;;;AC5BD,kDAA6C;AAE7C,SAAgB,qBAAqB;IACnC,MAAM,QAAQ,GACZ,yEAAyE;QACzE,+DAA+D,CAAC;IAElE,MAAM,KAAK,GAAG,IAAI,0BAAW,CAAC,QAAQ,CAAC,CAAC;IACxC,KAAK,CAAC,IAAI,GAAG,GAAG,CAAC;IACjB,KAAK,CAAC,OAAO,GAAG,YAAY,CAAC;IAC7B,KAAK,CAAC,WAAW,GAAG,QAAQ,CAAC;IAC7B,OAAO,KAAK,CAAC;AACf,CAAC;AAVD,sDAUC","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":""}
@@ -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: `token ${api_token_1.api()}`,
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: `token ${api_token_1.api()}`,
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: 'token ' + snyk.api,
7122
+ authorization: api_token_1.getAuthHeader(),
7123
7123
  },
7124
7124
  },
7125
7125
  ];