@form8ion/codecov 1.3.0 → 1.7.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 +44 -2
- package/example.js +5 -2
- package/lib/index.cjs.js +70 -6
- package/lib/index.cjs.js.map +1 -1
- package/lib/index.es.js +69 -6
- package/lib/index.es.js.map +1 -1
- package/package.json +8 -3
package/README.md
CHANGED
|
@@ -11,20 +11,43 @@ code coverage service plugin for form8ion
|
|
|
11
11
|
|
|
12
12
|
## Table of Contents
|
|
13
13
|
|
|
14
|
+
* [Features](#features)
|
|
15
|
+
* [Scaffold](#scaffold)
|
|
16
|
+
* [Lift](#lift)
|
|
14
17
|
* [Usage](#usage)
|
|
15
18
|
* [Installation](#installation)
|
|
16
19
|
* [Example](#example)
|
|
17
20
|
* [Import](#import)
|
|
18
21
|
* [Execute](#execute)
|
|
19
22
|
* [API](#api)
|
|
20
|
-
* [scaffold](#scaffold)
|
|
23
|
+
* [scaffold](#scaffold-1)
|
|
21
24
|
* [`vcs` __object__ (_required_)](#vcs-object-required)
|
|
22
25
|
* [`visibility` __string__ (_required_)](#visibility-string-required)
|
|
23
26
|
* [`apiAccessToken` __string__ (_optional_)](#apiaccesstoken-string-optional)
|
|
27
|
+
* [lift](#lift-1)
|
|
28
|
+
* [`projectRoot` __string__ (_required_)](#projectroot-string-required)
|
|
29
|
+
* [`packageManager` __string__ (_required_)](#packagemanager-string-required)
|
|
24
30
|
* [Contributing](#contributing)
|
|
25
31
|
* [Dependencies](#dependencies)
|
|
26
32
|
* [Verification](#verification)
|
|
27
33
|
|
|
34
|
+
## Features
|
|
35
|
+
|
|
36
|
+
### Scaffold
|
|
37
|
+
|
|
38
|
+
* Define a coverage status badge to communicate current coverage details
|
|
39
|
+
* Link from the status badge to further details on the [Codecov](https://codecov.io/)
|
|
40
|
+
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
|
+
* Migrate from the [legacy node uploader](https://github.com/codecov/codecov-node)
|
|
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)
|
|
50
|
+
|
|
28
51
|
## Usage
|
|
29
52
|
|
|
30
53
|
<!--consumer-badges start -->
|
|
@@ -46,7 +69,8 @@ $ npm install @form8ion/codecov --save
|
|
|
46
69
|
#### Import
|
|
47
70
|
|
|
48
71
|
```javascript
|
|
49
|
-
import {
|
|
72
|
+
import {packageManagers} from '@form8ion/javascript-core';
|
|
73
|
+
import {scaffold, lift} from '@form8ion/codecov';
|
|
50
74
|
```
|
|
51
75
|
|
|
52
76
|
#### Execute
|
|
@@ -71,6 +95,8 @@ import {scaffold} from './lib/index.cjs';
|
|
|
71
95
|
},
|
|
72
96
|
apiAccessToken: 'XXXXXX'
|
|
73
97
|
});
|
|
98
|
+
|
|
99
|
+
await lift({projectRoot: process.cwd(), packageManager: packageManagers.NPM});
|
|
74
100
|
})();
|
|
75
101
|
```
|
|
76
102
|
|
|
@@ -108,6 +134,22 @@ Since the [Codecov API](https://docs.codecov.com/reference) appears to only
|
|
|
108
134
|
support GitHub at the time of this implementation, GitHub is the only VCS host
|
|
109
135
|
supported by this scaffolder at this time.
|
|
110
136
|
|
|
137
|
+
#### lift
|
|
138
|
+
|
|
139
|
+
Migrates [Codecov](https://codecov.io/) details from legacy conventions to
|
|
140
|
+
modern conventions.
|
|
141
|
+
|
|
142
|
+
Takes a single options object as an argument, containing:
|
|
143
|
+
|
|
144
|
+
##### `projectRoot` __string__ (_required_)
|
|
145
|
+
|
|
146
|
+
path to the root of the project
|
|
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
|
+
|
|
111
153
|
## Contributing
|
|
112
154
|
|
|
113
155
|
<!--contribution-badges start -->
|
package/example.js
CHANGED
|
@@ -3,10 +3,11 @@
|
|
|
3
3
|
import stubbedFs from 'mock-fs';
|
|
4
4
|
import nock from 'nock';
|
|
5
5
|
import {StatusCodes} from 'http-status-codes';
|
|
6
|
-
import {
|
|
6
|
+
import {packageManagers} from '@form8ion/javascript-core';
|
|
7
|
+
import {scaffold, lift} from './lib/index.cjs';
|
|
7
8
|
|
|
8
9
|
// remark-usage-ignore-next 5
|
|
9
|
-
stubbedFs();
|
|
10
|
+
stubbedFs({'package.json': JSON.stringify({scripts: {}})});
|
|
10
11
|
nock.disableNetConnect();
|
|
11
12
|
nock('https://codecov.io/')
|
|
12
13
|
.get('/api/gh/foo/bar')
|
|
@@ -33,4 +34,6 @@ nock('https://codecov.io/')
|
|
|
33
34
|
},
|
|
34
35
|
apiAccessToken: 'XXXXXX'
|
|
35
36
|
});
|
|
37
|
+
|
|
38
|
+
await lift({projectRoot: process.cwd(), packageManager: packageManagers.NPM});
|
|
36
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);
|
|
@@ -103,13 +107,58 @@ function scaffold$2() {
|
|
|
103
107
|
};
|
|
104
108
|
}
|
|
105
109
|
|
|
110
|
+
function getPathToWorkflowFile(projectRoot) {
|
|
111
|
+
return `${projectRoot}/.github/workflows/node-ci.yml`;
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
function test({
|
|
115
|
+
projectRoot
|
|
116
|
+
}) {
|
|
117
|
+
return core.fileExists(getPathToWorkflowFile(projectRoot));
|
|
118
|
+
}
|
|
119
|
+
async function lift$1({
|
|
120
|
+
projectRoot
|
|
121
|
+
}) {
|
|
122
|
+
const pathToWorkflowFile = getPathToWorkflowFile(projectRoot);
|
|
123
|
+
const workflowDetails = jsYaml.load(await fs.promises.readFile(pathToWorkflowFile, 'utf-8'));
|
|
124
|
+
const {
|
|
125
|
+
jobs: {
|
|
126
|
+
verify: {
|
|
127
|
+
steps
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
} = workflowDetails;
|
|
131
|
+
|
|
132
|
+
if (!steps.find(step => {
|
|
133
|
+
var _step$uses;
|
|
134
|
+
|
|
135
|
+
return (_step$uses = step.uses) === null || _step$uses === void 0 ? void 0 : _step$uses.startsWith('codecov/codecov-action');
|
|
136
|
+
})) {
|
|
137
|
+
const stepsWithLegacyReportingRemoved = steps.filter(({
|
|
138
|
+
run
|
|
139
|
+
}) => 'npm run coverage:report' !== run);
|
|
140
|
+
await fs.promises.writeFile(pathToWorkflowFile, jsYaml.dump(_objectSpread2(_objectSpread2({}, workflowDetails), {}, {
|
|
141
|
+
jobs: _objectSpread2(_objectSpread2({}, workflowDetails.jobs), {}, {
|
|
142
|
+
verify: _objectSpread2(_objectSpread2({}, workflowDetails.jobs.verify), {}, {
|
|
143
|
+
steps: [...stepsWithLegacyReportingRemoved, {
|
|
144
|
+
uses: 'codecov/codecov-action@v2'
|
|
145
|
+
}]
|
|
146
|
+
})
|
|
147
|
+
})
|
|
148
|
+
})));
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
|
|
106
152
|
const _excluded = ["scripts"],
|
|
107
153
|
_excluded2 = ["coverage:report"];
|
|
108
154
|
async function liftReporting ({
|
|
109
|
-
projectRoot
|
|
155
|
+
projectRoot,
|
|
156
|
+
packageManager
|
|
110
157
|
}) {
|
|
111
158
|
const pathToPackageJson = `${projectRoot}/package.json`;
|
|
112
|
-
const existingPackageContents = await
|
|
159
|
+
const [ciProviderCanBeLifted, existingPackageContents] = await Promise.all([test({
|
|
160
|
+
projectRoot
|
|
161
|
+
}), fs.promises.readFile(pathToPackageJson, 'utf-8')]);
|
|
113
162
|
|
|
114
163
|
const _JSON$parse = JSON.parse(existingPackageContents),
|
|
115
164
|
{
|
|
@@ -119,11 +168,24 @@ async function liftReporting ({
|
|
|
119
168
|
|
|
120
169
|
const otherScripts = _objectWithoutProperties(scripts, _excluded2);
|
|
121
170
|
|
|
171
|
+
if (ciProviderCanBeLifted) await lift$1({
|
|
172
|
+
projectRoot
|
|
173
|
+
});
|
|
174
|
+
|
|
122
175
|
if (scripts['coverage:report']) {
|
|
123
176
|
await fs.promises.writeFile(pathToPackageJson, JSON.stringify(_objectSpread2(_objectSpread2({}, otherTopLevelProperties), {}, {
|
|
124
177
|
scripts: otherScripts
|
|
125
178
|
})));
|
|
179
|
+
await execa__default["default"](packageManager, ['remove', 'codecov']);
|
|
180
|
+
return _objectSpread2({}, !ciProviderCanBeLifted && {
|
|
181
|
+
nextSteps: [{
|
|
182
|
+
summary: 'Configure modern reporting to Codecov on your CI service',
|
|
183
|
+
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.'
|
|
184
|
+
}]
|
|
185
|
+
});
|
|
126
186
|
}
|
|
187
|
+
|
|
188
|
+
return {};
|
|
127
189
|
}
|
|
128
190
|
|
|
129
191
|
async function fetchRepositoryDetails ({
|
|
@@ -179,11 +241,13 @@ async function scaffold({
|
|
|
179
241
|
}));
|
|
180
242
|
}
|
|
181
243
|
|
|
182
|
-
|
|
183
|
-
projectRoot
|
|
244
|
+
function lift({
|
|
245
|
+
projectRoot,
|
|
246
|
+
packageManager
|
|
184
247
|
}) {
|
|
185
|
-
|
|
186
|
-
projectRoot
|
|
248
|
+
return liftReporting({
|
|
249
|
+
projectRoot,
|
|
250
|
+
packageManager
|
|
187
251
|
});
|
|
188
252
|
}
|
|
189
253
|
|
package/lib/index.cjs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
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
|
|
1
|
+
{"version":3,"file":"index.cjs.js","sources":["../src/predicates.js","../src/reporter/scaffolder.js","../src/reporter/ci-providers/github-workflows/lifter.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';\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 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 function lift({projectRoot, packageManager}) {\n return liftReporting({projectRoot, packageManager});\n}\n"],"names":["coverageShouldBeReportedToCodecov","vcs","visibility","apiAccessToken","host","scaffold","devDependencies","scripts","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","otherTopLevelProperties","otherScripts","liftCiProvider","stringify","execa","nextSteps","summary","description","body","repo","got","owner","name","headers","Authorization","responseType","includes","badges","status","coverage","img","fetchRepositoryDetails","image_token","link","text","scaffoldReporter","scaffoldBadge","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);
|
|
@@ -95,13 +98,58 @@ function scaffold$2() {
|
|
|
95
98
|
};
|
|
96
99
|
}
|
|
97
100
|
|
|
101
|
+
function getPathToWorkflowFile(projectRoot) {
|
|
102
|
+
return `${projectRoot}/.github/workflows/node-ci.yml`;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
function test({
|
|
106
|
+
projectRoot
|
|
107
|
+
}) {
|
|
108
|
+
return fileExists(getPathToWorkflowFile(projectRoot));
|
|
109
|
+
}
|
|
110
|
+
async function lift$1({
|
|
111
|
+
projectRoot
|
|
112
|
+
}) {
|
|
113
|
+
const pathToWorkflowFile = getPathToWorkflowFile(projectRoot);
|
|
114
|
+
const workflowDetails = load(await promises.readFile(pathToWorkflowFile, 'utf-8'));
|
|
115
|
+
const {
|
|
116
|
+
jobs: {
|
|
117
|
+
verify: {
|
|
118
|
+
steps
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
} = workflowDetails;
|
|
122
|
+
|
|
123
|
+
if (!steps.find(step => {
|
|
124
|
+
var _step$uses;
|
|
125
|
+
|
|
126
|
+
return (_step$uses = step.uses) === null || _step$uses === void 0 ? void 0 : _step$uses.startsWith('codecov/codecov-action');
|
|
127
|
+
})) {
|
|
128
|
+
const stepsWithLegacyReportingRemoved = steps.filter(({
|
|
129
|
+
run
|
|
130
|
+
}) => 'npm run coverage:report' !== run);
|
|
131
|
+
await promises.writeFile(pathToWorkflowFile, dump(_objectSpread2(_objectSpread2({}, workflowDetails), {}, {
|
|
132
|
+
jobs: _objectSpread2(_objectSpread2({}, workflowDetails.jobs), {}, {
|
|
133
|
+
verify: _objectSpread2(_objectSpread2({}, workflowDetails.jobs.verify), {}, {
|
|
134
|
+
steps: [...stepsWithLegacyReportingRemoved, {
|
|
135
|
+
uses: 'codecov/codecov-action@v2'
|
|
136
|
+
}]
|
|
137
|
+
})
|
|
138
|
+
})
|
|
139
|
+
})));
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
|
|
98
143
|
const _excluded = ["scripts"],
|
|
99
144
|
_excluded2 = ["coverage:report"];
|
|
100
145
|
async function liftReporting ({
|
|
101
|
-
projectRoot
|
|
146
|
+
projectRoot,
|
|
147
|
+
packageManager
|
|
102
148
|
}) {
|
|
103
149
|
const pathToPackageJson = `${projectRoot}/package.json`;
|
|
104
|
-
const existingPackageContents = await
|
|
150
|
+
const [ciProviderCanBeLifted, existingPackageContents] = await Promise.all([test({
|
|
151
|
+
projectRoot
|
|
152
|
+
}), promises.readFile(pathToPackageJson, 'utf-8')]);
|
|
105
153
|
|
|
106
154
|
const _JSON$parse = JSON.parse(existingPackageContents),
|
|
107
155
|
{
|
|
@@ -111,11 +159,24 @@ async function liftReporting ({
|
|
|
111
159
|
|
|
112
160
|
const otherScripts = _objectWithoutProperties(scripts, _excluded2);
|
|
113
161
|
|
|
162
|
+
if (ciProviderCanBeLifted) await lift$1({
|
|
163
|
+
projectRoot
|
|
164
|
+
});
|
|
165
|
+
|
|
114
166
|
if (scripts['coverage:report']) {
|
|
115
167
|
await promises.writeFile(pathToPackageJson, JSON.stringify(_objectSpread2(_objectSpread2({}, otherTopLevelProperties), {}, {
|
|
116
168
|
scripts: otherScripts
|
|
117
169
|
})));
|
|
170
|
+
await execa(packageManager, ['remove', 'codecov']);
|
|
171
|
+
return _objectSpread2({}, !ciProviderCanBeLifted && {
|
|
172
|
+
nextSteps: [{
|
|
173
|
+
summary: 'Configure modern reporting to Codecov on your CI service',
|
|
174
|
+
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.'
|
|
175
|
+
}]
|
|
176
|
+
});
|
|
118
177
|
}
|
|
178
|
+
|
|
179
|
+
return {};
|
|
119
180
|
}
|
|
120
181
|
|
|
121
182
|
async function fetchRepositoryDetails ({
|
|
@@ -171,11 +232,13 @@ async function scaffold({
|
|
|
171
232
|
}));
|
|
172
233
|
}
|
|
173
234
|
|
|
174
|
-
|
|
175
|
-
projectRoot
|
|
235
|
+
function lift({
|
|
236
|
+
projectRoot,
|
|
237
|
+
packageManager
|
|
176
238
|
}) {
|
|
177
|
-
|
|
178
|
-
projectRoot
|
|
239
|
+
return liftReporting({
|
|
240
|
+
projectRoot,
|
|
241
|
+
packageManager
|
|
179
242
|
});
|
|
180
243
|
}
|
|
181
244
|
|
package/lib/index.es.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
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
|
|
1
|
+
{"version":3,"file":"index.es.js","sources":["../src/predicates.js","../src/reporter/scaffolder.js","../src/reporter/ci-providers/github-workflows/lifter.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';\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 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 function lift({projectRoot, packageManager}) {\n return liftReporting({projectRoot, packageManager});\n}\n"],"names":["coverageShouldBeReportedToCodecov","vcs","visibility","apiAccessToken","host","scaffold","devDependencies","scripts","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","otherTopLevelProperties","otherScripts","liftCiProvider","stringify","execa","nextSteps","summary","description","body","repo","got","owner","name","headers","Authorization","responseType","includes","badges","status","coverage","img","fetchRepositoryDetails","image_token","link","text","scaffoldReporter","scaffoldBadge","liftReporting"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAO,SAASA,iCAAT,CAA2C;AAACC,EAAAA,GAAD;AAAMC,EAAAA,UAAN;AAAkBC,EAAAA;AAAlB,CAA3C,EAA8E;AACnF,SAAO,CAAC,EAAE,aAAaD,UAAb,IAA4BC,cAAc,IAAI,aAAaF,GAAG,CAACG,IAAjE,CAAR;AACD;;ACFM,SAASC,UAAT,GAAoB;AACzB,SAAO;AACLC,IAAAA,eAAe,EAAE,CAAC,SAAD,CADZ;AAELC,IAAAA,OAAO,EAAE;AAAC,yBAAmB;AAApB;AAFJ,GAAP;AAID;;ACDD,SAASC,qBAAT,CAA+BC,WAA/B,EAA4C;AAC1C,SAAQ,GAAEA,WAAY,gCAAtB;AACD;;AAEM,SAASC,IAAT,CAAc;AAACD,EAAAA;AAAD,CAAd,EAA6B;AAClC,SAAOE,UAAU,CAACH,qBAAqB,CAACC,WAAD,CAAtB,CAAjB;AACD;AAEM,eAAeG,MAAf,CAAoB;AAACH,EAAAA;AAAD,CAApB,EAAmC;AACxC,QAAMI,kBAAkB,GAAGL,qBAAqB,CAACC,WAAD,CAAhD;AAEA,QAAMK,eAAe,GAAGC,IAAI,CAAC,MAAMC,QAAE,CAACC,QAAH,CAAYJ,kBAAZ,EAAgC,OAAhC,CAAP,CAA5B;AACA,QAAM;AAACK,IAAAA,IAAI,EAAE;AAACC,MAAAA,MAAM,EAAE;AAACC,QAAAA;AAAD;AAAT;AAAP,MAA4BN,eAAlC;;AAEA,MAAI,CAACM,KAAK,CAACC,IAAN,CAAWC,IAAI;AAAA;;AAAA,yBAAIA,IAAI,CAACC,IAAT,+CAAI,WAAWC,UAAX,CAAsB,wBAAtB,CAAJ;AAAA,GAAf,CAAL,EAA0E;AACxE,UAAMC,+BAA+B,GAAGL,KAAK,CAACM,MAAN,CAAa,CAAC;AAACC,MAAAA;AAAD,KAAD,KAAW,8BAA8BA,GAAtD,CAAxC;AAEA,UAAMX,QAAE,CAACY,SAAH,CACJf,kBADI,EAEJgB,IAAI,mCACCf,eADD;AAEFI,MAAAA,IAAI,oCACCJ,eAAe,CAACI,IADjB;AAEFC,QAAAA,MAAM,oCACDL,eAAe,CAACI,IAAhB,CAAqBC,MADpB;AAEJC,UAAAA,KAAK,EAAE,CAAC,GAAGK,+BAAJ,EAAqC;AAACF,YAAAA,IAAI,EAAE;AAAP,WAArC;AAFH;AAFJ;AAFF,OAFA,CAAN;AAaD;AACF;;;;AC9Bc,8BAAgB;AAACd,EAAAA,WAAD;AAAcqB,EAAAA;AAAd,CAAhB,EAA+C;AAC5D,QAAMC,iBAAiB,GAAI,GAAEtB,WAAY,eAAzC;AAEA,QAAM,CAACuB,qBAAD,EAAwBC,uBAAxB,IAAmD,MAAMC,OAAO,CAACC,GAAR,CAAY,CACzEC,IAAoB,CAAC;AAAC3B,IAAAA;AAAD,GAAD,CADqD,EAEzEO,QAAE,CAACC,QAAH,CAAYc,iBAAZ,EAA+B,OAA/B,CAFyE,CAAZ,CAA/D;;AAIA,sBAA8CM,IAAI,CAACC,KAAL,CAAWL,uBAAX,CAA9C;AAAA,QAAM;AAAC1B,IAAAA;AAAD,GAAN;AAAA,QAAmBgC,uBAAnB;;AACA,QAAmDC,YAAnD,4BAAmEjC,OAAnE;;AAEA,MAAIyB,qBAAJ,EAA2B,MAAMS,MAAc,CAAC;AAAChC,IAAAA;AAAD,GAAD,CAApB;;AAE3B,MAAIF,OAAO,CAAC,iBAAD,CAAX,EAAgC;AAC9B,UAAMS,QAAE,CAACY,SAAH,CAAaG,iBAAb,EAAgCM,IAAI,CAACK,SAAL,mCAAmBH,uBAAnB;AAA4ChC,MAAAA,OAAO,EAAEiC;AAArD,OAAhC,CAAN;AAEA,UAAMG,KAAK,CAACb,cAAD,EAAiB,CAAC,QAAD,EAAW,SAAX,CAAjB,CAAX;AAEA,8BACK,CAACE,qBAAD,IAA0B;AAC3BY,MAAAA,SAAS,EAAE,CAAC;AACVC,QAAAA,OAAO,EAAE,0DADC;AAEVC,QAAAA,WAAW,EAAE,mGACT;AAHM,OAAD;AADgB,KAD/B;AASD;;AAED,SAAO,EAAP;AACD;;AChCc,uCAAgB;AAAC7C,EAAAA,GAAD;AAAME,EAAAA;AAAN,CAAhB,EAAuC;AACpD,QAAM;AAAC4C,IAAAA,IAAI,EAAE;AAACC,MAAAA;AAAD;AAAP,MAAiB,MAAMC,GAAG,CAC7B,6BAA4BhD,GAAG,CAACiD,KAAM,IAAGjD,GAAG,CAACkD,IAAK,EADrB,EAE9B;AAACC,IAAAA,OAAO,EAAE;AAACC,MAAAA,aAAa,EAAElD;AAAhB,KAAV;AAA2CmD,IAAAA,YAAY,EAAE;AAAzD,GAF8B,CAAhC;AAKA,SAAON,IAAP;AACD;;ACPM,eAAe3C,UAAf,CAAwB;AAACJ,EAAAA,GAAD;AAAME,EAAAA;AAAN,CAAxB,EAA+C;AACpD,4BACK,CAAC,QAAD,EAAW,QAAX,EAAqB,WAArB,EAAkCoD,QAAlC,CAA2CtD,GAA3C,aAA2CA,GAA3C,uBAA2CA,GAAG,CAAEG,IAAhD,KAAyD;AAC1DoD,IAAAA,MAAM,EAAE;AACNC,MAAAA,MAAM,EAAE;AACNC,QAAAA,QAAQ,EAAE;AACRC,UAAAA,GAAG,EAAG,oCAAmC1D,GAAG,CAACG,IAAK,IAAGH,GAAG,CAACiD,KAAM,IAAGjD,GAAG,CAACkD,IAAK,gBACzEhD,cAAc,GACT,UAAS,CAAC,MAAMyD,sBAAsB,CAAC;AAAC3D,YAAAA,GAAD;AAAME,YAAAA;AAAN,WAAD,CAA7B,EAAsD0D,WAAY,EADlE,GAEV,EACL,EALO;AAMRC,UAAAA,IAAI,EAAG,sBAAqB7D,GAAG,CAACG,IAAK,IAAGH,GAAG,CAACiD,KAAM,IAAGjD,GAAG,CAACkD,IAAK,EANtD;AAORY,UAAAA,IAAI,EAAE;AAPE;AADJ;AADF;AADkD,GAD9D;AAiBD;;AChBM,eAAe1D,QAAf,CAAwB;AAACJ,EAAAA,GAAD;AAAMC,EAAAA,UAAN;AAAkBC,EAAAA;AAAlB,CAAxB,EAA2D;AAChE,MAAI,CAACH,iCAAiC,CAAC;AAACC,IAAAA,GAAD;AAAMC,IAAAA,UAAN;AAAkBC,IAAAA;AAAlB,GAAD,CAAtC,EAA2E,OAAO,EAAP;AAE3E,2CACK6D,UAAgB,EADrB,GAEK,MAAMC,UAAa,CAAC;AAAChE,IAAAA,GAAD;AAAME,IAAAA;AAAN,GAAD,CAFxB;AAID;;ACTM,SAASS,IAAT,CAAc;AAACH,EAAAA,WAAD;AAAcqB,EAAAA;AAAd,CAAd,EAA6C;AAClD,SAAOoC,aAAa,CAAC;AAACzD,IAAAA,WAAD;AAAcqB,IAAAA;AAAd,GAAD,CAApB;AACD;;;;"}
|
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.7.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
|
}
|