@form8ion/codecov 1.5.0 → 1.6.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/lib/index.cjs.js +40 -0
- package/lib/index.cjs.js.map +1 -1
- package/lib/index.es.js +40 -0
- package/lib/index.es.js.map +1 -1
- package/package.json +4 -2
package/lib/index.cjs.js
CHANGED
|
@@ -5,6 +5,8 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
5
5
|
var got = require('got');
|
|
6
6
|
var fs = require('fs');
|
|
7
7
|
var execa = require('execa');
|
|
8
|
+
var jsYaml = require('js-yaml');
|
|
9
|
+
var core = require('@form8ion/core');
|
|
8
10
|
|
|
9
11
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
10
12
|
|
|
@@ -105,6 +107,40 @@ function scaffold$2() {
|
|
|
105
107
|
};
|
|
106
108
|
}
|
|
107
109
|
|
|
110
|
+
async function lift$1({
|
|
111
|
+
projectRoot
|
|
112
|
+
}) {
|
|
113
|
+
const pathToWorkflowFile = `${projectRoot}/.github/workflows/node-ci.yml`;
|
|
114
|
+
if (!(await core.fileExists(pathToWorkflowFile))) return;
|
|
115
|
+
const workflowDetails = jsYaml.load(await fs.promises.readFile(pathToWorkflowFile, 'utf-8'));
|
|
116
|
+
const {
|
|
117
|
+
jobs: {
|
|
118
|
+
verify: {
|
|
119
|
+
steps
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
} = workflowDetails;
|
|
123
|
+
|
|
124
|
+
if (!steps.find(step => {
|
|
125
|
+
var _step$uses;
|
|
126
|
+
|
|
127
|
+
return (_step$uses = step.uses) === null || _step$uses === void 0 ? void 0 : _step$uses.startsWith('codecov/codecov-action');
|
|
128
|
+
})) {
|
|
129
|
+
const stepsWithLegacyReportingRemoved = steps.filter(({
|
|
130
|
+
run
|
|
131
|
+
}) => 'npm run coverage:report' !== run);
|
|
132
|
+
await fs.promises.writeFile(pathToWorkflowFile, jsYaml.dump(_objectSpread2(_objectSpread2({}, workflowDetails), {}, {
|
|
133
|
+
jobs: _objectSpread2(_objectSpread2({}, workflowDetails.jobs), {}, {
|
|
134
|
+
verify: _objectSpread2(_objectSpread2({}, workflowDetails.jobs.verify), {}, {
|
|
135
|
+
steps: [...stepsWithLegacyReportingRemoved, {
|
|
136
|
+
uses: 'codecov/codecov-action@v2'
|
|
137
|
+
}]
|
|
138
|
+
})
|
|
139
|
+
})
|
|
140
|
+
})));
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
|
|
108
144
|
const _excluded = ["scripts"],
|
|
109
145
|
_excluded2 = ["coverage:report"];
|
|
110
146
|
async function liftReporting ({
|
|
@@ -122,6 +158,10 @@ async function liftReporting ({
|
|
|
122
158
|
|
|
123
159
|
const otherScripts = _objectWithoutProperties(scripts, _excluded2);
|
|
124
160
|
|
|
161
|
+
await lift$1({
|
|
162
|
+
projectRoot
|
|
163
|
+
});
|
|
164
|
+
|
|
125
165
|
if (scripts['coverage:report']) {
|
|
126
166
|
await fs.promises.writeFile(pathToPackageJson, JSON.stringify(_objectSpread2(_objectSpread2({}, otherTopLevelProperties), {}, {
|
|
127
167
|
scripts: otherScripts
|
package/lib/index.cjs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs.js","sources":["../src/predicates.js","../src/reporter/scaffolder.js","../src/reporter/lifter.js","../src/badge/repository-details-fetcher.js","../src/badge/scaffolder.js","../src/scaffolder.js","../src/lifter.js"],"sourcesContent":["export function coverageShouldBeReportedToCodecov({vcs, visibility, apiAccessToken}) {\n return !!('Public' === visibility || (apiAccessToken && 'github' === vcs.host));\n}\n","export function scaffold() {\n return {\n devDependencies: ['codecov'],\n scripts: {'coverage:report': 'c8 report --reporter=text-lcov > coverage.lcov && codecov'}\n };\n}\n","import {promises as fs} from 'fs';\n\nimport execa from '../../thirdparty-wrappers/execa';\n\nexport default async function ({projectRoot, packageManager}) {\n const pathToPackageJson = `${projectRoot}/package.json`;\n\n const existingPackageContents = await fs.readFile(pathToPackageJson, 'utf-8');\n const {scripts, ...otherTopLevelProperties} = JSON.parse(existingPackageContents);\n const {'coverage:report': reportCoverageScript, ...otherScripts} = scripts;\n\n if (scripts['coverage:report']) {\n await fs.writeFile(pathToPackageJson, JSON.stringify({...otherTopLevelProperties, scripts: otherScripts}));\n\n await execa(packageManager, ['remove', 'codecov']);\n\n return {\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 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","projectRoot","
|
|
1
|
+
{"version":3,"file":"index.cjs.js","sources":["../src/predicates.js","../src/reporter/scaffolder.js","../src/reporter/github-workflow.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\nexport async function lift({projectRoot}) {\n const pathToWorkflowFile = `${projectRoot}/.github/workflows/node-ci.yml`;\n\n if (!await fileExists(pathToWorkflowFile)) return;\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 liftGithubWorkflow} from './github-workflow';\n\nexport default async function ({projectRoot, packageManager}) {\n const pathToPackageJson = `${projectRoot}/package.json`;\n\n const existingPackageContents = await fs.readFile(pathToPackageJson, 'utf-8');\n const {scripts, ...otherTopLevelProperties} = JSON.parse(existingPackageContents);\n const {'coverage:report': reportCoverageScript, ...otherScripts} = scripts;\n\n await liftGithubWorkflow({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 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 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","lift","projectRoot","pathToWorkflowFile","fileExists","workflowDetails","load","fs","readFile","jobs","verify","steps","find","step","uses","startsWith","stepsWithLegacyReportingRemoved","filter","run","writeFile","dump","packageManager","pathToPackageJson","existingPackageContents","JSON","parse","otherTopLevelProperties","otherScripts","liftGithubWorkflow","stringify","execa","nextSteps","summary","description","body","repo","got","owner","name","headers","Authorization","responseType","includes","badges","status","coverage","img","fetchRepositoryDetails","image_token","link","text","scaffoldReporter","scaffoldBadge","liftReporting"],"mappings":"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"}
|
package/lib/index.es.js
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import got from 'got';
|
|
2
2
|
import { promises } from 'fs';
|
|
3
3
|
import execa from 'execa';
|
|
4
|
+
import { load, dump } from 'js-yaml';
|
|
5
|
+
import { fileExists } from '@form8ion/core';
|
|
4
6
|
|
|
5
7
|
function ownKeys(object, enumerableOnly) {
|
|
6
8
|
var keys = Object.keys(object);
|
|
@@ -96,6 +98,40 @@ function scaffold$2() {
|
|
|
96
98
|
};
|
|
97
99
|
}
|
|
98
100
|
|
|
101
|
+
async function lift$1({
|
|
102
|
+
projectRoot
|
|
103
|
+
}) {
|
|
104
|
+
const pathToWorkflowFile = `${projectRoot}/.github/workflows/node-ci.yml`;
|
|
105
|
+
if (!(await fileExists(pathToWorkflowFile))) return;
|
|
106
|
+
const workflowDetails = load(await promises.readFile(pathToWorkflowFile, 'utf-8'));
|
|
107
|
+
const {
|
|
108
|
+
jobs: {
|
|
109
|
+
verify: {
|
|
110
|
+
steps
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
} = workflowDetails;
|
|
114
|
+
|
|
115
|
+
if (!steps.find(step => {
|
|
116
|
+
var _step$uses;
|
|
117
|
+
|
|
118
|
+
return (_step$uses = step.uses) === null || _step$uses === void 0 ? void 0 : _step$uses.startsWith('codecov/codecov-action');
|
|
119
|
+
})) {
|
|
120
|
+
const stepsWithLegacyReportingRemoved = steps.filter(({
|
|
121
|
+
run
|
|
122
|
+
}) => 'npm run coverage:report' !== run);
|
|
123
|
+
await promises.writeFile(pathToWorkflowFile, dump(_objectSpread2(_objectSpread2({}, workflowDetails), {}, {
|
|
124
|
+
jobs: _objectSpread2(_objectSpread2({}, workflowDetails.jobs), {}, {
|
|
125
|
+
verify: _objectSpread2(_objectSpread2({}, workflowDetails.jobs.verify), {}, {
|
|
126
|
+
steps: [...stepsWithLegacyReportingRemoved, {
|
|
127
|
+
uses: 'codecov/codecov-action@v2'
|
|
128
|
+
}]
|
|
129
|
+
})
|
|
130
|
+
})
|
|
131
|
+
})));
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
|
|
99
135
|
const _excluded = ["scripts"],
|
|
100
136
|
_excluded2 = ["coverage:report"];
|
|
101
137
|
async function liftReporting ({
|
|
@@ -113,6 +149,10 @@ async function liftReporting ({
|
|
|
113
149
|
|
|
114
150
|
const otherScripts = _objectWithoutProperties(scripts, _excluded2);
|
|
115
151
|
|
|
152
|
+
await lift$1({
|
|
153
|
+
projectRoot
|
|
154
|
+
});
|
|
155
|
+
|
|
116
156
|
if (scripts['coverage:report']) {
|
|
117
157
|
await promises.writeFile(pathToPackageJson, JSON.stringify(_objectSpread2(_objectSpread2({}, otherTopLevelProperties), {}, {
|
|
118
158
|
scripts: otherScripts
|
package/lib/index.es.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.es.js","sources":["../src/predicates.js","../src/reporter/scaffolder.js","../src/reporter/lifter.js","../src/badge/repository-details-fetcher.js","../src/badge/scaffolder.js","../src/scaffolder.js","../src/lifter.js"],"sourcesContent":["export function coverageShouldBeReportedToCodecov({vcs, visibility, apiAccessToken}) {\n return !!('Public' === visibility || (apiAccessToken && 'github' === vcs.host));\n}\n","export function scaffold() {\n return {\n devDependencies: ['codecov'],\n scripts: {'coverage:report': 'c8 report --reporter=text-lcov > coverage.lcov && codecov'}\n };\n}\n","import {promises as fs} from 'fs';\n\nimport execa from '../../thirdparty-wrappers/execa';\n\nexport default async function ({projectRoot, packageManager}) {\n const pathToPackageJson = `${projectRoot}/package.json`;\n\n const existingPackageContents = await fs.readFile(pathToPackageJson, 'utf-8');\n const {scripts, ...otherTopLevelProperties} = JSON.parse(existingPackageContents);\n const {'coverage:report': reportCoverageScript, ...otherScripts} = scripts;\n\n if (scripts['coverage:report']) {\n await fs.writeFile(pathToPackageJson, JSON.stringify({...otherTopLevelProperties, scripts: otherScripts}));\n\n await execa(packageManager, ['remove', 'codecov']);\n\n return {\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 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","projectRoot","
|
|
1
|
+
{"version":3,"file":"index.es.js","sources":["../src/predicates.js","../src/reporter/scaffolder.js","../src/reporter/github-workflow.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\nexport async function lift({projectRoot}) {\n const pathToWorkflowFile = `${projectRoot}/.github/workflows/node-ci.yml`;\n\n if (!await fileExists(pathToWorkflowFile)) return;\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 liftGithubWorkflow} from './github-workflow';\n\nexport default async function ({projectRoot, packageManager}) {\n const pathToPackageJson = `${projectRoot}/package.json`;\n\n const existingPackageContents = await fs.readFile(pathToPackageJson, 'utf-8');\n const {scripts, ...otherTopLevelProperties} = JSON.parse(existingPackageContents);\n const {'coverage:report': reportCoverageScript, ...otherScripts} = scripts;\n\n await liftGithubWorkflow({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 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 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","lift","projectRoot","pathToWorkflowFile","fileExists","workflowDetails","load","fs","readFile","jobs","verify","steps","find","step","uses","startsWith","stepsWithLegacyReportingRemoved","filter","run","writeFile","dump","packageManager","pathToPackageJson","existingPackageContents","JSON","parse","otherTopLevelProperties","otherScripts","liftGithubWorkflow","stringify","execa","nextSteps","summary","description","body","repo","got","owner","name","headers","Authorization","responseType","includes","badges","status","coverage","img","fetchRepositoryDetails","image_token","link","text","scaffoldReporter","scaffoldBadge","liftReporting"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "@form8ion/codecov",
|
|
3
3
|
"description": "code coverage service plugin for form8ion",
|
|
4
4
|
"license": "MIT",
|
|
5
|
-
"version": "1.
|
|
5
|
+
"version": "1.6.0",
|
|
6
6
|
"files": [
|
|
7
7
|
"example.js",
|
|
8
8
|
"lib/"
|
|
@@ -85,7 +85,9 @@
|
|
|
85
85
|
"testdouble": "3.16.3"
|
|
86
86
|
},
|
|
87
87
|
"dependencies": {
|
|
88
|
+
"@form8ion/core": "^1.4.2",
|
|
88
89
|
"execa": "^5.1.1",
|
|
89
|
-
"got": "^11.8.2"
|
|
90
|
+
"got": "^11.8.2",
|
|
91
|
+
"js-yaml": "^4.1.0"
|
|
90
92
|
}
|
|
91
93
|
}
|