@form8ion/codecov 5.0.0 → 5.2.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 +3 -3
- package/example.js +1 -1
- package/lib/index.js +45 -8
- package/lib/index.js.map +1 -1
- package/lib/index.mjs +45 -9
- package/lib/index.mjs.map +1 -1
- package/package.json +34 -34
package/README.md
CHANGED
|
@@ -164,11 +164,11 @@ $ npm test
|
|
|
164
164
|
|
|
165
165
|
[github-actions-ci-link]: https://github.com/form8ion/codecov/actions?query=workflow%3A%22Node.js+CI%22+branch%3Amaster
|
|
166
166
|
|
|
167
|
-
[github-actions-ci-badge]: https://
|
|
167
|
+
[github-actions-ci-badge]: https://img.shields.io/github/actions/workflow/status/form8ion/codecov/node-ci.yml.svg?branch=master&logo=github
|
|
168
168
|
|
|
169
169
|
[coverage-link]: https://codecov.io/github/form8ion/codecov
|
|
170
170
|
|
|
171
|
-
[coverage-badge]: https://img.shields.io/codecov/c/github/form8ion/codecov
|
|
171
|
+
[coverage-badge]: https://img.shields.io/codecov/c/github/form8ion/codecov?logo=codecov
|
|
172
172
|
|
|
173
173
|
[license-link]: LICENSE
|
|
174
174
|
|
|
@@ -176,7 +176,7 @@ $ npm test
|
|
|
176
176
|
|
|
177
177
|
[npm-link]: https://www.npmjs.com/package/@form8ion/codecov
|
|
178
178
|
|
|
179
|
-
[npm-badge]: https://img.shields.io/npm/v/@form8ion/codecov
|
|
179
|
+
[npm-badge]: https://img.shields.io/npm/v/@form8ion/codecov?logo=npm
|
|
180
180
|
|
|
181
181
|
[runkit-link]: https://npm.runkit.com/@form8ion/codecov
|
|
182
182
|
|
package/example.js
CHANGED
|
@@ -4,7 +4,7 @@ import stubbedFs from 'mock-fs';
|
|
|
4
4
|
import nock from 'nock';
|
|
5
5
|
import {StatusCodes} from 'http-status-codes';
|
|
6
6
|
import {packageManagers} from '@form8ion/javascript-core';
|
|
7
|
-
import {scaffold, lift} from './lib/index';
|
|
7
|
+
import {scaffold, lift} from './lib/index.js';
|
|
8
8
|
|
|
9
9
|
// remark-usage-ignore-next 5
|
|
10
10
|
stubbedFs({'package.json': JSON.stringify({scripts: {}})});
|
package/lib/index.js
CHANGED
|
@@ -3,11 +3,12 @@
|
|
|
3
3
|
var deepmerge = require('deepmerge');
|
|
4
4
|
var fs = require('fs');
|
|
5
5
|
var execa = require('execa');
|
|
6
|
+
var node_fs = require('node:fs');
|
|
6
7
|
var jsYaml = require('js-yaml');
|
|
7
8
|
var core = require('@form8ion/core');
|
|
8
9
|
var got = require('got');
|
|
9
10
|
|
|
10
|
-
async function scaffold$
|
|
11
|
+
async function scaffold$2() {
|
|
11
12
|
return {};
|
|
12
13
|
}
|
|
13
14
|
|
|
@@ -20,7 +21,7 @@ async function fetchRepositoryDetails ({vcs, apiAccessToken}) {
|
|
|
20
21
|
return repo;
|
|
21
22
|
}
|
|
22
23
|
|
|
23
|
-
async function scaffold({vcs, apiAccessToken}) {
|
|
24
|
+
async function scaffold$1({vcs, apiAccessToken}) {
|
|
24
25
|
return {
|
|
25
26
|
...['github', 'gitlab', 'bitbucket'].includes(vcs?.host) && {
|
|
26
27
|
badges: {
|
|
@@ -40,6 +41,26 @@ async function scaffold({vcs, apiAccessToken}) {
|
|
|
40
41
|
};
|
|
41
42
|
}
|
|
42
43
|
|
|
44
|
+
function stepIsCodecovAction(step) {
|
|
45
|
+
if (!step.uses) return false;
|
|
46
|
+
|
|
47
|
+
const [actionName] = step.uses.split('@');
|
|
48
|
+
|
|
49
|
+
return 'codecov/codecov-action' === actionName;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
function findCodecovActionIn(steps) {
|
|
53
|
+
return steps.find(step => stepIsCodecovAction(step));
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
function removeCodecovActionFrom(steps) {
|
|
57
|
+
return steps.filter(step => !stepIsCodecovAction(step));
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
function scaffold() {
|
|
61
|
+
return {uses: 'codecov/codecov-action@v3'};
|
|
62
|
+
}
|
|
63
|
+
|
|
43
64
|
function getPathToWorkflowFile(projectRoot) {
|
|
44
65
|
return `${projectRoot}/.github/workflows/node-ci.yml`;
|
|
45
66
|
}
|
|
@@ -51,13 +72,13 @@ function test({projectRoot}) {
|
|
|
51
72
|
async function lift$1({projectRoot}) {
|
|
52
73
|
const pathToWorkflowFile = getPathToWorkflowFile(projectRoot);
|
|
53
74
|
|
|
54
|
-
const workflowDetails = jsYaml.load(await
|
|
75
|
+
const workflowDetails = jsYaml.load(await node_fs.promises.readFile(pathToWorkflowFile, 'utf-8'));
|
|
55
76
|
const {jobs: {verify: {steps}}} = workflowDetails;
|
|
56
77
|
|
|
57
|
-
if (!steps
|
|
78
|
+
if (!findCodecovActionIn(steps)) {
|
|
58
79
|
const stepsWithLegacyReportingRemoved = steps.filter(({run}) => 'npm run coverage:report' !== run);
|
|
59
80
|
|
|
60
|
-
await
|
|
81
|
+
await node_fs.promises.writeFile(
|
|
61
82
|
pathToWorkflowFile,
|
|
62
83
|
jsYaml.dump({
|
|
63
84
|
...workflowDetails,
|
|
@@ -65,7 +86,7 @@ async function lift$1({projectRoot}) {
|
|
|
65
86
|
...workflowDetails.jobs,
|
|
66
87
|
verify: {
|
|
67
88
|
...workflowDetails.jobs.verify,
|
|
68
|
-
steps: [...stepsWithLegacyReportingRemoved,
|
|
89
|
+
steps: [...stepsWithLegacyReportingRemoved, scaffold()]
|
|
69
90
|
}
|
|
70
91
|
}
|
|
71
92
|
})
|
|
@@ -73,6 +94,15 @@ async function lift$1({projectRoot}) {
|
|
|
73
94
|
}
|
|
74
95
|
}
|
|
75
96
|
|
|
97
|
+
async function removeAction ({projectRoot}) {
|
|
98
|
+
const pathToWorkflowFile = getPathToWorkflowFile(projectRoot);
|
|
99
|
+
|
|
100
|
+
const existingConfig = jsYaml.load(await node_fs.promises.readFile(pathToWorkflowFile, 'utf-8'));
|
|
101
|
+
existingConfig.jobs.verify.steps = removeCodecovActionFrom(existingConfig.jobs.verify.steps);
|
|
102
|
+
|
|
103
|
+
await node_fs.promises.writeFile(pathToWorkflowFile, jsYaml.dump(existingConfig));
|
|
104
|
+
}
|
|
105
|
+
|
|
76
106
|
async function liftReporting ({projectRoot, packageManager}) {
|
|
77
107
|
const pathToPackageJson = `${projectRoot}/package.json`;
|
|
78
108
|
|
|
@@ -109,12 +139,19 @@ async function liftReporting ({projectRoot, packageManager}) {
|
|
|
109
139
|
async function lift({projectRoot, packageManager, vcs}) {
|
|
110
140
|
const [reportingResults, badgeResults] = await Promise.all([
|
|
111
141
|
liftReporting({projectRoot, packageManager}),
|
|
112
|
-
scaffold({vcs})
|
|
142
|
+
scaffold$1({vcs})
|
|
113
143
|
]);
|
|
114
144
|
|
|
115
145
|
return deepmerge.all([reportingResults, badgeResults]);
|
|
116
146
|
}
|
|
117
147
|
|
|
148
|
+
async function remover ({projectRoot}) {
|
|
149
|
+
await removeAction({projectRoot});
|
|
150
|
+
|
|
151
|
+
return {};
|
|
152
|
+
}
|
|
153
|
+
|
|
118
154
|
exports.lift = lift;
|
|
119
|
-
exports.
|
|
155
|
+
exports.remove = remover;
|
|
156
|
+
exports.scaffold = scaffold$2;
|
|
120
157
|
//# sourceMappingURL=index.js.map
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.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","fileExists","lift","load","fs","dump","ciProviderIsLiftable","liftCiProvider","scaffoldBadge"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../src/scaffolder.js","../src/badge/repository-details-fetcher.js","../src/badge/scaffolder.js","../src/reporter/ci-providers/github-workflows/codecov-action.js","../src/reporter/ci-providers/github-workflows/workflow.js","../src/reporter/ci-providers/github-workflows/lifter.js","../src/reporter/ci-providers/github-workflows/remover.js","../src/reporter/lifter.js","../src/lifter.js","../src/remover.js"],"sourcesContent":["export async function scaffold() {\n return {};\n}\n","import got from '../../thirdparty-wrappers/got.js';\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.js';\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","function stepIsCodecovAction(step) {\n if (!step.uses) return false;\n\n const [actionName] = step.uses.split('@');\n\n return 'codecov/codecov-action' === actionName;\n}\n\nexport function findCodecovActionIn(steps) {\n return steps.find(step => stepIsCodecovAction(step));\n}\n\nexport function removeCodecovActionFrom(steps) {\n return steps.filter(step => !stepIsCodecovAction(step));\n}\n\nexport function scaffold() {\n return {uses: 'codecov/codecov-action@v3'};\n}\n","export function getPathToWorkflowFile(projectRoot) {\n return `${projectRoot}/.github/workflows/node-ci.yml`;\n}\n","import {promises as fs} from 'node:fs';\nimport {dump, load} from 'js-yaml';\nimport {fileExists} from '@form8ion/core';\n\nimport {findCodecovActionIn, scaffold as scaffoldCodecov} from './codecov-action.js';\nimport {getPathToWorkflowFile} from './workflow.js';\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 (!findCodecovActionIn(steps)) {\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, scaffoldCodecov()]\n }\n }\n })\n );\n }\n}\n","import {promises as fs} from 'node:fs';\nimport {dump, load} from 'js-yaml';\n\nimport {getPathToWorkflowFile} from './workflow.js';\nimport {removeCodecovActionFrom} from './codecov-action.js';\n\nexport default async function ({projectRoot}) {\n const pathToWorkflowFile = getPathToWorkflowFile(projectRoot);\n\n const existingConfig = load(await fs.readFile(pathToWorkflowFile, 'utf-8'));\n existingConfig.jobs.verify.steps = removeCodecovActionFrom(existingConfig.jobs.verify.steps);\n\n await fs.writeFile(pathToWorkflowFile, dump(existingConfig));\n}\n","import {promises as fs} from 'fs';\n\nimport execa from '../../thirdparty-wrappers/execa.js';\nimport {lift as liftCiProvider, test as ciProviderIsLiftable} from './ci-providers/index.js';\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/index.js';\nimport {lift as liftReporting} from './reporter/index.js';\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","import {remove as removeAction} from './reporter/ci-providers/github-workflows/index.js';\n\nexport default async function ({projectRoot}) {\n await removeAction({projectRoot});\n\n return {};\n}\n"],"names":["scaffold","fileExists","lift","load","fs","dump","scaffoldCodecov","ciProviderIsLiftable","liftCiProvider","scaffoldBadge"],"mappings":"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"}
|
package/lib/index.mjs
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import deepmerge from 'deepmerge';
|
|
2
|
-
import { promises } from 'fs';
|
|
2
|
+
import { promises as promises$1 } from 'fs';
|
|
3
3
|
import execa from 'execa';
|
|
4
|
+
import { promises } from 'node:fs';
|
|
4
5
|
import { load, dump } from 'js-yaml';
|
|
5
6
|
import { fileExists } from '@form8ion/core';
|
|
6
7
|
import got from 'got';
|
|
7
8
|
|
|
8
|
-
async function scaffold$
|
|
9
|
+
async function scaffold$2() {
|
|
9
10
|
return {};
|
|
10
11
|
}
|
|
11
12
|
|
|
@@ -18,7 +19,7 @@ async function fetchRepositoryDetails ({vcs, apiAccessToken}) {
|
|
|
18
19
|
return repo;
|
|
19
20
|
}
|
|
20
21
|
|
|
21
|
-
async function scaffold({vcs, apiAccessToken}) {
|
|
22
|
+
async function scaffold$1({vcs, apiAccessToken}) {
|
|
22
23
|
return {
|
|
23
24
|
...['github', 'gitlab', 'bitbucket'].includes(vcs?.host) && {
|
|
24
25
|
badges: {
|
|
@@ -38,6 +39,26 @@ async function scaffold({vcs, apiAccessToken}) {
|
|
|
38
39
|
};
|
|
39
40
|
}
|
|
40
41
|
|
|
42
|
+
function stepIsCodecovAction(step) {
|
|
43
|
+
if (!step.uses) return false;
|
|
44
|
+
|
|
45
|
+
const [actionName] = step.uses.split('@');
|
|
46
|
+
|
|
47
|
+
return 'codecov/codecov-action' === actionName;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
function findCodecovActionIn(steps) {
|
|
51
|
+
return steps.find(step => stepIsCodecovAction(step));
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
function removeCodecovActionFrom(steps) {
|
|
55
|
+
return steps.filter(step => !stepIsCodecovAction(step));
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
function scaffold() {
|
|
59
|
+
return {uses: 'codecov/codecov-action@v3'};
|
|
60
|
+
}
|
|
61
|
+
|
|
41
62
|
function getPathToWorkflowFile(projectRoot) {
|
|
42
63
|
return `${projectRoot}/.github/workflows/node-ci.yml`;
|
|
43
64
|
}
|
|
@@ -52,7 +73,7 @@ async function lift$1({projectRoot}) {
|
|
|
52
73
|
const workflowDetails = load(await promises.readFile(pathToWorkflowFile, 'utf-8'));
|
|
53
74
|
const {jobs: {verify: {steps}}} = workflowDetails;
|
|
54
75
|
|
|
55
|
-
if (!steps
|
|
76
|
+
if (!findCodecovActionIn(steps)) {
|
|
56
77
|
const stepsWithLegacyReportingRemoved = steps.filter(({run}) => 'npm run coverage:report' !== run);
|
|
57
78
|
|
|
58
79
|
await promises.writeFile(
|
|
@@ -63,7 +84,7 @@ async function lift$1({projectRoot}) {
|
|
|
63
84
|
...workflowDetails.jobs,
|
|
64
85
|
verify: {
|
|
65
86
|
...workflowDetails.jobs.verify,
|
|
66
|
-
steps: [...stepsWithLegacyReportingRemoved,
|
|
87
|
+
steps: [...stepsWithLegacyReportingRemoved, scaffold()]
|
|
67
88
|
}
|
|
68
89
|
}
|
|
69
90
|
})
|
|
@@ -71,12 +92,21 @@ async function lift$1({projectRoot}) {
|
|
|
71
92
|
}
|
|
72
93
|
}
|
|
73
94
|
|
|
95
|
+
async function removeAction ({projectRoot}) {
|
|
96
|
+
const pathToWorkflowFile = getPathToWorkflowFile(projectRoot);
|
|
97
|
+
|
|
98
|
+
const existingConfig = load(await promises.readFile(pathToWorkflowFile, 'utf-8'));
|
|
99
|
+
existingConfig.jobs.verify.steps = removeCodecovActionFrom(existingConfig.jobs.verify.steps);
|
|
100
|
+
|
|
101
|
+
await promises.writeFile(pathToWorkflowFile, dump(existingConfig));
|
|
102
|
+
}
|
|
103
|
+
|
|
74
104
|
async function liftReporting ({projectRoot, packageManager}) {
|
|
75
105
|
const pathToPackageJson = `${projectRoot}/package.json`;
|
|
76
106
|
|
|
77
107
|
const [ciProviderCanBeLifted, existingPackageContents] = await Promise.all([
|
|
78
108
|
test({projectRoot}),
|
|
79
|
-
promises.readFile(pathToPackageJson, 'utf-8')
|
|
109
|
+
promises$1.readFile(pathToPackageJson, 'utf-8')
|
|
80
110
|
]);
|
|
81
111
|
const parsedPackageContents = JSON.parse(existingPackageContents);
|
|
82
112
|
const {scripts} = parsedPackageContents;
|
|
@@ -86,7 +116,7 @@ async function liftReporting ({projectRoot, packageManager}) {
|
|
|
86
116
|
|
|
87
117
|
if (scripts['coverage:report']) {
|
|
88
118
|
parsedPackageContents.scripts = otherScripts;
|
|
89
|
-
await promises.writeFile(pathToPackageJson, JSON.stringify(parsedPackageContents));
|
|
119
|
+
await promises$1.writeFile(pathToPackageJson, JSON.stringify(parsedPackageContents));
|
|
90
120
|
|
|
91
121
|
await execa(packageManager, ['remove', 'codecov']);
|
|
92
122
|
|
|
@@ -107,11 +137,17 @@ async function liftReporting ({projectRoot, packageManager}) {
|
|
|
107
137
|
async function lift({projectRoot, packageManager, vcs}) {
|
|
108
138
|
const [reportingResults, badgeResults] = await Promise.all([
|
|
109
139
|
liftReporting({projectRoot, packageManager}),
|
|
110
|
-
scaffold({vcs})
|
|
140
|
+
scaffold$1({vcs})
|
|
111
141
|
]);
|
|
112
142
|
|
|
113
143
|
return deepmerge.all([reportingResults, badgeResults]);
|
|
114
144
|
}
|
|
115
145
|
|
|
116
|
-
|
|
146
|
+
async function remover ({projectRoot}) {
|
|
147
|
+
await removeAction({projectRoot});
|
|
148
|
+
|
|
149
|
+
return {};
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
export { lift, remover as remove, scaffold$2 as scaffold };
|
|
117
153
|
//# sourceMappingURL=index.mjs.map
|
package/lib/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","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","lift","fs","ciProviderIsLiftable","liftCiProvider","scaffoldBadge"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../src/scaffolder.js","../src/badge/repository-details-fetcher.js","../src/badge/scaffolder.js","../src/reporter/ci-providers/github-workflows/codecov-action.js","../src/reporter/ci-providers/github-workflows/workflow.js","../src/reporter/ci-providers/github-workflows/lifter.js","../src/reporter/ci-providers/github-workflows/remover.js","../src/reporter/lifter.js","../src/lifter.js","../src/remover.js"],"sourcesContent":["export async function scaffold() {\n return {};\n}\n","import got from '../../thirdparty-wrappers/got.js';\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.js';\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","function stepIsCodecovAction(step) {\n if (!step.uses) return false;\n\n const [actionName] = step.uses.split('@');\n\n return 'codecov/codecov-action' === actionName;\n}\n\nexport function findCodecovActionIn(steps) {\n return steps.find(step => stepIsCodecovAction(step));\n}\n\nexport function removeCodecovActionFrom(steps) {\n return steps.filter(step => !stepIsCodecovAction(step));\n}\n\nexport function scaffold() {\n return {uses: 'codecov/codecov-action@v3'};\n}\n","export function getPathToWorkflowFile(projectRoot) {\n return `${projectRoot}/.github/workflows/node-ci.yml`;\n}\n","import {promises as fs} from 'node:fs';\nimport {dump, load} from 'js-yaml';\nimport {fileExists} from '@form8ion/core';\n\nimport {findCodecovActionIn, scaffold as scaffoldCodecov} from './codecov-action.js';\nimport {getPathToWorkflowFile} from './workflow.js';\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 (!findCodecovActionIn(steps)) {\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, scaffoldCodecov()]\n }\n }\n })\n );\n }\n}\n","import {promises as fs} from 'node:fs';\nimport {dump, load} from 'js-yaml';\n\nimport {getPathToWorkflowFile} from './workflow.js';\nimport {removeCodecovActionFrom} from './codecov-action.js';\n\nexport default async function ({projectRoot}) {\n const pathToWorkflowFile = getPathToWorkflowFile(projectRoot);\n\n const existingConfig = load(await fs.readFile(pathToWorkflowFile, 'utf-8'));\n existingConfig.jobs.verify.steps = removeCodecovActionFrom(existingConfig.jobs.verify.steps);\n\n await fs.writeFile(pathToWorkflowFile, dump(existingConfig));\n}\n","import {promises as fs} from 'fs';\n\nimport execa from '../../thirdparty-wrappers/execa.js';\nimport {lift as liftCiProvider, test as ciProviderIsLiftable} from './ci-providers/index.js';\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/index.js';\nimport {lift as liftReporting} from './reporter/index.js';\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","import {remove as removeAction} from './reporter/ci-providers/github-workflows/index.js';\n\nexport default async function ({projectRoot}) {\n await removeAction({projectRoot});\n\n return {};\n}\n"],"names":["scaffold","lift","fs","scaffoldCodecov","ciProviderIsLiftable","liftCiProvider","scaffoldBadge"],"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.
|
|
5
|
+
"version": "5.2.0",
|
|
6
6
|
"engines": {
|
|
7
7
|
"node": "^16.14 || >=18"
|
|
8
8
|
},
|
|
@@ -11,19 +11,19 @@
|
|
|
11
11
|
"bugs": "https://github.com/form8ion/codecov/issues",
|
|
12
12
|
"homepage": "https://npm.im/@form8ion/codecov",
|
|
13
13
|
"runkitExampleFilename": "./example.js",
|
|
14
|
-
"main": "./lib/index.js",
|
|
15
|
-
"module": "./lib/index.mjs",
|
|
16
14
|
"exports": {
|
|
17
15
|
"require": "./lib/index.js",
|
|
18
16
|
"import": "./lib/index.mjs"
|
|
19
17
|
},
|
|
18
|
+
"main": "./lib/index.js",
|
|
19
|
+
"module": "./lib/index.mjs",
|
|
20
20
|
"sideEffects": false,
|
|
21
21
|
"scripts": {
|
|
22
22
|
"pretest": "run-s build",
|
|
23
23
|
"test": "npm-run-all --print-label build --parallel lint:* --parallel test:*",
|
|
24
24
|
"lint:lockfile": "lockfile-lint",
|
|
25
25
|
"lint:js": "eslint . --cache",
|
|
26
|
-
"lint:js:fix": "run-s lint:js -- --fix",
|
|
26
|
+
"lint:js:fix": "run-s 'lint:js -- --fix'",
|
|
27
27
|
"lint:md": "remark . --frail",
|
|
28
28
|
"generate:md": "remark . --output",
|
|
29
29
|
"pregenerate:md": "run-s build",
|
|
@@ -39,8 +39,8 @@
|
|
|
39
39
|
"test:unit:base": "DEBUG=any mocha 'src/**/*-test.js'",
|
|
40
40
|
"lint:peer": "npm ls >/dev/null",
|
|
41
41
|
"lint:gherkin": "gherkin-lint",
|
|
42
|
-
"pretest:integration": "run-s build",
|
|
43
42
|
"test:integration": "run-s 'test:integration:base -- --profile noWip'",
|
|
43
|
+
"pretest:integration:base": "run-s build",
|
|
44
44
|
"test:integration:base": "NODE_OPTIONS=--enable-source-maps DEBUG=any cucumber-js test/integration --profile base",
|
|
45
45
|
"test:integration:debug": "DEBUG=test run-s test:integration",
|
|
46
46
|
"test:integration:wip": "run-s 'test:integration:base -- --profile wip'",
|
|
@@ -65,39 +65,39 @@
|
|
|
65
65
|
"js-yaml": "^4.1.0"
|
|
66
66
|
},
|
|
67
67
|
"devDependencies": {
|
|
68
|
-
"@babel/register": "7.
|
|
69
|
-
"@cucumber/cucumber": "9.
|
|
70
|
-
"@form8ion/babel-preset": "1.6.
|
|
71
|
-
"@form8ion/commitlint-config": "1.0.
|
|
72
|
-
"@form8ion/eslint-config": "
|
|
68
|
+
"@babel/register": "7.23.7",
|
|
69
|
+
"@cucumber/cucumber": "9.6.0",
|
|
70
|
+
"@form8ion/babel-preset": "1.6.122",
|
|
71
|
+
"@form8ion/commitlint-config": "1.0.68",
|
|
72
|
+
"@form8ion/eslint-config": "7.0.8",
|
|
73
73
|
"@form8ion/eslint-config-cucumber": "1.4.1",
|
|
74
|
-
"@form8ion/eslint-config-mocha": "3.0.
|
|
75
|
-
"@form8ion/javascript-core": "
|
|
76
|
-
"@form8ion/remark-lint-preset": "6.0.
|
|
77
|
-
"@rollup/plugin-node-resolve": "15.
|
|
78
|
-
"@travi/any": "
|
|
79
|
-
"ban-sensitive-files": "1.
|
|
80
|
-
"c8": "
|
|
81
|
-
"chai": "4.
|
|
74
|
+
"@form8ion/eslint-config-mocha": "3.0.1",
|
|
75
|
+
"@form8ion/javascript-core": "11.0.0",
|
|
76
|
+
"@form8ion/remark-lint-preset": "6.0.2",
|
|
77
|
+
"@rollup/plugin-node-resolve": "15.2.3",
|
|
78
|
+
"@travi/any": "3.1.0",
|
|
79
|
+
"ban-sensitive-files": "1.10.1",
|
|
80
|
+
"c8": "9.1.0",
|
|
81
|
+
"chai": "4.4.1",
|
|
82
82
|
"cross-env": "7.0.3",
|
|
83
83
|
"cz-conventional-changelog": "3.3.0",
|
|
84
|
-
"gherkin-lint": "4.2.
|
|
85
|
-
"http-status-codes": "2.
|
|
86
|
-
"husky": "
|
|
87
|
-
"lockfile-lint": "4.12.
|
|
88
|
-
"ls-engines": "0.9.
|
|
89
|
-
"mocha": "10.
|
|
84
|
+
"gherkin-lint": "4.2.4",
|
|
85
|
+
"http-status-codes": "2.3.0",
|
|
86
|
+
"husky": "9.0.10",
|
|
87
|
+
"lockfile-lint": "4.12.1",
|
|
88
|
+
"ls-engines": "0.9.1",
|
|
89
|
+
"mocha": "10.3.0",
|
|
90
90
|
"mock-fs": "5.2.0",
|
|
91
|
-
"nock": "13.
|
|
92
|
-
"npm-run-
|
|
93
|
-
"publint": "0.2.
|
|
94
|
-
"remark-cli": "
|
|
95
|
-
"remark-toc": "
|
|
96
|
-
"remark-usage": "
|
|
97
|
-
"rimraf": "5.0.
|
|
98
|
-
"rollup": "
|
|
91
|
+
"nock": "13.5.1",
|
|
92
|
+
"npm-run-all2": "6.1.2",
|
|
93
|
+
"publint": "0.2.7",
|
|
94
|
+
"remark-cli": "12.0.0",
|
|
95
|
+
"remark-toc": "9.0.0",
|
|
96
|
+
"remark-usage": "11.0.1",
|
|
97
|
+
"rimraf": "5.0.5",
|
|
98
|
+
"rollup": "4.9.6",
|
|
99
99
|
"rollup-plugin-auto-external": "2.0.0",
|
|
100
|
-
"sinon": "
|
|
101
|
-
"testdouble": "3.
|
|
100
|
+
"sinon": "17.0.1",
|
|
101
|
+
"testdouble": "3.20.1"
|
|
102
102
|
}
|
|
103
103
|
}
|