@form8ion/codecov 5.2.0 → 6.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 +1 -1
- package/lib/index.js +22 -18
- package/lib/index.js.map +1 -1
- package/lib/index.mjs +22 -18
- package/lib/index.mjs.map +1 -1
- package/package.json +28 -26
package/README.md
CHANGED
|
@@ -172,7 +172,7 @@ $ npm test
|
|
|
172
172
|
|
|
173
173
|
[license-link]: LICENSE
|
|
174
174
|
|
|
175
|
-
[license-badge]: https://img.shields.io/github/license/form8ion/codecov.svg
|
|
175
|
+
[license-badge]: https://img.shields.io/github/license/form8ion/codecov.svg?logo=opensourceinitiative
|
|
176
176
|
|
|
177
177
|
[npm-link]: https://www.npmjs.com/package/@form8ion/codecov
|
|
178
178
|
|
package/lib/index.js
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var deepmerge = require('deepmerge');
|
|
4
|
-
var fs = require('fs');
|
|
5
|
-
var execa = require('execa');
|
|
6
4
|
var node_fs = require('node:fs');
|
|
7
|
-
var
|
|
5
|
+
var javascriptCore = require('@form8ion/javascript-core');
|
|
6
|
+
var execa = require('execa');
|
|
8
7
|
var core = require('@form8ion/core');
|
|
8
|
+
var jsYaml = require('js-yaml');
|
|
9
|
+
var githubWorkflowsCore = require('@form8ion/github-workflows-core');
|
|
9
10
|
var got = require('got');
|
|
10
11
|
|
|
11
12
|
async function scaffold$2() {
|
|
@@ -58,17 +59,13 @@ function removeCodecovActionFrom(steps) {
|
|
|
58
59
|
}
|
|
59
60
|
|
|
60
61
|
function scaffold() {
|
|
61
|
-
return {uses: 'codecov/codecov-action@
|
|
62
|
+
return {uses: 'codecov/codecov-action@v4.5.0'};
|
|
62
63
|
}
|
|
63
64
|
|
|
64
65
|
function getPathToWorkflowFile(projectRoot) {
|
|
65
66
|
return `${projectRoot}/.github/workflows/node-ci.yml`;
|
|
66
67
|
}
|
|
67
68
|
|
|
68
|
-
function test({projectRoot}) {
|
|
69
|
-
return core.fileExists(getPathToWorkflowFile(projectRoot));
|
|
70
|
-
}
|
|
71
|
-
|
|
72
69
|
async function lift$1({projectRoot}) {
|
|
73
70
|
const pathToWorkflowFile = getPathToWorkflowFile(projectRoot);
|
|
74
71
|
|
|
@@ -78,9 +75,10 @@ async function lift$1({projectRoot}) {
|
|
|
78
75
|
if (!findCodecovActionIn(steps)) {
|
|
79
76
|
const stepsWithLegacyReportingRemoved = steps.filter(({run}) => 'npm run coverage:report' !== run);
|
|
80
77
|
|
|
81
|
-
await
|
|
82
|
-
|
|
83
|
-
|
|
78
|
+
await githubWorkflowsCore.writeWorkflowFile({
|
|
79
|
+
projectRoot,
|
|
80
|
+
name: 'node-ci',
|
|
81
|
+
config: {
|
|
84
82
|
...workflowDetails,
|
|
85
83
|
jobs: {
|
|
86
84
|
...workflowDetails.jobs,
|
|
@@ -89,8 +87,8 @@ async function lift$1({projectRoot}) {
|
|
|
89
87
|
steps: [...stepsWithLegacyReportingRemoved, scaffold()]
|
|
90
88
|
}
|
|
91
89
|
}
|
|
92
|
-
}
|
|
93
|
-
);
|
|
90
|
+
}
|
|
91
|
+
});
|
|
94
92
|
}
|
|
95
93
|
}
|
|
96
94
|
|
|
@@ -100,15 +98,19 @@ async function removeAction ({projectRoot}) {
|
|
|
100
98
|
const existingConfig = jsYaml.load(await node_fs.promises.readFile(pathToWorkflowFile, 'utf-8'));
|
|
101
99
|
existingConfig.jobs.verify.steps = removeCodecovActionFrom(existingConfig.jobs.verify.steps);
|
|
102
100
|
|
|
103
|
-
await
|
|
101
|
+
await githubWorkflowsCore.writeWorkflowFile({projectRoot, name: 'node-ci', config: existingConfig});
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
function githubWorkflowExists ({projectRoot}) {
|
|
105
|
+
return core.fileExists(getPathToWorkflowFile(projectRoot));
|
|
104
106
|
}
|
|
105
107
|
|
|
106
108
|
async function liftReporting ({projectRoot, packageManager}) {
|
|
107
109
|
const pathToPackageJson = `${projectRoot}/package.json`;
|
|
108
110
|
|
|
109
111
|
const [ciProviderCanBeLifted, existingPackageContents] = await Promise.all([
|
|
110
|
-
|
|
111
|
-
|
|
112
|
+
githubWorkflowExists({projectRoot}),
|
|
113
|
+
node_fs.promises.readFile(pathToPackageJson, 'utf-8')
|
|
112
114
|
]);
|
|
113
115
|
const parsedPackageContents = JSON.parse(existingPackageContents);
|
|
114
116
|
const {scripts} = parsedPackageContents;
|
|
@@ -118,7 +120,7 @@ async function liftReporting ({projectRoot, packageManager}) {
|
|
|
118
120
|
|
|
119
121
|
if (scripts['coverage:report']) {
|
|
120
122
|
parsedPackageContents.scripts = otherScripts;
|
|
121
|
-
await
|
|
123
|
+
await javascriptCore.writePackageJson({projectRoot, config: parsedPackageContents});
|
|
122
124
|
|
|
123
125
|
await execa(packageManager, ['remove', 'codecov']);
|
|
124
126
|
|
|
@@ -146,7 +148,9 @@ async function lift({projectRoot, packageManager, vcs}) {
|
|
|
146
148
|
}
|
|
147
149
|
|
|
148
150
|
async function remover ({projectRoot}) {
|
|
149
|
-
await
|
|
151
|
+
if (await githubWorkflowExists({projectRoot})) {
|
|
152
|
+
await removeAction({projectRoot});
|
|
153
|
+
}
|
|
150
154
|
|
|
151
155
|
return {};
|
|
152
156
|
}
|
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/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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"}
|
|
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/ci-providers/github-workflows/predicate.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@v4.5.0'};\n}\n","export function getPathToWorkflowFile(projectRoot) {\n return `${projectRoot}/.github/workflows/node-ci.yml`;\n}\n","import {promises as fs} from 'node:fs';\nimport {load} from 'js-yaml';\nimport {writeWorkflowFile} from '@form8ion/github-workflows-core';\n\nimport {findCodecovActionIn, scaffold as scaffoldCodecov} from './codecov-action.js';\nimport {getPathToWorkflowFile} from './workflow.js';\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 writeWorkflowFile({\n projectRoot,\n name: 'node-ci',\n config: {\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 {load} from 'js-yaml';\nimport {writeWorkflowFile} from '@form8ion/github-workflows-core';\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 writeWorkflowFile({projectRoot, name: 'node-ci', config: existingConfig});\n}\n","import {fileExists} from '@form8ion/core';\n\nimport {getPathToWorkflowFile} from './workflow.js';\n\nexport default function ({projectRoot}) {\n return fileExists(getPathToWorkflowFile(projectRoot));\n}\n","import {promises as fs} from 'node:fs';\nimport {writePackageJson} from '@form8ion/javascript-core';\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 writePackageJson({projectRoot, config: 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, test as githubWorkflowExists} from './reporter/ci-providers/github-workflows/index.js';\n\nexport default async function ({projectRoot}) {\n if (await githubWorkflowExists({projectRoot})) {\n await removeAction({projectRoot});\n }\n\n return {};\n}\n"],"names":["scaffold","lift","load","fs","writeWorkflowFile","scaffoldCodecov","fileExists","ciProviderIsLiftable","liftCiProvider","writePackageJson","scaffoldBadge"],"mappings":"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"}
|
package/lib/index.mjs
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import deepmerge from 'deepmerge';
|
|
2
|
-
import { promises as promises$1 } from 'fs';
|
|
3
|
-
import execa from 'execa';
|
|
4
2
|
import { promises } from 'node:fs';
|
|
5
|
-
import {
|
|
3
|
+
import { writePackageJson } from '@form8ion/javascript-core';
|
|
4
|
+
import execa from 'execa';
|
|
6
5
|
import { fileExists } from '@form8ion/core';
|
|
6
|
+
import { load } from 'js-yaml';
|
|
7
|
+
import { writeWorkflowFile } from '@form8ion/github-workflows-core';
|
|
7
8
|
import got from 'got';
|
|
8
9
|
|
|
9
10
|
async function scaffold$2() {
|
|
@@ -56,17 +57,13 @@ function removeCodecovActionFrom(steps) {
|
|
|
56
57
|
}
|
|
57
58
|
|
|
58
59
|
function scaffold() {
|
|
59
|
-
return {uses: 'codecov/codecov-action@
|
|
60
|
+
return {uses: 'codecov/codecov-action@v4.5.0'};
|
|
60
61
|
}
|
|
61
62
|
|
|
62
63
|
function getPathToWorkflowFile(projectRoot) {
|
|
63
64
|
return `${projectRoot}/.github/workflows/node-ci.yml`;
|
|
64
65
|
}
|
|
65
66
|
|
|
66
|
-
function test({projectRoot}) {
|
|
67
|
-
return fileExists(getPathToWorkflowFile(projectRoot));
|
|
68
|
-
}
|
|
69
|
-
|
|
70
67
|
async function lift$1({projectRoot}) {
|
|
71
68
|
const pathToWorkflowFile = getPathToWorkflowFile(projectRoot);
|
|
72
69
|
|
|
@@ -76,9 +73,10 @@ async function lift$1({projectRoot}) {
|
|
|
76
73
|
if (!findCodecovActionIn(steps)) {
|
|
77
74
|
const stepsWithLegacyReportingRemoved = steps.filter(({run}) => 'npm run coverage:report' !== run);
|
|
78
75
|
|
|
79
|
-
await
|
|
80
|
-
|
|
81
|
-
|
|
76
|
+
await writeWorkflowFile({
|
|
77
|
+
projectRoot,
|
|
78
|
+
name: 'node-ci',
|
|
79
|
+
config: {
|
|
82
80
|
...workflowDetails,
|
|
83
81
|
jobs: {
|
|
84
82
|
...workflowDetails.jobs,
|
|
@@ -87,8 +85,8 @@ async function lift$1({projectRoot}) {
|
|
|
87
85
|
steps: [...stepsWithLegacyReportingRemoved, scaffold()]
|
|
88
86
|
}
|
|
89
87
|
}
|
|
90
|
-
}
|
|
91
|
-
);
|
|
88
|
+
}
|
|
89
|
+
});
|
|
92
90
|
}
|
|
93
91
|
}
|
|
94
92
|
|
|
@@ -98,15 +96,19 @@ async function removeAction ({projectRoot}) {
|
|
|
98
96
|
const existingConfig = load(await promises.readFile(pathToWorkflowFile, 'utf-8'));
|
|
99
97
|
existingConfig.jobs.verify.steps = removeCodecovActionFrom(existingConfig.jobs.verify.steps);
|
|
100
98
|
|
|
101
|
-
await
|
|
99
|
+
await writeWorkflowFile({projectRoot, name: 'node-ci', config: existingConfig});
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
function githubWorkflowExists ({projectRoot}) {
|
|
103
|
+
return fileExists(getPathToWorkflowFile(projectRoot));
|
|
102
104
|
}
|
|
103
105
|
|
|
104
106
|
async function liftReporting ({projectRoot, packageManager}) {
|
|
105
107
|
const pathToPackageJson = `${projectRoot}/package.json`;
|
|
106
108
|
|
|
107
109
|
const [ciProviderCanBeLifted, existingPackageContents] = await Promise.all([
|
|
108
|
-
|
|
109
|
-
promises
|
|
110
|
+
githubWorkflowExists({projectRoot}),
|
|
111
|
+
promises.readFile(pathToPackageJson, 'utf-8')
|
|
110
112
|
]);
|
|
111
113
|
const parsedPackageContents = JSON.parse(existingPackageContents);
|
|
112
114
|
const {scripts} = parsedPackageContents;
|
|
@@ -116,7 +118,7 @@ async function liftReporting ({projectRoot, packageManager}) {
|
|
|
116
118
|
|
|
117
119
|
if (scripts['coverage:report']) {
|
|
118
120
|
parsedPackageContents.scripts = otherScripts;
|
|
119
|
-
await
|
|
121
|
+
await writePackageJson({projectRoot, config: parsedPackageContents});
|
|
120
122
|
|
|
121
123
|
await execa(packageManager, ['remove', 'codecov']);
|
|
122
124
|
|
|
@@ -144,7 +146,9 @@ async function lift({projectRoot, packageManager, vcs}) {
|
|
|
144
146
|
}
|
|
145
147
|
|
|
146
148
|
async function remover ({projectRoot}) {
|
|
147
|
-
await
|
|
149
|
+
if (await githubWorkflowExists({projectRoot})) {
|
|
150
|
+
await removeAction({projectRoot});
|
|
151
|
+
}
|
|
148
152
|
|
|
149
153
|
return {};
|
|
150
154
|
}
|
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/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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"}
|
|
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/ci-providers/github-workflows/predicate.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@v4.5.0'};\n}\n","export function getPathToWorkflowFile(projectRoot) {\n return `${projectRoot}/.github/workflows/node-ci.yml`;\n}\n","import {promises as fs} from 'node:fs';\nimport {load} from 'js-yaml';\nimport {writeWorkflowFile} from '@form8ion/github-workflows-core';\n\nimport {findCodecovActionIn, scaffold as scaffoldCodecov} from './codecov-action.js';\nimport {getPathToWorkflowFile} from './workflow.js';\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 writeWorkflowFile({\n projectRoot,\n name: 'node-ci',\n config: {\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 {load} from 'js-yaml';\nimport {writeWorkflowFile} from '@form8ion/github-workflows-core';\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 writeWorkflowFile({projectRoot, name: 'node-ci', config: existingConfig});\n}\n","import {fileExists} from '@form8ion/core';\n\nimport {getPathToWorkflowFile} from './workflow.js';\n\nexport default function ({projectRoot}) {\n return fileExists(getPathToWorkflowFile(projectRoot));\n}\n","import {promises as fs} from 'node:fs';\nimport {writePackageJson} from '@form8ion/javascript-core';\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 writePackageJson({projectRoot, config: 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, test as githubWorkflowExists} from './reporter/ci-providers/github-workflows/index.js';\n\nexport default async function ({projectRoot}) {\n if (await githubWorkflowExists({projectRoot})) {\n await removeAction({projectRoot});\n }\n\n return {};\n}\n"],"names":["scaffold","lift","fs","scaffoldCodecov","ciProviderIsLiftable","liftCiProvider","scaffoldBadge"],"mappings":";;;;;;;;;AAAO,eAAeA,UAAQ,GAAG;AACjC,EAAE,OAAO,EAAE,CAAC;AACZ;;ACAe,qCAAc,EAAE,CAAC,GAAG,EAAE,cAAc,CAAC,EAAE;AACtD,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,MAAM,GAAG;AAClC,IAAI,CAAC,0BAA0B,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;AACxD,IAAI,CAAC,OAAO,EAAE,CAAC,aAAa,EAAE,cAAc,CAAC,EAAE,YAAY,EAAE,MAAM,CAAC;AACpE,GAAG,CAAC;AACJ;AACA,EAAE,OAAO,IAAI,CAAC;AACd;;ACPO,eAAeA,UAAQ,CAAC,CAAC,GAAG,EAAE,cAAc,CAAC,EAAE;AACtD,EAAE,OAAO;AACT,IAAI,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI;AAChE,MAAM,MAAM,EAAE;AACd,QAAQ,MAAM,EAAE;AAChB,UAAU,QAAQ,EAAE;AACpB,YAAY,GAAG,EAAE,CAAC,iCAAiC,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,aAAa;AACpG,cAAc,cAAc;AAC5B,kBAAkB,CAAC,OAAO,EAAE,CAAC,MAAM,sBAAsB,CAAC,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;AAC/F,kBAAkB,EAAE;AACpB,aAAa,CAAC;AACd,YAAY,IAAI,EAAE,CAAC,mBAAmB,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;AAC3E,YAAY,IAAI,EAAE,SAAS;AAC3B,WAAW;AACX,SAAS;AACT,OAAO;AACP,KAAK;AACL,GAAG,CAAC;AACJ;;ACpBA,SAAS,mBAAmB,CAAC,IAAI,EAAE;AACnC,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,KAAK,CAAC;AAC/B;AACA,EAAE,MAAM,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AAC5C;AACA,EAAE,OAAO,wBAAwB,KAAK,UAAU,CAAC;AACjD,CAAC;AACD;AACO,SAAS,mBAAmB,CAAC,KAAK,EAAE;AAC3C,EAAE,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC;AACvD,CAAC;AACD;AACO,SAAS,uBAAuB,CAAC,KAAK,EAAE;AAC/C,EAAE,OAAO,KAAK,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC;AAC1D,CAAC;AACD;AACO,SAAS,QAAQ,GAAG;AAC3B,EAAE,OAAO,CAAC,IAAI,EAAE,+BAA+B,CAAC,CAAC;AACjD;;AClBO,SAAS,qBAAqB,CAAC,WAAW,EAAE;AACnD,EAAE,OAAO,CAAC,EAAE,WAAW,CAAC,8BAA8B,CAAC,CAAC;AACxD;;ACKO,eAAeC,MAAI,CAAC,CAAC,WAAW,CAAC,EAAE;AAC1C,EAAE,MAAM,kBAAkB,GAAG,qBAAqB,CAAC,WAAW,CAAC,CAAC;AAChE;AACA,EAAE,MAAM,eAAe,GAAG,IAAI,CAAC,MAAMC,QAAE,CAAC,QAAQ,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC,CAAC;AAC/E,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,eAAe,CAAC;AACpD;AACA,EAAE,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,EAAE;AACnC,IAAI,MAAM,+BAA+B,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,yBAAyB,KAAK,GAAG,CAAC,CAAC;AACvG;AACA,IAAI,MAAM,iBAAiB,CAAC;AAC5B,MAAM,WAAW;AACjB,MAAM,IAAI,EAAE,SAAS;AACrB,MAAM,MAAM,EAAE;AACd,QAAQ,GAAG,eAAe;AAC1B,QAAQ,IAAI,EAAE;AACd,UAAU,GAAG,eAAe,CAAC,IAAI;AACjC,UAAU,MAAM,EAAE;AAClB,YAAY,GAAG,eAAe,CAAC,IAAI,CAAC,MAAM;AAC1C,YAAY,KAAK,EAAE,CAAC,GAAG,+BAA+B,EAAEC,QAAe,EAAE,CAAC;AAC1E,WAAW;AACX,SAAS;AACT,OAAO;AACP,KAAK,CAAC,CAAC;AACP,GAAG;AACH;;ACxBe,2BAAc,EAAE,CAAC,WAAW,CAAC,EAAE;AAC9C,EAAE,MAAM,kBAAkB,GAAG,qBAAqB,CAAC,WAAW,CAAC,CAAC;AAChE;AACA,EAAE,MAAM,cAAc,GAAG,IAAI,CAAC,MAAMD,QAAE,CAAC,QAAQ,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC,CAAC;AAC9E,EAAE,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,uBAAuB,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC/F;AACA,EAAE,MAAM,iBAAiB,CAAC,CAAC,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC;AAClF;;ACVe,6BAAQ,EAAE,CAAC,WAAW,CAAC,EAAE;AACxC,EAAE,OAAO,UAAU,CAAC,qBAAqB,CAAC,WAAW,CAAC,CAAC,CAAC;AACxD;;ACAe,4BAAc,EAAE,CAAC,WAAW,EAAE,cAAc,CAAC,EAAE;AAC9D,EAAE,MAAM,iBAAiB,GAAG,CAAC,EAAE,WAAW,CAAC,aAAa,CAAC,CAAC;AAC1D;AACA,EAAE,MAAM,CAAC,qBAAqB,EAAE,uBAAuB,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;AAC7E,IAAIE,oBAAoB,CAAC,CAAC,WAAW,CAAC,CAAC;AACvC,IAAIF,QAAE,CAAC,QAAQ,CAAC,iBAAiB,EAAE,OAAO,CAAC;AAC3C,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,qBAAqB,GAAG,IAAI,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;AACpE,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,qBAAqB,CAAC;AAC1C,EAAE,MAAM,CAAC,iBAAiB,EAAE,oBAAoB,EAAE,GAAG,YAAY,CAAC,GAAG,OAAO,CAAC;AAC7E;AACA,EAAE,IAAI,qBAAqB,EAAE,MAAMG,MAAc,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;AACjE;AACA,EAAE,IAAI,OAAO,CAAC,iBAAiB,CAAC,EAAE;AAClC,IAAI,qBAAqB,CAAC,OAAO,GAAG,YAAY,CAAC;AACjD,IAAI,MAAM,gBAAgB,CAAC,CAAC,WAAW,EAAE,MAAM,EAAE,qBAAqB,CAAC,CAAC,CAAC;AACzE;AACA,IAAI,MAAM,KAAK,CAAC,cAAc,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC;AACvD;AACA,IAAI,OAAO;AACX,MAAM,GAAG,CAAC,qBAAqB,IAAI;AACnC,QAAQ,SAAS,EAAE,CAAC;AACpB,UAAU,OAAO,EAAE,0DAA0D;AAC7E,UAAU,WAAW,EAAE,gGAAgG;AACvH,cAAc,8FAA8F;AAC5G,SAAS,CAAC;AACV,OAAO;AACP,KAAK,CAAC;AACN,GAAG;AACH;AACA,EAAE,OAAO,EAAE,CAAC;AACZ;;AChCO,eAAe,IAAI,CAAC,CAAC,WAAW,EAAE,cAAc,EAAE,GAAG,CAAC,EAAE;AAC/D,EAAE,MAAM,CAAC,gBAAgB,EAAE,YAAY,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;AAC7D,IAAI,aAAa,CAAC,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;AAChD,IAAIC,UAAa,CAAC,CAAC,GAAG,CAAC,CAAC;AACxB,GAAG,CAAC,CAAC;AACL;AACA,EAAE,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC,gBAAgB,EAAE,YAAY,CAAC,CAAC,CAAC;AACzD;;ACVe,sBAAc,EAAE,CAAC,WAAW,CAAC,EAAE;AAC9C,EAAE,IAAI,MAAM,oBAAoB,CAAC,CAAC,WAAW,CAAC,CAAC,EAAE;AACjD,IAAI,MAAM,YAAY,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;AACtC,GAAG;AACH;AACA,EAAE,OAAO,EAAE,CAAC;AACZ;;;;"}
|
package/package.json
CHANGED
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
"name": "@form8ion/codecov",
|
|
3
3
|
"description": "code coverage service plugin for form8ion",
|
|
4
4
|
"license": "MIT",
|
|
5
|
-
"version": "
|
|
5
|
+
"version": "6.0.0",
|
|
6
6
|
"engines": {
|
|
7
|
-
"node": "^
|
|
7
|
+
"node": "^18.17.0 || >=20.6.1"
|
|
8
8
|
},
|
|
9
9
|
"author": "Matt Travi <npm@travi.org> (https://matt.travi.org)",
|
|
10
10
|
"repository": "form8ion/codecov",
|
|
@@ -57,47 +57,49 @@
|
|
|
57
57
|
"access": "public",
|
|
58
58
|
"provenance": true
|
|
59
59
|
},
|
|
60
|
+
"packageManager": "npm@10.8.2+sha512.c7f0088c520a46596b85c6f8f1da943400199748a0f7ea8cb8df75469668dc26f6fb3ba26df87e2884a5ebe91557292d0f3db7d0929cdb4f14910c3032ac81fb",
|
|
60
61
|
"dependencies": {
|
|
61
|
-
"@form8ion/core": "^
|
|
62
|
+
"@form8ion/core": "^4.6.1",
|
|
63
|
+
"@form8ion/github-workflows-core": "^5.1.0",
|
|
64
|
+
"@form8ion/javascript-core": "^11.0.0",
|
|
62
65
|
"deepmerge": "^4.3.1",
|
|
63
66
|
"execa": "^5.1.1",
|
|
64
67
|
"got": "^11.8.5",
|
|
65
68
|
"js-yaml": "^4.1.0"
|
|
66
69
|
},
|
|
67
70
|
"devDependencies": {
|
|
68
|
-
"@babel/register": "7.
|
|
71
|
+
"@babel/register": "7.24.6",
|
|
69
72
|
"@cucumber/cucumber": "9.6.0",
|
|
70
|
-
"@form8ion/babel-preset": "1.6.
|
|
71
|
-
"@form8ion/commitlint-config": "1.0.
|
|
72
|
-
"@form8ion/eslint-config": "7.0.
|
|
73
|
+
"@form8ion/babel-preset": "1.6.135",
|
|
74
|
+
"@form8ion/commitlint-config": "1.0.76",
|
|
75
|
+
"@form8ion/eslint-config": "7.0.9",
|
|
73
76
|
"@form8ion/eslint-config-cucumber": "1.4.1",
|
|
74
|
-
"@form8ion/eslint-config-mocha": "3.0.
|
|
75
|
-
"@form8ion/
|
|
76
|
-
"@form8ion/remark-lint-preset": "6.0.2",
|
|
77
|
+
"@form8ion/eslint-config-mocha": "3.0.6",
|
|
78
|
+
"@form8ion/remark-lint-preset": "6.0.4",
|
|
77
79
|
"@rollup/plugin-node-resolve": "15.2.3",
|
|
78
|
-
"@travi/any": "3.1.
|
|
79
|
-
"ban-sensitive-files": "1.10.
|
|
80
|
-
"c8": "
|
|
81
|
-
"chai": "4.
|
|
80
|
+
"@travi/any": "3.1.2",
|
|
81
|
+
"ban-sensitive-files": "1.10.5",
|
|
82
|
+
"c8": "10.1.2",
|
|
83
|
+
"chai": "4.5.0",
|
|
82
84
|
"cross-env": "7.0.3",
|
|
83
85
|
"cz-conventional-changelog": "3.3.0",
|
|
84
86
|
"gherkin-lint": "4.2.4",
|
|
85
87
|
"http-status-codes": "2.3.0",
|
|
86
|
-
"husky": "9.
|
|
87
|
-
"lockfile-lint": "4.
|
|
88
|
-
"ls-engines": "0.9.
|
|
89
|
-
"mocha": "10.3
|
|
88
|
+
"husky": "9.1.5",
|
|
89
|
+
"lockfile-lint": "4.14.0",
|
|
90
|
+
"ls-engines": "0.9.3",
|
|
91
|
+
"mocha": "10.7.3",
|
|
90
92
|
"mock-fs": "5.2.0",
|
|
91
|
-
"nock": "13.5.
|
|
92
|
-
"npm-run-all2": "6.
|
|
93
|
-
"publint": "0.2.
|
|
94
|
-
"remark-cli": "12.0.
|
|
93
|
+
"nock": "13.5.5",
|
|
94
|
+
"npm-run-all2": "6.2.2",
|
|
95
|
+
"publint": "0.2.10",
|
|
96
|
+
"remark-cli": "12.0.1",
|
|
95
97
|
"remark-toc": "9.0.0",
|
|
96
98
|
"remark-usage": "11.0.1",
|
|
97
|
-
"rimraf": "
|
|
98
|
-
"rollup": "4.
|
|
99
|
+
"rimraf": "6.0.1",
|
|
100
|
+
"rollup": "4.21.0",
|
|
99
101
|
"rollup-plugin-auto-external": "2.0.0",
|
|
100
|
-
"sinon": "
|
|
101
|
-
"testdouble": "3.20.
|
|
102
|
+
"sinon": "18.0.0",
|
|
103
|
+
"testdouble": "3.20.2"
|
|
102
104
|
}
|
|
103
105
|
}
|