@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 +4 -4
- package/src/index.d.ts +0 -1
- package/src/index.js +0 -1
- package/src/index.js.map +1 -1
- package/src/lib/models.d.ts +1 -1
- package/src/lib/monorepo/handlers/index.d.ts +2 -1
- package/src/lib/monorepo/handlers/index.js.map +1 -1
- package/src/lib/monorepo/handlers/npm.js +1 -7
- package/src/lib/monorepo/handlers/npm.js.map +1 -1
- package/src/lib/monorepo/handlers/nx.js +11 -11
- package/src/lib/monorepo/handlers/nx.js.map +1 -1
- package/src/lib/monorepo/handlers/pnpm.js +3 -12
- package/src/lib/monorepo/handlers/pnpm.js.map +1 -1
- package/src/lib/monorepo/handlers/turbo.js +6 -7
- package/src/lib/monorepo/handlers/turbo.js.map +1 -1
- package/src/lib/monorepo/handlers/yarn.js +1 -7
- package/src/lib/monorepo/handlers/yarn.js.map +1 -1
- package/src/lib/monorepo/index.d.ts +1 -1
- package/src/lib/monorepo/index.js +0 -1
- package/src/lib/monorepo/index.js.map +1 -1
- package/src/lib/monorepo/list-projects.d.ts +2 -1
- package/src/lib/monorepo/list-projects.js +2 -3
- package/src/lib/monorepo/list-projects.js.map +1 -1
- package/src/lib/monorepo/tools.d.ts +1 -4
- package/src/lib/monorepo/tools.js +1 -4
- package/src/lib/monorepo/tools.js.map +1 -1
- package/src/lib/schemas.d.ts +1 -1
- package/src/lib/monorepo/detect-tool.d.ts +0 -2
- package/src/lib/monorepo/detect-tool.js +0 -11
- package/src/lib/monorepo/detect-tool.js.map +0 -1
- package/src/lib/monorepo/packages.d.ts +0 -17
- package/src/lib/monorepo/packages.js +0 -50
- package/src/lib/monorepo/packages.js.map +0 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@code-pushup/ci",
|
|
3
|
-
"version": "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.
|
|
29
|
+
"@code-pushup/models": "0.118.0",
|
|
30
30
|
"@code-pushup/portal-client": "^0.17.0",
|
|
31
|
-
"@code-pushup/utils": "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
|
-
"
|
|
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,
|
|
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"}
|
package/src/lib/models.d.ts
CHANGED
|
@@ -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
|
|
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":"
|
|
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
|
|
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,
|
|
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
|
|
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,
|
|
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
|
|
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
|
|
14
|
-
const
|
|
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,
|
|
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 {
|
|
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.
|
|
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,
|
|
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
|
|
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,
|
|
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
|
|
2
|
+
export type { ProjectConfig } from './tools.js';
|
|
@@ -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
|
|
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 {
|
|
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":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,
|
|
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
|
-
|
|
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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../../../../src/lib/monorepo/tools.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../../../../src/lib/monorepo/tools.ts"],"names":[],"mappings":""}
|
package/src/lib/schemas.d.ts
CHANGED
|
@@ -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,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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"}
|