@form8ion/codecov 1.6.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 +2 -0
- package/lib/index.cjs.js +16 -6
- package/lib/index.cjs.js.map +1 -1
- package/lib/index.es.js +16 -6
- package/lib/index.es.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -45,6 +45,8 @@ code coverage service plugin for form8ion
|
|
|
45
45
|
|
|
46
46
|
* Migrate from the [legacy node uploader](https://github.com/codecov/codecov-node)
|
|
47
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)
|
|
48
50
|
|
|
49
51
|
## Usage
|
|
50
52
|
|
package/lib/index.cjs.js
CHANGED
|
@@ -107,11 +107,19 @@ function scaffold$2() {
|
|
|
107
107
|
};
|
|
108
108
|
}
|
|
109
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
|
+
}
|
|
110
119
|
async function lift$1({
|
|
111
120
|
projectRoot
|
|
112
121
|
}) {
|
|
113
|
-
const pathToWorkflowFile =
|
|
114
|
-
if (!(await core.fileExists(pathToWorkflowFile))) return;
|
|
122
|
+
const pathToWorkflowFile = getPathToWorkflowFile(projectRoot);
|
|
115
123
|
const workflowDetails = jsYaml.load(await fs.promises.readFile(pathToWorkflowFile, 'utf-8'));
|
|
116
124
|
const {
|
|
117
125
|
jobs: {
|
|
@@ -148,7 +156,9 @@ async function liftReporting ({
|
|
|
148
156
|
packageManager
|
|
149
157
|
}) {
|
|
150
158
|
const pathToPackageJson = `${projectRoot}/package.json`;
|
|
151
|
-
const existingPackageContents = await
|
|
159
|
+
const [ciProviderCanBeLifted, existingPackageContents] = await Promise.all([test({
|
|
160
|
+
projectRoot
|
|
161
|
+
}), fs.promises.readFile(pathToPackageJson, 'utf-8')]);
|
|
152
162
|
|
|
153
163
|
const _JSON$parse = JSON.parse(existingPackageContents),
|
|
154
164
|
{
|
|
@@ -158,7 +168,7 @@ async function liftReporting ({
|
|
|
158
168
|
|
|
159
169
|
const otherScripts = _objectWithoutProperties(scripts, _excluded2);
|
|
160
170
|
|
|
161
|
-
await lift$1({
|
|
171
|
+
if (ciProviderCanBeLifted) await lift$1({
|
|
162
172
|
projectRoot
|
|
163
173
|
});
|
|
164
174
|
|
|
@@ -167,12 +177,12 @@ async function liftReporting ({
|
|
|
167
177
|
scripts: otherScripts
|
|
168
178
|
})));
|
|
169
179
|
await execa__default["default"](packageManager, ['remove', 'codecov']);
|
|
170
|
-
return {
|
|
180
|
+
return _objectSpread2({}, !ciProviderCanBeLifted && {
|
|
171
181
|
nextSteps: [{
|
|
172
182
|
summary: 'Configure modern reporting to Codecov on your CI service',
|
|
173
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.'
|
|
174
184
|
}]
|
|
175
|
-
};
|
|
185
|
+
});
|
|
176
186
|
}
|
|
177
187
|
|
|
178
188
|
return {};
|
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/github-
|
|
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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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,eAAU,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,WAAI,CAAC,MAAMC,WAAE,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,WAAE,CAACY,SAAH,CACJf,kBADI,EAEJgB,WAAI,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,WAAE,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,WAAE,CAACY,SAAH,CAAaG,iBAAb,EAAgCM,IAAI,CAACK,SAAL,mCAAmBH,uBAAnB;AAA4ChC,MAAAA,OAAO,EAAEiC;AAArD,OAAhC,CAAN;AAEA,UAAMG,yBAAK,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,uBAAG,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/lib/index.es.js
CHANGED
|
@@ -98,11 +98,19 @@ function scaffold$2() {
|
|
|
98
98
|
};
|
|
99
99
|
}
|
|
100
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
|
+
}
|
|
101
110
|
async function lift$1({
|
|
102
111
|
projectRoot
|
|
103
112
|
}) {
|
|
104
|
-
const pathToWorkflowFile =
|
|
105
|
-
if (!(await fileExists(pathToWorkflowFile))) return;
|
|
113
|
+
const pathToWorkflowFile = getPathToWorkflowFile(projectRoot);
|
|
106
114
|
const workflowDetails = load(await promises.readFile(pathToWorkflowFile, 'utf-8'));
|
|
107
115
|
const {
|
|
108
116
|
jobs: {
|
|
@@ -139,7 +147,9 @@ async function liftReporting ({
|
|
|
139
147
|
packageManager
|
|
140
148
|
}) {
|
|
141
149
|
const pathToPackageJson = `${projectRoot}/package.json`;
|
|
142
|
-
const existingPackageContents = await
|
|
150
|
+
const [ciProviderCanBeLifted, existingPackageContents] = await Promise.all([test({
|
|
151
|
+
projectRoot
|
|
152
|
+
}), promises.readFile(pathToPackageJson, 'utf-8')]);
|
|
143
153
|
|
|
144
154
|
const _JSON$parse = JSON.parse(existingPackageContents),
|
|
145
155
|
{
|
|
@@ -149,7 +159,7 @@ async function liftReporting ({
|
|
|
149
159
|
|
|
150
160
|
const otherScripts = _objectWithoutProperties(scripts, _excluded2);
|
|
151
161
|
|
|
152
|
-
await lift$1({
|
|
162
|
+
if (ciProviderCanBeLifted) await lift$1({
|
|
153
163
|
projectRoot
|
|
154
164
|
});
|
|
155
165
|
|
|
@@ -158,12 +168,12 @@ async function liftReporting ({
|
|
|
158
168
|
scripts: otherScripts
|
|
159
169
|
})));
|
|
160
170
|
await execa(packageManager, ['remove', 'codecov']);
|
|
161
|
-
return {
|
|
171
|
+
return _objectSpread2({}, !ciProviderCanBeLifted && {
|
|
162
172
|
nextSteps: [{
|
|
163
173
|
summary: 'Configure modern reporting to Codecov on your CI service',
|
|
164
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.'
|
|
165
175
|
}]
|
|
166
|
-
};
|
|
176
|
+
});
|
|
167
177
|
}
|
|
168
178
|
|
|
169
179
|
return {};
|
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/github-
|
|
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":"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"}
|