@form8ion/codecov 1.4.0 → 1.5.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 +8 -1
- package/example.js +2 -1
- package/lib/index.cjs.js +9 -3
- package/lib/index.cjs.js.map +1 -1
- package/lib/index.es.js +8 -3
- package/lib/index.es.js.map +1 -1
- package/package.json +5 -2
package/README.md
CHANGED
|
@@ -26,6 +26,7 @@ code coverage service plugin for form8ion
|
|
|
26
26
|
* [`apiAccessToken` __string__ (_optional_)](#apiaccesstoken-string-optional)
|
|
27
27
|
* [lift](#lift-1)
|
|
28
28
|
* [`projectRoot` __string__ (_required_)](#projectroot-string-required)
|
|
29
|
+
* [`packageManager` __string__ (_required_)](#packagemanager-string-required)
|
|
29
30
|
* [Contributing](#contributing)
|
|
30
31
|
* [Dependencies](#dependencies)
|
|
31
32
|
* [Verification](#verification)
|
|
@@ -66,6 +67,7 @@ $ npm install @form8ion/codecov --save
|
|
|
66
67
|
#### Import
|
|
67
68
|
|
|
68
69
|
```javascript
|
|
70
|
+
import {packageManagers} from '@form8ion/javascript-core';
|
|
69
71
|
import {scaffold, lift} from '@form8ion/codecov';
|
|
70
72
|
```
|
|
71
73
|
|
|
@@ -92,7 +94,7 @@ import {scaffold, lift} from '@form8ion/codecov';
|
|
|
92
94
|
apiAccessToken: 'XXXXXX'
|
|
93
95
|
});
|
|
94
96
|
|
|
95
|
-
await lift({projectRoot: process.cwd()});
|
|
97
|
+
await lift({projectRoot: process.cwd(), packageManager: packageManagers.NPM});
|
|
96
98
|
})();
|
|
97
99
|
```
|
|
98
100
|
|
|
@@ -141,6 +143,11 @@ Takes a single options object as an argument, containing:
|
|
|
141
143
|
|
|
142
144
|
path to the root of the project
|
|
143
145
|
|
|
146
|
+
##### `packageManager` __string__ (_required_)
|
|
147
|
+
|
|
148
|
+
chosen [package manager](https://github.com/form8ion/javascript-core#packagemanagers)
|
|
149
|
+
to be used for the project
|
|
150
|
+
|
|
144
151
|
## Contributing
|
|
145
152
|
|
|
146
153
|
<!--contribution-badges start -->
|
package/example.js
CHANGED
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
import stubbedFs from 'mock-fs';
|
|
4
4
|
import nock from 'nock';
|
|
5
5
|
import {StatusCodes} from 'http-status-codes';
|
|
6
|
+
import {packageManagers} from '@form8ion/javascript-core';
|
|
6
7
|
import {scaffold, lift} from './lib/index.cjs';
|
|
7
8
|
|
|
8
9
|
// remark-usage-ignore-next 5
|
|
@@ -34,5 +35,5 @@ nock('https://codecov.io/')
|
|
|
34
35
|
apiAccessToken: 'XXXXXX'
|
|
35
36
|
});
|
|
36
37
|
|
|
37
|
-
await lift({projectRoot: process.cwd()});
|
|
38
|
+
await lift({projectRoot: process.cwd(), packageManager: packageManagers.NPM});
|
|
38
39
|
})();
|
package/lib/index.cjs.js
CHANGED
|
@@ -4,10 +4,12 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
4
4
|
|
|
5
5
|
var got = require('got');
|
|
6
6
|
var fs = require('fs');
|
|
7
|
+
var execa = require('execa');
|
|
7
8
|
|
|
8
9
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
9
10
|
|
|
10
11
|
var got__default = /*#__PURE__*/_interopDefaultLegacy(got);
|
|
12
|
+
var execa__default = /*#__PURE__*/_interopDefaultLegacy(execa);
|
|
11
13
|
|
|
12
14
|
function ownKeys(object, enumerableOnly) {
|
|
13
15
|
var keys = Object.keys(object);
|
|
@@ -106,7 +108,8 @@ function scaffold$2() {
|
|
|
106
108
|
const _excluded = ["scripts"],
|
|
107
109
|
_excluded2 = ["coverage:report"];
|
|
108
110
|
async function liftReporting ({
|
|
109
|
-
projectRoot
|
|
111
|
+
projectRoot,
|
|
112
|
+
packageManager
|
|
110
113
|
}) {
|
|
111
114
|
const pathToPackageJson = `${projectRoot}/package.json`;
|
|
112
115
|
const existingPackageContents = await fs.promises.readFile(pathToPackageJson, 'utf-8');
|
|
@@ -123,6 +126,7 @@ async function liftReporting ({
|
|
|
123
126
|
await fs.promises.writeFile(pathToPackageJson, JSON.stringify(_objectSpread2(_objectSpread2({}, otherTopLevelProperties), {}, {
|
|
124
127
|
scripts: otherScripts
|
|
125
128
|
})));
|
|
129
|
+
await execa__default["default"](packageManager, ['remove', 'codecov']);
|
|
126
130
|
return {
|
|
127
131
|
nextSteps: [{
|
|
128
132
|
summary: 'Configure modern reporting to Codecov on your CI service',
|
|
@@ -188,10 +192,12 @@ async function scaffold({
|
|
|
188
192
|
}
|
|
189
193
|
|
|
190
194
|
function lift({
|
|
191
|
-
projectRoot
|
|
195
|
+
projectRoot,
|
|
196
|
+
packageManager
|
|
192
197
|
}) {
|
|
193
198
|
return liftReporting({
|
|
194
|
-
projectRoot
|
|
199
|
+
projectRoot,
|
|
200
|
+
packageManager
|
|
195
201
|
});
|
|
196
202
|
}
|
|
197
203
|
|
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\nexport default async function ({projectRoot}) {\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 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}) {\n return liftReporting({projectRoot});\n}\n"],"names":["coverageShouldBeReportedToCodecov","vcs","visibility","apiAccessToken","host","scaffold","devDependencies","scripts","projectRoot","pathToPackageJson","existingPackageContents","fs","readFile","JSON","parse","otherTopLevelProperties","otherScripts","writeFile","stringify","nextSteps","summary","description","body","repo","got","owner","name","headers","Authorization","responseType","includes","badges","status","coverage","img","fetchRepositoryDetails","image_token","link","text","scaffoldReporter","scaffoldBadge","lift","liftReporting"],"mappings":"
|
|
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","packageManager","pathToPackageJson","existingPackageContents","fs","readFile","JSON","parse","otherTopLevelProperties","otherScripts","writeFile","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","lift","liftReporting"],"mappings":"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"}
|
package/lib/index.es.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import got from 'got';
|
|
2
2
|
import { promises } from 'fs';
|
|
3
|
+
import execa from 'execa';
|
|
3
4
|
|
|
4
5
|
function ownKeys(object, enumerableOnly) {
|
|
5
6
|
var keys = Object.keys(object);
|
|
@@ -98,7 +99,8 @@ function scaffold$2() {
|
|
|
98
99
|
const _excluded = ["scripts"],
|
|
99
100
|
_excluded2 = ["coverage:report"];
|
|
100
101
|
async function liftReporting ({
|
|
101
|
-
projectRoot
|
|
102
|
+
projectRoot,
|
|
103
|
+
packageManager
|
|
102
104
|
}) {
|
|
103
105
|
const pathToPackageJson = `${projectRoot}/package.json`;
|
|
104
106
|
const existingPackageContents = await promises.readFile(pathToPackageJson, 'utf-8');
|
|
@@ -115,6 +117,7 @@ async function liftReporting ({
|
|
|
115
117
|
await promises.writeFile(pathToPackageJson, JSON.stringify(_objectSpread2(_objectSpread2({}, otherTopLevelProperties), {}, {
|
|
116
118
|
scripts: otherScripts
|
|
117
119
|
})));
|
|
120
|
+
await execa(packageManager, ['remove', 'codecov']);
|
|
118
121
|
return {
|
|
119
122
|
nextSteps: [{
|
|
120
123
|
summary: 'Configure modern reporting to Codecov on your CI service',
|
|
@@ -180,10 +183,12 @@ async function scaffold({
|
|
|
180
183
|
}
|
|
181
184
|
|
|
182
185
|
function lift({
|
|
183
|
-
projectRoot
|
|
186
|
+
projectRoot,
|
|
187
|
+
packageManager
|
|
184
188
|
}) {
|
|
185
189
|
return liftReporting({
|
|
186
|
-
projectRoot
|
|
190
|
+
projectRoot,
|
|
191
|
+
packageManager
|
|
187
192
|
});
|
|
188
193
|
}
|
|
189
194
|
|
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\nexport default async function ({projectRoot}) {\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 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}) {\n return liftReporting({projectRoot});\n}\n"],"names":["coverageShouldBeReportedToCodecov","vcs","visibility","apiAccessToken","host","scaffold","devDependencies","scripts","projectRoot","pathToPackageJson","existingPackageContents","fs","readFile","JSON","parse","otherTopLevelProperties","otherScripts","writeFile","stringify","nextSteps","summary","description","body","repo","got","owner","name","headers","Authorization","responseType","includes","badges","status","coverage","img","fetchRepositoryDetails","image_token","link","text","scaffoldReporter","scaffoldBadge","lift","liftReporting"],"mappings":"
|
|
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","packageManager","pathToPackageJson","existingPackageContents","fs","readFile","JSON","parse","otherTopLevelProperties","otherScripts","writeFile","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","lift","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.5.0",
|
|
6
6
|
"files": [
|
|
7
7
|
"example.js",
|
|
8
8
|
"lib/"
|
|
@@ -55,6 +55,7 @@
|
|
|
55
55
|
"@form8ion/eslint-config": "2.0.2",
|
|
56
56
|
"@form8ion/eslint-config-cucumber": "1.4.0",
|
|
57
57
|
"@form8ion/eslint-config-mocha": "1.2.17",
|
|
58
|
+
"@form8ion/javascript-core": "4.0.1",
|
|
58
59
|
"@form8ion/remark-lint-preset": "2.1.7",
|
|
59
60
|
"@rollup/plugin-babel": "5.3.0",
|
|
60
61
|
"@rollup/plugin-node-resolve": "13.1.1",
|
|
@@ -80,9 +81,11 @@
|
|
|
80
81
|
"rimraf": "3.0.2",
|
|
81
82
|
"rollup": "2.61.1",
|
|
82
83
|
"rollup-plugin-auto-external": "2.0.0",
|
|
83
|
-
"sinon": "12.0.1"
|
|
84
|
+
"sinon": "12.0.1",
|
|
85
|
+
"testdouble": "3.16.3"
|
|
84
86
|
},
|
|
85
87
|
"dependencies": {
|
|
88
|
+
"execa": "^5.1.1",
|
|
86
89
|
"got": "^11.8.2"
|
|
87
90
|
}
|
|
88
91
|
}
|