@capraconsulting/cals-cli 2.24.1 → 2.25.1
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/lib/cals-cli.js +2 -2
- package/lib/index.d.ts +1 -0
- package/lib/index.es.js +70 -6
- package/lib/index.es.js.map +1 -1
- package/lib/index.js +74 -9
- package/lib/index.js.map +1 -1
- package/lib/sonarcloud/index.d.ts +2 -0
- package/lib/sonarcloud/service.d.ts +33 -0
- package/lib/sonarcloud/token.d.ts +8 -0
- package/package.json +18 -18
package/lib/cals-cli.js
CHANGED
|
@@ -47,7 +47,7 @@ var read__default = /*#__PURE__*/_interopDefaultLegacy(read);
|
|
|
47
47
|
var findUp__default = /*#__PURE__*/_interopDefaultLegacy(findUp);
|
|
48
48
|
var execa__default = /*#__PURE__*/_interopDefaultLegacy(execa);
|
|
49
49
|
|
|
50
|
-
var version = "2.
|
|
50
|
+
var version = "2.25.1";
|
|
51
51
|
var engines = {
|
|
52
52
|
node: ">=12.0.0"
|
|
53
53
|
};
|
|
@@ -3494,7 +3494,7 @@ async function main() {
|
|
|
3494
3494
|
/ /___/ ___ |/ /______/ /
|
|
3495
3495
|
\\____/_/ |_/_____/____/
|
|
3496
3496
|
cli ${version}
|
|
3497
|
-
built ${"
|
|
3497
|
+
built ${"2023-02-20T09:28:07+0000"}
|
|
3498
3498
|
|
|
3499
3499
|
https://github.com/capralifecycle/cals-cli/
|
|
3500
3500
|
|
package/lib/index.d.ts
CHANGED
|
@@ -9,5 +9,6 @@ export * as definition from "./definition";
|
|
|
9
9
|
export * as github from "./github";
|
|
10
10
|
export * as loadSecrets from "./load-secrets";
|
|
11
11
|
export * as snyk from "./snyk";
|
|
12
|
+
export * as sonarCloud from "./sonarcloud";
|
|
12
13
|
export * from "./testing";
|
|
13
14
|
export { CacheProvider, Config, createGitHubService, createReporter, DefinitionFile, GitHubService, Reporter, };
|
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.
|
|
25
|
+
var version = "2.25.1";
|
|
26
26
|
|
|
27
27
|
class CacheProvider {
|
|
28
28
|
constructor(config) {
|
|
@@ -1124,7 +1124,7 @@ async function createGitHubService(props) {
|
|
|
1124
1124
|
});
|
|
1125
1125
|
}
|
|
1126
1126
|
|
|
1127
|
-
var index$
|
|
1127
|
+
var index$4 = /*#__PURE__*/Object.freeze({
|
|
1128
1128
|
__proto__: null,
|
|
1129
1129
|
DefinitionFile: DefinitionFile,
|
|
1130
1130
|
getGitHubOrgs: getGitHubOrgs,
|
|
@@ -1133,7 +1133,7 @@ var index$3 = /*#__PURE__*/Object.freeze({
|
|
|
1133
1133
|
parseDefinition: parseDefinition
|
|
1134
1134
|
});
|
|
1135
1135
|
|
|
1136
|
-
var index$
|
|
1136
|
+
var index$3 = /*#__PURE__*/Object.freeze({
|
|
1137
1137
|
__proto__: null,
|
|
1138
1138
|
createGitHubService: createGitHubService,
|
|
1139
1139
|
GitHubService: GitHubService
|
|
@@ -1410,7 +1410,7 @@ function loadSecretsCli(props) {
|
|
|
1410
1410
|
});
|
|
1411
1411
|
}
|
|
1412
1412
|
|
|
1413
|
-
var index$
|
|
1413
|
+
var index$2 = /*#__PURE__*/Object.freeze({
|
|
1414
1414
|
__proto__: null,
|
|
1415
1415
|
loadSecretsCli: loadSecretsCli
|
|
1416
1416
|
});
|
|
@@ -1516,7 +1516,7 @@ function getGitHubRepoId(repo) {
|
|
|
1516
1516
|
return repo ? `${repo.owner}/${repo.name}` : undefined;
|
|
1517
1517
|
}
|
|
1518
1518
|
|
|
1519
|
-
var index = /*#__PURE__*/Object.freeze({
|
|
1519
|
+
var index$1 = /*#__PURE__*/Object.freeze({
|
|
1520
1520
|
__proto__: null,
|
|
1521
1521
|
createSnykService: createSnykService,
|
|
1522
1522
|
SnykService: SnykService,
|
|
@@ -1524,6 +1524,70 @@ var index = /*#__PURE__*/Object.freeze({
|
|
|
1524
1524
|
getGitHubRepoId: getGitHubRepoId
|
|
1525
1525
|
});
|
|
1526
1526
|
|
|
1527
|
+
class SonarCloudTokenCliProvider {
|
|
1528
|
+
async getToken() {
|
|
1529
|
+
if (process.env.CALS_SONARCLOUD_TOKEN) {
|
|
1530
|
+
return Promise.resolve(process.env.CALS_SONARCLOUD_TOKEN);
|
|
1531
|
+
}
|
|
1532
|
+
process.stderr.write("No environmental variable found. Set variable `CALS_SONARCLOUD_TOKEN` to token value\n");
|
|
1533
|
+
return undefined;
|
|
1534
|
+
}
|
|
1535
|
+
async markInvalid() {
|
|
1536
|
+
await Promise.resolve();
|
|
1537
|
+
}
|
|
1538
|
+
}
|
|
1539
|
+
|
|
1540
|
+
class SonarCloudService {
|
|
1541
|
+
constructor(props) {
|
|
1542
|
+
this.config = props.config;
|
|
1543
|
+
this.tokenProvider = props.tokenProvider;
|
|
1544
|
+
}
|
|
1545
|
+
/**
|
|
1546
|
+
* Returns metrics for project with given key.
|
|
1547
|
+
* ONLY test coverage metrics are returned as of now
|
|
1548
|
+
*/
|
|
1549
|
+
async getMetricsByProjectKey(sonarCloudProjectKey) {
|
|
1550
|
+
const token = await this.tokenProvider.getToken();
|
|
1551
|
+
if (token === undefined) {
|
|
1552
|
+
throw new Error("Missing token for SonarCloud");
|
|
1553
|
+
}
|
|
1554
|
+
const response = await fetch(`https://sonarcloud.io/api/measures/component?component=${encodeURIComponent(sonarCloudProjectKey)}&metricKeys=coverage`, {
|
|
1555
|
+
method: "GET",
|
|
1556
|
+
headers: {
|
|
1557
|
+
Accept: "application/json",
|
|
1558
|
+
Authorization: `token ${token}`,
|
|
1559
|
+
},
|
|
1560
|
+
agent: this.config.agent,
|
|
1561
|
+
});
|
|
1562
|
+
if (response.status === 401) {
|
|
1563
|
+
process.stderr.write("Unauthorized - removing token\n");
|
|
1564
|
+
await this.tokenProvider.markInvalid();
|
|
1565
|
+
}
|
|
1566
|
+
if (response.status === 404) {
|
|
1567
|
+
process.stderr.write("Project does not exist in SonarCloud\n");
|
|
1568
|
+
return undefined;
|
|
1569
|
+
}
|
|
1570
|
+
if (!response.ok) {
|
|
1571
|
+
throw new Error(`Response from SonarCloud not OK (${response.status}): ${JSON.stringify(response)}`);
|
|
1572
|
+
}
|
|
1573
|
+
return (await response.json());
|
|
1574
|
+
}
|
|
1575
|
+
}
|
|
1576
|
+
function createSonarCloudService(props) {
|
|
1577
|
+
var _a;
|
|
1578
|
+
return new SonarCloudService({
|
|
1579
|
+
config: props.config,
|
|
1580
|
+
tokenProvider: (_a = props.tokenProvider) !== null && _a !== void 0 ? _a : new SonarCloudTokenCliProvider(),
|
|
1581
|
+
});
|
|
1582
|
+
}
|
|
1583
|
+
|
|
1584
|
+
var index = /*#__PURE__*/Object.freeze({
|
|
1585
|
+
__proto__: null,
|
|
1586
|
+
createSonarCloudService: createSonarCloudService,
|
|
1587
|
+
SonarCloudService: SonarCloudService,
|
|
1588
|
+
SonarCloudTokenCliProvider: SonarCloudTokenCliProvider
|
|
1589
|
+
});
|
|
1590
|
+
|
|
1527
1591
|
class TestExecutor {
|
|
1528
1592
|
constructor() {
|
|
1529
1593
|
this.shutdown = false;
|
|
@@ -1974,5 +2038,5 @@ async function waitForEnterToContinue(prompt = "Press enter to continue") {
|
|
|
1974
2038
|
|
|
1975
2039
|
const VERSION = version;
|
|
1976
2040
|
|
|
1977
|
-
export { CacheProvider, Config, DefinitionFile, GitHubService, Reporter, TestExecutor, VERSION, createGitHubService, createNetwork, createReporter, createTestExecutor, curl, index$
|
|
2041
|
+
export { CacheProvider, Config, DefinitionFile, GitHubService, Reporter, TestExecutor, VERSION, createGitHubService, createNetwork, createReporter, createTestExecutor, curl, index$4 as definition, getDockerHostAddress, index$3 as github, index$2 as loadSecrets, pollForCondition, runNpmRunScript, index$1 as snyk, index as sonarCloud, startContainer, waitForEnterToContinue, waitForHttpOk, waitForPostgresAvailable };
|
|
1978
2042
|
//# sourceMappingURL=index.es.js.map
|
package/lib/index.es.js.map
CHANGED
|
@@ -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.
|
|
47
|
+
var version = "2.25.1";
|
|
48
48
|
|
|
49
49
|
class CacheProvider {
|
|
50
50
|
constructor(config) {
|
|
@@ -1146,7 +1146,7 @@ async function createGitHubService(props) {
|
|
|
1146
1146
|
});
|
|
1147
1147
|
}
|
|
1148
1148
|
|
|
1149
|
-
var index$
|
|
1149
|
+
var index$4 = /*#__PURE__*/Object.freeze({
|
|
1150
1150
|
__proto__: null,
|
|
1151
1151
|
DefinitionFile: DefinitionFile,
|
|
1152
1152
|
getGitHubOrgs: getGitHubOrgs,
|
|
@@ -1155,7 +1155,7 @@ var index$3 = /*#__PURE__*/Object.freeze({
|
|
|
1155
1155
|
parseDefinition: parseDefinition
|
|
1156
1156
|
});
|
|
1157
1157
|
|
|
1158
|
-
var index$
|
|
1158
|
+
var index$3 = /*#__PURE__*/Object.freeze({
|
|
1159
1159
|
__proto__: null,
|
|
1160
1160
|
createGitHubService: createGitHubService,
|
|
1161
1161
|
GitHubService: GitHubService
|
|
@@ -1432,7 +1432,7 @@ function loadSecretsCli(props) {
|
|
|
1432
1432
|
});
|
|
1433
1433
|
}
|
|
1434
1434
|
|
|
1435
|
-
var index$
|
|
1435
|
+
var index$2 = /*#__PURE__*/Object.freeze({
|
|
1436
1436
|
__proto__: null,
|
|
1437
1437
|
loadSecretsCli: loadSecretsCli
|
|
1438
1438
|
});
|
|
@@ -1538,7 +1538,7 @@ function getGitHubRepoId(repo) {
|
|
|
1538
1538
|
return repo ? `${repo.owner}/${repo.name}` : undefined;
|
|
1539
1539
|
}
|
|
1540
1540
|
|
|
1541
|
-
var index = /*#__PURE__*/Object.freeze({
|
|
1541
|
+
var index$1 = /*#__PURE__*/Object.freeze({
|
|
1542
1542
|
__proto__: null,
|
|
1543
1543
|
createSnykService: createSnykService,
|
|
1544
1544
|
SnykService: SnykService,
|
|
@@ -1546,6 +1546,70 @@ var index = /*#__PURE__*/Object.freeze({
|
|
|
1546
1546
|
getGitHubRepoId: getGitHubRepoId
|
|
1547
1547
|
});
|
|
1548
1548
|
|
|
1549
|
+
class SonarCloudTokenCliProvider {
|
|
1550
|
+
async getToken() {
|
|
1551
|
+
if (process.env.CALS_SONARCLOUD_TOKEN) {
|
|
1552
|
+
return Promise.resolve(process.env.CALS_SONARCLOUD_TOKEN);
|
|
1553
|
+
}
|
|
1554
|
+
process.stderr.write("No environmental variable found. Set variable `CALS_SONARCLOUD_TOKEN` to token value\n");
|
|
1555
|
+
return undefined;
|
|
1556
|
+
}
|
|
1557
|
+
async markInvalid() {
|
|
1558
|
+
await Promise.resolve();
|
|
1559
|
+
}
|
|
1560
|
+
}
|
|
1561
|
+
|
|
1562
|
+
class SonarCloudService {
|
|
1563
|
+
constructor(props) {
|
|
1564
|
+
this.config = props.config;
|
|
1565
|
+
this.tokenProvider = props.tokenProvider;
|
|
1566
|
+
}
|
|
1567
|
+
/**
|
|
1568
|
+
* Returns metrics for project with given key.
|
|
1569
|
+
* ONLY test coverage metrics are returned as of now
|
|
1570
|
+
*/
|
|
1571
|
+
async getMetricsByProjectKey(sonarCloudProjectKey) {
|
|
1572
|
+
const token = await this.tokenProvider.getToken();
|
|
1573
|
+
if (token === undefined) {
|
|
1574
|
+
throw new Error("Missing token for SonarCloud");
|
|
1575
|
+
}
|
|
1576
|
+
const response = await fetch__default["default"](`https://sonarcloud.io/api/measures/component?component=${encodeURIComponent(sonarCloudProjectKey)}&metricKeys=coverage`, {
|
|
1577
|
+
method: "GET",
|
|
1578
|
+
headers: {
|
|
1579
|
+
Accept: "application/json",
|
|
1580
|
+
Authorization: `token ${token}`,
|
|
1581
|
+
},
|
|
1582
|
+
agent: this.config.agent,
|
|
1583
|
+
});
|
|
1584
|
+
if (response.status === 401) {
|
|
1585
|
+
process.stderr.write("Unauthorized - removing token\n");
|
|
1586
|
+
await this.tokenProvider.markInvalid();
|
|
1587
|
+
}
|
|
1588
|
+
if (response.status === 404) {
|
|
1589
|
+
process.stderr.write("Project does not exist in SonarCloud\n");
|
|
1590
|
+
return undefined;
|
|
1591
|
+
}
|
|
1592
|
+
if (!response.ok) {
|
|
1593
|
+
throw new Error(`Response from SonarCloud not OK (${response.status}): ${JSON.stringify(response)}`);
|
|
1594
|
+
}
|
|
1595
|
+
return (await response.json());
|
|
1596
|
+
}
|
|
1597
|
+
}
|
|
1598
|
+
function createSonarCloudService(props) {
|
|
1599
|
+
var _a;
|
|
1600
|
+
return new SonarCloudService({
|
|
1601
|
+
config: props.config,
|
|
1602
|
+
tokenProvider: (_a = props.tokenProvider) !== null && _a !== void 0 ? _a : new SonarCloudTokenCliProvider(),
|
|
1603
|
+
});
|
|
1604
|
+
}
|
|
1605
|
+
|
|
1606
|
+
var index = /*#__PURE__*/Object.freeze({
|
|
1607
|
+
__proto__: null,
|
|
1608
|
+
createSonarCloudService: createSonarCloudService,
|
|
1609
|
+
SonarCloudService: SonarCloudService,
|
|
1610
|
+
SonarCloudTokenCliProvider: SonarCloudTokenCliProvider
|
|
1611
|
+
});
|
|
1612
|
+
|
|
1549
1613
|
class TestExecutor {
|
|
1550
1614
|
constructor() {
|
|
1551
1615
|
this.shutdown = false;
|
|
@@ -2008,13 +2072,14 @@ exports.createNetwork = createNetwork;
|
|
|
2008
2072
|
exports.createReporter = createReporter;
|
|
2009
2073
|
exports.createTestExecutor = createTestExecutor;
|
|
2010
2074
|
exports.curl = curl;
|
|
2011
|
-
exports.definition = index$
|
|
2075
|
+
exports.definition = index$4;
|
|
2012
2076
|
exports.getDockerHostAddress = getDockerHostAddress;
|
|
2013
|
-
exports.github = index$
|
|
2014
|
-
exports.loadSecrets = index$
|
|
2077
|
+
exports.github = index$3;
|
|
2078
|
+
exports.loadSecrets = index$2;
|
|
2015
2079
|
exports.pollForCondition = pollForCondition;
|
|
2016
2080
|
exports.runNpmRunScript = runNpmRunScript;
|
|
2017
|
-
exports.snyk = index;
|
|
2081
|
+
exports.snyk = index$1;
|
|
2082
|
+
exports.sonarCloud = index;
|
|
2018
2083
|
exports.startContainer = startContainer;
|
|
2019
2084
|
exports.waitForEnterToContinue = waitForEnterToContinue;
|
|
2020
2085
|
exports.waitForHttpOk = waitForHttpOk;
|
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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { Config } from "../config";
|
|
2
|
+
import { SonarCloudTokenProvider } from "./token";
|
|
3
|
+
interface SonarCloudServiceProps {
|
|
4
|
+
config: Config;
|
|
5
|
+
tokenProvider: SonarCloudTokenProvider;
|
|
6
|
+
}
|
|
7
|
+
export declare class SonarCloudService {
|
|
8
|
+
private config;
|
|
9
|
+
private tokenProvider;
|
|
10
|
+
constructor(props: SonarCloudServiceProps);
|
|
11
|
+
/**
|
|
12
|
+
* Returns metrics for project with given key.
|
|
13
|
+
* ONLY test coverage metrics are returned as of now
|
|
14
|
+
*/
|
|
15
|
+
getMetricsByProjectKey(sonarCloudProjectKey: string): Promise<{
|
|
16
|
+
component: {
|
|
17
|
+
id: string;
|
|
18
|
+
key: string;
|
|
19
|
+
name: string;
|
|
20
|
+
qualifier: string;
|
|
21
|
+
measures: {
|
|
22
|
+
metric: string;
|
|
23
|
+
value: string;
|
|
24
|
+
}[];
|
|
25
|
+
};
|
|
26
|
+
} | undefined>;
|
|
27
|
+
}
|
|
28
|
+
interface CreateSonarCloudServiceProps {
|
|
29
|
+
config: Config;
|
|
30
|
+
tokenProvider?: SonarCloudTokenProvider;
|
|
31
|
+
}
|
|
32
|
+
export declare function createSonarCloudService(props: CreateSonarCloudServiceProps): SonarCloudService;
|
|
33
|
+
export {};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export interface SonarCloudTokenProvider {
|
|
2
|
+
getToken(): Promise<string | undefined>;
|
|
3
|
+
markInvalid(): Promise<void>;
|
|
4
|
+
}
|
|
5
|
+
export declare class SonarCloudTokenCliProvider implements SonarCloudTokenProvider {
|
|
6
|
+
getToken(): Promise<string | undefined>;
|
|
7
|
+
markInvalid(): Promise<void>;
|
|
8
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@capraconsulting/cals-cli",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.25.1",
|
|
4
4
|
"description": "CLI for repeatable tasks in CALS",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"prepare": "node scripts/create-definition-schema.js && husky install",
|
|
@@ -42,39 +42,39 @@
|
|
|
42
42
|
"yargs": "^17.5.1"
|
|
43
43
|
},
|
|
44
44
|
"devDependencies": {
|
|
45
|
-
"@commitlint/cli": "
|
|
46
|
-
"@commitlint/config-conventional": "
|
|
47
|
-
"@octokit/types": "6.
|
|
45
|
+
"@commitlint/cli": "17.1.2",
|
|
46
|
+
"@commitlint/config-conventional": "17.1.0",
|
|
47
|
+
"@octokit/types": "6.41.0",
|
|
48
48
|
"@rollup/plugin-alias": "3.1.9",
|
|
49
49
|
"@rollup/plugin-json": "4.1.0",
|
|
50
|
-
"@rollup/plugin-replace": "
|
|
50
|
+
"@rollup/plugin-replace": "4.0.0",
|
|
51
51
|
"@types/jest": "27.5.2",
|
|
52
52
|
"@types/js-yaml": "4.0.5",
|
|
53
|
-
"@types/lodash": "4.14.
|
|
54
|
-
"@types/node": "14.18.
|
|
55
|
-
"@types/node-fetch": "2.6.
|
|
53
|
+
"@types/lodash": "4.14.186",
|
|
54
|
+
"@types/node": "14.18.32",
|
|
55
|
+
"@types/node-fetch": "2.6.2",
|
|
56
56
|
"@types/read": "0.0.29",
|
|
57
57
|
"@types/rimraf": "3.0.2",
|
|
58
|
-
"@types/semver": "7.3.
|
|
58
|
+
"@types/semver": "7.3.12",
|
|
59
59
|
"@types/sprintf-js": "1.1.2",
|
|
60
|
-
"@types/yargs": "17.0.
|
|
60
|
+
"@types/yargs": "17.0.13",
|
|
61
61
|
"@typescript-eslint/eslint-plugin": "5.27.1",
|
|
62
62
|
"@typescript-eslint/parser": "5.27.1",
|
|
63
63
|
"dateformat": "4.6.3",
|
|
64
64
|
"del": "6.1.1",
|
|
65
|
-
"eslint": "8.
|
|
65
|
+
"eslint": "8.26.0",
|
|
66
66
|
"eslint-config-prettier": "8.5.0",
|
|
67
|
-
"eslint-plugin-prettier": "4.
|
|
67
|
+
"eslint-plugin-prettier": "4.2.1",
|
|
68
68
|
"husky": "7.0.4",
|
|
69
69
|
"jest": "27.5.1",
|
|
70
|
-
"prettier": "2.
|
|
71
|
-
"rollup": "2.
|
|
72
|
-
"rollup-plugin-typescript2": "0.
|
|
73
|
-
"semantic-release": "19.0.
|
|
70
|
+
"prettier": "2.7.1",
|
|
71
|
+
"rollup": "2.79.1",
|
|
72
|
+
"rollup-plugin-typescript2": "0.34.1",
|
|
73
|
+
"semantic-release": "19.0.5",
|
|
74
74
|
"tempy": "1.0.1",
|
|
75
75
|
"ts-jest": "27.1.5",
|
|
76
|
-
"typescript": "4.
|
|
77
|
-
"typescript-json-schema": "0.
|
|
76
|
+
"typescript": "4.8.4",
|
|
77
|
+
"typescript-json-schema": "0.54.0"
|
|
78
78
|
},
|
|
79
79
|
"peerDependencies": {},
|
|
80
80
|
"files": [
|