@form8ion/codecov 4.0.0 → 5.0.0-beta.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/README.md +23 -55
- package/example.js +5 -14
- package/lib/index.cjs.js +31 -60
- package/lib/index.cjs.js.map +1 -1
- package/lib/index.es.js +30 -52
- package/lib/index.es.js.map +1 -1
- package/package.json +32 -28
package/README.md
CHANGED
|
@@ -6,13 +6,13 @@ code coverage service plugin for form8ion
|
|
|
6
6
|
|
|
7
7
|
[![Node CI Workflow Status][github-actions-ci-badge]][github-actions-ci-link]
|
|
8
8
|
[![Codecov][coverage-badge]][coverage-link]
|
|
9
|
+
![SLSA Level 2][slsa-badge]
|
|
9
10
|
|
|
10
11
|
<!--status-badges end -->
|
|
11
12
|
|
|
12
13
|
## Table of Contents
|
|
13
14
|
|
|
14
15
|
* [Features](#features)
|
|
15
|
-
* [Scaffold](#scaffold)
|
|
16
16
|
* [Lift](#lift)
|
|
17
17
|
* [Usage](#usage)
|
|
18
18
|
* [Installation](#installation)
|
|
@@ -20,29 +20,22 @@ code coverage service plugin for form8ion
|
|
|
20
20
|
* [Import](#import)
|
|
21
21
|
* [Execute](#execute)
|
|
22
22
|
* [API](#api)
|
|
23
|
-
* [scaffold](#scaffold
|
|
24
|
-
* [`vcs` __object__ (_required_)](#vcs-object-required)
|
|
25
|
-
* [`visibility` __string__ (_required_)](#visibility-string-required)
|
|
26
|
-
* [`apiAccessToken` __string__ (_optional_)](#apiaccesstoken-string-optional)
|
|
23
|
+
* [scaffold](#scaffold)
|
|
27
24
|
* [lift](#lift-1)
|
|
28
25
|
* [`projectRoot` __string__ (_required_)](#projectroot-string-required)
|
|
29
26
|
* [`packageManager` __string__ (_required_)](#packagemanager-string-required)
|
|
27
|
+
* [`vcs` __object__ (_required_)](#vcs-object-required)
|
|
30
28
|
* [Contributing](#contributing)
|
|
31
29
|
* [Dependencies](#dependencies)
|
|
32
30
|
* [Verification](#verification)
|
|
33
31
|
|
|
34
32
|
## Features
|
|
35
33
|
|
|
36
|
-
###
|
|
34
|
+
### Lift
|
|
37
35
|
|
|
38
36
|
* Define a coverage status badge to communicate current coverage details
|
|
39
37
|
* Link from the status badge to further details on the [Codecov](https://codecov.io/)
|
|
40
38
|
site
|
|
41
|
-
* Define a coverage status badge for private projects when an [`apiAccessToken` __string__ (_optional_)](#apiaccesstoken-string-optional)
|
|
42
|
-
is provided
|
|
43
|
-
|
|
44
|
-
### Lift
|
|
45
|
-
|
|
46
39
|
* Migrate from the [legacy node uploader](https://github.com/codecov/codecov-node)
|
|
47
40
|
to the [modern uploader](https://docs.codecov.com/docs/codecov-uploader)
|
|
48
41
|
* Currently supports the following CI Providers:
|
|
@@ -78,26 +71,17 @@ import {scaffold, lift} from '@form8ion/codecov';
|
|
|
78
71
|
|
|
79
72
|
```javascript
|
|
80
73
|
(async () => {
|
|
81
|
-
await scaffold(
|
|
82
|
-
visibility: 'Public',
|
|
83
|
-
vcs: {
|
|
84
|
-
host: 'github',
|
|
85
|
-
owner: 'foo',
|
|
86
|
-
name: 'bar'
|
|
87
|
-
}
|
|
88
|
-
});
|
|
74
|
+
await scaffold();
|
|
89
75
|
|
|
90
|
-
await
|
|
91
|
-
|
|
76
|
+
await lift({
|
|
77
|
+
projectRoot: process.cwd(),
|
|
78
|
+
packageManager: packageManagers.NPM,
|
|
92
79
|
vcs: {
|
|
93
80
|
host: 'github',
|
|
94
81
|
owner: 'foo',
|
|
95
82
|
name: 'bar'
|
|
96
|
-
}
|
|
97
|
-
apiAccessToken: 'XXXXXX'
|
|
83
|
+
}
|
|
98
84
|
});
|
|
99
|
-
|
|
100
|
-
await lift({projectRoot: process.cwd(), packageManager: packageManagers.NPM});
|
|
101
85
|
})();
|
|
102
86
|
```
|
|
103
87
|
|
|
@@ -105,35 +89,8 @@ import {scaffold, lift} from '@form8ion/codecov';
|
|
|
105
89
|
|
|
106
90
|
#### scaffold
|
|
107
91
|
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
Takes a single options object as an argument, containing:
|
|
112
|
-
|
|
113
|
-
##### `vcs` __object__ (_required_)
|
|
114
|
-
|
|
115
|
-
* `host` __string__ (_required_)
|
|
116
|
-
VCS hosting service
|
|
117
|
-
* `owner` __string__ (_required_)
|
|
118
|
-
account name on the host service for the repository
|
|
119
|
-
* `name` __string__ (_required_)
|
|
120
|
-
repository name
|
|
121
|
-
|
|
122
|
-
##### `visibility` __string__ (_required_)
|
|
123
|
-
|
|
124
|
-
Visibility of the project (`Public` or `Private`).
|
|
125
|
-
Unless [`apiAccessToken`](#apiaccesstoken-string-optional) is provided, Codecov
|
|
126
|
-
details will only be scaffolded for public projects.
|
|
127
|
-
|
|
128
|
-
##### `apiAccessToken` __string__ (_optional_)
|
|
129
|
-
|
|
130
|
-
Personal Access Token for accessing the [Codecov API](https://docs.codecov.com/reference).
|
|
131
|
-
Providing an access token enables [fetching the `image_token` for the repository](https://docs.codecov.com/reference/repositories#get-a-single-repository)
|
|
132
|
-
so that the coverage badge can display the proper coverage state of the
|
|
133
|
-
project when the project is not public.
|
|
134
|
-
Since the [Codecov API](https://docs.codecov.com/reference) appears to only
|
|
135
|
-
support GitHub at the time of this implementation, GitHub is the only VCS host
|
|
136
|
-
supported by this scaffolder at this time.
|
|
92
|
+
The scaffolder of this plugin is currently a no-op since the work is all done
|
|
93
|
+
as part of the lifting process
|
|
137
94
|
|
|
138
95
|
#### lift
|
|
139
96
|
|
|
@@ -151,6 +108,15 @@ path to the root of the project
|
|
|
151
108
|
chosen [package manager](https://github.com/form8ion/javascript-core#packagemanagers)
|
|
152
109
|
to be used for the project
|
|
153
110
|
|
|
111
|
+
##### `vcs` __object__ (_required_)
|
|
112
|
+
|
|
113
|
+
* `host` __string__ (_required_)
|
|
114
|
+
VCS hosting service
|
|
115
|
+
* `owner` __string__ (_required_)
|
|
116
|
+
account name on the host service for the repository
|
|
117
|
+
* `name` __string__ (_required_)
|
|
118
|
+
repository name
|
|
119
|
+
|
|
154
120
|
## Contributing
|
|
155
121
|
|
|
156
122
|
<!--contribution-badges start -->
|
|
@@ -190,7 +156,7 @@ $ npm test
|
|
|
190
156
|
|
|
191
157
|
[semantic-release-link]: https://github.com/semantic-release/semantic-release
|
|
192
158
|
|
|
193
|
-
[semantic-release-badge]: https://img.shields.io/badge
|
|
159
|
+
[semantic-release-badge]: https://img.shields.io/badge/semantic--release-angular-e10079?logo=semantic-release
|
|
194
160
|
|
|
195
161
|
[renovate-link]: https://renovatebot.com
|
|
196
162
|
|
|
@@ -217,3 +183,5 @@ $ npm test
|
|
|
217
183
|
[runkit-badge]: https://badge.runkitcdn.com/@form8ion/codecov.svg
|
|
218
184
|
|
|
219
185
|
[node-badge]: https://img.shields.io/node/v/@form8ion/codecov?logo=node.js
|
|
186
|
+
|
|
187
|
+
[slsa-badge]: https://slsa.dev/images/gh-badge-level2.svg
|
package/example.js
CHANGED
|
@@ -16,24 +16,15 @@ nock('https://codecov.io/')
|
|
|
16
16
|
// #### Execute
|
|
17
17
|
|
|
18
18
|
(async () => {
|
|
19
|
-
await scaffold(
|
|
20
|
-
visibility: 'Public',
|
|
21
|
-
vcs: {
|
|
22
|
-
host: 'github',
|
|
23
|
-
owner: 'foo',
|
|
24
|
-
name: 'bar'
|
|
25
|
-
}
|
|
26
|
-
});
|
|
19
|
+
await scaffold();
|
|
27
20
|
|
|
28
|
-
await
|
|
29
|
-
|
|
21
|
+
await lift({
|
|
22
|
+
projectRoot: process.cwd(),
|
|
23
|
+
packageManager: packageManagers.NPM,
|
|
30
24
|
vcs: {
|
|
31
25
|
host: 'github',
|
|
32
26
|
owner: 'foo',
|
|
33
27
|
name: 'bar'
|
|
34
|
-
}
|
|
35
|
-
apiAccessToken: 'XXXXXX'
|
|
28
|
+
}
|
|
36
29
|
});
|
|
37
|
-
|
|
38
|
-
await lift({projectRoot: process.cwd(), packageManager: packageManagers.NPM});
|
|
39
30
|
})();
|
package/lib/index.cjs.js
CHANGED
|
@@ -1,31 +1,26 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
var got = require('got');
|
|
3
|
+
var deepmerge = require('deepmerge');
|
|
6
4
|
var fs = require('fs');
|
|
7
5
|
var execa = require('execa');
|
|
8
6
|
var jsYaml = require('js-yaml');
|
|
9
7
|
var core = require('@form8ion/core');
|
|
8
|
+
var got = require('got');
|
|
10
9
|
|
|
11
|
-
function
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
var execa__default = /*#__PURE__*/_interopDefaultLegacy(execa);
|
|
10
|
+
async function scaffold$1() {
|
|
11
|
+
return {};
|
|
12
|
+
}
|
|
15
13
|
|
|
16
14
|
function ownKeys(object, enumerableOnly) {
|
|
17
15
|
var keys = Object.keys(object);
|
|
18
|
-
|
|
19
16
|
if (Object.getOwnPropertySymbols) {
|
|
20
17
|
var symbols = Object.getOwnPropertySymbols(object);
|
|
21
18
|
enumerableOnly && (symbols = symbols.filter(function (sym) {
|
|
22
19
|
return Object.getOwnPropertyDescriptor(object, sym).enumerable;
|
|
23
20
|
})), keys.push.apply(keys, symbols);
|
|
24
21
|
}
|
|
25
|
-
|
|
26
22
|
return keys;
|
|
27
23
|
}
|
|
28
|
-
|
|
29
24
|
function _objectSpread2(target) {
|
|
30
25
|
for (var i = 1; i < arguments.length; i++) {
|
|
31
26
|
var source = null != arguments[i] ? arguments[i] : {};
|
|
@@ -35,11 +30,10 @@ function _objectSpread2(target) {
|
|
|
35
30
|
Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
|
|
36
31
|
});
|
|
37
32
|
}
|
|
38
|
-
|
|
39
33
|
return target;
|
|
40
34
|
}
|
|
41
|
-
|
|
42
35
|
function _defineProperty(obj, key, value) {
|
|
36
|
+
key = _toPropertyKey(key);
|
|
43
37
|
if (key in obj) {
|
|
44
38
|
Object.defineProperty(obj, key, {
|
|
45
39
|
value: value,
|
|
@@ -50,35 +44,26 @@ function _defineProperty(obj, key, value) {
|
|
|
50
44
|
} else {
|
|
51
45
|
obj[key] = value;
|
|
52
46
|
}
|
|
53
|
-
|
|
54
47
|
return obj;
|
|
55
48
|
}
|
|
56
|
-
|
|
57
49
|
function _objectWithoutPropertiesLoose(source, excluded) {
|
|
58
50
|
if (source == null) return {};
|
|
59
51
|
var target = {};
|
|
60
52
|
var sourceKeys = Object.keys(source);
|
|
61
53
|
var key, i;
|
|
62
|
-
|
|
63
54
|
for (i = 0; i < sourceKeys.length; i++) {
|
|
64
55
|
key = sourceKeys[i];
|
|
65
56
|
if (excluded.indexOf(key) >= 0) continue;
|
|
66
57
|
target[key] = source[key];
|
|
67
58
|
}
|
|
68
|
-
|
|
69
59
|
return target;
|
|
70
60
|
}
|
|
71
|
-
|
|
72
61
|
function _objectWithoutProperties(source, excluded) {
|
|
73
62
|
if (source == null) return {};
|
|
74
|
-
|
|
75
63
|
var target = _objectWithoutPropertiesLoose(source, excluded);
|
|
76
|
-
|
|
77
64
|
var key, i;
|
|
78
|
-
|
|
79
65
|
if (Object.getOwnPropertySymbols) {
|
|
80
66
|
var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
|
|
81
|
-
|
|
82
67
|
for (i = 0; i < sourceSymbolKeys.length; i++) {
|
|
83
68
|
key = sourceSymbolKeys[i];
|
|
84
69
|
if (excluded.indexOf(key) >= 0) continue;
|
|
@@ -86,16 +71,21 @@ function _objectWithoutProperties(source, excluded) {
|
|
|
86
71
|
target[key] = source[key];
|
|
87
72
|
}
|
|
88
73
|
}
|
|
89
|
-
|
|
90
74
|
return target;
|
|
91
75
|
}
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
76
|
+
function _toPrimitive(input, hint) {
|
|
77
|
+
if (typeof input !== "object" || input === null) return input;
|
|
78
|
+
var prim = input[Symbol.toPrimitive];
|
|
79
|
+
if (prim !== undefined) {
|
|
80
|
+
var res = prim.call(input, hint || "default");
|
|
81
|
+
if (typeof res !== "object") return res;
|
|
82
|
+
throw new TypeError("@@toPrimitive must return a primitive value.");
|
|
83
|
+
}
|
|
84
|
+
return (hint === "string" ? String : Number)(input);
|
|
85
|
+
}
|
|
86
|
+
function _toPropertyKey(arg) {
|
|
87
|
+
var key = _toPrimitive(arg, "string");
|
|
88
|
+
return typeof key === "symbol" ? key : String(key);
|
|
99
89
|
}
|
|
100
90
|
|
|
101
91
|
async function fetchRepositoryDetails ({
|
|
@@ -106,7 +96,7 @@ async function fetchRepositoryDetails ({
|
|
|
106
96
|
body: {
|
|
107
97
|
repo
|
|
108
98
|
}
|
|
109
|
-
} = await
|
|
99
|
+
} = await got(`https://codecov.io/api/gh/${vcs.owner}/${vcs.name}`, {
|
|
110
100
|
headers: {
|
|
111
101
|
Authorization: apiAccessToken
|
|
112
102
|
},
|
|
@@ -115,7 +105,7 @@ async function fetchRepositoryDetails ({
|
|
|
115
105
|
return repo;
|
|
116
106
|
}
|
|
117
107
|
|
|
118
|
-
async function scaffold
|
|
108
|
+
async function scaffold({
|
|
119
109
|
vcs,
|
|
120
110
|
apiAccessToken
|
|
121
111
|
}) {
|
|
@@ -135,26 +125,9 @@ async function scaffold$1({
|
|
|
135
125
|
});
|
|
136
126
|
}
|
|
137
127
|
|
|
138
|
-
async function scaffold({
|
|
139
|
-
vcs,
|
|
140
|
-
visibility,
|
|
141
|
-
apiAccessToken
|
|
142
|
-
}) {
|
|
143
|
-
if (!coverageShouldBeReportedToCodecov({
|
|
144
|
-
vcs,
|
|
145
|
-
visibility,
|
|
146
|
-
apiAccessToken
|
|
147
|
-
})) return {};
|
|
148
|
-
return _objectSpread2({}, await scaffold$1({
|
|
149
|
-
vcs,
|
|
150
|
-
apiAccessToken
|
|
151
|
-
}));
|
|
152
|
-
}
|
|
153
|
-
|
|
154
128
|
function getPathToWorkflowFile(projectRoot) {
|
|
155
129
|
return `${projectRoot}/.github/workflows/node-ci.yml`;
|
|
156
130
|
}
|
|
157
|
-
|
|
158
131
|
function test({
|
|
159
132
|
projectRoot
|
|
160
133
|
}) {
|
|
@@ -172,10 +145,8 @@ async function lift$1({
|
|
|
172
145
|
}
|
|
173
146
|
}
|
|
174
147
|
} = workflowDetails;
|
|
175
|
-
|
|
176
148
|
if (!steps.find(step => {
|
|
177
149
|
var _step$uses;
|
|
178
|
-
|
|
179
150
|
return (_step$uses = step.uses) === null || _step$uses === void 0 ? void 0 : _step$uses.startsWith('codecov/codecov-action');
|
|
180
151
|
})) {
|
|
181
152
|
const stepsWithLegacyReportingRemoved = steps.filter(({
|
|
@@ -206,17 +177,14 @@ async function liftReporting ({
|
|
|
206
177
|
const {
|
|
207
178
|
scripts
|
|
208
179
|
} = parsedPackageContents;
|
|
209
|
-
|
|
210
180
|
const otherScripts = _objectWithoutProperties(scripts, _excluded);
|
|
211
|
-
|
|
212
181
|
if (ciProviderCanBeLifted) await lift$1({
|
|
213
182
|
projectRoot
|
|
214
183
|
});
|
|
215
|
-
|
|
216
184
|
if (scripts['coverage:report']) {
|
|
217
185
|
parsedPackageContents.scripts = otherScripts;
|
|
218
186
|
await fs.promises.writeFile(pathToPackageJson, JSON.stringify(parsedPackageContents));
|
|
219
|
-
await
|
|
187
|
+
await execa(packageManager, ['remove', 'codecov']);
|
|
220
188
|
return _objectSpread2({}, !ciProviderCanBeLifted && {
|
|
221
189
|
nextSteps: [{
|
|
222
190
|
summary: 'Configure modern reporting to Codecov on your CI service',
|
|
@@ -224,20 +192,23 @@ async function liftReporting ({
|
|
|
224
192
|
}]
|
|
225
193
|
});
|
|
226
194
|
}
|
|
227
|
-
|
|
228
195
|
return {};
|
|
229
196
|
}
|
|
230
197
|
|
|
231
|
-
function lift({
|
|
198
|
+
async function lift({
|
|
232
199
|
projectRoot,
|
|
233
|
-
packageManager
|
|
200
|
+
packageManager,
|
|
201
|
+
vcs
|
|
234
202
|
}) {
|
|
235
|
-
|
|
203
|
+
const [reportingResults, badgeResults] = await Promise.all([liftReporting({
|
|
236
204
|
projectRoot,
|
|
237
205
|
packageManager
|
|
238
|
-
})
|
|
206
|
+
}), scaffold({
|
|
207
|
+
vcs
|
|
208
|
+
})]);
|
|
209
|
+
return deepmerge.all([reportingResults, badgeResults]);
|
|
239
210
|
}
|
|
240
211
|
|
|
241
212
|
exports.lift = lift;
|
|
242
|
-
exports.scaffold = scaffold;
|
|
213
|
+
exports.scaffold = scaffold$1;
|
|
243
214
|
//# sourceMappingURL=index.cjs.js.map
|
package/lib/index.cjs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs.js","sources":["../src/
|
|
1
|
+
{"version":3,"file":"index.cjs.js","sources":["../src/scaffolder.js","../src/badge/repository-details-fetcher.js","../src/badge/scaffolder.js","../src/reporter/ci-providers/github-workflows/lifter.js","../src/reporter/lifter.js","../src/lifter.js"],"sourcesContent":["export async function scaffold() {\n return {};\n}\n","import got from '../../thirdparty-wrappers/got';\n\nexport default async function ({vcs, apiAccessToken}) {\n const {body: {repo}} = await got(\n `https://codecov.io/api/gh/${vcs.owner}/${vcs.name}`,\n {headers: {Authorization: apiAccessToken}, responseType: 'json'}\n );\n\n return repo;\n}\n","import fetchRepositoryDetails from './repository-details-fetcher';\n\nexport async function scaffold({vcs, apiAccessToken}) {\n return {\n ...['github', 'gitlab', 'bitbucket'].includes(vcs?.host) && {\n badges: {\n status: {\n coverage: {\n img: `https://img.shields.io/codecov/c/${vcs.host}/${vcs.owner}/${vcs.name}?logo=codecov${\n apiAccessToken\n ? `&token=${(await fetchRepositoryDetails({vcs, apiAccessToken})).image_token}`\n : ''\n }`,\n link: `https://codecov.io/${vcs.host}/${vcs.owner}/${vcs.name}`,\n text: 'Codecov'\n }\n }\n }\n }\n };\n}\n","import {promises as fs} from 'fs';\nimport {dump, load} from 'js-yaml';\nimport {fileExists} from '@form8ion/core';\n\nfunction getPathToWorkflowFile(projectRoot) {\n return `${projectRoot}/.github/workflows/node-ci.yml`;\n}\n\nexport function test({projectRoot}) {\n return fileExists(getPathToWorkflowFile(projectRoot));\n}\n\nexport async function lift({projectRoot}) {\n const pathToWorkflowFile = getPathToWorkflowFile(projectRoot);\n\n const workflowDetails = load(await fs.readFile(pathToWorkflowFile, 'utf-8'));\n const {jobs: {verify: {steps}}} = workflowDetails;\n\n if (!steps.find(step => step.uses?.startsWith('codecov/codecov-action'))) {\n const stepsWithLegacyReportingRemoved = steps.filter(({run}) => 'npm run coverage:report' !== run);\n\n await fs.writeFile(\n pathToWorkflowFile,\n dump({\n ...workflowDetails,\n jobs: {\n ...workflowDetails.jobs,\n verify: {\n ...workflowDetails.jobs.verify,\n steps: [...stepsWithLegacyReportingRemoved, {uses: 'codecov/codecov-action@v3'}]\n }\n }\n })\n );\n }\n}\n","import {promises as fs} from 'fs';\n\nimport execa from '../../thirdparty-wrappers/execa';\nimport {lift as liftCiProvider, test as ciProviderIsLiftable} from './ci-providers';\n\nexport default async function ({projectRoot, packageManager}) {\n const pathToPackageJson = `${projectRoot}/package.json`;\n\n const [ciProviderCanBeLifted, existingPackageContents] = await Promise.all([\n ciProviderIsLiftable({projectRoot}),\n fs.readFile(pathToPackageJson, 'utf-8')\n ]);\n const parsedPackageContents = JSON.parse(existingPackageContents);\n const {scripts} = parsedPackageContents;\n const {'coverage:report': reportCoverageScript, ...otherScripts} = scripts;\n\n if (ciProviderCanBeLifted) await liftCiProvider({projectRoot});\n\n if (scripts['coverage:report']) {\n parsedPackageContents.scripts = otherScripts;\n await fs.writeFile(pathToPackageJson, JSON.stringify(parsedPackageContents));\n\n await execa(packageManager, ['remove', 'codecov']);\n\n return {\n ...!ciProviderCanBeLifted && {\n nextSteps: [{\n summary: 'Configure modern reporting to Codecov on your CI service',\n description: 'Configure the [Codecov Uploader](https://docs.codecov.com/docs/codecov-uploader) appropriately'\n + ' for your CI Provider. If available for your provider, prefer one of the dedicated wrappers.'\n }]\n }\n };\n }\n\n return {};\n}\n","import deepmerge from 'deepmerge';\n\nimport {scaffold as scaffoldBadge} from './badge';\nimport {lift as liftReporting} from './reporter';\n\nexport async function lift({projectRoot, packageManager, vcs}) {\n const [reportingResults, badgeResults] = await Promise.all([\n liftReporting({projectRoot, packageManager}),\n scaffoldBadge({vcs})\n ]);\n\n return deepmerge.all([reportingResults, badgeResults]);\n}\n"],"names":["scaffold","vcs","apiAccessToken","body","repo","got","owner","name","headers","Authorization","responseType","_objectSpread","includes","host","badges","status","coverage","img","fetchRepositoryDetails","image_token","link","text","getPathToWorkflowFile","projectRoot","test","fileExists","lift","pathToWorkflowFile","workflowDetails","load","fs","readFile","jobs","verify","steps","find","step","_step$uses","uses","startsWith","stepsWithLegacyReportingRemoved","filter","run","writeFile","dump","packageManager","pathToPackageJson","ciProviderCanBeLifted","existingPackageContents","Promise","all","ciProviderIsLiftable","parsedPackageContents","JSON","parse","scripts","otherScripts","_objectWithoutProperties","_excluded","liftCiProvider","stringify","execa","nextSteps","summary","description","reportingResults","badgeResults","liftReporting","scaffoldBadge","deepmerge"],"mappings":"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"}
|
package/lib/index.es.js
CHANGED
|
@@ -1,22 +1,24 @@
|
|
|
1
|
-
import
|
|
1
|
+
import deepmerge from 'deepmerge';
|
|
2
2
|
import { promises } from 'fs';
|
|
3
3
|
import execa from 'execa';
|
|
4
4
|
import { load, dump } from 'js-yaml';
|
|
5
5
|
import { fileExists } from '@form8ion/core';
|
|
6
|
+
import got from 'got';
|
|
7
|
+
|
|
8
|
+
async function scaffold$1() {
|
|
9
|
+
return {};
|
|
10
|
+
}
|
|
6
11
|
|
|
7
12
|
function ownKeys(object, enumerableOnly) {
|
|
8
13
|
var keys = Object.keys(object);
|
|
9
|
-
|
|
10
14
|
if (Object.getOwnPropertySymbols) {
|
|
11
15
|
var symbols = Object.getOwnPropertySymbols(object);
|
|
12
16
|
enumerableOnly && (symbols = symbols.filter(function (sym) {
|
|
13
17
|
return Object.getOwnPropertyDescriptor(object, sym).enumerable;
|
|
14
18
|
})), keys.push.apply(keys, symbols);
|
|
15
19
|
}
|
|
16
|
-
|
|
17
20
|
return keys;
|
|
18
21
|
}
|
|
19
|
-
|
|
20
22
|
function _objectSpread2(target) {
|
|
21
23
|
for (var i = 1; i < arguments.length; i++) {
|
|
22
24
|
var source = null != arguments[i] ? arguments[i] : {};
|
|
@@ -26,11 +28,10 @@ function _objectSpread2(target) {
|
|
|
26
28
|
Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
|
|
27
29
|
});
|
|
28
30
|
}
|
|
29
|
-
|
|
30
31
|
return target;
|
|
31
32
|
}
|
|
32
|
-
|
|
33
33
|
function _defineProperty(obj, key, value) {
|
|
34
|
+
key = _toPropertyKey(key);
|
|
34
35
|
if (key in obj) {
|
|
35
36
|
Object.defineProperty(obj, key, {
|
|
36
37
|
value: value,
|
|
@@ -41,35 +42,26 @@ function _defineProperty(obj, key, value) {
|
|
|
41
42
|
} else {
|
|
42
43
|
obj[key] = value;
|
|
43
44
|
}
|
|
44
|
-
|
|
45
45
|
return obj;
|
|
46
46
|
}
|
|
47
|
-
|
|
48
47
|
function _objectWithoutPropertiesLoose(source, excluded) {
|
|
49
48
|
if (source == null) return {};
|
|
50
49
|
var target = {};
|
|
51
50
|
var sourceKeys = Object.keys(source);
|
|
52
51
|
var key, i;
|
|
53
|
-
|
|
54
52
|
for (i = 0; i < sourceKeys.length; i++) {
|
|
55
53
|
key = sourceKeys[i];
|
|
56
54
|
if (excluded.indexOf(key) >= 0) continue;
|
|
57
55
|
target[key] = source[key];
|
|
58
56
|
}
|
|
59
|
-
|
|
60
57
|
return target;
|
|
61
58
|
}
|
|
62
|
-
|
|
63
59
|
function _objectWithoutProperties(source, excluded) {
|
|
64
60
|
if (source == null) return {};
|
|
65
|
-
|
|
66
61
|
var target = _objectWithoutPropertiesLoose(source, excluded);
|
|
67
|
-
|
|
68
62
|
var key, i;
|
|
69
|
-
|
|
70
63
|
if (Object.getOwnPropertySymbols) {
|
|
71
64
|
var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
|
|
72
|
-
|
|
73
65
|
for (i = 0; i < sourceSymbolKeys.length; i++) {
|
|
74
66
|
key = sourceSymbolKeys[i];
|
|
75
67
|
if (excluded.indexOf(key) >= 0) continue;
|
|
@@ -77,16 +69,21 @@ function _objectWithoutProperties(source, excluded) {
|
|
|
77
69
|
target[key] = source[key];
|
|
78
70
|
}
|
|
79
71
|
}
|
|
80
|
-
|
|
81
72
|
return target;
|
|
82
73
|
}
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
74
|
+
function _toPrimitive(input, hint) {
|
|
75
|
+
if (typeof input !== "object" || input === null) return input;
|
|
76
|
+
var prim = input[Symbol.toPrimitive];
|
|
77
|
+
if (prim !== undefined) {
|
|
78
|
+
var res = prim.call(input, hint || "default");
|
|
79
|
+
if (typeof res !== "object") return res;
|
|
80
|
+
throw new TypeError("@@toPrimitive must return a primitive value.");
|
|
81
|
+
}
|
|
82
|
+
return (hint === "string" ? String : Number)(input);
|
|
83
|
+
}
|
|
84
|
+
function _toPropertyKey(arg) {
|
|
85
|
+
var key = _toPrimitive(arg, "string");
|
|
86
|
+
return typeof key === "symbol" ? key : String(key);
|
|
90
87
|
}
|
|
91
88
|
|
|
92
89
|
async function fetchRepositoryDetails ({
|
|
@@ -106,7 +103,7 @@ async function fetchRepositoryDetails ({
|
|
|
106
103
|
return repo;
|
|
107
104
|
}
|
|
108
105
|
|
|
109
|
-
async function scaffold
|
|
106
|
+
async function scaffold({
|
|
110
107
|
vcs,
|
|
111
108
|
apiAccessToken
|
|
112
109
|
}) {
|
|
@@ -126,26 +123,9 @@ async function scaffold$1({
|
|
|
126
123
|
});
|
|
127
124
|
}
|
|
128
125
|
|
|
129
|
-
async function scaffold({
|
|
130
|
-
vcs,
|
|
131
|
-
visibility,
|
|
132
|
-
apiAccessToken
|
|
133
|
-
}) {
|
|
134
|
-
if (!coverageShouldBeReportedToCodecov({
|
|
135
|
-
vcs,
|
|
136
|
-
visibility,
|
|
137
|
-
apiAccessToken
|
|
138
|
-
})) return {};
|
|
139
|
-
return _objectSpread2({}, await scaffold$1({
|
|
140
|
-
vcs,
|
|
141
|
-
apiAccessToken
|
|
142
|
-
}));
|
|
143
|
-
}
|
|
144
|
-
|
|
145
126
|
function getPathToWorkflowFile(projectRoot) {
|
|
146
127
|
return `${projectRoot}/.github/workflows/node-ci.yml`;
|
|
147
128
|
}
|
|
148
|
-
|
|
149
129
|
function test({
|
|
150
130
|
projectRoot
|
|
151
131
|
}) {
|
|
@@ -163,10 +143,8 @@ async function lift$1({
|
|
|
163
143
|
}
|
|
164
144
|
}
|
|
165
145
|
} = workflowDetails;
|
|
166
|
-
|
|
167
146
|
if (!steps.find(step => {
|
|
168
147
|
var _step$uses;
|
|
169
|
-
|
|
170
148
|
return (_step$uses = step.uses) === null || _step$uses === void 0 ? void 0 : _step$uses.startsWith('codecov/codecov-action');
|
|
171
149
|
})) {
|
|
172
150
|
const stepsWithLegacyReportingRemoved = steps.filter(({
|
|
@@ -197,13 +175,10 @@ async function liftReporting ({
|
|
|
197
175
|
const {
|
|
198
176
|
scripts
|
|
199
177
|
} = parsedPackageContents;
|
|
200
|
-
|
|
201
178
|
const otherScripts = _objectWithoutProperties(scripts, _excluded);
|
|
202
|
-
|
|
203
179
|
if (ciProviderCanBeLifted) await lift$1({
|
|
204
180
|
projectRoot
|
|
205
181
|
});
|
|
206
|
-
|
|
207
182
|
if (scripts['coverage:report']) {
|
|
208
183
|
parsedPackageContents.scripts = otherScripts;
|
|
209
184
|
await promises.writeFile(pathToPackageJson, JSON.stringify(parsedPackageContents));
|
|
@@ -215,19 +190,22 @@ async function liftReporting ({
|
|
|
215
190
|
}]
|
|
216
191
|
});
|
|
217
192
|
}
|
|
218
|
-
|
|
219
193
|
return {};
|
|
220
194
|
}
|
|
221
195
|
|
|
222
|
-
function lift({
|
|
196
|
+
async function lift({
|
|
223
197
|
projectRoot,
|
|
224
|
-
packageManager
|
|
198
|
+
packageManager,
|
|
199
|
+
vcs
|
|
225
200
|
}) {
|
|
226
|
-
|
|
201
|
+
const [reportingResults, badgeResults] = await Promise.all([liftReporting({
|
|
227
202
|
projectRoot,
|
|
228
203
|
packageManager
|
|
229
|
-
})
|
|
204
|
+
}), scaffold({
|
|
205
|
+
vcs
|
|
206
|
+
})]);
|
|
207
|
+
return deepmerge.all([reportingResults, badgeResults]);
|
|
230
208
|
}
|
|
231
209
|
|
|
232
|
-
export { lift, scaffold };
|
|
210
|
+
export { lift, scaffold$1 as scaffold };
|
|
233
211
|
//# sourceMappingURL=index.es.js.map
|
package/lib/index.es.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.es.js","sources":["../src/
|
|
1
|
+
{"version":3,"file":"index.es.js","sources":["../src/scaffolder.js","../src/badge/repository-details-fetcher.js","../src/badge/scaffolder.js","../src/reporter/ci-providers/github-workflows/lifter.js","../src/reporter/lifter.js","../src/lifter.js"],"sourcesContent":["export async function scaffold() {\n return {};\n}\n","import got from '../../thirdparty-wrappers/got';\n\nexport default async function ({vcs, apiAccessToken}) {\n const {body: {repo}} = await got(\n `https://codecov.io/api/gh/${vcs.owner}/${vcs.name}`,\n {headers: {Authorization: apiAccessToken}, responseType: 'json'}\n );\n\n return repo;\n}\n","import fetchRepositoryDetails from './repository-details-fetcher';\n\nexport async function scaffold({vcs, apiAccessToken}) {\n return {\n ...['github', 'gitlab', 'bitbucket'].includes(vcs?.host) && {\n badges: {\n status: {\n coverage: {\n img: `https://img.shields.io/codecov/c/${vcs.host}/${vcs.owner}/${vcs.name}?logo=codecov${\n apiAccessToken\n ? `&token=${(await fetchRepositoryDetails({vcs, apiAccessToken})).image_token}`\n : ''\n }`,\n link: `https://codecov.io/${vcs.host}/${vcs.owner}/${vcs.name}`,\n text: 'Codecov'\n }\n }\n }\n }\n };\n}\n","import {promises as fs} from 'fs';\nimport {dump, load} from 'js-yaml';\nimport {fileExists} from '@form8ion/core';\n\nfunction getPathToWorkflowFile(projectRoot) {\n return `${projectRoot}/.github/workflows/node-ci.yml`;\n}\n\nexport function test({projectRoot}) {\n return fileExists(getPathToWorkflowFile(projectRoot));\n}\n\nexport async function lift({projectRoot}) {\n const pathToWorkflowFile = getPathToWorkflowFile(projectRoot);\n\n const workflowDetails = load(await fs.readFile(pathToWorkflowFile, 'utf-8'));\n const {jobs: {verify: {steps}}} = workflowDetails;\n\n if (!steps.find(step => step.uses?.startsWith('codecov/codecov-action'))) {\n const stepsWithLegacyReportingRemoved = steps.filter(({run}) => 'npm run coverage:report' !== run);\n\n await fs.writeFile(\n pathToWorkflowFile,\n dump({\n ...workflowDetails,\n jobs: {\n ...workflowDetails.jobs,\n verify: {\n ...workflowDetails.jobs.verify,\n steps: [...stepsWithLegacyReportingRemoved, {uses: 'codecov/codecov-action@v3'}]\n }\n }\n })\n );\n }\n}\n","import {promises as fs} from 'fs';\n\nimport execa from '../../thirdparty-wrappers/execa';\nimport {lift as liftCiProvider, test as ciProviderIsLiftable} from './ci-providers';\n\nexport default async function ({projectRoot, packageManager}) {\n const pathToPackageJson = `${projectRoot}/package.json`;\n\n const [ciProviderCanBeLifted, existingPackageContents] = await Promise.all([\n ciProviderIsLiftable({projectRoot}),\n fs.readFile(pathToPackageJson, 'utf-8')\n ]);\n const parsedPackageContents = JSON.parse(existingPackageContents);\n const {scripts} = parsedPackageContents;\n const {'coverage:report': reportCoverageScript, ...otherScripts} = scripts;\n\n if (ciProviderCanBeLifted) await liftCiProvider({projectRoot});\n\n if (scripts['coverage:report']) {\n parsedPackageContents.scripts = otherScripts;\n await fs.writeFile(pathToPackageJson, JSON.stringify(parsedPackageContents));\n\n await execa(packageManager, ['remove', 'codecov']);\n\n return {\n ...!ciProviderCanBeLifted && {\n nextSteps: [{\n summary: 'Configure modern reporting to Codecov on your CI service',\n description: 'Configure the [Codecov Uploader](https://docs.codecov.com/docs/codecov-uploader) appropriately'\n + ' for your CI Provider. If available for your provider, prefer one of the dedicated wrappers.'\n }]\n }\n };\n }\n\n return {};\n}\n","import deepmerge from 'deepmerge';\n\nimport {scaffold as scaffoldBadge} from './badge';\nimport {lift as liftReporting} from './reporter';\n\nexport async function lift({projectRoot, packageManager, vcs}) {\n const [reportingResults, badgeResults] = await Promise.all([\n liftReporting({projectRoot, packageManager}),\n scaffoldBadge({vcs})\n ]);\n\n return deepmerge.all([reportingResults, badgeResults]);\n}\n"],"names":["scaffold","vcs","apiAccessToken","body","repo","got","owner","name","headers","Authorization","responseType","_objectSpread","includes","host","badges","status","coverage","img","fetchRepositoryDetails","image_token","link","text","getPathToWorkflowFile","projectRoot","test","fileExists","lift","pathToWorkflowFile","workflowDetails","load","fs","readFile","jobs","verify","steps","find","step","_step$uses","uses","startsWith","stepsWithLegacyReportingRemoved","filter","run","writeFile","dump","packageManager","pathToPackageJson","ciProviderCanBeLifted","existingPackageContents","Promise","all","ciProviderIsLiftable","parsedPackageContents","JSON","parse","scripts","otherScripts","_objectWithoutProperties","_excluded","liftCiProvider","stringify","execa","nextSteps","summary","description","reportingResults","badgeResults","liftReporting","scaffoldBadge","deepmerge"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "@form8ion/codecov",
|
|
3
3
|
"description": "code coverage service plugin for form8ion",
|
|
4
4
|
"license": "MIT",
|
|
5
|
-
"version": "
|
|
5
|
+
"version": "5.0.0-beta.1",
|
|
6
6
|
"engines": {
|
|
7
7
|
"node": ">=16"
|
|
8
8
|
},
|
|
@@ -41,56 +41,60 @@
|
|
|
41
41
|
"test:integration:wip": "run-s 'test:integration:base -- --profile wip'",
|
|
42
42
|
"test:integration:wip:debug": "DEBUG=test run-s 'test:integration:wip'",
|
|
43
43
|
"test:integration:focus": "run-s 'test:integration:base -- --profile focus'",
|
|
44
|
-
"lint:engines": "ls-engines"
|
|
44
|
+
"lint:engines": "ls-engines",
|
|
45
|
+
"lint:publish": "publint"
|
|
45
46
|
},
|
|
46
47
|
"files": [
|
|
47
48
|
"example.js",
|
|
48
49
|
"lib/"
|
|
49
50
|
],
|
|
50
51
|
"publishConfig": {
|
|
51
|
-
"access": "public"
|
|
52
|
+
"access": "public",
|
|
53
|
+
"provenance": true
|
|
52
54
|
},
|
|
53
55
|
"dependencies": {
|
|
54
|
-
"@form8ion/core": "^
|
|
56
|
+
"@form8ion/core": "^2.0.0",
|
|
57
|
+
"deepmerge": "^4.3.1",
|
|
55
58
|
"execa": "^5.1.1",
|
|
56
59
|
"got": "^11.8.5",
|
|
57
60
|
"js-yaml": "^4.1.0"
|
|
58
61
|
},
|
|
59
62
|
"devDependencies": {
|
|
60
|
-
"@babel/register": "7.
|
|
61
|
-
"@cucumber/cucumber": "
|
|
62
|
-
"@form8ion/babel-preset": "1.6.
|
|
63
|
-
"@form8ion/commitlint-config": "1.0.
|
|
64
|
-
"@form8ion/eslint-config": "
|
|
63
|
+
"@babel/register": "7.22.5",
|
|
64
|
+
"@cucumber/cucumber": "9.3.0",
|
|
65
|
+
"@form8ion/babel-preset": "1.6.107",
|
|
66
|
+
"@form8ion/commitlint-config": "1.0.53",
|
|
67
|
+
"@form8ion/eslint-config": "6.0.0",
|
|
65
68
|
"@form8ion/eslint-config-cucumber": "1.4.1",
|
|
66
|
-
"@form8ion/eslint-config-mocha": "
|
|
67
|
-
"@form8ion/javascript-core": "
|
|
68
|
-
"@form8ion/remark-lint-preset": "
|
|
69
|
-
"@rollup/plugin-babel": "
|
|
70
|
-
"@rollup/plugin-node-resolve": "
|
|
71
|
-
"@travi/any": "2.1.
|
|
72
|
-
"ban-sensitive-files": "1.9.
|
|
73
|
-
"c8": "
|
|
74
|
-
"chai": "4.3.
|
|
69
|
+
"@form8ion/eslint-config-mocha": "3.0.0",
|
|
70
|
+
"@form8ion/javascript-core": "10.0.1",
|
|
71
|
+
"@form8ion/remark-lint-preset": "6.0.0",
|
|
72
|
+
"@rollup/plugin-babel": "6.0.3",
|
|
73
|
+
"@rollup/plugin-node-resolve": "15.1.0",
|
|
74
|
+
"@travi/any": "2.1.8",
|
|
75
|
+
"ban-sensitive-files": "1.9.19",
|
|
76
|
+
"c8": "8.0.1",
|
|
77
|
+
"chai": "4.3.7",
|
|
75
78
|
"cross-env": "7.0.3",
|
|
76
79
|
"cz-conventional-changelog": "3.3.0",
|
|
77
80
|
"gherkin-lint": "4.2.2",
|
|
78
81
|
"http-status-codes": "2.2.0",
|
|
79
|
-
"husky": "8.0.
|
|
80
|
-
"lockfile-lint": "4.
|
|
81
|
-
"ls-engines": "0.
|
|
82
|
-
"mocha": "10.
|
|
83
|
-
"mock-fs": "5.
|
|
84
|
-
"nock": "13.2
|
|
82
|
+
"husky": "8.0.3",
|
|
83
|
+
"lockfile-lint": "4.12.0",
|
|
84
|
+
"ls-engines": "0.9.0",
|
|
85
|
+
"mocha": "10.2.0",
|
|
86
|
+
"mock-fs": "5.2.0",
|
|
87
|
+
"nock": "13.3.2",
|
|
85
88
|
"npm-run-all": "4.1.5",
|
|
86
89
|
"package-preview": "4.0.0",
|
|
90
|
+
"publint": "0.2.0",
|
|
87
91
|
"remark-cli": "11.0.0",
|
|
88
92
|
"remark-toc": "8.0.1",
|
|
89
93
|
"remark-usage": "10.0.1",
|
|
90
|
-
"rimraf": "
|
|
91
|
-
"rollup": "
|
|
94
|
+
"rimraf": "5.0.1",
|
|
95
|
+
"rollup": "3.27.2",
|
|
92
96
|
"rollup-plugin-auto-external": "2.0.0",
|
|
93
|
-
"sinon": "
|
|
94
|
-
"testdouble": "3.16.
|
|
97
|
+
"sinon": "15.2.0",
|
|
98
|
+
"testdouble": "3.16.7"
|
|
95
99
|
}
|
|
96
100
|
}
|