@code-pushup/ci 0.116.0 → 0.118.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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@code-pushup/ci",
3
- "version": "0.116.0",
3
+ "version": "0.118.0",
4
4
  "description": "CI automation logic for Code PushUp (provider-agnostic)",
5
5
  "license": "MIT",
6
6
  "homepage": "https://github.com/code-pushup/cli/tree/main/packages/ci#readme",
@@ -26,13 +26,13 @@
26
26
  },
27
27
  "type": "module",
28
28
  "dependencies": {
29
- "@code-pushup/models": "0.116.0",
29
+ "@code-pushup/models": "0.118.0",
30
30
  "@code-pushup/portal-client": "^0.17.0",
31
- "@code-pushup/utils": "0.116.0",
31
+ "@code-pushup/utils": "0.118.0",
32
32
  "ansis": "^3.3.2",
33
33
  "glob": "^11.0.1",
34
34
  "simple-git": "^3.20.0",
35
- "yaml": "^2.5.1",
35
+ "type-fest": "^4.26.1",
36
36
  "zod": "^4.2.1"
37
37
  },
38
38
  "files": [
package/src/index.d.ts CHANGED
@@ -1,6 +1,5 @@
1
1
  export type { SourceFileIssue } from './lib/issues.js';
2
2
  export type * from './lib/models.js';
3
- export { isMonorepoTool, MONOREPO_TOOLS, type MonorepoTool, } from './lib/monorepo/index.js';
4
3
  export { runInCI } from './lib/run.js';
5
4
  export { configPatternsSchema } from './lib/schemas.js';
6
5
  export { DEFAULT_SETTINGS, MAX_SEARCH_COMMITS, MIN_SEARCH_COMMITS, parseConfigPatternsFromString, } from './lib/settings.js';
package/src/index.js CHANGED
@@ -1,4 +1,3 @@
1
- export { isMonorepoTool, MONOREPO_TOOLS, } from './lib/monorepo/index.js';
2
1
  export { runInCI } from './lib/run.js';
3
2
  export { configPatternsSchema } from './lib/schemas.js';
4
3
  export { DEFAULT_SETTINGS, MAX_SEARCH_COMMITS, MIN_SEARCH_COMMITS, parseConfigPatternsFromString, } from './lib/settings.js';
package/src/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,cAAc,EACd,cAAc,GAEf,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,EAClB,6BAA6B,GAC9B,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,EAClB,6BAA6B,GAC9B,MAAM,mBAAmB,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import type { Format, PersistConfig, UploadConfig } from '@code-pushup/models';
2
+ import type { MonorepoTool } from '@code-pushup/utils';
2
3
  import type { SourceFileIssue } from './issues.js';
3
- import type { MonorepoTool } from './monorepo/index.js';
4
4
  /**
5
5
  * Customization options for {@link runInCI}
6
6
  * @see https://github.com/code-pushup/cli/tree/main/packages/ci#options
@@ -1,3 +1,4 @@
1
- import type { MonorepoTool, MonorepoToolHandler } from '../tools.js';
1
+ import type { MonorepoTool } from '@code-pushup/utils';
2
+ import type { MonorepoToolHandler } from '../tools.js';
2
3
  export declare const MONOREPO_TOOL_HANDLERS: MonorepoToolHandler[];
3
4
  export declare function getToolHandler(tool: MonorepoTool): MonorepoToolHandler;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/lib/monorepo/handlers/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAExC,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,SAAS;IACT,YAAY;IACZ,WAAW;IACX,WAAW;IACX,UAAU;CACX,CAAC;AAEF,MAAM,UAAU,cAAc,CAAC,IAAkB;IAC/C,MAAM,cAAc,GAAG,sBAAsB,CAAC,IAAI,CAChD,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,IAAI,CACjC,CAAC;IACF,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,2CAA2C,IAAI,GAAG,CAAC,CAAC;IACtE,CAAC;IACD,OAAO,cAAc,CAAC;AACxB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/lib/monorepo/handlers/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAExC,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,SAAS;IACT,YAAY;IACZ,WAAW;IACX,WAAW;IACX,UAAU;CACX,CAAC;AAEF,MAAM,UAAU,cAAc,CAAC,IAAkB;IAC/C,MAAM,cAAc,GAAG,sBAAsB,CAAC,IAAI,CAChD,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,IAAI,CACjC,CAAC;IACF,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,2CAA2C,IAAI,GAAG,CAAC,CAAC;IACtE,CAAC;IACD,OAAO,cAAc,CAAC;AACxB,CAAC"}
@@ -1,12 +1,6 @@
1
- import path from 'node:path';
2
- import { fileExists } from '@code-pushup/utils';
3
- import { hasCodePushUpDependency, hasScript, hasWorkspacesEnabled, listWorkspaces, } from '../packages.js';
1
+ import { hasCodePushUpDependency, hasScript, listWorkspaces, } from '@code-pushup/utils';
4
2
  export const npmHandler = {
5
3
  tool: 'npm',
6
- async isConfigured(options) {
7
- return ((await fileExists(path.join(options.cwd, 'package-lock.json'))) &&
8
- (await hasWorkspacesEnabled(options.cwd)));
9
- },
10
4
  async listProjects(options) {
11
5
  const { workspaces, rootPackageJson } = await listWorkspaces(options.cwd);
12
6
  return workspaces
@@ -1 +1 @@
1
- {"version":3,"file":"npm.js","sourceRoot":"","sources":["../../../../../src/lib/monorepo/handlers/npm.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EACL,uBAAuB,EACvB,SAAS,EACT,oBAAoB,EACpB,cAAc,GACf,MAAM,gBAAgB,CAAC;AAGxB,MAAM,CAAC,MAAM,UAAU,GAAwB;IAC7C,IAAI,EAAE,KAAK;IAEX,KAAK,CAAC,YAAY,CAAC,OAAO;QACxB,OAAO,CACL,CAAC,MAAM,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,mBAAmB,CAAC,CAAC,CAAC;YAC/D,CAAC,MAAM,oBAAoB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAC1C,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,OAAO;QACxB,MAAM,EAAE,UAAU,EAAE,eAAe,EAAE,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC1E,OAAO,UAAU;aACd,MAAM,CACL,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,CAClB,SAAS,CAAC,WAAW,EAAE,OAAO,CAAC,IAAI,CAAC;YACpC,uBAAuB,CAAC,WAAW,CAAC;YACpC,uBAAuB,CAAC,eAAe,CAAC,CAC3C;aACA,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,CAAC;YAC1C,IAAI;YACJ,SAAS;YACT,GAAG,EAAE,SAAS,CAAC,WAAW,EAAE,OAAO,CAAC,IAAI,CAAC;gBACvC,CAAC,CAAC,WAAW,OAAO,CAAC,IAAI,KAAK;gBAC9B,CAAC,CAAC,YAAY,OAAO,CAAC,IAAI,KAAK;SAClC,CAAC,CAAC,CAAC;IACR,CAAC;IAED,oBAAoB,CAAC,OAAO;QAC1B,iFAAiF;QACjF,OAAO,WAAW,OAAO,CAAC,IAAI,+BAA+B,CAAC;IAChE,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"npm.js","sourceRoot":"","sources":["../../../../../src/lib/monorepo/handlers/npm.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,uBAAuB,EACvB,SAAS,EACT,cAAc,GACf,MAAM,oBAAoB,CAAC;AAG5B,MAAM,CAAC,MAAM,UAAU,GAAwB;IAC7C,IAAI,EAAE,KAAK;IAEX,KAAK,CAAC,YAAY,CAAC,OAAO;QACxB,MAAM,EAAE,UAAU,EAAE,eAAe,EAAE,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC1E,OAAO,UAAU;aACd,MAAM,CACL,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,CAClB,SAAS,CAAC,WAAW,EAAE,OAAO,CAAC,IAAI,CAAC;YACpC,uBAAuB,CAAC,WAAW,CAAC;YACpC,uBAAuB,CAAC,eAAe,CAAC,CAC3C;aACA,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,CAAC;YAC1C,IAAI;YACJ,SAAS;YACT,GAAG,EAAE,SAAS,CAAC,WAAW,EAAE,OAAO,CAAC,IAAI,CAAC;gBACvC,CAAC,CAAC,WAAW,OAAO,CAAC,IAAI,KAAK;gBAC9B,CAAC,CAAC,YAAY,OAAO,CAAC,IAAI,KAAK;SAClC,CAAC,CAAC,CAAC;IACR,CAAC;IAED,oBAAoB,CAAC,OAAO;QAC1B,iFAAiF;QACjF,OAAO,WAAW,OAAO,CAAC,IAAI,+BAA+B,CAAC;IAChE,CAAC;CACF,CAAC"}
@@ -1,17 +1,17 @@
1
- import path from 'node:path';
2
- import { executeProcess, fileExists, interpolate, stringifyError, toArray, } from '@code-pushup/utils';
1
+ import { executeProcess, interpolate, stringifyError, toArray, } from '@code-pushup/utils';
3
2
  export const nxHandler = {
4
3
  tool: 'nx',
5
- async isConfigured(options) {
6
- return ((await fileExists(path.join(options.cwd, 'nx.json'))) &&
7
- (await executeProcess({
8
- command: 'npx',
9
- args: ['nx', 'report'],
10
- cwd: options.cwd,
11
- ignoreExitCode: true,
12
- })).code === 0);
13
- },
14
4
  async listProjects({ cwd, task, nxProjectsFilter }) {
5
+ const { code, stderr } = await executeProcess({
6
+ command: 'npx',
7
+ args: ['nx', 'report'],
8
+ cwd,
9
+ ignoreExitCode: true,
10
+ });
11
+ if (code !== 0) {
12
+ const suffix = stderr ? ` - ${stderr}` : '';
13
+ throw new Error(`'nx report' failed with exit code ${code}${suffix}`);
14
+ }
15
15
  const { stdout } = await executeProcess({
16
16
  command: 'npx',
17
17
  args: [
@@ -1 +1 @@
1
- {"version":3,"file":"nx.js","sourceRoot":"","sources":["../../../../../src/lib/monorepo/handlers/nx.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EACL,cAAc,EACd,UAAU,EACV,WAAW,EACX,cAAc,EACd,OAAO,GACR,MAAM,oBAAoB,CAAC;AAG5B,MAAM,CAAC,MAAM,SAAS,GAAwB;IAC5C,IAAI,EAAE,IAAI;IAEV,KAAK,CAAC,YAAY,CAAC,OAAO;QACxB,OAAO,CACL,CAAC,MAAM,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC;YACrD,CACE,MAAM,cAAc,CAAC;gBACnB,OAAO,EAAE,KAAK;gBACd,IAAI,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC;gBACtB,GAAG,EAAE,OAAO,CAAC,GAAG;gBAChB,cAAc,EAAE,IAAI;aACrB,CAAC,CACH,CAAC,IAAI,KAAK,CAAC,CACb,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,gBAAgB,EAAE;QAChD,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,cAAc,CAAC;YACtC,OAAO,EAAE,KAAK;YACd,IAAI,EAAE;gBACJ,IAAI;gBACJ,MAAM;gBACN,UAAU;gBACV,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;gBACnE,QAAQ;aACT;YACD,GAAG;SACJ,CAAC,CAAC;QACH,MAAM,QAAQ,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;QACvC,OAAO,QAAQ,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACzC,IAAI,EAAE,OAAO;YACb,GAAG,EAAE,cAAc,OAAO,IAAI,IAAI,KAAK;SACxC,CAAC,CAAC,CAAC;IACN,CAAC;IAED,oBAAoB,CAAC,OAAO,EAAE,QAAQ;QACpC,MAAM,YAAY,GAChB,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;QACxD,OAAO;YACL,KAAK;YACL,IAAI;YACJ,UAAU;YACV,aAAa,OAAO,CAAC,IAAI,EAAE;YAC3B,cAAc,OAAO,CAAC,QAAQ,EAAE;YAChC,cAAc,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;YACtC,IAAI;SACL,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACd,CAAC;CACF,CAAC;AAEF,SAAS,aAAa,CAAC,MAAc;IACnC,6CAA6C;IAC7C,IAAI,IAAa,CAAC;IAClB,IAAI,CAAC;QACH,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC5B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CACb,qDAAqD,cAAc,CACjE,KAAK,CACN,EAAE,CACJ,CAAC;IACJ,CAAC;IAED,IACE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;QACnB,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,EAAkB,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,EAC9D,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,IAAI,KAAK,CACb,oFAAoF,IAAI,CAAC,SAAS,CAChG,IAAI,CACL,EAAE,CACJ,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"nx.js","sourceRoot":"","sources":["../../../../../src/lib/monorepo/handlers/nx.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,WAAW,EACX,cAAc,EACd,OAAO,GACR,MAAM,oBAAoB,CAAC;AAG5B,MAAM,CAAC,MAAM,SAAS,GAAwB;IAC5C,IAAI,EAAE,IAAI;IAEV,KAAK,CAAC,YAAY,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,gBAAgB,EAAE;QAChD,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,cAAc,CAAC;YAC5C,OAAO,EAAE,KAAK;YACd,IAAI,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC;YACtB,GAAG;YACH,cAAc,EAAE,IAAI;SACrB,CAAC,CAAC;QACH,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;YACf,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5C,MAAM,IAAI,KAAK,CAAC,qCAAqC,IAAI,GAAG,MAAM,EAAE,CAAC,CAAC;QACxE,CAAC;QAED,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,cAAc,CAAC;YACtC,OAAO,EAAE,KAAK;YACd,IAAI,EAAE;gBACJ,IAAI;gBACJ,MAAM;gBACN,UAAU;gBACV,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;gBACnE,QAAQ;aACT;YACD,GAAG;SACJ,CAAC,CAAC;QACH,MAAM,QAAQ,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;QACvC,OAAO,QAAQ,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACzC,IAAI,EAAE,OAAO;YACb,GAAG,EAAE,cAAc,OAAO,IAAI,IAAI,KAAK;SACxC,CAAC,CAAC,CAAC;IACN,CAAC;IAED,oBAAoB,CAAC,OAAO,EAAE,QAAQ;QACpC,MAAM,YAAY,GAChB,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;QACxD,OAAO;YACL,KAAK;YACL,IAAI;YACJ,UAAU;YACV,aAAa,OAAO,CAAC,IAAI,EAAE;YAC3B,cAAc,OAAO,CAAC,QAAQ,EAAE;YAChC,cAAc,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;YACtC,IAAI;SACL,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACd,CAAC;CACF,CAAC;AAEF,SAAS,aAAa,CAAC,MAAc;IACnC,6CAA6C;IAC7C,IAAI,IAAa,CAAC;IAClB,IAAI,CAAC;QACH,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC5B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CACb,qDAAqD,cAAc,CACjE,KAAK,CACN,EAAE,CACJ,CAAC;IACJ,CAAC;IAED,IACE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;QACnB,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,EAAkB,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,EAC9D,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,IAAI,KAAK,CACb,oFAAoF,IAAI,CAAC,SAAS,CAChG,IAAI,CACL,EAAE,CACJ,CAAC;AACJ,CAAC"}
@@ -1,18 +1,9 @@
1
- import path from 'node:path';
2
- import * as YAML from 'yaml';
3
- import { fileExists, readTextFile } from '@code-pushup/utils';
4
- import { hasCodePushUpDependency, hasScript, listPackages, readRootPackageJson, } from '../packages.js';
5
- const WORKSPACE_FILE = 'pnpm-workspace.yaml';
1
+ import { hasCodePushUpDependency, hasScript, listPackages, readPnpmWorkspacePatterns, readRootPackageJson, } from '@code-pushup/utils';
6
2
  export const pnpmHandler = {
7
3
  tool: 'pnpm',
8
- async isConfigured(options) {
9
- return ((await fileExists(path.join(options.cwd, WORKSPACE_FILE))) &&
10
- (await fileExists(path.join(options.cwd, 'package.json'))));
11
- },
12
4
  async listProjects(options) {
13
- const yaml = await readTextFile(path.join(options.cwd, WORKSPACE_FILE));
14
- const workspace = YAML.parse(yaml);
15
- const packages = await listPackages(options.cwd, workspace.packages);
5
+ const patterns = await readPnpmWorkspacePatterns(options.cwd);
6
+ const packages = await listPackages(options.cwd, patterns);
16
7
  const rootPackageJson = await readRootPackageJson(options.cwd);
17
8
  return packages
18
9
  .filter(({ packageJson }) => hasScript(packageJson, options.task) ||
@@ -1 +1 @@
1
- {"version":3,"file":"pnpm.js","sourceRoot":"","sources":["../../../../../src/lib/monorepo/handlers/pnpm.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EACL,uBAAuB,EACvB,SAAS,EACT,YAAY,EACZ,mBAAmB,GACpB,MAAM,gBAAgB,CAAC;AAGxB,MAAM,cAAc,GAAG,qBAAqB,CAAC;AAE7C,MAAM,CAAC,MAAM,WAAW,GAAwB;IAC9C,IAAI,EAAE,MAAM;IAEZ,KAAK,CAAC,YAAY,CAAC,OAAO;QACxB,OAAO,CACL,CAAC,MAAM,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC,CAAC;YAC1D,CAAC,MAAM,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC,CAAC,CAC3D,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,OAAO;QACxB,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC,CAAC;QACxE,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAA4B,CAAC;QAC9D,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC;QACrE,MAAM,eAAe,GAAG,MAAM,mBAAmB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC/D,OAAO,QAAQ;aACZ,MAAM,CACL,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,CAClB,SAAS,CAAC,WAAW,EAAE,OAAO,CAAC,IAAI,CAAC;YACpC,uBAAuB,CAAC,WAAW,CAAC;YACpC,uBAAuB,CAAC,eAAe,CAAC,CAC3C;aACA,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,CAAC;YAC1C,IAAI;YACJ,SAAS;YACT,GAAG,EAAE,SAAS,CAAC,WAAW,EAAE,OAAO,CAAC,IAAI,CAAC;gBACvC,CAAC,CAAC,YAAY,OAAO,CAAC,IAAI,EAAE;gBAC5B,CAAC,CAAC,aAAa,OAAO,CAAC,IAAI,EAAE;SAChC,CAAC,CAAC,CAAC;IACR,CAAC;IAED,oBAAoB,CAAC,OAAO,EAAE,QAAQ;QACpC,wDAAwD;QACxD,MAAM,oBAAoB,GACxB,OAAO,CAAC,QAAQ,KAAK,IAAI;YACvB,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,OAAO,CAAC,QAAQ,KAAK,KAAK;gBAC1B,CAAC,CAAC,CAAC;gBACH,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;QACzB,OAAO;YACL,MAAM;YACN,aAAa;YACb,GAAG,CAAC,oBAAoB,IAAI,IAAI;gBAC9B,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,CAAC,2BAA2B,oBAAoB,EAAE,CAAC,CAAC;YACxD,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,YAAY,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC;YAC/D,OAAO,CAAC,IAAI;SACb,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACd,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"pnpm.js","sourceRoot":"","sources":["../../../../../src/lib/monorepo/handlers/pnpm.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,uBAAuB,EACvB,SAAS,EACT,YAAY,EACZ,yBAAyB,EACzB,mBAAmB,GACpB,MAAM,oBAAoB,CAAC;AAG5B,MAAM,CAAC,MAAM,WAAW,GAAwB;IAC9C,IAAI,EAAE,MAAM;IAEZ,KAAK,CAAC,YAAY,CAAC,OAAO;QACxB,MAAM,QAAQ,GAAG,MAAM,yBAAyB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC9D,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QAC3D,MAAM,eAAe,GAAG,MAAM,mBAAmB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC/D,OAAO,QAAQ;aACZ,MAAM,CACL,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,CAClB,SAAS,CAAC,WAAW,EAAE,OAAO,CAAC,IAAI,CAAC;YACpC,uBAAuB,CAAC,WAAW,CAAC;YACpC,uBAAuB,CAAC,eAAe,CAAC,CAC3C;aACA,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,CAAC;YAC1C,IAAI;YACJ,SAAS;YACT,GAAG,EAAE,SAAS,CAAC,WAAW,EAAE,OAAO,CAAC,IAAI,CAAC;gBACvC,CAAC,CAAC,YAAY,OAAO,CAAC,IAAI,EAAE;gBAC5B,CAAC,CAAC,aAAa,OAAO,CAAC,IAAI,EAAE;SAChC,CAAC,CAAC,CAAC;IACR,CAAC;IAED,oBAAoB,CAAC,OAAO,EAAE,QAAQ;QACpC,wDAAwD;QACxD,MAAM,oBAAoB,GACxB,OAAO,CAAC,QAAQ,KAAK,IAAI;YACvB,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,OAAO,CAAC,QAAQ,KAAK,KAAK;gBAC1B,CAAC,CAAC,CAAC;gBACH,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;QACzB,OAAO;YACL,MAAM;YACN,aAAa;YACb,GAAG,CAAC,oBAAoB,IAAI,IAAI;gBAC9B,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,CAAC,2BAA2B,oBAAoB,EAAE,CAAC,CAAC;YACxD,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,YAAY,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC;YAC/D,OAAO,CAAC,IAAI;SACb,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACd,CAAC;CACF,CAAC"}
@@ -1,20 +1,19 @@
1
1
  import path from 'node:path';
2
- import { fileExists, readJsonFile } from '@code-pushup/utils';
2
+ import { MONOREPO_TOOL_DETECTORS, readJsonFile } from '@code-pushup/utils';
3
3
  import { npmHandler } from './npm.js';
4
4
  import { pnpmHandler } from './pnpm.js';
5
5
  import { yarnHandler } from './yarn.js';
6
6
  const WORKSPACE_HANDLERS = [pnpmHandler, yarnHandler, npmHandler];
7
7
  export const turboHandler = {
8
8
  tool: 'turbo',
9
- async isConfigured(options) {
10
- const configPath = path.join(options.cwd, 'turbo.json');
11
- return ((await fileExists(configPath)) &&
12
- options.task in (await readJsonFile(configPath)).tasks);
13
- },
14
9
  async listProjects(options) {
10
+ const configPath = path.join(options.cwd, 'turbo.json');
11
+ if (!(options.task in (await readJsonFile(configPath)).tasks)) {
12
+ throw new Error(`Task "${options.task}" not found in turbo.json`);
13
+ }
15
14
  // eslint-disable-next-line functional/no-loop-statements
16
15
  for (const handler of WORKSPACE_HANDLERS) {
17
- if (await handler.isConfigured(options)) {
16
+ if (await MONOREPO_TOOL_DETECTORS[handler.tool](options.cwd)) {
18
17
  const projects = await handler.listProjects(options);
19
18
  return projects
20
19
  .filter(({ bin }) => bin.includes(`run ${options.task}`)) // must have package.json script
@@ -1 +1 @@
1
- {"version":3,"file":"turbo.js","sourceRoot":"","sources":["../../../../../src/lib/monorepo/handlers/turbo.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAE9D,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAExC,MAAM,kBAAkB,GAAG,CAAC,WAAW,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;AAMlE,MAAM,CAAC,MAAM,YAAY,GAAwB;IAC/C,IAAI,EAAE,OAAO;IAEb,KAAK,CAAC,YAAY,CAAC,OAAO;QACxB,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;QACxD,OAAO,CACL,CAAC,MAAM,UAAU,CAAC,UAAU,CAAC,CAAC;YAC9B,OAAO,CAAC,IAAI,IAAI,CAAC,MAAM,YAAY,CAAc,UAAU,CAAC,CAAC,CAAC,KAAK,CACpE,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,OAAO;QACxB,yDAAyD;QACzD,KAAK,MAAM,OAAO,IAAI,kBAAkB,EAAE,CAAC;YACzC,IAAI,MAAM,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC;gBACxC,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;gBACrD,OAAO,QAAQ;qBACZ,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,gCAAgC;qBACzF,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC;oBAC7B,IAAI;oBACJ,SAAS;oBACT,GAAG,EAAE,iBAAiB,OAAO,CAAC,IAAI,KAAK;iBACxC,CAAC,CAAC,CAAC;YACR,CAAC;QACH,CAAC;QACD,MAAM,IAAI,KAAK,CACb,wFAAwF,kBAAkB,CAAC,GAAG,CAC5G,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,CACnB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CACd,CAAC;IACJ,CAAC;IAED,oBAAoB,CAAC,OAAO,EAAE,QAAQ;QACpC,+EAA+E;QAC/E,MAAM,WAAW,GACf,OAAO,CAAC,QAAQ,KAAK,IAAI;YACvB,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,OAAO,CAAC,QAAQ,KAAK,KAAK;gBAC1B,CAAC,CAAC,CAAC;gBACH,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;QACzB,OAAO;YACL,KAAK;YACL,OAAO;YACP,KAAK;YACL,OAAO,CAAC,IAAI;YACZ,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,YAAY,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC;YAC/D,GAAG,CAAC,WAAW,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,iBAAiB,WAAW,EAAE,CAAC,CAAC;YAChE,IAAI;SACL,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACd,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"turbo.js","sourceRoot":"","sources":["../../../../../src/lib/monorepo/handlers/turbo.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,uBAAuB,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAE3E,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAExC,MAAM,kBAAkB,GAAG,CAAC,WAAW,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;AAMlE,MAAM,CAAC,MAAM,YAAY,GAAwB;IAC/C,IAAI,EAAE,OAAO;IAEb,KAAK,CAAC,YAAY,CAAC,OAAO;QACxB,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;QACxD,IACE,CAAC,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,MAAM,YAAY,CAAc,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,EACtE,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,SAAS,OAAO,CAAC,IAAI,2BAA2B,CAAC,CAAC;QACpE,CAAC;QAED,yDAAyD;QACzD,KAAK,MAAM,OAAO,IAAI,kBAAkB,EAAE,CAAC;YACzC,IAAI,MAAM,uBAAuB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC7D,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;gBACrD,OAAO,QAAQ;qBACZ,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,gCAAgC;qBACzF,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC;oBAC7B,IAAI;oBACJ,SAAS;oBACT,GAAG,EAAE,iBAAiB,OAAO,CAAC,IAAI,KAAK;iBACxC,CAAC,CAAC,CAAC;YACR,CAAC;QACH,CAAC;QACD,MAAM,IAAI,KAAK,CACb,wFAAwF,kBAAkB,CAAC,GAAG,CAC5G,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,CACnB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CACd,CAAC;IACJ,CAAC;IAED,oBAAoB,CAAC,OAAO,EAAE,QAAQ;QACpC,+EAA+E;QAC/E,MAAM,WAAW,GACf,OAAO,CAAC,QAAQ,KAAK,IAAI;YACvB,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,OAAO,CAAC,QAAQ,KAAK,KAAK;gBAC1B,CAAC,CAAC,CAAC;gBACH,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;QACzB,OAAO;YACL,KAAK;YACL,OAAO;YACP,KAAK;YACL,OAAO,CAAC,IAAI;YACZ,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,YAAY,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC;YAC/D,GAAG,CAAC,WAAW,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,iBAAiB,WAAW,EAAE,CAAC,CAAC;YAChE,IAAI;SACL,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACd,CAAC;CACF,CAAC"}
@@ -1,12 +1,6 @@
1
- import path from 'node:path';
2
- import { executeProcess, fileExists } from '@code-pushup/utils';
3
- import { hasCodePushUpDependency, hasScript, hasWorkspacesEnabled, listWorkspaces, } from '../packages.js';
1
+ import { executeProcess, hasCodePushUpDependency, hasScript, listWorkspaces, } from '@code-pushup/utils';
4
2
  export const yarnHandler = {
5
3
  tool: 'yarn',
6
- async isConfigured(options) {
7
- return ((await fileExists(path.join(options.cwd, 'yarn.lock'))) &&
8
- (await hasWorkspacesEnabled(options.cwd)));
9
- },
10
4
  async listProjects(options) {
11
5
  const { workspaces, rootPackageJson } = await listWorkspaces(options.cwd);
12
6
  return workspaces
@@ -1 +1 @@
1
- {"version":3,"file":"yarn.js","sourceRoot":"","sources":["../../../../../src/lib/monorepo/handlers/yarn.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,EACL,uBAAuB,EACvB,SAAS,EACT,oBAAoB,EACpB,cAAc,GACf,MAAM,gBAAgB,CAAC;AAGxB,MAAM,CAAC,MAAM,WAAW,GAAwB;IAC9C,IAAI,EAAE,MAAM;IAEZ,KAAK,CAAC,YAAY,CAAC,OAAO;QACxB,OAAO,CACL,CAAC,MAAM,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC,CAAC;YACvD,CAAC,MAAM,oBAAoB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAC1C,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,OAAO;QACxB,MAAM,EAAE,UAAU,EAAE,eAAe,EAAE,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC1E,OAAO,UAAU;aACd,MAAM,CACL,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,CAClB,SAAS,CAAC,WAAW,EAAE,OAAO,CAAC,IAAI,CAAC;YACpC,uBAAuB,CAAC,WAAW,CAAC;YACpC,uBAAuB,CAAC,eAAe,CAAC,CAC3C;aACA,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,CAAC;YAC1C,IAAI;YACJ,SAAS;YACT,GAAG,EAAE,SAAS,CAAC,WAAW,EAAE,OAAO,CAAC,IAAI,CAAC;gBACvC,CAAC,CAAC,YAAY,OAAO,CAAC,IAAI,EAAE;gBAC5B,CAAC,CAAC,aAAa,OAAO,CAAC,IAAI,EAAE;SAChC,CAAC,CAAC,CAAC;IACR,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,OAAO,EAAE,QAAQ;QAC1C,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,cAAc,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC3E,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAErC,IAAI,IAAI,EAAE,CAAC;YACT,0EAA0E;YAC1E,OAAO,uBAAuB,OAAO,CAAC,IAAI,EAAE,CAAC;QAC/C,CAAC;QAED,OAAO;YACL,MAAM;YACN,YAAY;YACZ,SAAS;YACT,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3C,GAAG,CAAC,OAAO,OAAO,CAAC,QAAQ,KAAK,QAAQ;gBACtC,CAAC,CAAC,CAAC,UAAU,OAAO,CAAC,QAAQ,EAAE,CAAC;gBAChC,CAAC,CAAC,EAAE,CAAC;YACP,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,aAAa,OAAO,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACvE,OAAO,CAAC,IAAI;SACb,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACd,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"yarn.js","sourceRoot":"","sources":["../../../../../src/lib/monorepo/handlers/yarn.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,uBAAuB,EACvB,SAAS,EACT,cAAc,GACf,MAAM,oBAAoB,CAAC;AAG5B,MAAM,CAAC,MAAM,WAAW,GAAwB;IAC9C,IAAI,EAAE,MAAM;IAEZ,KAAK,CAAC,YAAY,CAAC,OAAO;QACxB,MAAM,EAAE,UAAU,EAAE,eAAe,EAAE,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC1E,OAAO,UAAU;aACd,MAAM,CACL,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,CAClB,SAAS,CAAC,WAAW,EAAE,OAAO,CAAC,IAAI,CAAC;YACpC,uBAAuB,CAAC,WAAW,CAAC;YACpC,uBAAuB,CAAC,eAAe,CAAC,CAC3C;aACA,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,CAAC;YAC1C,IAAI;YACJ,SAAS;YACT,GAAG,EAAE,SAAS,CAAC,WAAW,EAAE,OAAO,CAAC,IAAI,CAAC;gBACvC,CAAC,CAAC,YAAY,OAAO,CAAC,IAAI,EAAE;gBAC5B,CAAC,CAAC,aAAa,OAAO,CAAC,IAAI,EAAE;SAChC,CAAC,CAAC,CAAC;IACR,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,OAAO,EAAE,QAAQ;QAC1C,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,cAAc,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC3E,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAErC,IAAI,IAAI,EAAE,CAAC;YACT,0EAA0E;YAC1E,OAAO,uBAAuB,OAAO,CAAC,IAAI,EAAE,CAAC;QAC/C,CAAC;QAED,OAAO;YACL,MAAM;YACN,YAAY;YACZ,SAAS;YACT,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3C,GAAG,CAAC,OAAO,OAAO,CAAC,QAAQ,KAAK,QAAQ;gBACtC,CAAC,CAAC,CAAC,UAAU,OAAO,CAAC,QAAQ,EAAE,CAAC;gBAChC,CAAC,CAAC,EAAE,CAAC;YACP,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,aAAa,OAAO,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACvE,OAAO,CAAC,IAAI;SACb,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACd,CAAC;CACF,CAAC"}
@@ -1,2 +1,2 @@
1
1
  export { listMonorepoProjects, type RunManyCommand } from './list-projects.js';
2
- export { isMonorepoTool, MONOREPO_TOOLS, type MonorepoTool, type ProjectConfig, } from './tools.js';
2
+ export type { ProjectConfig } from './tools.js';
@@ -1,3 +1,2 @@
1
1
  export { listMonorepoProjects } from './list-projects.js';
2
- export { isMonorepoTool, MONOREPO_TOOLS, } from './tools.js';
3
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/monorepo/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAuB,MAAM,oBAAoB,CAAC;AAC/E,OAAO,EACL,cAAc,EACd,cAAc,GAGf,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/monorepo/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAuB,MAAM,oBAAoB,CAAC"}
@@ -1,5 +1,6 @@
1
+ import { type MonorepoTool } from '@code-pushup/utils';
1
2
  import type { Settings } from '../models.js';
2
- import type { MonorepoTool, ProjectConfig } from './tools.js';
3
+ import type { ProjectConfig } from './tools.js';
3
4
  export type MonorepoProjects = {
4
5
  tool: MonorepoTool | null;
5
6
  projects: ProjectConfig[];
@@ -1,9 +1,8 @@
1
1
  import { glob } from 'glob';
2
2
  import path from 'node:path';
3
+ import { detectMonorepoTool, listPackages, } from '@code-pushup/utils';
3
4
  import { logDebug, logInfo } from '../log.js';
4
- import { detectMonorepoTool } from './detect-tool.js';
5
5
  import { getToolHandler } from './handlers/index.js';
6
- import { listPackages } from './packages.js';
7
6
  export async function listMonorepoProjects(settings) {
8
7
  const options = createMonorepoHandlerOptions(settings);
9
8
  const tool = await resolveMonorepoTool(settings, options);
@@ -44,7 +43,7 @@ async function resolveMonorepoTool(settings, options) {
44
43
  logInfo(`Using monorepo tool "${settings.monorepo}" from inputs`);
45
44
  return settings.monorepo;
46
45
  }
47
- const tool = await detectMonorepoTool(options);
46
+ const tool = await detectMonorepoTool(options.cwd);
48
47
  if (tool) {
49
48
  logInfo(`Auto-detected monorepo tool ${tool}`);
50
49
  }
@@ -1 +1 @@
1
- {"version":3,"file":"list-projects.js","sourceRoot":"","sources":["../../../../src/lib/monorepo/list-projects.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"list-projects.js","sourceRoot":"","sources":["../../../../src/lib/monorepo/list-projects.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,6 @@
1
- export declare const MONOREPO_TOOLS: readonly ["nx", "turbo", "yarn", "pnpm", "npm"];
2
- export type MonorepoTool = (typeof MONOREPO_TOOLS)[number];
1
+ import type { MonorepoTool } from '@code-pushup/utils';
3
2
  export type MonorepoToolHandler = {
4
3
  tool: MonorepoTool;
5
- isConfigured: (options: MonorepoHandlerOptions) => Promise<boolean>;
6
4
  listProjects: (options: MonorepoHandlerOptions) => Promise<ProjectConfig[]>;
7
5
  createRunManyCommand: (options: MonorepoHandlerOptions, projects: MonorepoHandlerProjectsContext) => string | Promise<string>;
8
6
  };
@@ -21,4 +19,3 @@ export type ProjectConfig = {
21
19
  bin: string;
22
20
  directory?: string;
23
21
  };
24
- export declare function isMonorepoTool(value: string): value is MonorepoTool;
@@ -1,5 +1,2 @@
1
- export const MONOREPO_TOOLS = ['nx', 'turbo', 'yarn', 'pnpm', 'npm'];
2
- export function isMonorepoTool(value) {
3
- return MONOREPO_TOOLS.includes(value);
4
- }
1
+ export {};
5
2
  //# sourceMappingURL=tools.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../../../src/lib/monorepo/tools.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAU,CAAC;AA+B9E,MAAM,UAAU,cAAc,CAAC,KAAa;IAC1C,OAAO,cAAc,CAAC,QAAQ,CAAC,KAAqB,CAAC,CAAC;AACxD,CAAC"}
1
+ {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../../../src/lib/monorepo/tools.ts"],"names":[],"mappings":""}
@@ -21,9 +21,9 @@ export declare const configPatternsSchema: z.ZodObject<{
21
21
  skipReports?: boolean | undefined;
22
22
  }>>;
23
23
  upload: z.ZodOptional<z.ZodObject<{
24
- timeout: z.ZodOptional<z.ZodNumber>;
25
24
  server: z.ZodURL;
26
25
  apiKey: z.ZodString;
26
+ timeout: z.ZodOptional<z.ZodNumber>;
27
27
  organization: z.ZodCatch<z.ZodString>;
28
28
  project: z.ZodCatch<z.ZodString>;
29
29
  }, z.core.$strip>>;
@@ -1,2 +0,0 @@
1
- import type { MonorepoHandlerOptions, MonorepoTool } from './tools.js';
2
- export declare function detectMonorepoTool(options: MonorepoHandlerOptions): Promise<MonorepoTool | null>;
@@ -1,11 +0,0 @@
1
- import { MONOREPO_TOOL_HANDLERS } from './handlers/index.js';
2
- export async function detectMonorepoTool(options) {
3
- // eslint-disable-next-line functional/no-loop-statements
4
- for (const handler of MONOREPO_TOOL_HANDLERS) {
5
- if (await handler.isConfigured(options)) {
6
- return handler.tool;
7
- }
8
- }
9
- return null;
10
- }
11
- //# sourceMappingURL=detect-tool.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"detect-tool.js","sourceRoot":"","sources":["../../../../src/lib/monorepo/detect-tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAG7D,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,OAA+B;IAE/B,yDAAyD;IACzD,KAAK,MAAM,OAAO,IAAI,sBAAsB,EAAE,CAAC;QAC7C,IAAI,MAAM,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC;YACxC,OAAO,OAAO,CAAC,IAAI,CAAC;QACtB,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -1,17 +0,0 @@
1
- import type { PackageJson } from 'type-fest';
2
- type WorkspacePackage = {
3
- name: string;
4
- directory: string;
5
- packageJson: PackageJson;
6
- };
7
- export declare function listPackages(cwd: string, patterns?: string[]): Promise<WorkspacePackage[]>;
8
- export declare function listWorkspaces(cwd: string): Promise<{
9
- workspaces: WorkspacePackage[];
10
- rootPackageJson: PackageJson;
11
- }>;
12
- export declare function hasWorkspacesEnabled(cwd: string): Promise<boolean>;
13
- export declare function readRootPackageJson(cwd: string): Promise<PackageJson>;
14
- export declare function hasDependency(packageJson: PackageJson, name: string): boolean;
15
- export declare function hasScript(packageJson: PackageJson, script: string): boolean;
16
- export declare function hasCodePushUpDependency(packageJson: PackageJson): boolean;
17
- export {};
@@ -1,50 +0,0 @@
1
- import { glob } from 'glob';
2
- import path from 'node:path';
3
- import { readJsonFile } from '@code-pushup/utils';
4
- export async function listPackages(cwd, patterns = ['**']) {
5
- const files = await glob(patterns.map(pattern => pattern.replace(/\/?$/, '/package.json')), { cwd });
6
- return Promise.all(files.toSorted().map(async (file) => {
7
- const packageJson = await readJsonFile(path.join(cwd, file));
8
- const directory = path.join(cwd, path.dirname(file));
9
- const name = packageJson.name || path.basename(directory);
10
- return { name, directory, packageJson };
11
- }));
12
- }
13
- export async function listWorkspaces(cwd) {
14
- const rootPackageJson = await readRootPackageJson(cwd);
15
- const patterns = Array.isArray(rootPackageJson.workspaces)
16
- ? rootPackageJson.workspaces
17
- : rootPackageJson.workspaces?.packages;
18
- return {
19
- workspaces: await listPackages(cwd, patterns),
20
- rootPackageJson,
21
- };
22
- }
23
- export async function hasWorkspacesEnabled(cwd) {
24
- const packageJson = await readRootPackageJson(cwd);
25
- if (!packageJson.private) {
26
- return false;
27
- }
28
- if (Array.isArray(packageJson.workspaces)) {
29
- return packageJson.workspaces.length > 0;
30
- }
31
- if (typeof packageJson.workspaces === 'object') {
32
- return Boolean(packageJson.workspaces.packages?.length);
33
- }
34
- return false;
35
- }
36
- export async function readRootPackageJson(cwd) {
37
- return await readJsonFile(path.join(cwd, 'package.json'));
38
- }
39
- export function hasDependency(packageJson, name) {
40
- const { dependencies = {}, devDependencies = {} } = packageJson;
41
- return name in devDependencies || name in dependencies;
42
- }
43
- export function hasScript(packageJson, script) {
44
- const { scripts = {} } = packageJson;
45
- return script in scripts;
46
- }
47
- export function hasCodePushUpDependency(packageJson) {
48
- return hasDependency(packageJson, '@code-pushup/cli');
49
- }
50
- //# sourceMappingURL=packages.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"packages.js","sourceRoot":"","sources":["../../../../src/lib/monorepo/packages.ts"],"names":[],"mappings":"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"}