@donmahallem/lerna2codecov 0.4.2 → 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.
Files changed (40) hide show
  1. package/dist/esm/cli.js +7 -0
  2. package/dist/esm/cli.js.map +1 -0
  3. package/dist/{types/index.d.ts → esm/codecov-config.js} +2 -2
  4. package/dist/esm/codecov-config.js.map +1 -0
  5. package/dist/esm/index.d.ts +6 -0
  6. package/dist/esm/index.js +7 -0
  7. package/dist/esm/index.js.map +1 -0
  8. package/dist/esm/update-command.js +43 -0
  9. package/dist/esm/update-command.js.map +1 -0
  10. package/dist/esm/update-command.spec.d.ts +5 -0
  11. package/dist/esm/update-command.spec.js +63 -0
  12. package/dist/esm/update-command.spec.js.map +1 -0
  13. package/dist/{types → esm}/update-config.d.ts +1 -1
  14. package/dist/esm/{update-config.mjs → update-config.js} +7 -10
  15. package/dist/esm/update-config.js.map +1 -0
  16. package/dist/esm/update-config.spec.d.ts +5 -0
  17. package/dist/esm/update-config.spec.js +84 -0
  18. package/dist/esm/update-config.spec.js.map +1 -0
  19. package/dist/esm/update.js +28 -0
  20. package/dist/esm/update.js.map +1 -0
  21. package/dist/esm/update.spec.d.ts +5 -0
  22. package/dist/esm/update.spec.js +63 -0
  23. package/dist/esm/update.spec.js.map +1 -0
  24. package/package.json +11 -12
  25. package/src/cli.ts +1 -1
  26. package/src/index.ts +2 -2
  27. package/src/update-command.ts +1 -1
  28. package/src/update-config.ts +1 -1
  29. package/src/update.ts +2 -2
  30. package/dist/cjs/index.cjs +0 -8
  31. package/dist/cjs/index.cjs.map +0 -1
  32. package/dist/cjs/update-config.cjs +0 -56
  33. package/dist/cjs/update-config.cjs.map +0 -1
  34. package/dist/esm/index.mjs +0 -2
  35. package/dist/esm/index.mjs.map +0 -1
  36. package/dist/esm/update-config.mjs.map +0 -1
  37. /package/dist/{types → esm}/cli.d.ts +0 -0
  38. /package/dist/{types → esm}/codecov-config.d.ts +0 -0
  39. /package/dist/{types → esm}/update-command.d.ts +0 -0
  40. /package/dist/{types → esm}/update.d.ts +0 -0
