@code-pushup/create-cli 0.118.0 → 0.119.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -16,11 +16,14 @@ The wizard will prompt you to select plugins and configure their options, then g
16
16
 
17
17
  ## Options
18
18
 
19
- | Flag | Description | Default |
20
- | ------------- | -------------------------------------- | ------- |
21
- | `--plugins` | Comma-separated plugin slugs to enable | |
22
- | `--dry-run` | Preview changes without writing files | `false` |
23
- | `--yes`, `-y` | Skip prompts and use defaults | `false` |
19
+ | Option | Type | Default | Description |
20
+ | --------------------- | ------------------------------------ | ------------- | -------------------------------------- |
21
+ | **`--plugins`** | `string[]` | | Comma-separated plugin slugs to enable |
22
+ | **`--config-format`** | `'ts'` \| `'js'` \| `'mjs'` | auto-detected | Config file format |
23
+ | **`--mode`** | `'standalone'` \| `'monorepo'` | auto-detected | Setup mode |
24
+ | **`--ci`** | `'github'` \| `'gitlab'` \| `'none'` | | CI/CD integration |
25
+ | **`--dry-run`** | `boolean` | `false` | Preview changes without writing files |
26
+ | **`--yes`**, `-y` | `boolean` | `false` | Skip prompts and use defaults |
24
27
 
25
28
  ### Examples
26
29
 
@@ -36,6 +39,12 @@ Skip prompts and enable specific plugins:
36
39
  npm init @code-pushup/cli -y --plugins=eslint,coverage
37
40
  ```
38
41
 
42
+ Set up a monorepo with GitHub CI integration:
43
+
44
+ ```bash
45
+ npm init @code-pushup/cli --mode=monorepo --ci=github
46
+ ```
47
+
39
48
  Preview the generated config without writing:
40
49
 
41
50
  ```bash
package/bin.js ADDED
@@ -0,0 +1,11 @@
1
+ #!/usr/bin/env node
2
+
3
+ /**
4
+ * This file serves as the CLI entry point.
5
+ *
6
+ * We use a separate bin file (instead of pointing directly to src/index.js)
7
+ * because TypeScript build processes don't preserve file permissions.
8
+ * By tracking this file in git with executable permissions (+x), we ensure
9
+ * the CLI remains executable after npm publish without needing post-install scripts.
10
+ */
11
+ import './src/index.js';
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "@code-pushup/create-cli",
3
- "version": "0.118.0",
3
+ "version": "0.119.1",
4
4
  "license": "MIT",
5
- "bin": "index.js",
5
+ "bin": "./bin.js",
6
6
  "homepage": "https://github.com/code-pushup/cli/tree/main/packages/create-cli#readme",
7
7
  "bugs": {
8
8
  "url": "https://github.com/code-pushup/cli/issues?q=is%3Aissue%20state%3Aopen%20type%3ABug%20label%3A\"🧩%20create-cli\""
@@ -26,8 +26,8 @@
26
26
  },
27
27
  "type": "module",
