@mxpicture/build-cli 0.2.28 → 0.2.30

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.
@@ -1,14 +1,8 @@
1
- import { Argument, Command } from "@commander-js/extra-typings";
2
- import { DepsProcessMode, DepsReplacementMode, RunRepoRootParams } from "@mxpicture/build-api/types";
3
- export declare const repoRootArgument: Argument<"[repoRoot]", string, undefined, undefined, undefined>;
4
- export declare const processModeArgument: Argument<"<mode>", undefined, undefined, undefined, DepsProcessMode>;
5
- export declare const replacementModeArgument: Argument<"<replacement>", undefined, undefined, undefined, DepsReplacementMode>;
6
- export declare const depPatternArgument: Argument<"<pattern>", undefined, undefined, undefined, undefined>;
1
+ import { Option } from "@commander-js/extra-typings";
2
+ import { DepsProcessMode, DepsReplacementMode } from "@mxpicture/build-api/types";
7
3
  export declare const resolveRoot: (repoRoot: string) => string;
4
+ export declare const repoRootOption: Option<"-r, --repoRoot <root>", undefined, string, string, false, undefined>;
5
+ export declare const processModeOption: Option<"-m, --mode <mode>", undefined, undefined, undefined, true, DepsProcessMode>;
6
+ export declare const replacementModeOption: Option<"-n, --replacement <replacementMode>", undefined, undefined, undefined, true, DepsReplacementMode>;
7
+ export declare const depPatternOption: Option<"-p, --pattern <pattern>", undefined, undefined, undefined, true, undefined>;
8
8
  export declare const readVersion: () => string;
9
- export declare const createRepoRootCommand: (p: {
10
- prog: Command;
11
- name: string;
12
- description: string;
13
- run: (params: RunRepoRootParams) => Promise<void>;
14
- }) => void;
@@ -1,39 +1,19 @@
1
- import { Argument } from "@commander-js/extra-typings";
1
+ import { Option } from "@commander-js/extra-typings";
2
2
  import { DepsProcessMode, DepsReplacementMode, } from "@mxpicture/build-api/types";
3
3
  import { dirname, isAbsolute, resolve } from "node:path";
4
4
  import { cwd } from "node:process";
5
5
  import { fileURLToPath } from "node:url";
6
6
  import { readPackageJsonSync } from "@mxpicture/build-api/pkg";
7
7
  const __dirname = dirname(fileURLToPath(import.meta.url));
8
- export const repoRootArgument = new Argument("[repoRoot]", "Repo root path").default(cwd());
9
- // export const workspacesNameArgument = new Argument(
10
- // "[workspacesName]",
11
- // "Name of workspaces location",
12
- // ).default("packages");
13
- export const processModeArgument = new Argument("<mode>", "Process mode").choices(Object.values(DepsProcessMode));
14
- export const replacementModeArgument = new Argument("<replacement>", "Replacement mode").choices(Object.values(DepsReplacementMode));
15
- export const depPatternArgument = new Argument("<pattern>", "Dependency pattern");
16
8
  export const resolveRoot = (repoRoot) => isAbsolute(repoRoot) ? repoRoot : resolve(cwd(), repoRoot);
9
+ export const repoRootOption = new Option("-r, --repoRoot <root>", "Repo root path")
10
+ .default(cwd())
11
+ .argParser(resolveRoot);
12
+ export const processModeOption = new Option("-m, --mode <mode>", "Process mode")
13
+ .choices(Object.values(DepsProcessMode))
14
+ .makeOptionMandatory(true);
15
+ export const replacementModeOption = new Option("-n, --replacement <replacementMode>", "Replacement mode")
16
+ .choices(Object.values(DepsReplacementMode))
17
+ .makeOptionMandatory(true);
18
+ export const depPatternOption = new Option("-p, --pattern <pattern>", "Dependency pattern").makeOptionMandatory(true);
17
19
  export const readVersion = () => readPackageJsonSync(resolve(__dirname, "../package.json")).version;
18
- export const createRepoRootCommand = (p) => {
19
- p.prog
20
- .command(p.name)
21
- .description(p.description)
22
- .addArgument(repoRootArgument)
23
- .action(async (repoRoot) => p.run({ repoRoot }));
24
- };
25
- // export const createPackagesCommand = (p: {
26
- // prog: Command;
27
- // name: string;
28
- // description: string;
29
- // run: (params: RunPackagesDirParams) => Promise<void>;
30
- // }) => {
31
- // p.prog
32
- // .command(p.name)
33
- // .description(p.description)
34
- // .addArgument(repoRootArgument)
35
- // .addArgument(workspacesNameArgument)
36
- // .action(async (repoRoot, workspacesName) =>
37
- // p.run(packagesMap(repoRoot, workspacesName)),
38
- // );
39
- // };
package/dist/cli.js CHANGED
@@ -6,54 +6,43 @@ import { runFixDeps } from "@mxpicture/build-api/deps";
6
6
  import { runNpmPublisher } from "@mxpicture/build-api/npmPublish";