@@ -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 * from './codecov-config';
6
- export { IUpdateOptions, updateConfig } from './update-config';
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,6 @@
1
+ /**
2
+ * Package @donmahallem/lerna2codecov
3
+ * Source https://github.com/donmahallem/js-libs/tree/master/packages/lerna2codecov
4
+ */
5
+ export * from './codecov-config.js';
6
+ export { IUpdateOptions, updateConfig } from './update-config.js';
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Package @donmahallem/lerna2codecov
3
+ * Source https://github.com/donmahallem/js-libs/tree/master/packages/lerna2codecov
4
+ */
5
+ export * from './codecov-config.js';
6
+ export { updateConfig } from './update-config.js';
7
+ //# sourceMappingURL=index.js.map
@@ -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,5 @@
1
+ /**
2
+ * Package @donmahallem/lerna2codecov
3
+ * Source https://github.com/donmahallem/js-libs/tree/master/packages/lerna2codecov
4
+ */
5
+ import 'mocha';
@@ -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,5 @@
1
+ /**
2
+ * Package @donmahallem/lerna2codecov
3
+ * Source https://github.com/donmahallem/js-libs/tree/master/packages/lerna2codecov
4
+ */
5
+ import 'mocha';
@@ -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":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAC9B,OAAO,OAAO,CAAC;AACf,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,KAAK,MAAM,oBAAoB,CAAC;AAE5C,QAAQ,CAAC,iBAAiB,EAAE;IACxB,IAAI,OAA2B,CAAC;IAEhC,MAAM,CAAC,eAAe,EAAE;QACpB,OAAO,GAAG,KAAK,CAAC,aAAa,EAAE,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,eAAe,EAAE;QACvB,OAAO,CAAC,KAAK,EAAE,CAAC;IACpB,CAAC,CAAC,CAAC;IAEH,KAAK,CAAC,iBAAiB,EAAE;QACrB,OAAO,CAAC,OAAO,EAAE,CAAC;IACtB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kCAAkC,EAAE,KAAK;QACxC,MAAM,OAAO,GAAwC,OAAO,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;QACzF,MAAM,QAAQ,GAAwC,OAAO,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;QAC1F,MAAM,QAAQ,GAAwC,OAAO,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;QAC1F,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,GAAG,CAAC,GAAW,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC;QACxG,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,GAAG,CAAC,GAAW,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC;QACxG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QAC7C,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;QACnD,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAClE,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;QACnE,MAAM,CAAC,MAAM,KAAK,CAAC,YAAY,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC;YACxD,QAAQ,EAAE;gBACN,MAAM,EAAE;oBACJ,OAAO,EAAE;wBACL,KAAK,EAAE;4BACH,KAAK,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;yBACxC;wBACD,MAAM,EAAE;4BACJ,KAAK,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;yBACxC;qBACJ;iBACJ;aACJ;SACJ,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0CAA0C,EAAE,KAAK;QAChD,MAAM,OAAO,GAAwC,OAAO,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;QACzF,MAAM,QAAQ,GAAwC,OAAO,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;QAC1F,MAAM,QAAQ,GAAwC,OAAO,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;QAC1F,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,GAAG,CAAC,GAAW,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC;QACxG,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,GAAG,CAAC,GAAW,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC;QACxG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QAC7C,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;QACnD,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAClE,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;QACnE,MAAM,CACF,MAAM,KAAK,CAAC,YAAY,CAAC,OAAO,EAAE;YAC9B,QAAQ,EAAE;gBACN,MAAM,EAAE;oBACJ,OAAO,EAAE;wBACL,KAAK,EAAE;4BACH,KAAK,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;yBACxC;qBACJ;iBACJ;aACJ;SACJ,CAAC,CACL,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC;YACZ,QAAQ,EAAE;gBACN,MAAM,EAAE;oBACJ,OAAO,EAAE;wBACL,KAAK,EAAE;4BACH,KAAK,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;yBACxC;wBACD,MAAM,EAAE;4BACJ,KAAK,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;yBACxC;qBACJ;iBACJ;aACJ;SACJ,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
@@ -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,5 @@
1
+ /**
2
+ * Package @donmahallem/lerna2codecov
3
+ * Source https://github.com/donmahallem/js-libs/tree/master/packages/lerna2codecov
4
+ */
5
+ import 'mocha';
@@ -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.2",
3
+ "version": "0.4.10",
4
4
  "description": "Updates projects entry in codecov.yml from lerna project",
5
- "main": "./dist/cjs/index.cjs",
6
- "types": "./dist/types/index.d.ts",
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
- "require": "./dist/cjs/index.cjs",
11
- "import": "./dist/esm/index.mjs",
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": "rollup -c rollup.config.mjs",
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": ">=20"
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": "~13.1.0",
62
+ "commander": "~14.0.2",
64
63
  "deepmerge": "~4.3.1",
65
- "yaml": "~2.7.0"
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.0"
69
+ "esmock": "2.7.3"
71
70
  },
72
- "gitHead": "5d688b7d025c526f58fbe2b79fed76a0622a5ea3"
71
+ "gitHead": "ce6658b6909b835a63d093682df61838db618857"
73
72
  }
package/src/cli.ts CHANGED
@@ -3,6 +3,6 @@
3
3
  * Source https://github.com/donmahallem/js-libs/tree/master/packages/lerna2codecov
4
4
  */
5
5
 
6
- import { updateCommand } from './update-command';
6
+ import { updateCommand } from './update-command.js';
7
7
 
8
8
  void updateCommand().parseAsync(process.argv);
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';
@@ -5,7 +5,7 @@
5
5
 
6
6
  import { Command } from 'commander';
7
7
  import { resolve } from 'node:path';
8
- import { update } from './update';
8
+ import { update } from './update.js';
9
9
 
10
10
  interface IUpdateOptions {
11
11
  codecov: string;
@@ -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
@@ -1,8 +0,0 @@
1
- 'use strict';
2
-
3
- const updateConfig = require('./update-config.cjs');
4
-
5
-
6
-
7
- exports.updateConfig = updateConfig.updateConfig;
8
- //# sourceMappingURL=index.cjs.map
@@ -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;;;;"}
@@ -1,2 +0,0 @@
1
- export { updateConfig } from './update-config.mjs';
2
- //# sourceMappingURL=index.mjs.map
@@ -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