28
28
  "dependencies": {
29
- "@code-pushup/models": "0.118.0",
30
- "@code-pushup/utils": "0.118.0",
29
+ "@code-pushup/models": "0.119.1",
30
+ "@code-pushup/utils": "0.119.1",
31
31
  "@inquirer/prompts": "^8.0.0",
32
32
  "yaml": "^2.5.1",
33
33
  "yargs": "^17.7.2"
package/src/index.js CHANGED
File without changes
@@ -1,5 +1,5 @@
1
1
  import path from 'node:path';
2
- import { toUnixPath } from '@code-pushup/utils';
2
+ import { mergeCategoriesBySlug, singleQuote, toUnixPath, } from '@code-pushup/utils';
3
3
  const CORE_CONFIG_IMPORT = {
4
4
  moduleSpecifier: '@code-pushup/models',
5
5
  namedImports: ['CoreConfig'],
@@ -28,12 +28,14 @@ export function generateConfigSource(plugins, format) {
28
28
  if (format === 'ts') {
29
29
  builder.addLine('export default {');
30
30
  addPlugins(builder, plugins);
31
+ addCategories(builder, plugins);
31
32
  builder.addLine('} satisfies CoreConfig;');
32
33
  }
33
34
  else {
34
35
  builder.addLine("/** @type {import('@code-pushup/models').CoreConfig} */");
35
36
  builder.addLine('export default {');
36
37
  addPlugins(builder, plugins);
38
+ addCategories(builder, plugins);
37
39
  builder.addLine('};');
38
40
  }
39
41
  return builder.toString();
@@ -114,7 +116,34 @@ function addPresetExport(builder, plugins, format) {
114
116
  }
115
117
  builder.addLine('return {', 1);
116
118
  addPlugins(builder, plugins, 2);
119
+ addCategories(builder, plugins, 2);
117
120
  builder.addLine('};', 1);
118
121
  builder.addLine('}');
119
122
  }
123
+ function addCategories(builder, plugins, depth = 1) {
124
+ const categories = mergeCategoriesBySlug(plugins.flatMap(p => p.categories ?? []));
125
+ if (categories.length === 0) {
126
+ return;
127
+ }
128
+ builder.addLine('categories: [', depth);
129
+ categories.forEach(({ slug, title, description, docsUrl, refs }) => {
130
+ builder.addLine('{', depth + 1);
131
+ builder.addLine(`slug: '${slug}',`, depth + 2);
132
+ builder.addLine(`title: ${singleQuote(title)},`, depth + 2);
133
+ if (description) {
134
+ builder.addLine(`description: ${singleQuote(description)},`, depth + 2);
135
+ }
136
+ if (docsUrl) {
137
+ builder.addLine(`docsUrl: ${singleQuote(docsUrl)},`, depth + 2);
138
+ }
139
+ builder.addLine('refs: [', depth + 2);
140
+ builder.addLines(refs.map(formatCategoryRef), depth + 3);
141
+ builder.addLine('],', depth + 2);
142
+ builder.addLine('},', depth + 1);
143
+ });
144
+ builder.addLine('],', depth);
145
+ }
146
+ function formatCategoryRef(ref) {
147
+ return `{ type: '${ref.type}', plugin: '${ref.plugin}', slug: '${ref.slug}', weight: ${ref.weight} },`;
148
+ }
120
149
  //# sourceMappingURL=codegen.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"codegen.js","sourceRoot":"","sources":["../../../../src/lib/setup/codegen.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"codegen.js","sourceRoot":"","sources":["../../../../src/lib/setup/codegen.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { select } from '@inquirer/prompts';
2
+ import { createRequire } from 'node:module';
2
3
  import path from 'node:path';
3
- import { MONOREPO_TOOL_DETECTORS, detectMonorepoTool, hasScript, listPackages, listWorkspaces, loadNxProjectGraph, logger, readPnpmWorkspacePatterns, toUnixPath, } from '@code-pushup/utils';
4
+ import { MONOREPO_TOOL_DETECTORS, detectMonorepoTool, hasScript, listPackages, listWorkspaces, logger, readPnpmWorkspacePatterns, stringifyError, toUnixPath, } from '@code-pushup/utils';
4
5
  const TASK_NAME = 'code-pushup';
5
6
  export async function promptSetupMode(targetDir, cliArgs) {
6
7
  switch (cliArgs.mode) {
@@ -51,7 +52,9 @@ export async function listProjects(cwd, tool) {
51
52
  }
52
53
  }
53
54
  async function listNxProjects(cwd) {
54
- const graph = await loadNxProjectGraph();
55
+ const require = createRequire(path.join(cwd, 'package.json'));
56
+ const { readCachedProjectGraph, createProjectGraphAsync } = require('@nx/devkit');
57
+ const graph = await loadProjectGraph(readCachedProjectGraph, createProjectGraphAsync);
55
58
  return Object.values(graph.nodes).map(({ name, data }) => ({
56
59
  name,
57
60
  directory: path.join(cwd, data.root),
@@ -89,7 +92,7 @@ async function addNxTarget(tree, project) {
89
92
  return false;
90
93
  }
91
94
  const config = JSON.parse(raw);
92
- if (config.targets[TASK_NAME] != null) {
95
+ if (config.targets?.[TASK_NAME] != null) {
93
96
  return true;
94
97
  }
95
98
  const updated = {
@@ -131,4 +134,13 @@ function toProject(cwd, pkg) {
131
134
  relativeDir: toUnixPath(path.relative(cwd, pkg.directory)),
132
135
  };
133
136
  }
137
+ async function loadProjectGraph(readCached, createAsync) {
138
+ try {
139
+ return readCached();
140
+ }
141
+ catch (error) {
142
+ logger.warn(`Could not read cached project graph, falling back to async creation.\n${stringifyError(error)}`);
143
+ return createAsync({ exitOnError: false });
144
+ }
145
+ }
134
146
  //# sourceMappingURL=monorepo.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"monorepo.js","sourceRoot":"","sources":["../../../../src/lib/setup/monorepo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EACL,uBAAuB,EAGvB,kBAAkB,EAClB,SAAS,EACT,YAAY,EACZ,cAAc,EACd,kBAAkB,EAClB,MAAM,EACN,yBAAyB,EACzB,UAAU,GACX,MAAM,oBAAoB,CAAC;AAS5B,MAAM,SAAS,GAAG,aAAa,CAAC;AAEhC,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,SAAiB,EACjB,OAAgB;IAEhB,QAAQ,OAAO,CAAC,IAAI,EAAE,CAAC;QACrB,KAAK,YAAY;YACf,OAAO,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACvC,KAAK,UAAU,CAAC,CAAC,CAAC;YAChB,MAAM,IAAI,GAAG,MAAM,kBAAkB,CAAC,SAAS,CAAC,CAAC;YACjD,OAAO,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACvC,CAAC;QACD,KAAK,SAAS,CAAC,CAAC,CAAC;YACf,MAAM,IAAI,GAAG,MAAM,kBAAkB,CAAC,SAAS,CAAC,CAAC;YACjD,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC;YACpE,OAAO,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;AACH,CAAC;AAED,KAAK,UAAU,UAAU,CAAC,IAAyB;IACjD,OAAO,MAAM,CAAY;QACvB,OAAO,EAAE,aAAa;QACtB,OAAO,EAAE;YACP,EAAE,IAAI,EAAE,4BAA4B,EAAE,KAAK,EAAE,YAAY,EAAE;YAC3D,EAAE,IAAI,EAAE,gCAAgC,EAAE,KAAK,EAAE,UAAU,EAAE;SAC9D;QACD,OAAO,EAAE,SAAS,CAAC,IAAI,CAAC;KACzB,CAAC,CAAC;AACL,CAAC;AAED,SAAS,SAAS,CAAC,IAAyB;IAC1C,OAAO,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC;AAC1C,CAAC;AAED,SAAS,SAAS,CAAC,IAAe,EAAE,IAAyB;IAC3D,IAAI,IAAI,KAAK,UAAU,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;QACxC,MAAM,CAAC,IAAI,CAAC,6DAA6D,CAAC,CAAC;QAC3E,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAC5C,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;AACxB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,GAAW,EACX,IAAkB;IAElB,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,IAAI;YACP,OAAO,cAAc,CAAC,GAAG,CAAC,CAAC;QAC7B,KAAK,MAAM;YACT,OAAO,gBAAgB,CAAC,GAAG,CAAC,CAAC;QAC/B,KAAK,OAAO;YACV,OAAO,iBAAiB,CAAC,GAAG,CAAC,CAAC;QAChC,KAAK,MAAM,CAAC;QACZ,KAAK,KAAK;YACR,OAAO,qBAAqB,CAAC,GAAG,CAAC,CAAC;IACtC,CAAC;AACH,CAAC;AAED,KAAK,UAAU,cAAc,CAAC,GAAW;IACvC,MAAM,KAAK,GAAG,MAAM,kBAAkB,EAAE,CAAC;IACzC,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;QACzD,IAAI;QACJ,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC;QACpC,WAAW,EAAE,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC;KACnC,CAAC,CAAC,CAAC;AACN,CAAC;AAED,KAAK,UAAU,gBAAgB,CAAC,GAAW;IACzC,MAAM,QAAQ,GAAG,MAAM,yBAAyB,CAAC,GAAG,CAAC,CAAC;IACtD,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IACnD,OAAO,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;AAClD,CAAC;AAED,KAAK,UAAU,iBAAiB,CAAC,GAAW;IAC1C,IAAI,MAAM,uBAAuB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QAC5C,OAAO,gBAAgB,CAAC,GAAG,CAAC,CAAC;IAC/B,CAAC;IACD,OAAO,qBAAqB,CAAC,GAAG,CAAC,CAAC;AACpC,CAAC;AAED,KAAK,UAAU,qBAAqB,CAAC,GAAW;IAC9C,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,cAAc,CAAC,GAAG,CAAC,CAAC;IACjD,OAAO,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;AACpD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,IAAU,EACV,OAAsB,EACtB,IAAyB;IAEzB,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;QAClB,MAAM,KAAK,GAAG,MAAM,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC/C,IAAI,KAAK,EAAE,CAAC;YACV,OAAO;QACT,CAAC;IACH,CAAC;IACD,MAAM,oBAAoB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AAC5C,CAAC;AAED,KAAK,UAAU,WAAW,CACxB,IAAU,EACV,OAAsB;IAEtB,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC,CAAC;IAC5E,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACtC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAChB,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC/B,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,IAAI,EAAE,CAAC;QACtC,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,OAAO,GAAG;QACd,GAAG,MAAM;QACT,OAAO,EAAE;YACP,GAAG,MAAM,CAAC,OAAO;YACjB,CAAC,SAAS,CAAC,EAAE;gBACX,QAAQ,EAAE,iBAAiB;gBAC3B,OAAO,EAAE,EAAE,OAAO,EAAE,iBAAiB,EAAE;aACxC;SACF;KACF,CAAC;IACF,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;IACpE,OAAO,IAAI,CAAC;AACd,CAAC;AAED,KAAK,UAAU,oBAAoB,CACjC,IAAU,EACV,OAAsB;IAEtB,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC,CAAC;IAC5E,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACtC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAChB,OAAO;IACT,CAAC;IACD,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACpC,IAAI,SAAS,CAAC,WAAW,EAAE,SAAS,CAAC,EAAE,CAAC;QACtC,OAAO;IACT,CAAC;IACD,MAAM,OAAO,GAAG;QACd,GAAG,WAAW;QACd,OAAO,EAAE;YACP,GAAG,WAAW,CAAC,OAAO;YACtB,CAAC,SAAS,CAAC,EAAE,aAAa;SAC3B;KACF,CAAC;IACF,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;AACtE,CAAC;AAED,SAAS,SAAS,CAAC,GAAW,EAAE,GAAqB;IACnD,OAAO;QACL,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,SAAS,EAAE,GAAG,CAAC,SAAS;QACxB,WAAW,EAAE,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;KAC3D,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"monorepo.js","sourceRoot":"","sources":["../../../../src/lib/setup/monorepo.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { PluginMeta } from '@code-pushup/models';
1
+ import type { CategoryConfig, PluginMeta } from '@code-pushup/models';
2
2
  import type { MonorepoTool } from '@code-pushup/utils';
3
3
  export declare const CI_PROVIDERS: readonly ["github", "gitlab", "none"];
4
4
  export type CiProvider = (typeof CI_PROVIDERS)[number];
@@ -52,6 +52,7 @@ export type ImportDeclarationStructure = {
52
52
  export type PluginCodegenResult = {
53
53
  imports: ImportDeclarationStructure[];
54
54
  pluginInit: string;
55
+ categories?: CategoryConfig[];
55
56
  };
56
57
  export type ScopedPluginResult = {
57
58
  scope: PluginScope;