@donmahallem/lerna2codecov 0.4.1 → 0.4.10
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/dist/esm/cli.js +7 -0
- package/dist/esm/cli.js.map +1 -0
- package/dist/{types/index.d.ts → esm/codecov-config.js} +2 -2
- package/dist/esm/codecov-config.js.map +1 -0
- package/dist/esm/index.d.ts +6 -0
- package/dist/esm/index.js +7 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/update-command.js +43 -0
- package/dist/esm/update-command.js.map +1 -0
- package/dist/esm/update-command.spec.d.ts +5 -0
- package/dist/esm/update-command.spec.js +63 -0
- package/dist/esm/update-command.spec.js.map +1 -0
- package/dist/{types → esm}/update-config.d.ts +1 -1
- package/dist/esm/{update-config.mjs → update-config.js} +7 -10
- package/dist/esm/update-config.js.map +1 -0
- package/dist/esm/update-config.spec.d.ts +5 -0
- package/dist/esm/update-config.spec.js +84 -0
- package/dist/esm/update-config.spec.js.map +1 -0
- package/dist/esm/update.js +28 -0
- package/dist/esm/update.js.map +1 -0
- package/dist/esm/update.spec.d.ts +5 -0
- package/dist/esm/update.spec.js +63 -0
- package/dist/esm/update.spec.js.map +1 -0
- package/package.json +11 -12
- package/src/cli.ts +1 -1
- package/src/index.ts +2 -2
- package/src/update-command.ts +1 -1
- package/src/update-config.ts +1 -1
- package/src/update.ts +2 -2
- package/dist/cjs/index.cjs +0 -8
- package/dist/cjs/index.cjs.map +0 -1
- package/dist/cjs/update-config.cjs +0 -56
- package/dist/cjs/update-config.cjs.map +0 -1
- package/dist/esm/index.mjs +0 -2
- package/dist/esm/index.mjs.map +0 -1
- package/dist/esm/update-config.mjs.map +0 -1
- /package/dist/{types → esm}/cli.d.ts +0 -0
- /package/dist/{types → esm}/codecov-config.d.ts +0 -0
- /package/dist/{types → esm}/update-command.d.ts +0 -0
- /package/dist/{types → esm}/update.d.ts +0 -0
package/dist/esm/cli.js
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Package @donmahallem/lerna2codecov
|
|
3
|
+
* Source https://github.com/donmahallem/js-libs/tree/master/packages/lerna2codecov
|
|
4
|
+
*/
|
|
5
|
+
import { updateCommand } from './update-command.js';
|
|
6
|
+
void updateCommand().parseAsync(process.argv);
|
|
7
|
+
//# sourceMappingURL=cli.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,KAAK,aAAa,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC"}
|
|
@@ -2,5 +2,5 @@
|
|
|
2
2
|
* Package @donmahallem/lerna2codecov
|
|
3
3
|
* Source https://github.com/donmahallem/js-libs/tree/master/packages/lerna2codecov
|
|
4
4
|
*/
|
|
5
|
-
export
|
|
6
|
-
|
|
5
|
+
export {};
|
|
6
|
+
//# sourceMappingURL=codecov-config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"codecov-config.js","sourceRoot":"","sources":["../../src/codecov-config.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,cAAc,qBAAqB,CAAC;AACpC,OAAO,EAAkB,YAAY,EAAE,MAAM,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Package @donmahallem/lerna2codecov
|
|
3
|
+
* Source https://github.com/donmahallem/js-libs/tree/master/packages/lerna2codecov
|
|
4
|
+
*/
|
|
5
|
+
import { Command } from 'commander';
|
|
6
|
+
import { resolve } from 'node:path';
|
|
7
|
+
import { update } from './update.js';
|
|
8
|
+
/**
|
|
9
|
+
* @param path
|
|
10
|
+
*/
|
|
11
|
+
function resolvePath(path) {
|
|
12
|
+
return resolve(path);
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* @param opts
|
|
16
|
+
* @param opts.exitOverride
|
|
17
|
+
*/
|
|
18
|
+
export function updateCommand(opts) {
|
|
19
|
+
const program = new Command('lerna2codecov');
|
|
20
|
+
program
|
|
21
|
+
/**
|
|
22
|
+
* version gets replaced by rollup
|
|
23
|
+
*/
|
|
24
|
+
.version('__BUILD_VERSION__')
|
|
25
|
+
.addHelpText('beforeAll', 'Update script for codecov configs');
|
|
26
|
+
const updateCommand = new Command('update');
|
|
27
|
+
if (opts?.exitOverride) {
|
|
28
|
+
program.exitOverride();
|
|
29
|
+
updateCommand.exitOverride();
|
|
30
|
+
}
|
|
31
|
+
updateCommand
|
|
32
|
+
.description('Updates the codecov.yml with information from lerna.json file')
|
|
33
|
+
.requiredOption('-l, --lerna <path>', 'path to lerna root folder', resolvePath)
|
|
34
|
+
.requiredOption('-c, --codecov <path>', 'path to codecov.yml', resolvePath)
|
|
35
|
+
.usage('-c <codecov file path> -l <lerna root folder>')
|
|
36
|
+
.action(async (opts) => {
|
|
37
|
+
await update(opts.lerna, opts.codecov);
|
|
38
|
+
})
|
|
39
|
+
.addHelpText('after', '\nExamples:\n update -l ./path/to/lerna -c codecov.yml');
|
|
40
|
+
program.addCommand(updateCommand);
|
|
41
|
+
return program;
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=update-command.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update-command.js","sourceRoot":"","sources":["../../src/update-command.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAMrC;;GAEG;AACH,SAAS,WAAW,CAAC,IAAY;IAC7B,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC;AACzB,CAAC;AACD;;;GAGG;AACH,MAAM,UAAU,aAAa,CAAC,IAAgC;IAC1D,MAAM,OAAO,GAAY,IAAI,OAAO,CAAC,eAAe,CAAC,CAAC;IACtD,OAAO;QACH;;WAEG;SACF,OAAO,CAAC,mBAAmB,CAAC;SAC5B,WAAW,CAAC,WAAW,EAAE,mCAAmC,CAAC,CAAC;IACnE,MAAM,aAAa,GAAY,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC;IACrD,IAAI,IAAI,EAAE,YAAY,EAAE,CAAC;QACrB,OAAO,CAAC,YAAY,EAAE,CAAC;QACvB,aAAa,CAAC,YAAY,EAAE,CAAC;IACjC,CAAC;IACD,aAAa;SACR,WAAW,CAAC,+DAA+D,CAAC;SAC5E,cAAc,CAAC,oBAAoB,EAAE,2BAA2B,EAAE,WAAW,CAAC;SAC9E,cAAc,CAAC,sBAAsB,EAAE,qBAAqB,EAAE,WAAW,CAAC;SAC1E,KAAK,CAAC,+CAA+C,CAAC;SACtD,MAAM,CAAC,KAAK,EAAE,IAAoB,EAAiB,EAAE;QAClD,MAAM,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IAC3C,CAAC,CAAC;SACD,WAAW,CAAC,OAAO,EAAE,wDAAwD,CAAC,CAAC;IACpF,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;IAClC,OAAO,OAAO,CAAC;AACnB,CAAC"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Package @donmahallem/lerna2codecov
|
|
3
|
+
* Source https://github.com/donmahallem/js-libs/tree/master/packages/lerna2codecov
|
|
4
|
+
*/
|
|
5
|
+
import { expect } from 'chai';
|
|
6
|
+
import esmock from 'esmock';
|
|
7
|
+
import 'mocha';
|
|
8
|
+
import sinon from 'sinon';
|
|
9
|
+
describe('./update-command', function () {
|
|
10
|
+
let sandbox;
|
|
11
|
+
let updateStub;
|
|
12
|
+
let updateCommandMethod;
|
|
13
|
+
/**
|
|
14
|
+
* @returns test cmd
|
|
15
|
+
*/
|
|
16
|
+
function setupTestCommand() {
|
|
17
|
+
const cmd = updateCommandMethod({ exitOverride: true });
|
|
18
|
+
cmd.configureOutput({
|
|
19
|
+
writeErr: () => { },
|
|
20
|
+
writeOut: () => { },
|
|
21
|
+
});
|
|
22
|
+
return cmd;
|
|
23
|
+
}
|
|
24
|
+
before('setup sandbox', async function () {
|
|
25
|
+
sandbox = sinon.createSandbox();
|
|
26
|
+
updateStub = sandbox.stub().named('update');
|
|
27
|
+
updateCommandMethod = (await esmock.strict('./update-command', {}, {
|
|
28
|
+
'./update': { update: updateStub },
|
|
29
|
+
})).updateCommand;
|
|
30
|
+
});
|
|
31
|
+
afterEach('reset sandbox', function () {
|
|
32
|
+
sandbox.reset();
|
|
33
|
+
});
|
|
34
|
+
after('restore sandbox', function () {
|
|
35
|
+
sandbox.restore();
|
|
36
|
+
});
|
|
37
|
+
it('should output all lerna packages', async function () {
|
|
38
|
+
updateStub.resolves();
|
|
39
|
+
await setupTestCommand().parseAsync(['update', '-l', './', '-c', './codecov.yml'], { from: 'user' });
|
|
40
|
+
expect(updateStub.callCount).to.equal(1);
|
|
41
|
+
});
|
|
42
|
+
it('should reject with missing argument', function () {
|
|
43
|
+
const cmd = setupTestCommand();
|
|
44
|
+
expect(() => {
|
|
45
|
+
cmd.parse(['update', '-l', 'asdf'], { from: 'user' });
|
|
46
|
+
}).to.throw(`required option '-c, --codecov <path>' not specified`);
|
|
47
|
+
expect(updateStub.callCount).to.equal(0);
|
|
48
|
+
});
|
|
49
|
+
it('should reject unknown command', function () {
|
|
50
|
+
const cmd = setupTestCommand();
|
|
51
|
+
expect(() => {
|
|
52
|
+
cmd.parse(['cheese', '-l', 'asdf'], { from: 'user' });
|
|
53
|
+
}).to.throw(`error: unknown command 'cheese'`);
|
|
54
|
+
expect(updateStub.callCount).to.equal(0);
|
|
55
|
+
});
|
|
56
|
+
it('should output help', function () {
|
|
57
|
+
const cmd = setupTestCommand();
|
|
58
|
+
expect(() => {
|
|
59
|
+
cmd.parse(['--help'], { from: 'user' });
|
|
60
|
+
}).to.throw(`(outputHelp)`);
|
|
61
|
+
});
|
|
62
|
+
});
|
|
63
|
+
//# sourceMappingURL=update-command.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update-command.spec.js","sourceRoot":"","sources":["../../src/update-command.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* Source https://github.com/donmahallem/js-libs/tree/master/packages/lerna2codecov
|
|
4
4
|
*/
|
|
5
5
|
import { Project } from '@lerna/project';
|
|
6
|
-
import { ICodecovConfig } from './codecov-config';
|
|
6
|
+
import { ICodecovConfig } from './codecov-config.js';
|
|
7
7
|
export interface IUpdateOptions {
|
|
8
8
|
stripScope?: boolean;
|
|
9
9
|
}
|
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
import { Package } from '@lerna/package';
|
|
2
|
-
import deepmerge from 'deepmerge';
|
|
3
|
-
import { relative } from 'node:path';
|
|
4
|
-
|
|
5
1
|
/**
|
|
6
2
|
* Package @donmahallem/lerna2codecov
|
|
7
3
|
* Source https://github.com/donmahallem/js-libs/tree/master/packages/lerna2codecov
|
|
8
4
|
*/
|
|
5
|
+
import { Package } from '@lerna/package';
|
|
6
|
+
import deepmerge from 'deepmerge';
|
|
7
|
+
import { relative } from 'node:path';
|
|
9
8
|
/**
|
|
10
9
|
* Removes potential scopes from the package name
|
|
11
10
|
* @param {Package|string} packageName Package Name
|
|
@@ -24,8 +23,8 @@ function stripScope(packageName) {
|
|
|
24
23
|
* @param {IUpdateOptions} opts Options
|
|
25
24
|
* @returns {Promise<ICodecovConfig>} a promise which resolves with the updated Codecov config
|
|
26
25
|
*/
|
|
27
|
-
async function updateConfig(project, codecovCfg, opts) {
|
|
28
|
-
opts?.stripScope || true;
|
|
26
|
+
export async function updateConfig(project, codecovCfg, opts) {
|
|
27
|
+
const stripScopeInName = opts?.stripScope || true;
|
|
29
28
|
const packages = await project.getPackages();
|
|
30
29
|
if (packages.length === 0) {
|
|
31
30
|
return codecovCfg;
|
|
@@ -33,7 +32,7 @@ async function updateConfig(project, codecovCfg, opts) {
|
|
|
33
32
|
const codecovProjects = {};
|
|
34
33
|
const sourcePackages = codecovCfg?.coverage?.status?.project || {};
|
|
35
34
|
for (const pkg of packages) {
|
|
36
|
-
const stripedPackageName = stripScope(pkg) ;
|
|
35
|
+
const stripedPackageName = stripScopeInName ? stripScope(pkg) : pkg.get('name');
|
|
37
36
|
if (stripedPackageName in sourcePackages) {
|
|
38
37
|
continue;
|
|
39
38
|
}
|
|
@@ -49,6 +48,4 @@ async function updateConfig(project, codecovCfg, opts) {
|
|
|
49
48
|
},
|
|
50
49
|
});
|
|
51
50
|
}
|
|
52
|
-
|
|
53
|
-
export { updateConfig };
|
|
54
|
-
//# sourceMappingURL=update-config.mjs.map
|
|
51
|
+
//# sourceMappingURL=update-config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update-config.js","sourceRoot":"","sources":["../../src/update-config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAEzC,OAAO,SAAS,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAOrC;;;;GAIG;AACH,SAAS,UAAU,CAAC,WAA6B;IAC7C,IAAI,WAAW,YAAY,OAAO,EAAE,CAAC;QACjC,OAAO,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IAC/C,CAAC;IACD,MAAM,MAAM,GAAa,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAChD,OAAO,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;AACvE,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,OAAgB,EAAE,UAA0B,EAAE,IAAqB;IAClG,MAAM,gBAAgB,GAAY,IAAI,EAAE,UAAU,IAAI,IAAI,CAAC;IAC3D,MAAM,QAAQ,GAAc,MAAM,OAAO,CAAC,WAAW,EAAE,CAAC;IACxD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,UAAU,CAAC;IACtB,CAAC;IACD,MAAM,eAAe,GAAoB,EAAE,CAAC;IAC5C,MAAM,cAAc,GAAoB,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,IAAI,EAAE,CAAC;IACpF,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;QACzB,MAAM,kBAAkB,GAAW,gBAAgB,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACxF,IAAI,kBAAkB,IAAI,cAAc,EAAE,CAAC;YACvC,SAAS;QACb,CAAC;QACD,eAAe,CAAC,kBAAkB,CAAC,GAAG;YAClC,KAAK,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;SACpD,CAAC;IACN,CAAC;IACD,OAAO,SAAS,CAAC,UAAU,EAAE;QACzB,QAAQ,EAAE;YACN,MAAM,EAAE;gBACJ,OAAO,EAAE,eAAe;aAC3B;SACJ;KACJ,CAAC,CAAC;AACP,CAAC"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Package @donmahallem/lerna2codecov
|
|
3
|
+
* Source https://github.com/donmahallem/js-libs/tree/master/packages/lerna2codecov
|
|
4
|
+
*/
|
|
5
|
+
import { Package } from '@lerna/package';
|
|
6
|
+
import { Project } from '@lerna/project';
|
|
7
|
+
import { expect } from 'chai';
|
|
8
|
+
import 'mocha';
|
|
9
|
+
import { join, sep } from 'node:path';
|
|
10
|
+
import sinon from 'sinon';
|
|
11
|
+
import * as index from './update-config.js';
|
|
12
|
+
describe('./update-config', function () {
|
|
13
|
+
let sandbox;
|
|
14
|
+
before('setup sandbox', function () {
|
|
15
|
+
sandbox = sinon.createSandbox();
|
|
16
|
+
});
|
|
17
|
+
afterEach('reset sandbox', function () {
|
|
18
|
+
sandbox.reset();
|
|
19
|
+
});
|
|
20
|
+
after('restore sandbox', function () {
|
|
21
|
+
sandbox.restore();
|
|
22
|
+
});
|
|
23
|
+
it('should output all lerna packages', async function () {
|
|
24
|
+
const project = sandbox.createStubInstance(Project);
|
|
25
|
+
const package1 = sandbox.createStubInstance(Package);
|
|
26
|
+
const package2 = sandbox.createStubInstance(Package);
|
|
27
|
+
sandbox.stub(package1, 'location').get(() => join(sep, 'root', 'path', 'packages', 'package1'));
|
|
28
|
+
sandbox.stub(package2, 'location').get(() => join(sep, 'root', 'path', 'packages', 'package2'));
|
|
29
|
+
project.rootPath = join(sep, 'root', 'path');
|
|
30
|
+
project.getPackages.resolves([package1, package2]);
|
|
31
|
+
package1.get.withArgs('name').onCall(0).returns('@package/first');
|
|
32
|
+
package2.get.withArgs('name').onCall(0).returns('@package/second');
|
|
33
|
+
expect(await index.updateConfig(project, {})).to.deep.equal({
|
|
34
|
+
coverage: {
|
|
35
|
+
status: {
|
|
36
|
+
project: {
|
|
37
|
+
first: {
|
|
38
|
+
paths: [join('packages', 'package1')],
|
|
39
|
+
},
|
|
40
|
+
second: {
|
|
41
|
+
paths: [join('packages', 'package2')],
|
|
42
|
+
},
|
|
43
|
+
},
|
|
44
|
+
},
|
|
45
|
+
},
|
|
46
|
+
});
|
|
47
|
+
});
|
|
48
|
+
it('should output all missing lerna packages', async function () {
|
|
49
|
+
const project = sandbox.createStubInstance(Project);
|
|
50
|
+
const package1 = sandbox.createStubInstance(Package);
|
|
51
|
+
const package2 = sandbox.createStubInstance(Package);
|
|
52
|
+
sandbox.stub(package1, 'location').get(() => join(sep, 'root', 'path', 'packages', 'package1'));
|
|
53
|
+
sandbox.stub(package2, 'location').get(() => join(sep, 'root', 'path', 'packages', 'package2'));
|
|
54
|
+
project.rootPath = join(sep, 'root', 'path');
|
|
55
|
+
project.getPackages.resolves([package1, package2]);
|
|
56
|
+
package1.get.withArgs('name').onCall(0).returns('@package/first');
|
|
57
|
+
package2.get.withArgs('name').onCall(0).returns('@package/second');
|
|
58
|
+
expect(await index.updateConfig(project, {
|
|
59
|
+
coverage: {
|
|
60
|
+
status: {
|
|
61
|
+
project: {
|
|
62
|
+
first: {
|
|
63
|
+
paths: [join('packages', 'package3')],
|
|
64
|
+
},
|
|
65
|
+
},
|
|
66
|
+
},
|
|
67
|
+
},
|
|
68
|
+
})).to.deep.equal({
|
|
69
|
+
coverage: {
|
|
70
|
+
status: {
|
|
71
|
+
project: {
|
|
72
|
+
first: {
|
|
73
|
+
paths: [join('packages', 'package3')],
|
|
74
|
+
},
|
|
75
|
+
second: {
|
|
76
|
+
paths: [join('packages', 'package2')],
|
|
77
|
+
},
|
|
78
|
+
},
|
|
79
|
+
},
|
|
80
|
+
},
|
|
81
|
+
});
|
|
82
|
+
});
|
|
83
|
+
});
|
|
84
|
+
//# sourceMappingURL=update-config.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update-config.spec.js","sourceRoot":"","sources":["../../src/update-config.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Package @donmahallem/lerna2codecov
|
|
3
|
+
* Source https://github.com/donmahallem/js-libs/tree/master/packages/lerna2codecov
|
|
4
|
+
*/
|
|
5
|
+
import { Project } from '@lerna/project';
|
|
6
|
+
import { readFile, writeFile } from 'node:fs/promises';
|
|
7
|
+
import { parse, stringify } from 'yaml';
|
|
8
|
+
import { updateConfig } from './update-config.js';
|
|
9
|
+
/**
|
|
10
|
+
* @param {string} lernaRoot path to lerna project root
|
|
11
|
+
* @param {string} codecovFile path to codecov file
|
|
12
|
+
* @returns {Promise<void>} a Promise which resolves on success
|
|
13
|
+
*/
|
|
14
|
+
export async function update(lernaRoot, codecovFile) {
|
|
15
|
+
let codecovSourceFile;
|
|
16
|
+
try {
|
|
17
|
+
codecovSourceFile = await readFile(codecovFile, 'utf-8');
|
|
18
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
19
|
+
}
|
|
20
|
+
catch (err) {
|
|
21
|
+
codecovSourceFile = '';
|
|
22
|
+
}
|
|
23
|
+
const parsedCodecovSource = parse(codecovSourceFile);
|
|
24
|
+
const updatedConfig = await updateConfig(new Project(lernaRoot), parsedCodecovSource);
|
|
25
|
+
const outputCodecovConfig = stringify(updatedConfig);
|
|
26
|
+
return await writeFile(codecovFile, outputCodecovConfig, 'utf-8');
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=update.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/update.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AAExC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,SAAiB,EAAE,WAAmB;IAC/D,IAAI,iBAAyB,CAAC;IAC9B,IAAI,CAAC;QACD,iBAAiB,GAAG,MAAM,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QACzD,6DAA6D;IACjE,CAAC;IAAC,OAAO,GAAY,EAAE,CAAC;QACpB,iBAAiB,GAAG,EAAE,CAAC;IAC3B,CAAC;IACD,MAAM,mBAAmB,GAAmB,KAAK,CAAC,iBAAiB,CAAmB,CAAC;IACvF,MAAM,aAAa,GAAmB,MAAM,YAAY,CAAC,IAAI,OAAO,CAAC,SAAS,CAAC,EAAE,mBAAmB,CAAC,CAAC;IACtG,MAAM,mBAAmB,GAAW,SAAS,CAAC,aAAa,CAAC,CAAC;IAC7D,OAAO,MAAM,SAAS,CAAC,WAAW,EAAE,mBAAmB,EAAE,OAAO,CAAC,CAAC;AACtE,CAAC"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Package @donmahallem/lerna2codecov
|
|
3
|
+
* Source https://github.com/donmahallem/js-libs/tree/master/packages/lerna2codecov
|
|
4
|
+
*/
|
|
5
|
+
import { expect } from 'chai';
|
|
6
|
+
import esmock from 'esmock';
|
|
7
|
+
import 'mocha';
|
|
8
|
+
import sinon from 'sinon';
|
|
9
|
+
describe('./update', function () {
|
|
10
|
+
let sandbox;
|
|
11
|
+
before('setup sandbox', function () {
|
|
12
|
+
sandbox = sinon.createSandbox();
|
|
13
|
+
});
|
|
14
|
+
afterEach('reset sandbox', function () {
|
|
15
|
+
sandbox.reset();
|
|
16
|
+
});
|
|
17
|
+
after('restore sandbox', function () {
|
|
18
|
+
sandbox.restore();
|
|
19
|
+
});
|
|
20
|
+
describe('update', function () {
|
|
21
|
+
let fspWriteStub;
|
|
22
|
+
let fspReadStub;
|
|
23
|
+
let updateConfigStub;
|
|
24
|
+
let updateMethod;
|
|
25
|
+
before('stup fs methods', async function () {
|
|
26
|
+
fspWriteStub = sandbox.stub().named('writeFile');
|
|
27
|
+
fspReadStub = sandbox.stub().named('readFile');
|
|
28
|
+
updateConfigStub = sandbox.stub().named('updateConfig');
|
|
29
|
+
updateMethod = (await esmock.strict('./update', {}, {
|
|
30
|
+
'./update-config': { updateConfig: updateConfigStub },
|
|
31
|
+
'node:fs/promises': {
|
|
32
|
+
readFile: fspReadStub,
|
|
33
|
+
writeFile: fspWriteStub,
|
|
34
|
+
},
|
|
35
|
+
})).update;
|
|
36
|
+
});
|
|
37
|
+
it('should output the input if no packages are found in the lerna project', async function () {
|
|
38
|
+
const codecovTestPath = './../../codecov.yml';
|
|
39
|
+
fspReadStub.resolves('');
|
|
40
|
+
updateConfigStub.resolves({ coverage: { status: undefined } });
|
|
41
|
+
await updateMethod('./', codecovTestPath);
|
|
42
|
+
expect(updateConfigStub.callCount).to.equal(1);
|
|
43
|
+
expect(fspReadStub.getCall(0).args).to.deep.eq([codecovTestPath, 'utf-8']);
|
|
44
|
+
expect(fspReadStub.callCount).to.equal(1);
|
|
45
|
+
expect(fspReadStub.getCall(0).args).to.deep.eq([codecovTestPath, 'utf-8']);
|
|
46
|
+
expect(fspWriteStub.callCount).to.equal(1);
|
|
47
|
+
expect(fspWriteStub.getCall(0).args).to.deep.eq([codecovTestPath, 'coverage: {}\n', 'utf-8']);
|
|
48
|
+
});
|
|
49
|
+
it(`should create a codecov.yml if it doesn't exist`, async function () {
|
|
50
|
+
const codecovTestPath = './../../codecov.yml';
|
|
51
|
+
fspReadStub.rejects(new Error('test error'));
|
|
52
|
+
updateConfigStub.resolves({ coverage: { status: undefined } });
|
|
53
|
+
await updateMethod('./', codecovTestPath);
|
|
54
|
+
expect(updateConfigStub.callCount).to.equal(1);
|
|
55
|
+
expect(fspReadStub.getCall(0).args).to.deep.eq([codecovTestPath, 'utf-8']);
|
|
56
|
+
expect(fspReadStub.callCount).to.equal(1);
|
|
57
|
+
expect(fspReadStub.getCall(0).args).to.deep.eq([codecovTestPath, 'utf-8']);
|
|
58
|
+
expect(fspWriteStub.callCount).to.equal(1);
|
|
59
|
+
expect(fspWriteStub.getCall(0).args).to.deep.eq([codecovTestPath, 'coverage: {}\n', 'utf-8']);
|
|
60
|
+
});
|
|
61
|
+
});
|
|
62
|
+
});
|
|
63
|
+
//# sourceMappingURL=update.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update.spec.js","sourceRoot":"","sources":["../../src/update.spec.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,15 +1,14 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@donmahallem/lerna2codecov",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.10",
|
|
4
4
|
"description": "Updates projects entry in codecov.yml from lerna project",
|
|
5
|
-
"main": "./dist/
|
|
6
|
-
"types": "./dist/
|
|
5
|
+
"main": "./dist/esm/index.js",
|
|
6
|
+
"types": "./dist/esm/index.d.ts",
|
|
7
7
|
"private": false,
|
|
8
8
|
"type": "module",
|
|
9
9
|
"exports": {
|
|
10
|
-
"
|
|
11
|
-
"
|
|
12
|
-
"types": "./dist/types/index.d.ts"
|
|
10
|
+
"import": "./dist/esm/index.js",
|
|
11
|
+
"types": "./dist/esm/index.d.ts"
|
|
13
12
|
},
|
|
14
13
|
"keywords": [
|
|
15
14
|
"lerna",
|
|
@@ -17,7 +16,7 @@
|
|
|
17
16
|
],
|
|
18
17
|
"typedocMain": "./src/index.ts",
|
|
19
18
|
"scripts": {
|
|
20
|
-
"build": "
|
|
19
|
+
"build": "tsc -p tsconfig.json",
|
|
21
20
|
"build:readme": "npx @appnest/readme generate --input ../package_readme_blueprint.md --config readme_config.json",
|
|
22
21
|
"test": "mocha --config ../../.mocharc.json",
|
|
23
22
|
"test:coverage": "c8 --config ../../.nycrc.json npm run test",
|
|
@@ -47,7 +46,7 @@
|
|
|
47
46
|
"url": "https://github.com/donmahallem/js-libs.git"
|
|
48
47
|
},
|
|
49
48
|
"engines": {
|
|
50
|
-
"node": ">=
|
|
49
|
+
"node": ">=22"
|
|
51
50
|
},
|
|
52
51
|
"files": [
|
|
53
52
|
"dist/*",
|
|
@@ -60,14 +59,14 @@
|
|
|
60
59
|
"dependencies": {
|
|
61
60
|
"@lerna/package": "~6.4.1",
|
|
62
61
|
"@lerna/project": "~6.4.1",
|
|
63
|
-
"commander": "~
|
|
62
|
+
"commander": "~14.0.2",
|
|
64
63
|
"deepmerge": "~4.3.1",
|
|
65
|
-
"yaml": "~2.
|
|
64
|
+
"yaml": "~2.8.2"
|
|
66
65
|
},
|
|
67
66
|
"devDependencies": {
|
|
68
67
|
"@types/lerna__package": "5.1.3",
|
|
69
68
|
"@types/lerna__project": "5.1.2",
|
|
70
|
-
"esmock": "2.7.
|
|
69
|
+
"esmock": "2.7.3"
|
|
71
70
|
},
|
|
72
|
-
"gitHead": "
|
|
71
|
+
"gitHead": "ce6658b6909b835a63d093682df61838db618857"
|
|
73
72
|
}
|
package/src/cli.ts
CHANGED
package/src/index.ts
CHANGED
|
@@ -3,5 +3,5 @@
|
|
|
3
3
|
* Source https://github.com/donmahallem/js-libs/tree/master/packages/lerna2codecov
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
|
-
export * from './codecov-config';
|
|
7
|
-
export { IUpdateOptions, updateConfig } from './update-config';
|
|
6
|
+
export * from './codecov-config.js';
|
|
7
|
+
export { IUpdateOptions, updateConfig } from './update-config.js';
|
package/src/update-command.ts
CHANGED
package/src/update-config.ts
CHANGED
|
@@ -7,7 +7,7 @@ import { Package } from '@lerna/package';
|
|
|
7
7
|
import { Project } from '@lerna/project';
|
|
8
8
|
import deepmerge from 'deepmerge';
|
|
9
9
|
import { relative } from 'node:path';
|
|
10
|
-
import { CodecovProjects, ICodecovConfig } from './codecov-config';
|
|
10
|
+
import { CodecovProjects, ICodecovConfig } from './codecov-config.js';
|
|
11
11
|
|
|
12
12
|
export interface IUpdateOptions {
|
|
13
13
|
stripScope?: boolean;
|
package/src/update.ts
CHANGED
|
@@ -6,8 +6,8 @@
|
|
|
6
6
|
import { Project } from '@lerna/project';
|
|
7
7
|
import { readFile, writeFile } from 'node:fs/promises';
|
|
8
8
|
import { parse, stringify } from 'yaml';
|
|
9
|
-
import { ICodecovConfig } from './codecov-config';
|
|
10
|
-
import { updateConfig } from './update-config';
|
|
9
|
+
import { ICodecovConfig } from './codecov-config.js';
|
|
10
|
+
import { updateConfig } from './update-config.js';
|
|
11
11
|
|
|
12
12
|
/**
|
|
13
13
|
* @param {string} lernaRoot path to lerna project root
|
package/dist/cjs/index.cjs
DELETED
package/dist/cjs/index.cjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
const _package = require('@lerna/package');
|
|
4
|
-
const deepmerge = require('deepmerge');
|
|
5
|
-
const node_path = require('node:path');
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* Package @donmahallem/lerna2codecov
|
|
9
|
-
* Source https://github.com/donmahallem/js-libs/tree/master/packages/lerna2codecov
|
|
10
|
-
*/
|
|
11
|
-
/**
|
|
12
|
-
* Removes potential scopes from the package name
|
|
13
|
-
* @param {Package|string} packageName Package Name
|
|
14
|
-
* @returns {string} the striped package name
|
|
15
|
-
*/
|
|
16
|
-
function stripScope(packageName) {
|
|
17
|
-
if (packageName instanceof _package.Package) {
|
|
18
|
-
return stripScope(packageName.get('name'));
|
|
19
|
-
}
|
|
20
|
-
const sliced = packageName.split('/');
|
|
21
|
-
return sliced.length > 1 ? sliced.slice(1).join('/') : packageName;
|
|
22
|
-
}
|
|
23
|
-
/**
|
|
24
|
-
* @param {Project} project Lerna Project
|
|
25
|
-
* @param {import('./codecov-config').ICodecovConfig} codecovCfg parsed codecov config
|
|
26
|
-
* @param {IUpdateOptions} opts Options
|
|
27
|
-
* @returns {Promise<ICodecovConfig>} a promise which resolves with the updated Codecov config
|
|
28
|
-
*/
|
|
29
|
-
async function updateConfig(project, codecovCfg, opts) {
|
|
30
|
-
opts?.stripScope || true;
|
|
31
|
-
const packages = await project.getPackages();
|
|
32
|
-
if (packages.length === 0) {
|
|
33
|
-
return codecovCfg;
|
|
34
|
-
}
|
|
35
|
-
const codecovProjects = {};
|
|
36
|
-
const sourcePackages = codecovCfg?.coverage?.status?.project || {};
|
|
37
|
-
for (const pkg of packages) {
|
|
38
|
-
const stripedPackageName = stripScope(pkg) ;
|
|
39
|
-
if (stripedPackageName in sourcePackages) {
|
|
40
|
-
continue;
|
|
41
|
-
}
|
|
42
|
-
codecovProjects[stripedPackageName] = {
|
|
43
|
-
paths: [node_path.relative(project.rootPath, pkg.location)],
|
|
44
|
-
};
|
|
45
|
-
}
|
|
46
|
-
return deepmerge(codecovCfg, {
|
|
47
|
-
coverage: {
|
|
48
|
-
status: {
|
|
49
|
-
project: codecovProjects,
|
|
50
|
-
},
|
|
51
|
-
},
|
|
52
|
-
});
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
exports.updateConfig = updateConfig;
|
|
56
|
-
//# sourceMappingURL=update-config.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"update-config.cjs","sources":["../../src/update-config.ts"],"sourcesContent":[null],"names":["Package","relative"],"mappings":";;;;;;AAAA;;;AAGG;AAYH;;;;AAIG;AACH,SAAS,UAAU,CAAC,WAA6B,EAAA;AAC7C,IAAA,IAAI,WAAW,YAAYA,gBAAO,EAAE;QAChC,OAAO,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;;IAE9C,MAAM,MAAM,GAAa,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC;IAC/C,OAAO,MAAM,CAAC,MAAM,GAAG,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,WAAW;AACtE;AAEA;;;;;AAKG;AACI,eAAe,YAAY,CAAC,OAAgB,EAAE,UAA0B,EAAE,IAAqB,EAAA;AAClG,IAAkC,IAAI,EAAE,UAAU,IAAI;AACtD,IAAA,MAAM,QAAQ,GAAc,MAAM,OAAO,CAAC,WAAW,EAAE;AACvD,IAAA,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;AACvB,QAAA,OAAO,UAAU;;IAErB,MAAM,eAAe,GAAoB,EAAE;IAC3C,MAAM,cAAc,GAAoB,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,IAAI,EAAE;AACnF,IAAA,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE;AACxB,QAAA,MAAM,kBAAkB,GAA8B,UAAU,CAAC,GAAG,CAAC,CAAkB;AACvF,QAAA,IAAI,kBAAkB,IAAI,cAAc,EAAE;YACtC;;QAEJ,eAAe,CAAC,kBAAkB,CAAC,GAAG;AAClC,YAAA,KAAK,EAAE,CAACC,kBAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;SACpD;;IAEL,OAAO,SAAS,CAAC,UAAU,EAAE;AACzB,QAAA,QAAQ,EAAE;AACN,YAAA,MAAM,EAAE;AACJ,gBAAA,OAAO,EAAE,eAAe;AAC3B,aAAA;AACJ,SAAA;AACJ,KAAA,CAAC;AACN;;;;"}
|
package/dist/esm/index.mjs
DELETED
package/dist/esm/index.mjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"update-config.mjs","sources":["../../src/update-config.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;AAAA;;;AAGG;AAYH;;;;AAIG;AACH,SAAS,UAAU,CAAC,WAA6B,EAAA;AAC7C,IAAA,IAAI,WAAW,YAAY,OAAO,EAAE;QAChC,OAAO,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;;IAE9C,MAAM,MAAM,GAAa,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC;IAC/C,OAAO,MAAM,CAAC,MAAM,GAAG,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,WAAW;AACtE;AAEA;;;;;AAKG;AACI,eAAe,YAAY,CAAC,OAAgB,EAAE,UAA0B,EAAE,IAAqB,EAAA;AAClG,IAAkC,IAAI,EAAE,UAAU,IAAI;AACtD,IAAA,MAAM,QAAQ,GAAc,MAAM,OAAO,CAAC,WAAW,EAAE;AACvD,IAAA,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;AACvB,QAAA,OAAO,UAAU;;IAErB,MAAM,eAAe,GAAoB,EAAE;IAC3C,MAAM,cAAc,GAAoB,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,IAAI,EAAE;AACnF,IAAA,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE;AACxB,QAAA,MAAM,kBAAkB,GAA8B,UAAU,CAAC,GAAG,CAAC,CAAkB;AACvF,QAAA,IAAI,kBAAkB,IAAI,cAAc,EAAE;YACtC;;QAEJ,eAAe,CAAC,kBAAkB,CAAC,GAAG;AAClC,YAAA,KAAK,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;SACpD;;IAEL,OAAO,SAAS,CAAC,UAAU,EAAE;AACzB,QAAA,QAAQ,EAAE;AACN,YAAA,MAAM,EAAE;AACJ,gBAAA,OAAO,EAAE,eAAe;AAC3B,aAAA;AACJ,SAAA;AACJ,KAAA,CAAC;AACN;;;;"}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|