@capraconsulting/cals-cli 2.22.2 → 2.23.2

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.
@@ -1 +1 @@
1
- {"version":3,"file":"cals-cli.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"cals-cli.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
package/lib/index.es.js CHANGED
@@ -22,7 +22,7 @@ import execa from 'execa';
22
22
  import { performance } from 'perf_hooks';
23
23
  import { Transform } from 'stream';
24
24
 
25
- var version = "2.22.2";
25
+ var version = "2.23.2";
26
26
 
27
27
  class CacheProvider {
28
28
  constructor(config) {
@@ -1477,18 +1477,32 @@ function createSnykService(props) {
1477
1477
  }
1478
1478
 
1479
1479
  function getGitHubRepo(snykProject) {
1480
- if (snykProject.origin !== "github") {
1481
- return undefined;
1480
+ if (snykProject.origin === "github") {
1481
+ const match = /^([^/]+)\/([^:]+)(:(.+))?$/.exec(snykProject.name);
1482
+ if (match === null) {
1483
+ throw Error(`Could not extract components from Snyk project name: ${snykProject.name} (id: ${snykProject.id})`);
1484
+ }
1485
+ return {
1486
+ owner: match[1],
1487
+ name: match[2],
1488
+ };
1489
+ }
1490
+ else if (snykProject.origin === "cli" &&
1491
+ snykProject.remoteRepoUrl != null) {
1492
+ // The remoteRepoUrl can be overriden when using the CLI, so don't
1493
+ // fail if we cannot extract the value.
1494
+ const match = /github.com\/([^/]+)\/(.+)\.git$/.exec(snykProject.remoteRepoUrl);
1495
+ if (match === null) {
1496
+ return undefined;
1497
+ }
1498
+ return {
1499
+ owner: match[1],
1500
+ name: match[2],
1501
+ };
1482
1502
  }
1483
- const match = /^([^/]+)\/([^:]+):(.+)$/.exec(snykProject.name);
1484
- if (match === null) {
1485
- throw Error(`Could not extract components from Snyk project name: ${snykProject.name} (id: ${snykProject.id})`);
1503
+ else {
1504
+ return undefined;
1486
1505
  }
1487
- return {
1488
- owner: match[1],
1489
- name: match[2],
1490
- file: match[3],
1491
- };
1492
1506
  }
1493
1507
  function getGitHubRepoId(repo) {
1494
1508
  return repo ? `${repo.owner}/${repo.name}` : undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"index.es.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.es.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
package/lib/index.js CHANGED
@@ -44,7 +44,7 @@ var keytar__default = /*#__PURE__*/_interopDefaultLegacy(keytar);
44
44
  var read__default = /*#__PURE__*/_interopDefaultLegacy(read);
45
45
  var execa__default = /*#__PURE__*/_interopDefaultLegacy(execa);
46
46
 
47
- var version = "2.22.2";
47
+ var version = "2.23.2";
48
48
 
49
49
  class CacheProvider {
50
50
  constructor(config) {
@@ -58,13 +58,13 @@ class CacheProvider {
58
58
  * The caller is responsible for handling proper validation,
59
59
  */
60
60
  retrieveJson(cachekey) {
61
- const cachefile = path__default['default'].join(this.config.cacheDir, `${cachekey}.json`);
62
- if (!fs__default['default'].existsSync(cachefile)) {
61
+ const cachefile = path__default["default"].join(this.config.cacheDir, `${cachekey}.json`);
62
+ if (!fs__default["default"].existsSync(cachefile)) {
63
63
  return undefined;
64
64
  }
65
- const data = fs__default['default'].readFileSync(cachefile, "utf-8");
65
+ const data = fs__default["default"].readFileSync(cachefile, "utf-8");
66
66
  return {
67
- cacheTime: fs__default['default'].statSync(cachefile).mtime.getTime(),
67
+ cacheTime: fs__default["default"].statSync(cachefile).mtime.getTime(),
68
68
  data: (data === "undefined" ? undefined : JSON.parse(data)),
69
69
  };
70
70
  }
@@ -72,11 +72,11 @@ class CacheProvider {
72
72
  * Save data to cache.
73
73
  */
74
74
  storeJson(cachekey, data) {
75
- const cachefile = path__default['default'].join(this.config.cacheDir, `${cachekey}.json`);
76
- if (!fs__default['default'].existsSync(this.config.cacheDir)) {
77
- fs__default['default'].mkdirSync(this.config.cacheDir, { recursive: true });
75
+ const cachefile = path__default["default"].join(this.config.cacheDir, `${cachekey}.json`);
76
+ if (!fs__default["default"].existsSync(this.config.cacheDir)) {
77
+ fs__default["default"].mkdirSync(this.config.cacheDir, { recursive: true });
78
78
  }
79
- fs__default['default'].writeFileSync(cachefile, data === undefined ? "undefined" : JSON.stringify(data));
79
+ fs__default["default"].writeFileSync(cachefile, data === undefined ? "undefined" : JSON.stringify(data));
80
80
  }
81
81
  async json(cachekey, block, cachetime = this.defaultCacheTime) {
82
82
  const cacheItem = this.mustValidate
@@ -94,14 +94,14 @@ class CacheProvider {
94
94
  * Delete all cached data.
95
95
  */
96
96
  cleanup() {
97
- rimraf__default['default'].sync(this.config.cacheDir);
97
+ rimraf__default["default"].sync(this.config.cacheDir);
98
98
  }
99
99
  }
100
100
 
101
101
  const CLEAR_WHOLE_LINE = 0;
102
102
  function clearLine(stdout) {
103
- readline__default['default'].clearLine(stdout, CLEAR_WHOLE_LINE);
104
- readline__default['default'].cursorTo(stdout, 0);
103
+ readline__default["default"].clearLine(stdout, CLEAR_WHOLE_LINE);
104
+ readline__default["default"].cursorTo(stdout, 0);
105
105
  }
106
106
  class Reporter {
107
107
  constructor(opts = {}) {
@@ -109,7 +109,7 @@ class Reporter {
109
109
  this.stderr = process.stderr;
110
110
  this.stdin = process.stdin;
111
111
  this.isTTY = this.stdout.isTTY;
112
- this.format = chalk__default['default'];
112
+ this.format = chalk__default["default"];
113
113
  this.startTime = Date.now();
114
114
  this.nonInteractive = !!opts.nonInteractive;
115
115
  this.isVerbose = !!opts.verbose;
@@ -138,10 +138,10 @@ class Reporter {
138
138
 
139
139
  class Config {
140
140
  constructor() {
141
- this.cwd = path__default['default'].resolve(process.cwd());
142
- this.configFile = path__default['default'].join(os__default['default'].homedir(), ".cals-config.json");
143
- this.cacheDir = cachedir__default['default']("cals-cli");
144
- this.agent = new https__default['default'].Agent({
141
+ this.cwd = path__default["default"].resolve(process.cwd());
142
+ this.configFile = path__default["default"].join(os__default["default"].homedir(), ".cals-config.json");
143
+ this.cacheDir = cachedir__default["default"]("cals-cli");
144
+ this.agent = new https__default["default"].Agent({
145
145
  keepAlive: true,
146
146
  });
147
147
  this.configCached = undefined;
@@ -156,12 +156,12 @@ class Config {
156
156
  return config;
157
157
  }
158
158
  readConfig() {
159
- if (!fs__default['default'].existsSync(this.configFile)) {
159
+ if (!fs__default["default"].existsSync(this.configFile)) {
160
160
  return {};
161
161
  }
162
162
  try {
163
163
  // eslint-disable-next-line @typescript-eslint/no-unsafe-return
164
- return JSON.parse(fs__default['default'].readFileSync(this.configFile, "utf-8"));
164
+ return JSON.parse(fs__default["default"].readFileSync(this.configFile, "utf-8"));
165
165
  }
166
166
  catch (e) {
167
167
  console.error("Failed", e);
@@ -183,7 +183,7 @@ class Config {
183
183
  ...this.readConfig(),
184
184
  [key]: value, // undefined will remove
185
185
  };
186
- fs__default['default'].writeFileSync(this.configFile, JSON.stringify(updatedConfig, null, " "));
186
+ fs__default["default"].writeFileSync(this.configFile, JSON.stringify(updatedConfig, null, " "));
187
187
  this.configCached = updatedConfig;
188
188
  }
189
189
  }
@@ -493,7 +493,7 @@ function getRepoId(orgName, repoName) {
493
493
  }
494
494
  function checkAgainstSchema(value) {
495
495
  var _a;
496
- const ajv = new AJV__default['default']({ allErrors: true });
496
+ const ajv = new AJV__default["default"]({ allErrors: true });
497
497
  const valid = ajv.validate(schema, value);
498
498
  return valid
499
499
  ? { definition: value }
@@ -570,7 +570,7 @@ class DefinitionFile {
570
570
  this.path = path;
571
571
  }
572
572
  async getContents() {
573
- return new Promise((resolve, reject) => fs__default['default'].readFile(this.path, "utf-8", (err, data) => {
573
+ return new Promise((resolve, reject) => fs__default["default"].readFile(this.path, "utf-8", (err, data) => {
574
574
  if (err)
575
575
  reject(err);
576
576
  else
@@ -582,7 +582,7 @@ class DefinitionFile {
582
582
  }
583
583
  }
584
584
  function parseDefinition(value) {
585
- const result = checkAgainstSchema(yaml__default['default'].load(value));
585
+ const result = checkAgainstSchema(yaml__default["default"].load(value));
586
586
  if ("error" in result) {
587
587
  throw new Error("Definition content invalid: " + result.error);
588
588
  }
@@ -619,7 +619,7 @@ class GitHubTokenCliProvider {
619
619
  if (process.env.CALS_GITHUB_TOKEN) {
620
620
  return process.env.CALS_GITHUB_TOKEN;
621
621
  }
622
- const result = await keytar__default['default'].getPassword(this.keyringService, this.keyringAccount);
622
+ const result = await keytar__default["default"].getPassword(this.keyringService, this.keyringAccount);
623
623
  if (result == null) {
624
624
  process.stderr.write("No token found. Register using `cals github set-token`\n");
625
625
  return undefined;
@@ -627,10 +627,10 @@ class GitHubTokenCliProvider {
627
627
  return result;
628
628
  }
629
629
  async markInvalid() {
630
- await keytar__default['default'].deletePassword(this.keyringService, this.keyringAccount);
630
+ await keytar__default["default"].deletePassword(this.keyringService, this.keyringAccount);
631
631
  }
632
632
  async setToken(value) {
633
- await keytar__default['default'].setPassword(this.keyringService, this.keyringAccount, value);
633
+ await keytar__default["default"].setPassword(this.keyringService, this.keyringAccount, value);
634
634
  }
635
635
  }
636
636
 
@@ -658,7 +658,7 @@ class GitHubService {
658
658
  this.tokenProvider = props.tokenProvider;
659
659
  // Control concurrency to GitHub API at service level so we
660
660
  // can maximize concurrency all other places.
661
- this.semaphore = pLimit__default['default'](6);
661
+ this.semaphore = pLimit__default["default"](6);
662
662
  this.octokit.hook.wrap("request", async (request, options) => {
663
663
  /* eslint-disable @typescript-eslint/no-unsafe-member-access */
664
664
  this._requestCount++;
@@ -738,7 +738,7 @@ class GitHubService {
738
738
  const headers = {
739
739
  Authorization: `Bearer ${token}`,
740
740
  };
741
- const response = await this.semaphore(() => fetch__default['default'](url, {
741
+ const response = await this.semaphore(() => fetch__default["default"](url, {
742
742
  method: "POST",
743
743
  headers,
744
744
  body: JSON.stringify({ query }),
@@ -1173,7 +1173,7 @@ class LoadSecrets {
1173
1173
  }
1174
1174
  async getInput(options) {
1175
1175
  return new Promise((resolve, reject) => {
1176
- read__default['default'](options, (err, answer) => {
1176
+ read__default["default"](options, (err, answer) => {
1177
1177
  if (err) {
1178
1178
  reject(err);
1179
1179
  }
@@ -1438,7 +1438,7 @@ class SnykTokenCliProvider {
1438
1438
  if (process.env.CALS_SNYK_TOKEN) {
1439
1439
  return process.env.CALS_SNYK_TOKEN;
1440
1440
  }
1441
- const result = await keytar__default['default'].getPassword(this.keyringService, this.keyringAccount);
1441
+ const result = await keytar__default["default"].getPassword(this.keyringService, this.keyringAccount);
1442
1442
  if (result == null) {
1443
1443
  process.stderr.write("No token found. Register using `cals snyk set-token`\n");
1444
1444
  return undefined;
@@ -1446,10 +1446,10 @@ class SnykTokenCliProvider {
1446
1446
  return result;
1447
1447
  }
1448
1448
  async markInvalid() {
1449
- await keytar__default['default'].deletePassword(this.keyringService, this.keyringAccount);
1449
+ await keytar__default["default"].deletePassword(this.keyringService, this.keyringAccount);
1450
1450
  }
1451
1451
  async setToken(value) {
1452
- await keytar__default['default'].setPassword(this.keyringService, this.keyringAccount, value);
1452
+ await keytar__default["default"].setPassword(this.keyringService, this.keyringAccount, value);
1453
1453
  }
1454
1454
  }
1455
1455
 
@@ -1471,7 +1471,7 @@ class SnykService {
1471
1471
  if (token === undefined) {
1472
1472
  throw new Error("Missing token for Snyk");
1473
1473
  }
1474
- const response = await fetch__default['default'](`https://snyk.io/api/v1/org/${encodeURIComponent(snykAccountId)}/projects`, {
1474
+ const response = await fetch__default["default"](`https://snyk.io/api/v1/org/${encodeURIComponent(snykAccountId)}/projects`, {
1475
1475
  method: "GET",
1476
1476
  headers: {
1477
1477
  Accept: "application/json",
@@ -1499,18 +1499,32 @@ function createSnykService(props) {
1499
1499
  }
1500
1500
 
1501
1501
  function getGitHubRepo(snykProject) {
1502
- if (snykProject.origin !== "github") {
1503
- return undefined;
1502
+ if (snykProject.origin === "github") {
1503
+ const match = /^([^/]+)\/([^:]+)(:(.+))?$/.exec(snykProject.name);
1504
+ if (match === null) {
1505
+ throw Error(`Could not extract components from Snyk project name: ${snykProject.name} (id: ${snykProject.id})`);
1506
+ }
1507
+ return {
1508
+ owner: match[1],
1509
+ name: match[2],
1510
+ };
1511
+ }
1512
+ else if (snykProject.origin === "cli" &&
1513
+ snykProject.remoteRepoUrl != null) {
1514
+ // The remoteRepoUrl can be overriden when using the CLI, so don't
1515
+ // fail if we cannot extract the value.
1516
+ const match = /github.com\/([^/]+)\/(.+)\.git$/.exec(snykProject.remoteRepoUrl);
1517
+ if (match === null) {
1518
+ return undefined;
1519
+ }
1520
+ return {
1521
+ owner: match[1],
1522
+ name: match[2],
1523
+ };
1504
1524
  }
1505
- const match = /^([^/]+)\/([^:]+):(.+)$/.exec(snykProject.name);
1506
- if (match === null) {
1507
- throw Error(`Could not extract components from Snyk project name: ${snykProject.name} (id: ${snykProject.id})`);
1525
+ else {
1526
+ return undefined;
1508
1527
  }
1509
- return {
1510
- owner: match[1],
1511
- name: match[2],
1512
- file: match[3],
1513
- };
1514
1528
  }
1515
1529
  function getGitHubRepoId(repo) {
1516
1530
  return repo ? `${repo.owner}/${repo.name}` : undefined;
@@ -1648,8 +1662,8 @@ function generateName(extra) {
1648
1662
  async function createNetwork(executor) {
1649
1663
  executor.checkCanContinue();
1650
1664
  const networkName = generateName();
1651
- await execa__default['default']("docker", ["network", "create", networkName]);
1652
- const lsRes = await execa__default['default']("docker", [
1665
+ await execa__default["default"]("docker", ["network", "create", networkName]);
1666
+ const lsRes = await execa__default["default"]("docker", [
1653
1667
  "network",
1654
1668
  "ls",
1655
1669
  "-q",
@@ -1659,7 +1673,7 @@ async function createNetwork(executor) {
1659
1673
  const networkId = lsRes.stdout.trim();
1660
1674
  console.log(`Network ${networkName} (${networkId}) created`);
1661
1675
  executor.registerCleanupTask(async () => {
1662
- await execa__default['default']("docker", ["network", "rm", networkId]);
1676
+ await execa__default["default"]("docker", ["network", "rm", networkId]);
1663
1677
  console.log(`Network ${networkName} (${networkId}) deleted`);
1664
1678
  });
1665
1679
  return {
@@ -1671,7 +1685,7 @@ async function createNetwork(executor) {
1671
1685
  */
1672
1686
  async function curl(executor, network, ...args) {
1673
1687
  executor.checkCanContinue();
1674
- const result = await execa__default['default']("docker", [
1688
+ const result = await execa__default["default"]("docker", [
1675
1689
  "run",
1676
1690
  "-i",
1677
1691
  "--rm",
@@ -1736,7 +1750,7 @@ async function waitForPostgresAvailable({ container, attempts = 30, waitInterval
1736
1750
  attempts,
1737
1751
  waitIntervalSec,
1738
1752
  condition: async () => {
1739
- await execa__default['default']("docker", [
1753
+ await execa__default["default"]("docker", [
1740
1754
  "exec",
1741
1755
  "-e",
1742
1756
  `PGPASSWORD=${password}`,
@@ -1757,7 +1771,7 @@ async function waitForPostgresAvailable({ container, attempts = 30, waitInterval
1757
1771
  async function isRunning(executor, container) {
1758
1772
  executor.checkCanContinue();
1759
1773
  try {
1760
- await execa__default['default']("docker", ["inspect", container.name]);
1774
+ await execa__default["default"]("docker", ["inspect", container.name]);
1761
1775
  return true;
1762
1776
  }
1763
1777
  catch (e) {
@@ -1812,14 +1826,14 @@ async function getContainerId({ executor, name, hasFailed, pid, }) {
1812
1826
  async function check() {
1813
1827
  let result;
1814
1828
  try {
1815
- result = (await execa__default['default']("docker", ["inspect", name, "-f", "{{.Id}}"]))
1829
+ result = (await execa__default["default"]("docker", ["inspect", name, "-f", "{{.Id}}"]))
1816
1830
  .stdout;
1817
1831
  }
1818
1832
  catch (e) {
1819
1833
  result = null;
1820
1834
  }
1821
1835
  // Debugging to help us solve CALS-366.
1822
- const ps = execa__default['default']("docker", ["ps"]);
1836
+ const ps = execa__default["default"]("docker", ["ps"]);
1823
1837
  pipeToConsole(ps, `${name} (ps)`);
1824
1838
  await ps;
1825
1839
  // Debugging to help us solve CALS-366.
@@ -1852,12 +1866,12 @@ async function getContainerId({ executor, name, hasFailed, pid, }) {
1852
1866
  }
1853
1867
  async function pullImage({ imageId }) {
1854
1868
  console.log(`Pulling ${imageId}`);
1855
- const process = execa__default['default']("docker", ["pull", imageId]);
1869
+ const process = execa__default["default"]("docker", ["pull", imageId]);
1856
1870
  pipeToConsole(process, `pull-image (${imageId})`);
1857
1871
  await process;
1858
1872
  }
1859
1873
  async function checkImageExistsLocally({ imageId, }) {
1860
- const result = await execa__default['default']("docker", ["images", "-q", imageId]);
1874
+ const result = await execa__default["default"]("docker", ["images", "-q", imageId]);
1861
1875
  const found = result.stdout != "";
1862
1876
  console.log(`image ${imageId} ${found ? "was present locally" : "was not found locally"}`);
1863
1877
  return found;
@@ -1893,7 +1907,7 @@ async function startContainer({ executor, network, imageId, alias, env, dockerAr
1893
1907
  }
1894
1908
  args.push(imageId);
1895
1909
  console.log(`Starting ${imageId}`);
1896
- const process = execa__default['default']("docker", args);
1910
+ const process = execa__default["default"]("docker", args);
1897
1911
  pipeToConsole(process, alias !== null && alias !== void 0 ? alias : containerName);
1898
1912
  let failed = false;
1899
1913
  process.catch(() => {
@@ -1907,7 +1921,7 @@ async function startContainer({ executor, network, imageId, alias, env, dockerAr
1907
1921
  });
1908
1922
  executor.registerCleanupTask(async () => {
1909
1923
  console.log(`Stopping container ${containerName}`);
1910
- const r = execa__default['default']("docker", ["stop", containerName]);
1924
+ const r = execa__default["default"]("docker", ["stop", containerName]);
1911
1925
  pipeToConsole(r, (alias !== null && alias !== void 0 ? alias : containerName) + " (stop)");
1912
1926
  try {
1913
1927
  await r;
@@ -1928,7 +1942,7 @@ async function startContainer({ executor, network, imageId, alias, env, dockerAr
1928
1942
  };
1929
1943
  }
1930
1944
  async function runNpmRunScript(name, options) {
1931
- const result = execa__default['default']("npm", ["run", name], {
1945
+ const result = execa__default["default"]("npm", ["run", name], {
1932
1946
  env: options === null || options === void 0 ? void 0 : options.env,
1933
1947
  });
1934
1948
  pipeToConsole(result, `npm run ${name}`);
@@ -1941,8 +1955,8 @@ async function getDockerHostAddress() {
1941
1955
  if (process.platform === "darwin" || process.platform === "win32") {
1942
1956
  return "host.docker.internal";
1943
1957
  }
1944
- if (fs__default['default'].existsSync("/.dockerenv")) {
1945
- const process = execa__default['default']("ip", ["route"]);
1958
+ if (fs__default["default"].existsSync("/.dockerenv")) {
1959
+ const process = execa__default["default"]("ip", ["route"]);
1946
1960
  pipeToConsole(process, "ip route");
1947
1961
  const res = await process;
1948
1962
  try {
@@ -1960,7 +1974,7 @@ async function getDockerHostAddress() {
1960
1974
  }
1961
1975
  async function waitForEnterToContinue(prompt = "Press enter to continue") {
1962
1976
  return new Promise((resolve, reject) => {
1963
- read__default['default']({
1977
+ read__default["default"]({
1964
1978
  prompt,
1965
1979
  silent: true,
1966
1980
  }, (err) => {
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -8,15 +8,20 @@ export interface SnykProject {
8
8
  isMonitored: boolean;
9
9
  totalDependencies: number;
10
10
  issueCountsBySeverity: {
11
- low: number;
11
+ critical?: number;
12
12
  high: number;
13
13
  medium: number;
14
+ low: number;
14
15
  };
16
+ /**
17
+ * E.g. http://github.com/capralifecycle/some-repo.git
18
+ * Set when using the CLI.
19
+ */
20
+ remoteRepoUrl?: string;
15
21
  lastTestedDate?: string | null;
16
22
  browseUrl: string;
17
23
  }
18
24
  export interface SnykGitHubRepo {
19
25
  owner: string;
20
26
  name: string;
21
- file: string;
22
27
  }
@@ -0,0 +1 @@
1
+ export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@capraconsulting/cals-cli",
3
- "version": "2.22.2",
3
+ "version": "2.23.2",
4
4
  "description": "CLI for repeatable tasks in CALS",
5
5
  "scripts": {
6
6
  "prepare": "node scripts/create-definition-schema.js && husky install",
@@ -30,7 +30,7 @@
30
30
  "execa": "^5.0.0",
31
31
  "find-up": "^5.0.0",
32
32
  "js-yaml": "^4.0.0",
33
- "keytar": "^7.0.0",
33
+ "keytar": "^7.8.0",
34
34
  "lodash": "^4.17.15",
35
35
  "node-fetch": "^2.6.0",
36
36
  "p-limit": "^3.0.0",
@@ -42,41 +42,41 @@
42
42
  "yargs": "^17.0.0"
43
43
  },
44
44
  "devDependencies": {
45
- "@commitlint/cli": "13.1.0",
46
- "@commitlint/config-conventional": "13.1.0",
45
+ "@commitlint/cli": "16.1.0",
46
+ "@commitlint/config-conventional": "16.0.0",
47
47
  "@octokit/types": "6.16.7",
48
- "@rollup/plugin-alias": "3.1.5",
48
+ "@rollup/plugin-alias": "3.1.9",
49
49
  "@rollup/plugin-json": "4.1.0",
50
- "@rollup/plugin-replace": "2.4.2",
51
- "@types/jest": "27.0.1",
52
- "@types/js-yaml": "4.0.3",
53
- "@types/lodash": "4.14.172",
54
- "@types/node": "14.17.15",
50
+ "@rollup/plugin-replace": "3.0.1",
51
+ "@types/jest": "27.4.0",
52
+ "@types/js-yaml": "4.0.5",
53
+ "@types/lodash": "4.14.178",
54
+ "@types/node": "14.18.10",
55
55
  "@types/node-fetch": "2.5.12",
56
56
  "@types/read": "0.0.29",
57
57
  "@types/rimraf": "3.0.2",
58
- "@types/semver": "7.3.8",
58
+ "@types/semver": "7.3.9",
59
59
  "@types/sprintf-js": "1.1.2",
60
- "@types/yargs": "17.0.2",
61
- "@typescript-eslint/eslint-plugin": "4.31.0",
62
- "@typescript-eslint/parser": "4.31.0",
63
- "dateformat": "4.5.1",
60
+ "@types/yargs": "17.0.8",
61
+ "@typescript-eslint/eslint-plugin": "5.10.2",
62
+ "@typescript-eslint/parser": "5.10.2",
63
+ "dateformat": "4.6.3",
64
64
  "del": "6.0.0",
65
- "eslint": "7.32.0",
65
+ "eslint": "8.8.0",
66
66
  "eslint-config-prettier": "8.3.0",
67
- "eslint-plugin-deprecation": "1.2.1",
68
67
  "eslint-plugin-prettier": "4.0.0",
69
- "husky": "7.0.2",
70
- "jest": "27.2.0",
71
- "prettier": "2.4.0",
72
- "rollup": "2.56.3",
73
- "rollup-plugin-typescript2": "0.30.0",
74
- "semantic-release": "17.4.7",
68
+ "husky": "7.0.4",
69
+ "jest": "27.4.7",
70
+ "prettier": "2.5.1",
71
+ "rollup": "2.67.0",
72
+ "rollup-plugin-typescript2": "0.31.2",
73
+ "semantic-release": "19.0.2",
75
74
  "tempy": "1.0.1",
76
- "ts-jest": "27.0.5",
77
- "typescript": "4.3.5",
78
- "typescript-json-schema": "0.50.1"
75
+ "ts-jest": "27.1.3",
76
+ "typescript": "4.5.5",
77
+ "typescript-json-schema": "0.53.0"
79
78
  },
79
+ "peerDependencies": {},
80
80
  "files": [
81
81
  "lib/**/*"
82
82
  ],