@form8ion/codecov 5.3.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 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');
4
+ var node_fs = require('node:fs');
5
+ var javascriptCore = require('@form8ion/javascript-core');
5
6
  var execa = require('execa');
6
7
  var core = require('@form8ion/core');
7
- var node_fs = require('node:fs');
8
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,7 +59,7 @@ function removeCodecovActionFrom(steps) {
58
59
  }
59
60
 
60
61
  function scaffold() {
61
- return {uses: 'codecov/codecov-action@v3'};
62
+ return {uses: 'codecov/codecov-action@v4.5.0'};
62
63
  }
63
64
 
64
65
  function getPathToWorkflowFile(projectRoot) {
@@ -74,9 +75,10 @@ async function lift$1({projectRoot}) {
74
75
  if (!findCodecovActionIn(steps)) {
75
76
  const stepsWithLegacyReportingRemoved = steps.filter(({run}) => 'npm run coverage:report' !== run);
76
77
 
77
- await node_fs.promises.writeFile(
78
- pathToWorkflowFile,
79
- jsYaml.dump({
78
+ await githubWorkflowsCore.writeWorkflowFile({
79
+ projectRoot,
80
+ name: 'node-ci',
81
+ config: {
80
82
  ...workflowDetails,
81
83
  jobs: {
82
84
  ...workflowDetails.jobs,
@@ -85,8 +87,8 @@ async function lift$1({projectRoot}) {
85
87
  steps: [...stepsWithLegacyReportingRemoved, scaffold()]
86
88
  }
87
89
  }
88
- })
89
- );
90
+ }
91
+ });
90
92
  }
91
93
  }
92
94
 
@@ -96,7 +98,7 @@ async function removeAction ({projectRoot}) {
96
98
  const existingConfig = jsYaml.load(await node_fs.promises.readFile(pathToWorkflowFile, 'utf-8'));
97
99
  existingConfig.jobs.verify.steps = removeCodecovActionFrom(existingConfig.jobs.verify.steps);
98
100
 
99
- await node_fs.promises.writeFile(pathToWorkflowFile, jsYaml.dump(existingConfig));
101
+ await githubWorkflowsCore.writeWorkflowFile({projectRoot, name: 'node-ci', config: existingConfig});
100
102
  }
101
103
 
102
104
  function githubWorkflowExists ({projectRoot}) {
@@ -108,7 +110,7 @@ async function liftReporting ({projectRoot, packageManager}) {
108
110
 
109
111
  const [ciProviderCanBeLifted, existingPackageContents] = await Promise.all([
110
112
  githubWorkflowExists({projectRoot}),
111
- fs.promises.readFile(pathToPackageJson, 'utf-8')
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 fs.promises.writeFile(pathToPackageJson, JSON.stringify(parsedPackageContents));
123
+ await javascriptCore.writePackageJson({projectRoot, config: parsedPackageContents});
122
124
 
123
125
  await execa(packageManager, ['remove', 'codecov']);
124
126
 
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/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@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';\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 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 {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 '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, 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","dump","scaffoldCodecov","fileExists","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';
2
+ import { promises } from 'node:fs';
3
+ import { writePackageJson } from '@form8ion/javascript-core';
3
4
  import execa from 'execa';
4
5
  import { fileExists } from '@form8ion/core';
5
- import { promises } from 'node:fs';
6
- import { load, dump } from 'js-yaml';
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,7 +57,7 @@ function removeCodecovActionFrom(steps) {
56
57
  }
57
58
 
58
59
  function scaffold() {
59
- return {uses: 'codecov/codecov-action@v3'};
60
+ return {uses: 'codecov/codecov-action@v4.5.0'};
60
61
  }
61
62
 
62
63
  function getPathToWorkflowFile(projectRoot) {
@@ -72,9 +73,10 @@ async function lift$1({projectRoot}) {
72
73
  if (!findCodecovActionIn(steps)) {
73
74
  const stepsWithLegacyReportingRemoved = steps.filter(({run}) => 'npm run coverage:report' !== run);
74
75
 
75
- await promises.writeFile(
76
- pathToWorkflowFile,
77
- dump({
76
+ await writeWorkflowFile({
77
+ projectRoot,
78
+ name: 'node-ci',
79
+ config: {
78
80
  ...workflowDetails,
79
81
  jobs: {
80
82
  ...workflowDetails.jobs,
@@ -83,8 +85,8 @@ async function lift$1({projectRoot}) {
83
85
  steps: [...stepsWithLegacyReportingRemoved, scaffold()]
84
86
  }
85
87
  }
86
- })
87
- );
88
+ }
89
+ });
88
90
  }
89
91
  }
90
92
 
@@ -94,7 +96,7 @@ async function removeAction ({projectRoot}) {
94
96
  const existingConfig = load(await promises.readFile(pathToWorkflowFile, 'utf-8'));
95
97
  existingConfig.jobs.verify.steps = removeCodecovActionFrom(existingConfig.jobs.verify.steps);
96
98
 
97
- await promises.writeFile(pathToWorkflowFile, dump(existingConfig));
99
+ await writeWorkflowFile({projectRoot, name: 'node-ci', config: existingConfig});
98
100
  }
99
101
 
100
102
  function githubWorkflowExists ({projectRoot}) {
@@ -106,7 +108,7 @@ async function liftReporting ({projectRoot, packageManager}) {
106
108
 
107
109
  const [ciProviderCanBeLifted, existingPackageContents] = await Promise.all([
108
110
  githubWorkflowExists({projectRoot}),
109
- promises$1.readFile(pathToPackageJson, 'utf-8')
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 promises$1.writeFile(pathToPackageJson, JSON.stringify(parsedPackageContents));
121
+ await writePackageJson({projectRoot, config: parsedPackageContents});
120
122
 
121
123
  await execa(packageManager, ['remove', 'codecov']);
122
124
 
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/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@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';\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 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 {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 '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, 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":"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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.3.0",
5
+ "version": "6.0.0",
6
6
  "engines": {
7
- "node": "^16.14 || >=18"
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": "^3.2.0",
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.23.7",
71
+ "@babel/register": "7.24.6",
69
72
  "@cucumber/cucumber": "9.6.0",
70
- "@form8ion/babel-preset": "1.6.122",
71
- "@form8ion/commitlint-config": "1.0.68",
72
- "@form8ion/eslint-config": "7.0.8",
73
+ "@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.1",
75
- "@form8ion/javascript-core": "11.0.0",
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.0",
79
- "ban-sensitive-files": "1.10.1",
80
- "c8": "9.1.0",
81
- "chai": "4.4.1",
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.0.10",
87
- "lockfile-lint": "4.12.1",
88
- "ls-engines": "0.9.1",
89
- "mocha": "10.3.0",
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.1",
92
- "npm-run-all2": "6.1.2",
93
- "publint": "0.2.7",
94
- "remark-cli": "12.0.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": "5.0.5",
98
- "rollup": "4.9.6",
99
+ "rimraf": "6.0.1",
100
+ "rollup": "4.21.0",
99
101
  "rollup-plugin-auto-external": "2.0.0",
100
- "sinon": "17.0.1",
101
- "testdouble": "3.20.1"
102
+ "sinon": "18.0.0",
103
+ "testdouble": "3.20.2"
102
104
  }
103
105
  }