@form8ion/codecov 2.0.1 → 3.0.1
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 -0
- package/lib/index.cjs.js +1 -1
- package/lib/index.cjs.js.map +1 -1
- package/lib/index.es.js +1 -1
- package/lib/index.es.js.map +1 -1
- package/package.json +31 -28
package/README.md
CHANGED
|
@@ -55,6 +55,7 @@ code coverage service plugin for form8ion
|
|
|
55
55
|
[![MIT license][license-badge]][license-link]
|
|
56
56
|
[![npm][npm-badge]][npm-link]
|
|
57
57
|
[![Try @form8ion/codecov on RunKit][runkit-badge]][runkit-link]
|
|
58
|
+
![node][node-badge]
|
|
58
59
|
|
|
59
60
|
<!--consumer-badges end -->
|
|
60
61
|
|
|
@@ -214,3 +215,5 @@ $ npm test
|
|
|
214
215
|
[runkit-link]: https://npm.runkit.com/@form8ion/codecov
|
|
215
216
|
|
|
216
217
|
[runkit-badge]: https://badge.runkitcdn.com/@form8ion/codecov.svg
|
|
218
|
+
|
|
219
|
+
[node-badge]: https://img.shields.io/node/v/@form8ion/codecov?logo=node.js
|
package/lib/index.cjs.js
CHANGED
|
@@ -185,7 +185,7 @@ async function lift$1({
|
|
|
185
185
|
jobs: _objectSpread2(_objectSpread2({}, workflowDetails.jobs), {}, {
|
|
186
186
|
verify: _objectSpread2(_objectSpread2({}, workflowDetails.jobs.verify), {}, {
|
|
187
187
|
steps: [...stepsWithLegacyReportingRemoved, {
|
|
188
|
-
uses: 'codecov/codecov-action@
|
|
188
|
+
uses: 'codecov/codecov-action@v3'
|
|
189
189
|
}]
|
|
190
190
|
})
|
|
191
191
|
})
|
package/lib/index.cjs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs.js","sources":["../src/predicates.js","../src/badge/repository-details-fetcher.js","../src/badge/scaffolder.js","../src/scaffolder.js","../src/reporter/ci-providers/github-workflows/lifter.js","../src/reporter/lifter.js","../src/lifter.js"],"sourcesContent":["export function coverageShouldBeReportedToCodecov({vcs, visibility, apiAccessToken}) {\n return !!('Public' === visibility || (apiAccessToken && 'github' === vcs.host));\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 scaffoldBadge} from './badge';\n\nexport async function scaffold({vcs, visibility, apiAccessToken}) {\n if (!coverageShouldBeReportedToCodecov({vcs, visibility, apiAccessToken})) return {};\n\n return {\n ...await scaffoldBadge({vcs, apiAccessToken})\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@
|
|
1
|
+
{"version":3,"file":"index.cjs.js","sources":["../src/predicates.js","../src/badge/repository-details-fetcher.js","../src/badge/scaffolder.js","../src/scaffolder.js","../src/reporter/ci-providers/github-workflows/lifter.js","../src/reporter/lifter.js","../src/lifter.js"],"sourcesContent":["export function coverageShouldBeReportedToCodecov({vcs, visibility, apiAccessToken}) {\n return !!('Public' === visibility || (apiAccessToken && 'github' === vcs.host));\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 scaffoldBadge} from './badge';\n\nexport async function scaffold({vcs, visibility, apiAccessToken}) {\n if (!coverageShouldBeReportedToCodecov({vcs, visibility, apiAccessToken})) return {};\n\n return {\n ...await scaffoldBadge({vcs, apiAccessToken})\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 {lift as liftReporting} from './reporter';\n\nexport function lift({projectRoot, packageManager}) {\n return liftReporting({projectRoot, packageManager});\n}\n"],"names":["coverageShouldBeReportedToCodecov","vcs","visibility","apiAccessToken","host","body","repo","got","owner","name","headers","Authorization","responseType","scaffold","_objectSpread","includes","badges","status","coverage","img","fetchRepositoryDetails","image_token","link","text","scaffoldBadge","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","parsedPackageContents","JSON","parse","scripts","otherScripts","liftCiProvider","stringify","execa","nextSteps","summary","description","liftReporting"],"mappings":"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"}
|
package/lib/index.es.js
CHANGED
|
@@ -176,7 +176,7 @@ async function lift$1({
|
|
|
176
176
|
jobs: _objectSpread2(_objectSpread2({}, workflowDetails.jobs), {}, {
|
|
177
177
|
verify: _objectSpread2(_objectSpread2({}, workflowDetails.jobs.verify), {}, {
|
|
178
178
|
steps: [...stepsWithLegacyReportingRemoved, {
|
|
179
|
-
uses: 'codecov/codecov-action@
|
|
179
|
+
uses: 'codecov/codecov-action@v3'
|
|
180
180
|
}]
|
|
181
181
|
})
|
|
182
182
|
})
|
package/lib/index.es.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.es.js","sources":["../src/predicates.js","../src/badge/repository-details-fetcher.js","../src/badge/scaffolder.js","../src/scaffolder.js","../src/reporter/ci-providers/github-workflows/lifter.js","../src/reporter/lifter.js","../src/lifter.js"],"sourcesContent":["export function coverageShouldBeReportedToCodecov({vcs, visibility, apiAccessToken}) {\n return !!('Public' === visibility || (apiAccessToken && 'github' === vcs.host));\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 scaffoldBadge} from './badge';\n\nexport async function scaffold({vcs, visibility, apiAccessToken}) {\n if (!coverageShouldBeReportedToCodecov({vcs, visibility, apiAccessToken})) return {};\n\n return {\n ...await scaffoldBadge({vcs, apiAccessToken})\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@
|
|
1
|
+
{"version":3,"file":"index.es.js","sources":["../src/predicates.js","../src/badge/repository-details-fetcher.js","../src/badge/scaffolder.js","../src/scaffolder.js","../src/reporter/ci-providers/github-workflows/lifter.js","../src/reporter/lifter.js","../src/lifter.js"],"sourcesContent":["export function coverageShouldBeReportedToCodecov({vcs, visibility, apiAccessToken}) {\n return !!('Public' === visibility || (apiAccessToken && 'github' === vcs.host));\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 scaffoldBadge} from './badge';\n\nexport async function scaffold({vcs, visibility, apiAccessToken}) {\n if (!coverageShouldBeReportedToCodecov({vcs, visibility, apiAccessToken})) return {};\n\n return {\n ...await scaffoldBadge({vcs, apiAccessToken})\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 {lift as liftReporting} from './reporter';\n\nexport function lift({projectRoot, packageManager}) {\n return liftReporting({projectRoot, packageManager});\n}\n"],"names":["coverageShouldBeReportedToCodecov","vcs","visibility","apiAccessToken","host","body","repo","got","owner","name","headers","Authorization","responseType","scaffold","_objectSpread","includes","badges","status","coverage","img","fetchRepositoryDetails","image_token","link","text","scaffoldBadge","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","parsedPackageContents","JSON","parse","scripts","otherScripts","liftCiProvider","stringify","execa","nextSteps","summary","description","liftReporting"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -2,7 +2,10 @@
|
|
|
2
2
|
"name": "@form8ion/codecov",
|
|
3
3
|
"description": "code coverage service plugin for form8ion",
|
|
4
4
|
"license": "MIT",
|
|
5
|
-
"version": "
|
|
5
|
+
"version": "3.0.1",
|
|
6
|
+
"engines": {
|
|
7
|
+
"node": "^14.15 || >=16"
|
|
8
|
+
},
|
|
6
9
|
"files": [
|
|
7
10
|
"example.js",
|
|
8
11
|
"lib/"
|
|
@@ -36,7 +39,6 @@
|
|
|
36
39
|
"prepack": "run-s build",
|
|
37
40
|
"test:unit": "cross-env NODE_ENV=test c8 run-s test:unit:base",
|
|
38
41
|
"test:unit:base": "DEBUG=any mocha 'src/**/*-test.js'",
|
|
39
|
-
"coverage:report": "c8 report --reporter=text-lcov > coverage.lcov && codecov",
|
|
40
42
|
"lint:peer": "npm ls >/dev/null",
|
|
41
43
|
"lint:gherkin": "gherkin-lint",
|
|
42
44
|
"pretest:integration": "preview",
|
|
@@ -45,49 +47,50 @@
|
|
|
45
47
|
"test:integration:debug": "DEBUG=test run-s test:integration",
|
|
46
48
|
"test:integration:wip": "run-s 'test:integration:base -- --profile wip'",
|
|
47
49
|
"test:integration:wip:debug": "DEBUG=test run-s 'test:integration:wip'",
|
|
48
|
-
"test:integration:focus": "run-s 'test:integration:base -- --profile focus'"
|
|
50
|
+
"test:integration:focus": "run-s 'test:integration:base -- --profile focus'",
|
|
51
|
+
"lint:engines": "ls-engines"
|
|
49
52
|
},
|
|
50
53
|
"devDependencies": {
|
|
51
|
-
"@babel/register": "7.
|
|
52
|
-
"@cucumber/cucumber": "8.
|
|
53
|
-
"@form8ion/babel-preset": "1.6.
|
|
54
|
-
"@form8ion/commitlint-config": "1.0.
|
|
55
|
-
"@form8ion/eslint-config": "
|
|
56
|
-
"@form8ion/eslint-config-cucumber": "1.4.
|
|
57
|
-
"@form8ion/eslint-config-mocha": "
|
|
58
|
-
"@form8ion/javascript-core": "
|
|
59
|
-
"@form8ion/remark-lint-preset": "
|
|
60
|
-
"@rollup/plugin-babel": "5.3.
|
|
61
|
-
"@rollup/plugin-node-resolve": "13.
|
|
62
|
-
"@travi/any": "2.
|
|
63
|
-
"ban-sensitive-files": "1.9.
|
|
64
|
-
"c8": "7.11.
|
|
65
|
-
"chai": "4.3.
|
|
66
|
-
"codecov": "3.8.3",
|
|
54
|
+
"@babel/register": "7.18.6",
|
|
55
|
+
"@cucumber/cucumber": "8.4.0",
|
|
56
|
+
"@form8ion/babel-preset": "1.6.92",
|
|
57
|
+
"@form8ion/commitlint-config": "1.0.36",
|
|
58
|
+
"@form8ion/eslint-config": "5.0.5",
|
|
59
|
+
"@form8ion/eslint-config-cucumber": "1.4.1",
|
|
60
|
+
"@form8ion/eslint-config-mocha": "2.0.2",
|
|
61
|
+
"@form8ion/javascript-core": "6.0.1",
|
|
62
|
+
"@form8ion/remark-lint-preset": "4.0.1",
|
|
63
|
+
"@rollup/plugin-babel": "5.3.1",
|
|
64
|
+
"@rollup/plugin-node-resolve": "13.3.0",
|
|
65
|
+
"@travi/any": "2.1.5",
|
|
66
|
+
"ban-sensitive-files": "1.9.18",
|
|
67
|
+
"c8": "7.11.3",
|
|
68
|
+
"chai": "4.3.6",
|
|
67
69
|
"cross-env": "7.0.3",
|
|
68
70
|
"cz-conventional-changelog": "3.3.0",
|
|
69
71
|
"gherkin-lint": "4.2.2",
|
|
70
72
|
"http-status-codes": "2.2.0",
|
|
71
|
-
"husky": "
|
|
72
|
-
"lockfile-lint": "4.
|
|
73
|
-
"
|
|
73
|
+
"husky": "8.0.1",
|
|
74
|
+
"lockfile-lint": "4.7.5",
|
|
75
|
+
"ls-engines": "0.7.0",
|
|
76
|
+
"mocha": "10.0.0",
|
|
74
77
|
"mock-fs": "5.1.2",
|
|
75
|
-
"nock": "13.2.
|
|
78
|
+
"nock": "13.2.7",
|
|
76
79
|
"npm-run-all": "4.1.5",
|
|
77
80
|
"package-preview": "4.0.0",
|
|
78
|
-
"remark-cli": "
|
|
81
|
+
"remark-cli": "11.0.0",
|
|
79
82
|
"remark-toc": "8.0.1",
|
|
80
83
|
"remark-usage": "10.0.1",
|
|
81
84
|
"rimraf": "3.0.2",
|
|
82
|
-
"rollup": "2.
|
|
85
|
+
"rollup": "2.75.7",
|
|
83
86
|
"rollup-plugin-auto-external": "2.0.0",
|
|
84
|
-
"sinon": "
|
|
85
|
-
"testdouble": "3.16.
|
|
87
|
+
"sinon": "14.0.0",
|
|
88
|
+
"testdouble": "3.16.6"
|
|
86
89
|
},
|
|
87
90
|
"dependencies": {
|
|
88
91
|
"@form8ion/core": "^1.4.2",
|
|
89
92
|
"execa": "^5.1.1",
|
|
90
|
-
"got": "^11.8.
|
|
93
|
+
"got": "^11.8.5",
|
|
91
94
|
"js-yaml": "^4.1.0"
|
|
92
95
|
}
|
|
93
96
|
}
|