@form8ion/codecov 1.4.0 → 2.0.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 +10 -1
- package/example.js +2 -1
- package/lib/index.cjs.js +90 -43
- package/lib/index.cjs.js.map +1 -1
- package/lib/index.es.js +89 -43
- package/lib/index.es.js.map +1 -1
- package/package.json +8 -3
package/README.md
CHANGED
|
@@ -26,6 +26,7 @@ code coverage service plugin for form8ion
|
|
|
26
26
|
* [`apiAccessToken` __string__ (_optional_)](#apiaccesstoken-string-optional)
|
|
27
27
|
* [lift](#lift-1)
|
|
28
28
|
* [`projectRoot` __string__ (_required_)](#projectroot-string-required)
|
|
29
|
+
* [`packageManager` __string__ (_required_)](#packagemanager-string-required)
|
|
29
30
|
* [Contributing](#contributing)
|
|
30
31
|
* [Dependencies](#dependencies)
|
|
31
32
|
* [Verification](#verification)
|
|
@@ -44,6 +45,8 @@ code coverage service plugin for form8ion
|
|
|
44
45
|
|
|
45
46
|
* Migrate from the [legacy node uploader](https://github.com/codecov/codecov-node)
|
|
46
47
|
to the [modern uploader](https://docs.codecov.com/docs/codecov-uploader)
|
|
48
|
+
* Currently supports the following CI Providers:
|
|
49
|
+
* [GitHub Action](https://github.com/marketplace/actions/codecov)
|
|
47
50
|
|
|
48
51
|
## Usage
|
|
49
52
|
|
|
@@ -66,6 +69,7 @@ $ npm install @form8ion/codecov --save
|
|
|
66
69
|
#### Import
|
|
67
70
|
|
|
68
71
|
```javascript
|
|
72
|
+
import {packageManagers} from '@form8ion/javascript-core';
|
|
69
73
|
import {scaffold, lift} from '@form8ion/codecov';
|
|
70
74
|
```
|
|
71
75
|
|
|
@@ -92,7 +96,7 @@ import {scaffold, lift} from '@form8ion/codecov';
|
|
|
92
96
|
apiAccessToken: 'XXXXXX'
|
|
93
97
|
});
|
|
94
98
|
|
|
95
|
-
await lift({projectRoot: process.cwd()});
|
|
99
|
+
await lift({projectRoot: process.cwd(), packageManager: packageManagers.NPM});
|
|
96
100
|
})();
|
|
97
101
|
```
|
|
98
102
|
|
|
@@ -141,6 +145,11 @@ Takes a single options object as an argument, containing:
|
|
|
141
145
|
|
|
142
146
|
path to the root of the project
|
|
143
147
|
|
|
148
|
+
##### `packageManager` __string__ (_required_)
|
|
149
|
+
|
|
150
|
+
chosen [package manager](https://github.com/form8ion/javascript-core#packagemanagers)
|
|
151
|
+
to be used for the project
|
|
152
|
+
|
|
144
153
|
## Contributing
|
|
145
154
|
|
|
146
155
|
<!--contribution-badges start -->
|
package/example.js
CHANGED
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
import stubbedFs from 'mock-fs';
|
|
4
4
|
import nock from 'nock';
|
|
5
5
|
import {StatusCodes} from 'http-status-codes';
|
|
6
|
+
import {packageManagers} from '@form8ion/javascript-core';
|
|
6
7
|
import {scaffold, lift} from './lib/index.cjs';
|
|
7
8
|
|
|
8
9
|
// remark-usage-ignore-next 5
|
|
@@ -34,5 +35,5 @@ nock('https://codecov.io/')
|
|
|
34
35
|
apiAccessToken: 'XXXXXX'
|
|
35
36
|
});
|
|
36
37
|
|
|
37
|
-
await lift({projectRoot: process.cwd()});
|
|
38
|
+
await lift({projectRoot: process.cwd(), packageManager: packageManagers.NPM});
|
|
38
39
|
})();
|
package/lib/index.cjs.js
CHANGED
|
@@ -4,10 +4,14 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
4
4
|
|
|
5
5
|
var got = require('got');
|
|
6
6
|
var fs = require('fs');
|
|
7
|
+
var execa = require('execa');
|
|
8
|
+
var jsYaml = require('js-yaml');
|
|
9
|
+
var core = require('@form8ion/core');
|
|
7
10
|
|
|
8
11
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
9
12
|
|
|
10
13
|
var got__default = /*#__PURE__*/_interopDefaultLegacy(got);
|
|
14
|
+
var execa__default = /*#__PURE__*/_interopDefaultLegacy(execa);
|
|
11
15
|
|
|
12
16
|
function ownKeys(object, enumerableOnly) {
|
|
13
17
|
var keys = Object.keys(object);
|
|
@@ -94,46 +98,6 @@ function coverageShouldBeReportedToCodecov({
|
|
|
94
98
|
return !!('Public' === visibility || apiAccessToken && 'github' === vcs.host);
|
|
95
99
|
}
|
|
96
100
|
|
|
97
|
-
function scaffold$2() {
|
|
98
|
-
return {
|
|
99
|
-
devDependencies: ['codecov'],
|
|
100
|
-
scripts: {
|
|
101
|
-
'coverage:report': 'c8 report --reporter=text-lcov > coverage.lcov && codecov'
|
|
102
|
-
}
|
|
103
|
-
};
|
|
104
|
-
}
|
|
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
|
-
return {
|
|
127
|
-
nextSteps: [{
|
|
128
|
-
summary: 'Configure modern reporting to Codecov on your CI service',
|
|
129
|
-
description: 'Configure the [Codecov Uploader](https://docs.codecov.com/docs/codecov-uploader) appropriately' + ' for your CI Provider. If available for your provider, prefer one of the dedicated wrappers.'
|
|
130
|
-
}]
|
|
131
|
-
};
|
|
132
|
-
}
|
|
133
|
-
|
|
134
|
-
return {};
|
|
135
|
-
}
|
|
136
|
-
|
|
137
101
|
async function fetchRepositoryDetails ({
|
|
138
102
|
vcs,
|
|
139
103
|
apiAccessToken
|
|
@@ -181,18 +145,101 @@ async function scaffold({
|
|
|
181
145
|
visibility,
|
|
182
146
|
apiAccessToken
|
|
183
147
|
})) return {};
|
|
184
|
-
return _objectSpread2(
|
|
148
|
+
return _objectSpread2({}, await scaffold$1({
|
|
185
149
|
vcs,
|
|
186
150
|
apiAccessToken
|
|
187
151
|
}));
|
|
188
152
|
}
|
|
189
153
|
|
|
190
|
-
function
|
|
154
|
+
function getPathToWorkflowFile(projectRoot) {
|
|
155
|
+
return `${projectRoot}/.github/workflows/node-ci.yml`;
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
function test({
|
|
191
159
|
projectRoot
|
|
192
160
|
}) {
|
|
193
|
-
return
|
|
161
|
+
return core.fileExists(getPathToWorkflowFile(projectRoot));
|
|
162
|
+
}
|
|
163
|
+
async function lift$1({
|
|
164
|
+
projectRoot
|
|
165
|
+
}) {
|
|
166
|
+
const pathToWorkflowFile = getPathToWorkflowFile(projectRoot);
|
|
167
|
+
const workflowDetails = jsYaml.load(await fs.promises.readFile(pathToWorkflowFile, 'utf-8'));
|
|
168
|
+
const {
|
|
169
|
+
jobs: {
|
|
170
|
+
verify: {
|
|
171
|
+
steps
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
} = workflowDetails;
|
|
175
|
+
|
|
176
|
+
if (!steps.find(step => {
|
|
177
|
+
var _step$uses;
|
|
178
|
+
|
|
179
|
+
return (_step$uses = step.uses) === null || _step$uses === void 0 ? void 0 : _step$uses.startsWith('codecov/codecov-action');
|
|
180
|
+
})) {
|
|
181
|
+
const stepsWithLegacyReportingRemoved = steps.filter(({
|
|
182
|
+
run
|
|
183
|
+
}) => 'npm run coverage:report' !== run);
|
|
184
|
+
await fs.promises.writeFile(pathToWorkflowFile, jsYaml.dump(_objectSpread2(_objectSpread2({}, workflowDetails), {}, {
|
|
185
|
+
jobs: _objectSpread2(_objectSpread2({}, workflowDetails.jobs), {}, {
|
|
186
|
+
verify: _objectSpread2(_objectSpread2({}, workflowDetails.jobs.verify), {}, {
|
|
187
|
+
steps: [...stepsWithLegacyReportingRemoved, {
|
|
188
|
+
uses: 'codecov/codecov-action@v2'
|
|
189
|
+
}]
|
|
190
|
+
})
|
|
191
|
+
})
|
|
192
|
+
})));
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
|
|
196
|
+
const _excluded = ["scripts"],
|
|
197
|
+
_excluded2 = ["coverage:report"];
|
|
198
|
+
async function liftReporting ({
|
|
199
|
+
projectRoot,
|
|
200
|
+
packageManager
|
|
201
|
+
}) {
|
|
202
|
+
const pathToPackageJson = `${projectRoot}/package.json`;
|
|
203
|
+
const [ciProviderCanBeLifted, existingPackageContents] = await Promise.all([test({
|
|
204
|
+
projectRoot
|
|
205
|
+
}), fs.promises.readFile(pathToPackageJson, 'utf-8')]);
|
|
206
|
+
|
|
207
|
+
const _JSON$parse = JSON.parse(existingPackageContents),
|
|
208
|
+
{
|
|
209
|
+
scripts
|
|
210
|
+
} = _JSON$parse,
|
|
211
|
+
otherTopLevelProperties = _objectWithoutProperties(_JSON$parse, _excluded);
|
|
212
|
+
|
|
213
|
+
const otherScripts = _objectWithoutProperties(scripts, _excluded2);
|
|
214
|
+
|
|
215
|
+
if (ciProviderCanBeLifted) await lift$1({
|
|
194
216
|
projectRoot
|
|
195
217
|
});
|
|
218
|
+
|
|
219
|
+
if (scripts['coverage:report']) {
|
|
220
|
+
await fs.promises.writeFile(pathToPackageJson, JSON.stringify(_objectSpread2(_objectSpread2({}, otherTopLevelProperties), {}, {
|
|
221
|
+
scripts: otherScripts
|
|
222
|
+
})));
|
|
223
|
+
await execa__default["default"](packageManager, ['remove', 'codecov']);
|
|
224
|
+
return _objectSpread2({}, !ciProviderCanBeLifted && {
|
|
225
|
+
nextSteps: [{
|
|
226
|
+
summary: 'Configure modern reporting to Codecov on your CI service',
|
|
227
|
+
description: 'Configure the [Codecov Uploader](https://docs.codecov.com/docs/codecov-uploader) appropriately' + ' for your CI Provider. If available for your provider, prefer one of the dedicated wrappers.'
|
|
228
|
+
}]
|
|
229
|
+
});
|
|
230
|
+
}
|
|
231
|
+
|
|
232
|
+
return {};
|
|
233
|
+
}
|
|
234
|
+
|
|
235
|
+
function lift({
|
|
236
|
+
projectRoot,
|
|
237
|
+
packageManager
|
|
238
|
+
}) {
|
|
239
|
+
return liftReporting({
|
|
240
|
+
projectRoot,
|
|
241
|
+
packageManager
|
|
242
|
+
});
|
|
196
243
|
}
|
|
197
244
|
|
|
198
245
|
exports.lift = lift;
|
package/lib/index.cjs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs.js","sources":["../src/predicates.js","../src/
|
|
1
|
+
{"version":3,"file":"index.cjs.js","sources":["../src/predicates.js","../src/badge/repository-details-fetcher.js","../src/badge/scaffolder.js","../src/scaffolder.js","../src/reporter/ci-providers/github-workflows/lifter.js","../src/reporter/lifter.js","../src/lifter.js"],"sourcesContent":["export function coverageShouldBeReportedToCodecov({vcs, visibility, apiAccessToken}) {\n return !!('Public' === visibility || (apiAccessToken && 'github' === vcs.host));\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 scaffoldBadge} from './badge';\n\nexport async function scaffold({vcs, visibility, apiAccessToken}) {\n if (!coverageShouldBeReportedToCodecov({vcs, visibility, apiAccessToken})) return {};\n\n return {\n ...await scaffoldBadge({vcs, apiAccessToken})\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@v2'}]\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 {scripts, ...otherTopLevelProperties} = JSON.parse(existingPackageContents);\n const {'coverage:report': reportCoverageScript, ...otherScripts} = scripts;\n\n if (ciProviderCanBeLifted) await liftCiProvider({projectRoot});\n\n if (scripts['coverage:report']) {\n await fs.writeFile(pathToPackageJson, JSON.stringify({...otherTopLevelProperties, scripts: otherScripts}));\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 {lift as liftReporting} from './reporter';\n\nexport function lift({projectRoot, packageManager}) {\n return liftReporting({projectRoot, packageManager});\n}\n"],"names":["coverageShouldBeReportedToCodecov","vcs","visibility","apiAccessToken","host","body","repo","got","owner","name","headers","Authorization","responseType","scaffold","includes","badges","status","coverage","img","fetchRepositoryDetails","image_token","link","text","scaffoldBadge","getPathToWorkflowFile","projectRoot","test","fileExists","lift","pathToWorkflowFile","workflowDetails","load","fs","readFile","jobs","verify","steps","find","step","uses","startsWith","stepsWithLegacyReportingRemoved","filter","run","writeFile","dump","packageManager","pathToPackageJson","ciProviderCanBeLifted","existingPackageContents","Promise","all","ciProviderIsLiftable","JSON","parse","scripts","otherTopLevelProperties","otherScripts","liftCiProvider","stringify","execa","nextSteps","summary","description","liftReporting"],"mappings":"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"}
|
package/lib/index.es.js
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import got from 'got';
|
|
2
2
|
import { promises } from 'fs';
|
|
3
|
+
import execa from 'execa';
|
|
4
|
+
import { load, dump } from 'js-yaml';
|
|
5
|
+
import { fileExists } from '@form8ion/core';
|
|
3
6
|
|
|
4
7
|
function ownKeys(object, enumerableOnly) {
|
|
5
8
|
var keys = Object.keys(object);
|
|
@@ -86,46 +89,6 @@ function coverageShouldBeReportedToCodecov({
|
|
|
86
89
|
return !!('Public' === visibility || apiAccessToken && 'github' === vcs.host);
|
|
87
90
|
}
|
|
88
91
|
|
|
89
|
-
function scaffold$2() {
|
|
90
|
-
return {
|
|
91
|
-
devDependencies: ['codecov'],
|
|
92
|
-
scripts: {
|
|
93
|
-
'coverage:report': 'c8 report --reporter=text-lcov > coverage.lcov && codecov'
|
|
94
|
-
}
|
|
95
|
-
};
|
|
96
|
-
}
|
|
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
|
-
return {
|
|
119
|
-
nextSteps: [{
|
|
120
|
-
summary: 'Configure modern reporting to Codecov on your CI service',
|
|
121
|
-
description: 'Configure the [Codecov Uploader](https://docs.codecov.com/docs/codecov-uploader) appropriately' + ' for your CI Provider. If available for your provider, prefer one of the dedicated wrappers.'
|
|
122
|
-
}]
|
|
123
|
-
};
|
|
124
|
-
}
|
|
125
|
-
|
|
126
|
-
return {};
|
|
127
|
-
}
|
|
128
|
-
|
|
129
92
|
async function fetchRepositoryDetails ({
|
|
130
93
|
vcs,
|
|
131
94
|
apiAccessToken
|
|
@@ -173,18 +136,101 @@ async function scaffold({
|
|
|
173
136
|
visibility,
|
|
174
137
|
apiAccessToken
|
|
175
138
|
})) return {};
|
|
176
|
-
return _objectSpread2(
|
|
139
|
+
return _objectSpread2({}, await scaffold$1({
|
|
177
140
|
vcs,
|
|
178
141
|
apiAccessToken
|
|
179
142
|
}));
|
|
180
143
|
}
|
|
181
144
|
|
|
182
|
-
function
|
|
145
|
+
function getPathToWorkflowFile(projectRoot) {
|
|
146
|
+
return `${projectRoot}/.github/workflows/node-ci.yml`;
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
function test({
|
|
183
150
|
projectRoot
|
|
184
151
|
}) {
|
|
185
|
-
return
|
|
152
|
+
return fileExists(getPathToWorkflowFile(projectRoot));
|
|
153
|
+
}
|
|
154
|
+
async function lift$1({
|
|
155
|
+
projectRoot
|
|
156
|
+
}) {
|
|
157
|
+
const pathToWorkflowFile = getPathToWorkflowFile(projectRoot);
|
|
158
|
+
const workflowDetails = load(await promises.readFile(pathToWorkflowFile, 'utf-8'));
|
|
159
|
+
const {
|
|
160
|
+
jobs: {
|
|
161
|
+
verify: {
|
|
162
|
+
steps
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
} = workflowDetails;
|
|
166
|
+
|
|
167
|
+
if (!steps.find(step => {
|
|
168
|
+
var _step$uses;
|
|
169
|
+
|
|
170
|
+
return (_step$uses = step.uses) === null || _step$uses === void 0 ? void 0 : _step$uses.startsWith('codecov/codecov-action');
|
|
171
|
+
})) {
|
|
172
|
+
const stepsWithLegacyReportingRemoved = steps.filter(({
|
|
173
|
+
run
|
|
174
|
+
}) => 'npm run coverage:report' !== run);
|
|
175
|
+
await promises.writeFile(pathToWorkflowFile, dump(_objectSpread2(_objectSpread2({}, workflowDetails), {}, {
|
|
176
|
+
jobs: _objectSpread2(_objectSpread2({}, workflowDetails.jobs), {}, {
|
|
177
|
+
verify: _objectSpread2(_objectSpread2({}, workflowDetails.jobs.verify), {}, {
|
|
178
|
+
steps: [...stepsWithLegacyReportingRemoved, {
|
|
179
|
+
uses: 'codecov/codecov-action@v2'
|
|
180
|
+
}]
|
|
181
|
+
})
|
|
182
|
+
})
|
|
183
|
+
})));
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
const _excluded = ["scripts"],
|
|
188
|
+
_excluded2 = ["coverage:report"];
|
|
189
|
+
async function liftReporting ({
|
|
190
|
+
projectRoot,
|
|
191
|
+
packageManager
|
|
192
|
+
}) {
|
|
193
|
+
const pathToPackageJson = `${projectRoot}/package.json`;
|
|
194
|
+
const [ciProviderCanBeLifted, existingPackageContents] = await Promise.all([test({
|
|
195
|
+
projectRoot
|
|
196
|
+
}), promises.readFile(pathToPackageJson, 'utf-8')]);
|
|
197
|
+
|
|
198
|
+
const _JSON$parse = JSON.parse(existingPackageContents),
|
|
199
|
+
{
|
|
200
|
+
scripts
|
|
201
|
+
} = _JSON$parse,
|
|
202
|
+
otherTopLevelProperties = _objectWithoutProperties(_JSON$parse, _excluded);
|
|
203
|
+
|
|
204
|
+
const otherScripts = _objectWithoutProperties(scripts, _excluded2);
|
|
205
|
+
|
|
206
|
+
if (ciProviderCanBeLifted) await lift$1({
|
|
186
207
|
projectRoot
|
|
187
208
|
});
|
|
209
|
+
|
|
210
|
+
if (scripts['coverage:report']) {
|
|
211
|
+
await promises.writeFile(pathToPackageJson, JSON.stringify(_objectSpread2(_objectSpread2({}, otherTopLevelProperties), {}, {
|
|
212
|
+
scripts: otherScripts
|
|
213
|
+
})));
|
|
214
|
+
await execa(packageManager, ['remove', 'codecov']);
|
|
215
|
+
return _objectSpread2({}, !ciProviderCanBeLifted && {
|
|
216
|
+
nextSteps: [{
|
|
217
|
+
summary: 'Configure modern reporting to Codecov on your CI service',
|
|
218
|
+
description: 'Configure the [Codecov Uploader](https://docs.codecov.com/docs/codecov-uploader) appropriately' + ' for your CI Provider. If available for your provider, prefer one of the dedicated wrappers.'
|
|
219
|
+
}]
|
|
220
|
+
});
|
|
221
|
+
}
|
|
222
|
+
|
|
223
|
+
return {};
|
|
224
|
+
}
|
|
225
|
+
|
|
226
|
+
function lift({
|
|
227
|
+
projectRoot,
|
|
228
|
+
packageManager
|
|
229
|
+
}) {
|
|
230
|
+
return liftReporting({
|
|
231
|
+
projectRoot,
|
|
232
|
+
packageManager
|
|
233
|
+
});
|
|
188
234
|
}
|
|
189
235
|
|
|
190
236
|
export { lift, scaffold };
|
package/lib/index.es.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.es.js","sources":["../src/predicates.js","../src/
|
|
1
|
+
{"version":3,"file":"index.es.js","sources":["../src/predicates.js","../src/badge/repository-details-fetcher.js","../src/badge/scaffolder.js","../src/scaffolder.js","../src/reporter/ci-providers/github-workflows/lifter.js","../src/reporter/lifter.js","../src/lifter.js"],"sourcesContent":["export function coverageShouldBeReportedToCodecov({vcs, visibility, apiAccessToken}) {\n return !!('Public' === visibility || (apiAccessToken && 'github' === vcs.host));\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 scaffoldBadge} from './badge';\n\nexport async function scaffold({vcs, visibility, apiAccessToken}) {\n if (!coverageShouldBeReportedToCodecov({vcs, visibility, apiAccessToken})) return {};\n\n return {\n ...await scaffoldBadge({vcs, apiAccessToken})\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@v2'}]\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 {scripts, ...otherTopLevelProperties} = JSON.parse(existingPackageContents);\n const {'coverage:report': reportCoverageScript, ...otherScripts} = scripts;\n\n if (ciProviderCanBeLifted) await liftCiProvider({projectRoot});\n\n if (scripts['coverage:report']) {\n await fs.writeFile(pathToPackageJson, JSON.stringify({...otherTopLevelProperties, scripts: otherScripts}));\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 {lift as liftReporting} from './reporter';\n\nexport function lift({projectRoot, packageManager}) {\n return liftReporting({projectRoot, packageManager});\n}\n"],"names":["coverageShouldBeReportedToCodecov","vcs","visibility","apiAccessToken","host","body","repo","got","owner","name","headers","Authorization","responseType","scaffold","includes","badges","status","coverage","img","fetchRepositoryDetails","image_token","link","text","scaffoldBadge","getPathToWorkflowFile","projectRoot","test","fileExists","lift","pathToWorkflowFile","workflowDetails","load","fs","readFile","jobs","verify","steps","find","step","uses","startsWith","stepsWithLegacyReportingRemoved","filter","run","writeFile","dump","packageManager","pathToPackageJson","ciProviderCanBeLifted","existingPackageContents","Promise","all","ciProviderIsLiftable","JSON","parse","scripts","otherTopLevelProperties","otherScripts","liftCiProvider","stringify","execa","nextSteps","summary","description","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": "
|
|
5
|
+
"version": "2.0.0",
|
|
6
6
|
"files": [
|
|
7
7
|
"example.js",
|
|
8
8
|
"lib/"
|
|
@@ -55,6 +55,7 @@
|
|
|
55
55
|
"@form8ion/eslint-config": "2.0.2",
|
|
56
56
|
"@form8ion/eslint-config-cucumber": "1.4.0",
|
|
57
57
|
"@form8ion/eslint-config-mocha": "1.2.17",
|
|
58
|
+
"@form8ion/javascript-core": "4.0.1",
|
|
58
59
|
"@form8ion/remark-lint-preset": "2.1.7",
|
|
59
60
|
"@rollup/plugin-babel": "5.3.0",
|
|
60
61
|
"@rollup/plugin-node-resolve": "13.1.1",
|
|
@@ -80,9 +81,13 @@
|
|
|
80
81
|
"rimraf": "3.0.2",
|
|
81
82
|
"rollup": "2.61.1",
|
|
82
83
|
"rollup-plugin-auto-external": "2.0.0",
|
|
83
|
-
"sinon": "12.0.1"
|
|
84
|
+
"sinon": "12.0.1",
|
|
85
|
+
"testdouble": "3.16.3"
|
|
84
86
|
},
|
|
85
87
|
"dependencies": {
|
|
86
|
-
"
|
|
88
|
+
"@form8ion/core": "^1.4.2",
|
|
89
|
+
"execa": "^5.1.1",
|
|
90
|
+
"got": "^11.8.2",
|
|
91
|
+
"js-yaml": "^4.1.0"
|
|
87
92
|
}
|
|
88
93
|
}
|