@form8ion/codecov 1.1.0-alpha.1 → 1.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -1
- package/lib/index.cjs.js +95 -27
- package/lib/index.cjs.js.map +1 -1
- package/lib/index.es.js +95 -28
- package/lib/index.es.js.map +1 -1
- package/package.json +12 -12
package/README.md
CHANGED
|
@@ -103,7 +103,10 @@ details will only be scaffolded for public projects.
|
|
|
103
103
|
Personal Access Token for accessing the [Codecov API](https://docs.codecov.com/reference).
|
|
104
104
|
Providing an access token enables [fetching the `image_token` for the repository](https://docs.codecov.com/reference/repositories#get-a-single-repository)
|
|
105
105
|
so that the coverage badge can display the proper coverage state of the
|
|
106
|
-
project.
|
|
106
|
+
project when the project is not public.
|
|
107
|
+
Since the [Codecov API](https://docs.codecov.com/reference) appears to only
|
|
108
|
+
support GitHub at the time of this implementation, GitHub is the only VCS host
|
|
109
|
+
supported by this scaffolder at this time.
|
|
107
110
|
|
|
108
111
|
## Contributing
|
|
109
112
|
|
package/lib/index.cjs.js
CHANGED
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
5
|
var got = require('got');
|
|
6
|
+
var fs = require('fs');
|
|
6
7
|
|
|
7
8
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
8
9
|
|
|
@@ -13,14 +14,9 @@ function ownKeys(object, enumerableOnly) {
|
|
|
13
14
|
|
|
14
15
|
if (Object.getOwnPropertySymbols) {
|
|
15
16
|
var symbols = Object.getOwnPropertySymbols(object);
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
return Object.getOwnPropertyDescriptor(object, sym).enumerable;
|
|
20
|
-
});
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
keys.push.apply(keys, symbols);
|
|
17
|
+
enumerableOnly && (symbols = symbols.filter(function (sym) {
|
|
18
|
+
return Object.getOwnPropertyDescriptor(object, sym).enumerable;
|
|
19
|
+
})), keys.push.apply(keys, symbols);
|
|
24
20
|
}
|
|
25
21
|
|
|
26
22
|
return keys;
|
|
@@ -28,19 +24,12 @@ function ownKeys(object, enumerableOnly) {
|
|
|
28
24
|
|
|
29
25
|
function _objectSpread2(target) {
|
|
30
26
|
for (var i = 1; i < arguments.length; i++) {
|
|
31
|
-
var source = arguments[i]
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
} else if (Object.getOwnPropertyDescriptors) {
|
|
38
|
-
Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
|
|
39
|
-
} else {
|
|
40
|
-
ownKeys(Object(source)).forEach(function (key) {
|
|
41
|
-
Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
|
|
42
|
-
});
|
|
43
|
-
}
|
|
27
|
+
var source = null != arguments[i] ? arguments[i] : {};
|
|
28
|
+
i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {
|
|
29
|
+
_defineProperty(target, key, source[key]);
|
|
30
|
+
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {
|
|
31
|
+
Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
|
|
32
|
+
});
|
|
44
33
|
}
|
|
45
34
|
|
|
46
35
|
return target;
|
|
@@ -61,6 +50,50 @@ function _defineProperty(obj, key, value) {
|
|
|
61
50
|
return obj;
|
|
62
51
|
}
|
|
63
52
|
|
|
53
|
+
function _objectWithoutPropertiesLoose(source, excluded) {
|
|
54
|
+
if (source == null) return {};
|
|
55
|
+
var target = {};
|
|
56
|
+
var sourceKeys = Object.keys(source);
|
|
57
|
+
var key, i;
|
|
58
|
+
|
|
59
|
+
for (i = 0; i < sourceKeys.length; i++) {
|
|
60
|
+
key = sourceKeys[i];
|
|
61
|
+
if (excluded.indexOf(key) >= 0) continue;
|
|
62
|
+
target[key] = source[key];
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
return target;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
function _objectWithoutProperties(source, excluded) {
|
|
69
|
+
if (source == null) return {};
|
|
70
|
+
|
|
71
|
+
var target = _objectWithoutPropertiesLoose(source, excluded);
|
|
72
|
+
|
|
73
|
+
var key, i;
|
|
74
|
+
|
|
75
|
+
if (Object.getOwnPropertySymbols) {
|
|
76
|
+
var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
|
|
77
|
+
|
|
78
|
+
for (i = 0; i < sourceSymbolKeys.length; i++) {
|
|
79
|
+
key = sourceSymbolKeys[i];
|
|
80
|
+
if (excluded.indexOf(key) >= 0) continue;
|
|
81
|
+
if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
|
|
82
|
+
target[key] = source[key];
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
return target;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
function coverageShouldBeReportedToCodecov({
|
|
90
|
+
vcs,
|
|
91
|
+
visibility,
|
|
92
|
+
apiAccessToken
|
|
93
|
+
}) {
|
|
94
|
+
return !!('Public' === visibility || apiAccessToken && 'github' === vcs.host);
|
|
95
|
+
}
|
|
96
|
+
|
|
64
97
|
function scaffold$2() {
|
|
65
98
|
return {
|
|
66
99
|
devDependencies: ['codecov'],
|
|
@@ -70,6 +103,29 @@ function scaffold$2() {
|
|
|
70
103
|
};
|
|
71
104
|
}
|
|
72
105
|
|
|
106
|
+
const _excluded = ["scripts"],
|
|
107
|
+
_excluded2 = ["coverage:report"];
|
|
108
|
+
async function liftReporting ({
|
|
109
|
+
projectRoot
|
|
110
|
+
}) {
|
|
111
|
+
const pathToPackageJson = `${projectRoot}/package.json`;
|
|
112
|
+
const existingPackageContents = await fs.promises.readFile(pathToPackageJson, 'utf-8');
|
|
113
|
+
|
|
114
|
+
const _JSON$parse = JSON.parse(existingPackageContents),
|
|
115
|
+
{
|
|
116
|
+
scripts
|
|
117
|
+
} = _JSON$parse,
|
|
118
|
+
otherTopLevelProperties = _objectWithoutProperties(_JSON$parse, _excluded);
|
|
119
|
+
|
|
120
|
+
const otherScripts = _objectWithoutProperties(scripts, _excluded2);
|
|
121
|
+
|
|
122
|
+
if (scripts['coverage:report']) {
|
|
123
|
+
await fs.promises.writeFile(pathToPackageJson, JSON.stringify(_objectSpread2(_objectSpread2({}, otherTopLevelProperties), {}, {
|
|
124
|
+
scripts: otherScripts
|
|
125
|
+
})));
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
|
|
73
129
|
async function fetchRepositoryDetails ({
|
|
74
130
|
vcs,
|
|
75
131
|
apiAccessToken
|
|
@@ -95,7 +151,7 @@ async function scaffold$1({
|
|
|
95
151
|
badges: {
|
|
96
152
|
status: {
|
|
97
153
|
coverage: {
|
|
98
|
-
img: `https://img.shields.io/codecov/c/${vcs.host}/${vcs.owner}/${vcs.name}
|
|
154
|
+
img: `https://img.shields.io/codecov/c/${vcs.host}/${vcs.owner}/${vcs.name}?logo=codecov${apiAccessToken ? `&token=${(await fetchRepositoryDetails({
|
|
99
155
|
vcs,
|
|
100
156
|
apiAccessToken
|
|
101
157
|
})).image_token}` : ''}`,
|
|
@@ -112,13 +168,25 @@ async function scaffold({
|
|
|
112
168
|
visibility,
|
|
113
169
|
apiAccessToken
|
|
114
170
|
}) {
|
|
115
|
-
if (
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
}, apiAccessToken && {
|
|
171
|
+
if (!coverageShouldBeReportedToCodecov({
|
|
172
|
+
vcs,
|
|
173
|
+
visibility,
|
|
119
174
|
apiAccessToken
|
|
120
|
-
}))
|
|
175
|
+
})) return {};
|
|
176
|
+
return _objectSpread2(_objectSpread2({}, scaffold$2()), await scaffold$1({
|
|
177
|
+
vcs,
|
|
178
|
+
apiAccessToken
|
|
179
|
+
}));
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
async function lift({
|
|
183
|
+
projectRoot
|
|
184
|
+
}) {
|
|
185
|
+
await liftReporting({
|
|
186
|
+
projectRoot
|
|
187
|
+
});
|
|
121
188
|
}
|
|
122
189
|
|
|
190
|
+
exports.lift = lift;
|
|
123
191
|
exports.scaffold = scaffold;
|
|
124
192
|
//# sourceMappingURL=index.cjs.js.map
|
package/lib/index.cjs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs.js","sources":["../src/reporter.js","../src/repository-details-fetcher.js","../src/badge.js","../src/scaffolder.js"],"sourcesContent":["export function scaffold() {\n return {\n devDependencies: ['codecov'],\n scripts: {'coverage:report': 'c8 report --reporter=text-lcov > coverage.lcov && codecov'}\n };\n}\n","import got from '
|
|
1
|
+
{"version":3,"file":"index.cjs.js","sources":["../src/predicates.js","../src/reporter/scaffolder.js","../src/reporter/lifter.js","../src/badge/repository-details-fetcher.js","../src/badge/scaffolder.js","../src/scaffolder.js","../src/lifter.js"],"sourcesContent":["export function coverageShouldBeReportedToCodecov({vcs, visibility, apiAccessToken}) {\n return !!('Public' === visibility || (apiAccessToken && 'github' === vcs.host));\n}\n","export function scaffold() {\n return {\n devDependencies: ['codecov'],\n scripts: {'coverage:report': 'c8 report --reporter=text-lcov > coverage.lcov && codecov'}\n };\n}\n","import {promises as fs} from 'fs';\n\nexport default async function ({projectRoot}) {\n const pathToPackageJson = `${projectRoot}/package.json`;\n\n const existingPackageContents = await fs.readFile(pathToPackageJson, 'utf-8');\n const {scripts, ...otherTopLevelProperties} = JSON.parse(existingPackageContents);\n const {'coverage:report': reportCoverageScript, ...otherScripts} = scripts;\n\n if (scripts['coverage:report']) {\n await fs.writeFile(pathToPackageJson, JSON.stringify({...otherTopLevelProperties, scripts: otherScripts}));\n }\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 {coverageShouldBeReportedToCodecov} from './predicates';\nimport {scaffold as scaffoldReporter} from './reporter';\nimport {scaffold as scaffoldBadge} from './badge';\n\nexport async function scaffold({vcs, visibility, apiAccessToken}) {\n if (!coverageShouldBeReportedToCodecov({vcs, visibility, apiAccessToken})) return {};\n\n return {\n ...scaffoldReporter(),\n ...await scaffoldBadge({vcs, apiAccessToken})\n };\n}\n","import {lift as liftReporting} from './reporter';\n\nexport async function lift({projectRoot}) {\n await liftReporting({projectRoot});\n}\n"],"names":["coverageShouldBeReportedToCodecov","vcs","visibility","apiAccessToken","host","scaffold","devDependencies","scripts","projectRoot","pathToPackageJson","existingPackageContents","fs","readFile","JSON","parse","otherTopLevelProperties","otherScripts","writeFile","stringify","body","repo","got","owner","name","headers","Authorization","responseType","includes","badges","status","coverage","img","fetchRepositoryDetails","image_token","link","text","scaffoldReporter","scaffoldBadge","lift","liftReporting"],"mappings":"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"}
|
package/lib/index.es.js
CHANGED
|
@@ -1,18 +1,14 @@
|
|
|
1
1
|
import got from 'got';
|
|
2
|
+
import { promises } from 'fs';
|
|
2
3
|
|
|
3
4
|
function ownKeys(object, enumerableOnly) {
|
|
4
5
|
var keys = Object.keys(object);
|
|
5
6
|
|
|
6
7
|
if (Object.getOwnPropertySymbols) {
|
|
7
8
|
var symbols = Object.getOwnPropertySymbols(object);
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
return Object.getOwnPropertyDescriptor(object, sym).enumerable;
|
|
12
|
-
});
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
keys.push.apply(keys, symbols);
|
|
9
|
+
enumerableOnly && (symbols = symbols.filter(function (sym) {
|
|
10
|
+
return Object.getOwnPropertyDescriptor(object, sym).enumerable;
|
|
11
|
+
})), keys.push.apply(keys, symbols);
|
|
16
12
|
}
|
|
17
13
|
|
|
18
14
|
return keys;
|
|
@@ -20,19 +16,12 @@ function ownKeys(object, enumerableOnly) {
|
|
|
20
16
|
|
|
21
17
|
function _objectSpread2(target) {
|
|
22
18
|
for (var i = 1; i < arguments.length; i++) {
|
|
23
|
-
var source = arguments[i]
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
} else if (Object.getOwnPropertyDescriptors) {
|
|
30
|
-
Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
|
|
31
|
-
} else {
|
|
32
|
-
ownKeys(Object(source)).forEach(function (key) {
|
|
33
|
-
Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
|
|
34
|
-
});
|
|
35
|
-
}
|
|
19
|
+
var source = null != arguments[i] ? arguments[i] : {};
|
|
20
|
+
i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {
|
|
21
|
+
_defineProperty(target, key, source[key]);
|
|
22
|
+
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {
|
|
23
|
+
Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
|
|
24
|
+
});
|
|
36
25
|
}
|
|
37
26
|
|
|
38
27
|
return target;
|
|
@@ -53,6 +42,50 @@ function _defineProperty(obj, key, value) {
|
|
|
53
42
|
return obj;
|
|
54
43
|
}
|
|
55
44
|
|
|
45
|
+
function _objectWithoutPropertiesLoose(source, excluded) {
|
|
46
|
+
if (source == null) return {};
|
|
47
|
+
var target = {};
|
|
48
|
+
var sourceKeys = Object.keys(source);
|
|
49
|
+
var key, i;
|
|
50
|
+
|
|
51
|
+
for (i = 0; i < sourceKeys.length; i++) {
|
|
52
|
+
key = sourceKeys[i];
|
|
53
|
+
if (excluded.indexOf(key) >= 0) continue;
|
|
54
|
+
target[key] = source[key];
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
return target;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
function _objectWithoutProperties(source, excluded) {
|
|
61
|
+
if (source == null) return {};
|
|
62
|
+
|
|
63
|
+
var target = _objectWithoutPropertiesLoose(source, excluded);
|
|
64
|
+
|
|
65
|
+
var key, i;
|
|
66
|
+
|
|
67
|
+
if (Object.getOwnPropertySymbols) {
|
|
68
|
+
var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
|
|
69
|
+
|
|
70
|
+
for (i = 0; i < sourceSymbolKeys.length; i++) {
|
|
71
|
+
key = sourceSymbolKeys[i];
|
|
72
|
+
if (excluded.indexOf(key) >= 0) continue;
|
|
73
|
+
if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
|
|
74
|
+
target[key] = source[key];
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
return target;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
function coverageShouldBeReportedToCodecov({
|
|
82
|
+
vcs,
|
|
83
|
+
visibility,
|
|
84
|
+
apiAccessToken
|
|
85
|
+
}) {
|
|
86
|
+
return !!('Public' === visibility || apiAccessToken && 'github' === vcs.host);
|
|
87
|
+
}
|
|
88
|
+
|
|
56
89
|
function scaffold$2() {
|
|
57
90
|
return {
|
|
58
91
|
devDependencies: ['codecov'],
|
|
@@ -62,6 +95,29 @@ function scaffold$2() {
|
|
|
62
95
|
};
|
|
63
96
|
}
|
|
64
97
|
|
|
98
|
+
const _excluded = ["scripts"],
|
|
99
|
+
_excluded2 = ["coverage:report"];
|
|
100
|
+
async function liftReporting ({
|
|
101
|
+
projectRoot
|
|
102
|
+
}) {
|
|
103
|
+
const pathToPackageJson = `${projectRoot}/package.json`;
|
|
104
|
+
const existingPackageContents = await promises.readFile(pathToPackageJson, 'utf-8');
|
|
105
|
+
|
|
106
|
+
const _JSON$parse = JSON.parse(existingPackageContents),
|
|
107
|
+
{
|
|
108
|
+
scripts
|
|
109
|
+
} = _JSON$parse,
|
|
110
|
+
otherTopLevelProperties = _objectWithoutProperties(_JSON$parse, _excluded);
|
|
111
|
+
|
|
112
|
+
const otherScripts = _objectWithoutProperties(scripts, _excluded2);
|
|
113
|
+
|
|
114
|
+
if (scripts['coverage:report']) {
|
|
115
|
+
await promises.writeFile(pathToPackageJson, JSON.stringify(_objectSpread2(_objectSpread2({}, otherTopLevelProperties), {}, {
|
|
116
|
+
scripts: otherScripts
|
|
117
|
+
})));
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
|
|
65
121
|
async function fetchRepositoryDetails ({
|
|
66
122
|
vcs,
|
|
67
123
|
apiAccessToken
|
|
@@ -87,7 +143,7 @@ async function scaffold$1({
|
|
|
87
143
|
badges: {
|
|
88
144
|
status: {
|
|
89
145
|
coverage: {
|
|
90
|
-
img: `https://img.shields.io/codecov/c/${vcs.host}/${vcs.owner}/${vcs.name}
|
|
146
|
+
img: `https://img.shields.io/codecov/c/${vcs.host}/${vcs.owner}/${vcs.name}?logo=codecov${apiAccessToken ? `&token=${(await fetchRepositoryDetails({
|
|
91
147
|
vcs,
|
|
92
148
|
apiAccessToken
|
|
93
149
|
})).image_token}` : ''}`,
|
|
@@ -104,13 +160,24 @@ async function scaffold({
|
|
|
104
160
|
visibility,
|
|
105
161
|
apiAccessToken
|
|
106
162
|
}) {
|
|
107
|
-
if (
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
}, apiAccessToken && {
|
|
163
|
+
if (!coverageShouldBeReportedToCodecov({
|
|
164
|
+
vcs,
|
|
165
|
+
visibility,
|
|
111
166
|
apiAccessToken
|
|
112
|
-
}))
|
|
167
|
+
})) return {};
|
|
168
|
+
return _objectSpread2(_objectSpread2({}, scaffold$2()), await scaffold$1({
|
|
169
|
+
vcs,
|
|
170
|
+
apiAccessToken
|
|
171
|
+
}));
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
async function lift({
|
|
175
|
+
projectRoot
|
|
176
|
+
}) {
|
|
177
|
+
await liftReporting({
|
|
178
|
+
projectRoot
|
|
179
|
+
});
|
|
113
180
|
}
|
|
114
181
|
|
|
115
|
-
export { scaffold };
|
|
182
|
+
export { lift, scaffold };
|
|
116
183
|
//# sourceMappingURL=index.es.js.map
|
package/lib/index.es.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.es.js","sources":["../src/reporter.js","../src/repository-details-fetcher.js","../src/badge.js","../src/scaffolder.js"],"sourcesContent":["export function scaffold() {\n return {\n devDependencies: ['codecov'],\n scripts: {'coverage:report': 'c8 report --reporter=text-lcov > coverage.lcov && codecov'}\n };\n}\n","import got from '
|
|
1
|
+
{"version":3,"file":"index.es.js","sources":["../src/predicates.js","../src/reporter/scaffolder.js","../src/reporter/lifter.js","../src/badge/repository-details-fetcher.js","../src/badge/scaffolder.js","../src/scaffolder.js","../src/lifter.js"],"sourcesContent":["export function coverageShouldBeReportedToCodecov({vcs, visibility, apiAccessToken}) {\n return !!('Public' === visibility || (apiAccessToken && 'github' === vcs.host));\n}\n","export function scaffold() {\n return {\n devDependencies: ['codecov'],\n scripts: {'coverage:report': 'c8 report --reporter=text-lcov > coverage.lcov && codecov'}\n };\n}\n","import {promises as fs} from 'fs';\n\nexport default async function ({projectRoot}) {\n const pathToPackageJson = `${projectRoot}/package.json`;\n\n const existingPackageContents = await fs.readFile(pathToPackageJson, 'utf-8');\n const {scripts, ...otherTopLevelProperties} = JSON.parse(existingPackageContents);\n const {'coverage:report': reportCoverageScript, ...otherScripts} = scripts;\n\n if (scripts['coverage:report']) {\n await fs.writeFile(pathToPackageJson, JSON.stringify({...otherTopLevelProperties, scripts: otherScripts}));\n }\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 {coverageShouldBeReportedToCodecov} from './predicates';\nimport {scaffold as scaffoldReporter} from './reporter';\nimport {scaffold as scaffoldBadge} from './badge';\n\nexport async function scaffold({vcs, visibility, apiAccessToken}) {\n if (!coverageShouldBeReportedToCodecov({vcs, visibility, apiAccessToken})) return {};\n\n return {\n ...scaffoldReporter(),\n ...await scaffoldBadge({vcs, apiAccessToken})\n };\n}\n","import {lift as liftReporting} from './reporter';\n\nexport async function lift({projectRoot}) {\n await liftReporting({projectRoot});\n}\n"],"names":["coverageShouldBeReportedToCodecov","vcs","visibility","apiAccessToken","host","scaffold","devDependencies","scripts","projectRoot","pathToPackageJson","existingPackageContents","fs","readFile","JSON","parse","otherTopLevelProperties","otherScripts","writeFile","stringify","body","repo","got","owner","name","headers","Authorization","responseType","includes","badges","status","coverage","img","fetchRepositoryDetails","image_token","link","text","scaffoldReporter","scaffoldBadge","lift","liftReporting"],"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": "1.
|
|
5
|
+
"version": "1.3.0",
|
|
6
6
|
"files": [
|
|
7
7
|
"example.js",
|
|
8
8
|
"lib/"
|
|
@@ -48,17 +48,17 @@
|
|
|
48
48
|
"test:integration:focus": "run-s 'test:integration:base -- --profile focus'"
|
|
49
49
|
},
|
|
50
50
|
"devDependencies": {
|
|
51
|
-
"@babel/register": "7.16.
|
|
51
|
+
"@babel/register": "7.16.5",
|
|
52
52
|
"@cucumber/cucumber": "8.0.0-rc.1",
|
|
53
|
-
"@form8ion/babel-preset": "1.6.
|
|
54
|
-
"@form8ion/commitlint-config": "1.0.
|
|
55
|
-
"@form8ion/eslint-config": "
|
|
53
|
+
"@form8ion/babel-preset": "1.6.73",
|
|
54
|
+
"@form8ion/commitlint-config": "1.0.23",
|
|
55
|
+
"@form8ion/eslint-config": "2.0.2",
|
|
56
56
|
"@form8ion/eslint-config-cucumber": "1.4.0",
|
|
57
|
-
"@form8ion/eslint-config-mocha": "1.2.
|
|
58
|
-
"@form8ion/remark-lint-preset": "2.1.
|
|
57
|
+
"@form8ion/eslint-config-mocha": "1.2.17",
|
|
58
|
+
"@form8ion/remark-lint-preset": "2.1.7",
|
|
59
59
|
"@rollup/plugin-babel": "5.3.0",
|
|
60
|
-
"@
|
|
61
|
-
"
|
|
60
|
+
"@rollup/plugin-node-resolve": "13.1.1",
|
|
61
|
+
"@travi/any": "2.0.19",
|
|
62
62
|
"ban-sensitive-files": "1.9.16",
|
|
63
63
|
"c8": "7.10.0",
|
|
64
64
|
"chai": "4.3.4",
|
|
@@ -71,14 +71,14 @@
|
|
|
71
71
|
"lockfile-lint": "4.6.2",
|
|
72
72
|
"mocha": "9.1.3",
|
|
73
73
|
"mock-fs": "5.1.2",
|
|
74
|
-
"nock": "13.2.
|
|
74
|
+
"nock": "13.2.1",
|
|
75
75
|
"npm-run-all": "4.1.5",
|
|
76
76
|
"package-preview": "4.0.0",
|
|
77
|
-
"remark-cli": "10.0.
|
|
77
|
+
"remark-cli": "10.0.1",
|
|
78
78
|
"remark-toc": "8.0.1",
|
|
79
79
|
"remark-usage": "10.0.1",
|
|
80
80
|
"rimraf": "3.0.2",
|
|
81
|
-
"rollup": "2.
|
|
81
|
+
"rollup": "2.61.1",
|
|
82
82
|
"rollup-plugin-auto-external": "2.0.0",
|
|
83
83
|
"sinon": "12.0.1"
|
|
84
84
|
},
|