7
7
  import { consoleLogger, initLogger } from "@mxpicture/build-api/logger";
8
8
  import { runBarrel } from "@mxpicture/build-api/barrel";
9
- import { createRepoRootCommand, depPatternArgument, processModeArgument, readVersion, replacementModeArgument, repoRootArgument, resolveRoot, } from "./cli.common.js";
9
+ import { depPatternOption, processModeOption, readVersion, replacementModeOption, repoRootOption, } from "./cli.common.js";
10
10
  import { runSyncPkgVersion, runUpdatePackages } from "@mxpicture/build-api/pkg";
11
11
  initLogger(consoleLogger);
12
12
  program.name("build-cli").version(readVersion()).description("Build CLI");
13
- createRepoRootCommand({
14
- name: "cleanup",
15
- description: "Cleanup e.g. node_modules and dist",
16
- prog: program,
17
- run: runCleanup,
18
- });
13
+ program
14
+ .command("cleanup")
15
+ .description("Cleanup e.g. node_modules and dist")
16
+ .addOption(repoRootOption)
17
+ .action(runCleanup);
19
18
  program
20
19
  .command("deps")
21
20
  .description("Manipulate dependencies for deployment (publish)")
22
- .addArgument(processModeArgument)
23
- .addArgument(replacementModeArgument)
24
- .addArgument(repoRootArgument)
25
- .action(async (mode, replacement, repoRoot) => runFixDeps({
26
- repoRoot: resolveRoot(repoRoot),
27
- mode,
28
- replacement,
29
- }));
30
- createRepoRootCommand({
31
- name: "npm-publish",
32
- description: "Publish to npmjs",
33
- prog: program,
34
- run: runNpmPublisher,
35
- });
36
- createRepoRootCommand({
37
- name: "barrel",
38
- description: "Create barrel files",
39
- prog: program,
40
- run: runBarrel,
41
- });
42
- createRepoRootCommand({
43
- name: "sync-versions",
44
- description: "Sync package.json versions",
45
- prog: program,
46
- run: runSyncPkgVersion,
47
- });
21
+ .addOption(repoRootOption)
22
+ .addOption(processModeOption)
23
+ .addOption(replacementModeOption)
24
+ .action(runFixDeps);
25
+ program
26
+ .command("npm-publish")
27
+ .description("Publish to npmjs")
28
+ .addOption(repoRootOption)
29
+ .action(runNpmPublisher);
30
+ program
31
+ .command("barrel")
32
+ .description("Create barrel files")
33
+ .addOption(repoRootOption)
34
+ .action(runBarrel);
35
+ program
36
+ .command("sync-versions")
37
+ .description("Sync package.json versions")
38
+ .addOption(repoRootOption)
39
+ .action(runSyncPkgVersion);
48
40
  program
49
41
  .command("update-packages")
50
42
  .description("Update specific packages in whole repo")
51
- .addArgument(depPatternArgument)
52
- .addArgument(repoRootArgument)
53
- .action(async (pattern, repoRoot) => runUpdatePackages({
54
- repoRoot: resolveRoot(repoRoot),
55
- pattern,
56
- }));
43
+ .addOption(depPatternOption)
44
+ .addOption(repoRootOption)
45
+ .action(runUpdatePackages);
57
46
  // program
58
47
  // .command("extract-imports")
59
48
  // .description("Extract Typescript Imports")
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mxpicture/build-cli",
3
- "version": "0.2.28",
3
+ "version": "0.2.30",
4
4
  "description": "Build utilities CLI",
5
5
  "type": "module",
6
6
  "author": "MXPicture",
@@ -33,11 +33,11 @@
33
33
  "access": "public"
34
34
  },
35
35
  "dependencies": {
36
- "@mxpicture/build-api": "^0.2.28",
36
+ "@commander-js/extra-typings": "^14.0.0",
37
+ "@mxpicture/build-api": "^0.2.30",
37
38
  "commander": "^14.0.3"
38
39
  },
39
40
  "devDependencies": {
40
- "@commander-js/extra-typings": "^14.0.0",
41
41
  "@types/node": "^25.2.3",
42
42
  "eslint": "^9.39.3",
43
43
  "typescript": "^5.9.3"