@jonloucks/badges-ts 1.3.0 → 1.4.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.
Files changed (79) hide show
  1. package/README.md +2 -0
  2. package/api/Badge.d.ts +8 -0
  3. package/api/Badge.d.ts.map +1 -1
  4. package/api/Coverage.d.ts +8 -0
  5. package/api/Coverage.d.ts.map +1 -0
  6. package/api/Coverage.js +2 -0
  7. package/api/Coverage.js.map +1 -0
  8. package/api/Installer.d.ts +8 -0
  9. package/api/Installer.d.ts.map +1 -1
  10. package/api/Project.d.ts +4 -0
  11. package/api/Project.d.ts.map +1 -1
  12. package/api/Types.d.ts +21 -0
  13. package/api/Types.d.ts.map +1 -1
  14. package/api/Types.js.map +1 -1
  15. package/api/Variances.d.ts +19 -1
  16. package/api/Variances.d.ts.map +1 -1
  17. package/api/Variances.js +83 -12
  18. package/api/Variances.js.map +1 -1
  19. package/auxiliary/Command.d.ts +12 -8
  20. package/auxiliary/Command.d.ts.map +1 -1
  21. package/auxiliary/DiscoverCoverage.d.ts +27 -0
  22. package/auxiliary/DiscoverCoverage.d.ts.map +1 -0
  23. package/auxiliary/DiscoverCoverage.js +18 -0
  24. package/auxiliary/DiscoverCoverage.js.map +1 -0
  25. package/cli.d.ts.map +1 -1
  26. package/cli.js +21 -50
  27. package/cli.js.map +1 -1
  28. package/impl/Command.impl.d.ts.map +1 -1
  29. package/impl/Command.impl.js +8 -7
  30. package/impl/Command.impl.js.map +1 -1
  31. package/impl/DiscoverCoverage.impl.d.ts +15 -0
  32. package/impl/DiscoverCoverage.impl.d.ts.map +1 -0
  33. package/impl/DiscoverCoverage.impl.js +188 -0
  34. package/impl/DiscoverCoverage.impl.js.map +1 -0
  35. package/impl/DiscoverProject.impl.d.ts +5 -0
  36. package/impl/DiscoverProject.impl.d.ts.map +1 -1
  37. package/impl/DiscoverProject.impl.js +11 -17
  38. package/impl/DiscoverProject.impl.js.map +1 -1
  39. package/impl/Installer.impl.d.ts.map +1 -1
  40. package/impl/Installer.impl.js +3 -0
  41. package/impl/Installer.impl.js.map +1 -1
  42. package/impl/Internal.impl.d.ts +1 -0
  43. package/impl/Internal.impl.d.ts.map +1 -1
  44. package/impl/Internal.impl.js +5 -1
  45. package/impl/Internal.impl.js.map +1 -1
  46. package/impl/apply-version-command.js +1 -13
  47. package/impl/apply-version-command.js.map +1 -1
  48. package/impl/coverage-gate-command.d.ts +8 -0
  49. package/impl/coverage-gate-command.d.ts.map +1 -0
  50. package/impl/coverage-gate-command.js +59 -0
  51. package/impl/coverage-gate-command.js.map +1 -0
  52. package/impl/coverage-report-command.d.ts +3 -0
  53. package/impl/coverage-report-command.d.ts.map +1 -0
  54. package/impl/coverage-report-command.js +294 -0
  55. package/impl/coverage-report-command.js.map +1 -0
  56. package/impl/discover-command.d.ts +5 -5
  57. package/impl/discover-command.d.ts.map +1 -1
  58. package/impl/discover-command.js +31 -11
  59. package/impl/discover-command.js.map +1 -1
  60. package/impl/generate-command.d.ts.map +1 -1
  61. package/impl/generate-command.js +8 -188
  62. package/impl/generate-command.js.map +1 -1
  63. package/impl/help-command.d.ts +7 -0
  64. package/impl/help-command.d.ts.map +1 -0
  65. package/impl/help-command.js +24 -0
  66. package/impl/help-command.js.map +1 -0
  67. package/impl/version-command.d.ts +7 -0
  68. package/impl/version-command.d.ts.map +1 -0
  69. package/impl/version-command.js +15 -0
  70. package/impl/version-command.js.map +1 -0
  71. package/index.d.ts +1 -2
  72. package/index.d.ts.map +1 -1
  73. package/index.js.map +1 -1
  74. package/package.json +11 -7
  75. package/version.js +1 -1
  76. package/api/Badges.d.ts +0 -10
  77. package/api/Badges.d.ts.map +0 -1
  78. package/api/Badges.js +0 -2
  79. package/api/Badges.js.map +0 -1
package/README.md CHANGED
@@ -48,6 +48,8 @@ This updates `src/version.ts` and creates release notes for the current package
48
48
  - `badges-ts discover` — Reads project metadata from `package.json`.
49
49
  - `badges-ts generate` — Generates npm, coverage, and typedoc badges.
50
50
  - `badges-ts apply-version` — Writes `src/version.ts` and creates release-notes file from template.
51
+ - `badges-ts badges-ts coverage-report` — Generates code coverage report.
52
+ - `badges-ts badges-ts coverage-gate` — Validates code coverage gates.
51
53
  - `badges-ts version` — Prints CLI version.
52
54
  - `badges-ts help` — Prints usage.
53
55
 
package/api/Badge.d.ts CHANGED
@@ -1,4 +1,8 @@
1
1
  import { Display, Flags } from "@jonloucks/badges-ts/api/Types";
2
+ /**
3
+ * Interface representing the configuration for creating a badge.
4
+ * This includes properties such as the name of the badge, paths for the template and output, label and value for the badge, color, and any flags or display options that may influence how the badge is generated or displayed.
5
+ */
2
6
  export interface Config {
3
7
  name: string;
4
8
  templatePath: string;
@@ -9,6 +13,10 @@ export interface Config {
9
13
  flags: Flags;
10
14
  display: Display;
11
15
  }
16
+ /**
17
+ * Interface representing a badge that has been generated, including its name and the output path where it is saved.
18
+ * This interface is used to represent the result of a badge creation process, allowing for easy access to the badge's identifying information and location on the filesystem.
19
+ */
12
20
  export interface Badge {
13
21
  name: string;
14
22
  outputPath: string;
@@ -1 +1 @@
1
- {"version":3,"file":"Badge.d.ts","sourceRoot":"","sources":["../../src/api/Badge.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,gCAAgC,CAAC;AAEhE,MAAM,WAAW,MAAM;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,KAAK,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,KAAK;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;CACpB"}
1
+ {"version":3,"file":"Badge.d.ts","sourceRoot":"","sources":["../../src/api/Badge.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,gCAAgC,CAAC;AAEhE;;;GAGG;AACH,MAAM,WAAW,MAAM;IAErB,IAAI,EAAE,MAAM,CAAC;IAEb,YAAY,EAAE,MAAM,CAAC;IAErB,UAAU,EAAE,MAAM,CAAC;IAEnB,KAAK,EAAE,MAAM,CAAC;IAEd,KAAK,EAAE,MAAM,CAAC;IAEd,KAAK,EAAE,MAAM,CAAC;IAEd,KAAK,EAAE,KAAK,CAAC;IAEb,OAAO,EAAE,OAAO,CAAC;CAClB;AAED;;;GAGG;AACH,MAAM,WAAW,KAAK;IAEpB,IAAI,EAAE,MAAM,CAAC;IAEb,UAAU,EAAE,MAAM,CAAC;CACpB"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Represents the code coverage information for a project.
3
+ * The percentage property indicates the overall code coverage as a percentage value.
4
+ */
5
+ export interface Coverage {
6
+ percentage: number;
7
+ }
8
+ //# sourceMappingURL=Coverage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Coverage.d.ts","sourceRoot":"","sources":["../../src/api/Coverage.ts"],"names":[],"mappings":"AACA;;;GAGG;AACH,MAAM,WAAW,QAAQ;IAGvB,UAAU,EAAE,MAAM,CAAC;CACpB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=Coverage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Coverage.js","sourceRoot":"","sources":["../../src/api/Coverage.ts"],"names":[],"mappings":""}
@@ -1,7 +1,15 @@
1
1
  import type { Contracts } from "@jonloucks/contracts-ts";
2
2
  import type { Open } from "@jonloucks/contracts-ts/api/Open";
3
+ /**
4
+ * Interface representing the Installer, which is responsible for setting up the necessary components and dependencies for the badges-ts CLI to function properly.
5
+ */
3
6
  export interface Config {
4
7
  contracts?: Contracts;
5
8
  }
9
+ /**
10
+ * The Installer interface defines the contract for an installer that can be opened to set up the necessary components and dependencies for the badges-ts CLI.
11
+ * It extends the AutoOpen interface, allowing it to be used in contexts where automatic opening and closing of resources is desired.
12
+ * Implementations of this interface should provide the logic for initializing the required components and managing their lifecycle, ensuring that resources are properly released when no longer needed.
13
+ */
6
14
  export type { Open as Installer };
7
15
  //# sourceMappingURL=Installer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Installer.d.ts","sourceRoot":"","sources":["../../src/api/Installer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kCAAkC,CAAC;AAE7D,MAAM,WAAW,MAAM;IACrB,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB;AAED,YAAY,EAAE,IAAI,IAAI,SAAS,EAAE,CAAC"}
1
+ {"version":3,"file":"Installer.d.ts","sourceRoot":"","sources":["../../src/api/Installer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kCAAkC,CAAC;AAE7D;;GAEG;AACH,MAAM,WAAW,MAAM;IACrB,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB;AAED;;;;GAIG;AACH,YAAY,EAAE,IAAI,IAAI,SAAS,EAAE,CAAC"}
package/api/Project.d.ts CHANGED
@@ -1,3 +1,7 @@
1
+ /**
2
+ * Interface representing a project, including its name, version, and optional repository information.
3
+ * This interface is used to define the structure of a project object that can be utilized in various contexts within the badges-ts CLI, such as when generating badges or managing project metadata.
4
+ */
1
5
  export interface Project {
2
6
  name: string;
3
7
  version: string;
@@ -1 +1 @@
1
- {"version":3,"file":"Project.d.ts","sourceRoot":"","sources":["../../src/api/Project.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,OAAO;IAEtB,IAAI,EAAE,MAAM,CAAC;IAEb,OAAO,EAAE,MAAM,CAAC;IAEhB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB"}
1
+ {"version":3,"file":"Project.d.ts","sourceRoot":"","sources":["../../src/api/Project.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,WAAW,OAAO;IAGtB,IAAI,EAAE,MAAM,CAAC;IAGb,OAAO,EAAE,MAAM,CAAC;IAGhB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB"}
package/api/Types.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ import { Environment } from "@jonloucks/variants-ts/api/Environment";
1
2
  export type { OptionalType, RequiredType } from "@jonloucks/contracts-ts/api/Types";
2
3
  export { guardFunctions, isNotPresent, isNumber, isPresent, isString } from "@jonloucks/contracts-ts/api/Types";
3
4
  /**
@@ -22,6 +23,11 @@ export declare const MIN_TIMEOUT: Duration;
22
23
  * The maximum timeout duration
23
24
  */
24
25
  export declare const MAX_TIMEOUT: Duration;
26
+ /**
27
+ * Display interface representing the various logging levels and output methods available for use within the badges-ts CLI.
28
+ * This interface defines methods for logging messages at different levels (error, info, warn, trace, dry) to provide feedback and information to the user during command execution.
29
+ * Implementations of this interface should provide the logic for outputting messages in a way that is appropriate for the context of the CLI, such as writing to the console or a log file.
30
+ */
25
31
  export interface Display {
26
32
  error(message: string): void;
27
33
  info(message: string): void;
@@ -29,6 +35,11 @@ export interface Display {
29
35
  trace(message: string): void;
30
36
  dry(message: string): void;
31
37
  }
38
+ /**
39
+ * Flags interface representing the various options and settings that can be applied to commands within the badges-ts CLI.
40
+ * This interface defines boolean properties for different flags (dryRun, quiet, trace, warn, verbose) that can be used to modify the behavior of commands and control the level of output and logging during command execution.
41
+ * Implementations of this interface should provide the logic for parsing these flags from command-line arguments and applying their effects appropriately within the CLI.
42
+ */
32
43
  export interface Flags {
33
44
  dryRun: boolean;
34
45
  quiet: boolean;
@@ -36,4 +47,14 @@ export interface Flags {
36
47
  warn: boolean;
37
48
  verbose: boolean;
38
49
  }
50
+ /**
51
+ * Context interface representing the execution context for a command within the badges-ts CLI.
52
+ * It includes the command-line arguments, display functions for logging, flags for command options, and the environment for accessing variances and other contextual information.
53
+ */
54
+ export interface Context {
55
+ arguments: string[];
56
+ display: Display;
57
+ flags: Flags;
58
+ environment: Environment;
59
+ }
39
60
  //# sourceMappingURL=Types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Types.d.ts","sourceRoot":"","sources":["../../src/api/Types.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AAEpF,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,mCAAmC,CAAC;AAGhH;;GAEG;AACH,MAAM,MAAM,SAAS,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC;AAEhD;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,SAAS,CAAC,CAAC,CAAC,CAAiB;AAItF,MAAM,WAAW,QAAQ;IACvB,IAAI,YAAY,IAAI,MAAM,CAAC;CAC5B;AAED;;GAEG;AACH,eAAO,MAAM,WAAW,EAAE,QAIzB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,WAAW,EAAE,QAIzB,CAAC;AAEF,MAAM,WAAW,OAAO;IAEtB,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAE7B,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAE5B,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAE5B,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAE7B,GAAG,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED,MAAM,WAAW,KAAK;IAEpB,MAAM,EAAE,OAAO,CAAC;IAEhB,KAAK,EAAE,OAAO,CAAC;IAEf,KAAK,EAAE,OAAO,CAAC;IAEf,IAAI,EAAE,OAAO,CAAC;IAEd,OAAO,EAAE,OAAO,CAAC;CAClB"}
1
+ {"version":3,"file":"Types.d.ts","sourceRoot":"","sources":["../../src/api/Types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,wCAAwC,CAAC;AAErE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AAEpF,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,mCAAmC,CAAC;AAGhH;;GAEG;AACH,MAAM,MAAM,SAAS,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC;AAEhD;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,SAAS,CAAC,CAAC,CAAC,CAAiB;AAItF,MAAM,WAAW,QAAQ;IACvB,IAAI,YAAY,IAAI,MAAM,CAAC;CAC5B;AAED;;GAEG;AACH,eAAO,MAAM,WAAW,EAAE,QAIzB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,WAAW,EAAE,QAIzB,CAAC;AAEF;;;;GAIG;AACH,MAAM,WAAW,OAAO;IAGtB,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAG7B,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAG5B,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAG5B,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAG7B,GAAG,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED;;;;GAIG;AACH,MAAM,WAAW,KAAK;IAGpB,MAAM,EAAE,OAAO,CAAC;IAGhB,KAAK,EAAE,OAAO,CAAC;IAGf,KAAK,EAAE,OAAO,CAAC;IAGf,IAAI,EAAE,OAAO,CAAC;IAGd,OAAO,EAAE,OAAO,CAAC;CAClB;AAED;;;GAGG;AACH,MAAM,WAAW,OAAO;IAGtB,SAAS,EAAE,MAAM,EAAE,CAAC;IAGpB,OAAO,EAAE,OAAO,CAAC;IAGjB,KAAK,EAAE,KAAK,CAAC;IAGb,WAAW,EAAE,WAAW,CAAC;CAC1B"}
package/api/Types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Types.js","sourceRoot":"","sources":["../../src/api/Types.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,mCAAmC,CAAC;AAQhH;;;;;GAKG;AACH,MAAM,UAAU,WAAW,CAAI,KAAc,IAA2B,OAAO,IAAI,CAAC,CAAC,CAAC;AAQtF;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAa;IACnC,IAAI,YAAY;QACd,OAAO,CAAC,CAAC;IACX,CAAC;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAa;IACnC,IAAI,YAAY;QACd,OAAO,MAAM,CAAC,gBAAgB,CAAC;IACjC,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"Types.js","sourceRoot":"","sources":["../../src/api/Types.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,mCAAmC,CAAC;AAQhH;;;;;GAKG;AACH,MAAM,UAAU,WAAW,CAAI,KAAc,IAA2B,OAAO,IAAI,CAAC,CAAC,CAAC;AAQtF;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAa;IACnC,IAAI,YAAY;QACd,OAAO,CAAC,CAAC;IACX,CAAC;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAa;IACnC,IAAI,YAAY;QACd,OAAO,MAAM,CAAC,gBAAgB,CAAC;IACjC,CAAC;CACF,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import { Variant } from "@jonloucks/variants-ts/api/Variant";
2
+ import { Context } from "@jonloucks/badges-ts/api/Types";
2
3
  /**
3
4
  * Only resolving KIT_PROJECT_FOLDER to an absolute path at the point of initialization allows it to be set to a
4
5
  * relative path that is resolved from the current working directory instead of the location of the
@@ -6,10 +7,11 @@ import { Variant } from "@jonloucks/variants-ts/api/Variant";
6
7
  * so they will be resolved correctly as well.
7
8
  */
8
9
  export declare const KIT_PROJECT_FOLDER: Variant<string>;
10
+ export declare const KIT_SOURCE_FOLDER: Variant<string>;
9
11
  export declare const KIT_BADGES_CONFIG_PATH: Variant<string>;
10
12
  export declare const KIT_PACKAGE_JSON_PATH: Variant<string>;
11
- export declare const KIT_COVERAGE_SUMMARY_PATH: Variant<string>;
12
13
  export declare const KIT_CODE_COVERAGE_PERCENT: Variant<number>;
14
+ export declare const KIT_REQUIRED_CODE_COVERAGE: Variant<number>;
13
15
  export declare const KIT_COVERAGE_SUMMARY_BADGE_PATH: Variant<string>;
14
16
  export declare const KIT_TYPEDOC_BADGE_PATH: Variant<string>;
15
17
  export declare const KIT_BADGES_FOLDER: Variant<string>;
@@ -17,7 +19,10 @@ export declare const KIT_NPM_BADGE_PATH: Variant<string>;
17
19
  export declare const KIT_TEMPLATE_BADGE_PATH: Variant<string>;
18
20
  export declare const KIT_RELEASE_NOTES_OUTPUT_FOLDER: Variant<string>;
19
21
  export declare const KIT_RELEASE_NOTES_TEMPLATE_PATH: Variant<string>;
22
+ export declare const KIT_COVERAGE_FOLDER: Variant<string>;
23
+ export declare const KIT_COVERAGE_REPORT_FOLDER: Variant<string>;
20
24
  export declare const KIT_LCOV_REPORT_INDEX_PATH: Variant<string>;
25
+ export declare const KIT_COVERAGE_SUMMARY_PATH: Variant<string>;
21
26
  export declare const KIT_LCOV_INFO_PATH: Variant<string>;
22
27
  export declare const KIT_VERSION_TS_PATH: Variant<string>;
23
28
  export declare const KIT_100_PERCENT_COLOR: Variant<string>;
@@ -27,4 +32,17 @@ export declare const KIT_ABOVE_70_PERCENT_COLOR: Variant<string>;
27
32
  export declare const KIT_ABOVE_60_PERCENT_COLOR: Variant<string>;
28
33
  export declare const KIT_BELOW_60_PERCENT_COLOR: Variant<string>;
29
34
  export declare const KIT_0_PERCENT_COLOR: Variant<string>;
35
+ export declare function getLcovReportIndexPath(context: Context): string;
36
+ export declare function getCoverageSummaryFilePath(context: Context): string;
37
+ export declare function getLcovInfoPath(context: Context): string;
38
+ export declare function getCoverageReportFolder(context: Context): string;
39
+ export declare function getPackageJsonPath(context: Context): string;
40
+ export declare function resolveBadgePath(context: Context, ...keys: Variant<string>[]): string;
41
+ export declare function getTemplateBadgePath(context: Context): string;
42
+ export declare function getCodeCoverageBadgePath(context: Context): string;
43
+ export declare function getTypedocBadgePath(context: Context): string;
44
+ export declare function getNpmBadgePath(context: Context): string;
45
+ export declare function getVersionTsPath(context: Context): string;
46
+ export declare function getReleaseNotesOutputFolder(context: Context): string;
47
+ export declare function getReleaseNotesTemplatePath(context: Context): string;
30
48
  //# sourceMappingURL=Variances.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Variances.d.ts","sourceRoot":"","sources":["../../src/api/Variances.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,oCAAoC,CAAC;AAI7D;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,EAAE,OAAO,CAAC,MAAM,CAM7C,CAAC;AAEH,eAAO,MAAM,sBAAsB,EAAE,OAAO,CAAC,MAAM,CAMjD,CAAC;AAEH,eAAO,MAAM,qBAAqB,EAAE,OAAO,CAAC,MAAM,CAMhD,CAAC;AAEH,eAAO,MAAM,yBAAyB,EAAE,OAAO,CAAC,MAAM,CAMpD,CAAC;AAEH,eAAO,MAAM,yBAAyB,EAAE,OAAO,CAAC,MAAM,CAMpD,CAAC;AAEH,eAAO,MAAM,+BAA+B,EAAE,OAAO,CAAC,MAAM,CAM1D,CAAC;AAEH,eAAO,MAAM,sBAAsB,EAAE,OAAO,CAAC,MAAM,CAMjD,CAAC;AAEH,eAAO,MAAM,iBAAiB,EAAE,OAAO,CAAC,MAAM,CAM5C,CAAC;AAEH,eAAO,MAAM,kBAAkB,EAAE,OAAO,CAAC,MAAM,CAM7C,CAAC;AAEH,eAAO,MAAM,uBAAuB,EAAE,OAAO,CAAC,MAAM,CAMlD,CAAC;AAEH,eAAO,MAAM,+BAA+B,EAAE,OAAO,CAAC,MAAM,CAM1D,CAAC;AAEH,eAAO,MAAM,+BAA+B,EAAE,OAAO,CAAC,MAAM,CAM1D,CAAC;AAEH,eAAO,MAAM,0BAA0B,EAAE,OAAO,CAAC,MAAM,CAMrD,CAAC;AAEH,eAAO,MAAM,kBAAkB,EAAE,OAAO,CAAC,MAAM,CAM7C,CAAC;AAEH,eAAO,MAAM,mBAAmB,EAAE,OAAO,CAAC,MAAM,CAM9C,CAAC;AAEH,eAAO,MAAM,qBAAqB,EAAE,OAAO,CAAC,MAAM,CAMhD,CAAC;AAEH,eAAO,MAAM,0BAA0B,EAAE,OAAO,CAAC,MAAM,CAMrD,CAAC;AAEH,eAAO,MAAM,0BAA0B,EAAE,OAAO,CAAC,MAAM,CAMrD,CAAC;AAEH,eAAO,MAAM,0BAA0B,EAAE,OAAO,CAAC,MAAM,CAMrD,CAAC;AAEH,eAAO,MAAM,0BAA0B,EAAE,OAAO,CAAC,MAAM,CAMrD,CAAC;AAEH,eAAO,MAAM,0BAA0B,EAAE,OAAO,CAAC,MAAM,CAMrD,CAAC;AAEH,eAAO,MAAM,mBAAmB,EAAE,OAAO,CAAC,MAAM,CAM9C,CAAC"}
1
+ {"version":3,"file":"Variances.d.ts","sourceRoot":"","sources":["../../src/api/Variances.ts"],"names":[],"mappings":"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"}
package/api/Variances.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { createVariant, ofNumber, ofString } from "@jonloucks/variants-ts/auxiliary/Convenience";
2
- import { resolveDataPath } from "../data/Resolver.js";
3
2
  import { resolve } from "node:path";
3
+ import { resolveDataPath } from "../data/Resolver.js";
4
4
  /**
5
5
  * Only resolving KIT_PROJECT_FOLDER to an absolute path at the point of initialization allows it to be set to a
6
6
  * relative path that is resolved from the current working directory instead of the location of the
@@ -14,6 +14,13 @@ export const KIT_PROJECT_FOLDER = createVariant({
14
14
  of: ofString(),
15
15
  fallback: resolve('./')
16
16
  });
17
+ export const KIT_SOURCE_FOLDER = createVariant({
18
+ name: 'Source Folder',
19
+ keys: ['KIT_SOURCE_FOLDER', 'kit.source.folder'],
20
+ description: 'The folder path of the source files.',
21
+ of: ofString(),
22
+ fallback: 'src'
23
+ });
17
24
  export const KIT_BADGES_CONFIG_PATH = createVariant({
18
25
  name: 'Config Path',
19
26
  keys: ['KIT_BADGES_CONFIG_PATH', 'kit.badges.config.path'],
@@ -28,13 +35,6 @@ export const KIT_PACKAGE_JSON_PATH = createVariant({
28
35
  of: ofString(),
29
36
  fallback: 'package.json'
30
37
  });
31
- export const KIT_COVERAGE_SUMMARY_PATH = createVariant({
32
- name: 'Coverage Summary Path',
33
- keys: ['KIT_COVERAGE_SUMMARY_PATH', 'kit.coverage.summary.path'],
34
- description: 'The file path to the coverage summary JSON file.',
35
- of: ofString(),
36
- fallback: 'coverage/coverage-summary.json'
37
- });
38
38
  export const KIT_CODE_COVERAGE_PERCENT = createVariant({
39
39
  name: 'Code Coverage Percent',
40
40
  keys: ['KIT_CODE_COVERAGE_PERCENT', 'kit.code.coverage.percent'],
@@ -42,6 +42,13 @@ export const KIT_CODE_COVERAGE_PERCENT = createVariant({
42
42
  of: ofNumber(),
43
43
  fallback: undefined
44
44
  });
45
+ export const KIT_REQUIRED_CODE_COVERAGE = createVariant({
46
+ name: 'Code Coverage Gate',
47
+ keys: ['KIT_REQUIRED_CODE_COVERAGE', 'kit.required.code.coverage'],
48
+ description: 'The code coverage gate percentage.',
49
+ of: ofNumber(),
50
+ fallback: 0.0
51
+ });
45
52
  export const KIT_COVERAGE_SUMMARY_BADGE_PATH = createVariant({
46
53
  name: 'Coverage Summary Badge Path',
47
54
  keys: ['KIT_COVERAGE_SUMMARY_BADGE_PATH', 'kit.coverage.summary.badge.path'],
@@ -89,28 +96,49 @@ export const KIT_RELEASE_NOTES_TEMPLATE_PATH = createVariant({
89
96
  keys: ['KIT_RELEASE_NOTES_TEMPLATE_PATH', 'kit.release.notes.template.path'],
90
97
  description: 'The file path to the release notes template file.',
91
98
  of: ofString(),
92
- fallback: 'notes/release-notes-template.md'
99
+ fallback: 'release-notes-template.md'
100
+ });
101
+ export const KIT_COVERAGE_FOLDER = createVariant({
102
+ name: 'Coverage Folder',
103
+ keys: ['KIT_COVERAGE_FOLDER', 'kit.coverage.folder'],
104
+ description: 'The folder path to output the coverage.',
105
+ of: ofString(),
106
+ fallback: 'coverage'
107
+ });
108
+ export const KIT_COVERAGE_REPORT_FOLDER = createVariant({
109
+ name: 'Coverage Report Folder',
110
+ keys: ['KIT_COVERAGE_REPORT_FOLDER', 'kit.coverage.report.folder'],
111
+ description: 'The folder path to output the generated coverage report files.',
112
+ of: ofString(),
113
+ fallback: 'lcov-report'
93
114
  });
94
115
  export const KIT_LCOV_REPORT_INDEX_PATH = createVariant({
95
116
  name: 'LCOV Report Index Path',
96
117
  keys: ['KIT_LCOV_REPORT_INDEX_PATH', 'kit.lcov.report.index.path'],
97
118
  description: 'The file path to the LCOV report index.html file.',
98
119
  of: ofString(),
99
- fallback: 'coverage/lcov-report/index.html'
120
+ fallback: 'index.html'
121
+ });
122
+ export const KIT_COVERAGE_SUMMARY_PATH = createVariant({
123
+ name: 'Coverage Summary Path',
124
+ keys: ['KIT_COVERAGE_SUMMARY_PATH', 'kit.coverage.summary.path'],
125
+ description: 'The file path to the coverage summary JSON file.',
126
+ of: ofString(),
127
+ fallback: 'coverage-summary.json'
100
128
  });
101
129
  export const KIT_LCOV_INFO_PATH = createVariant({
102
130
  name: 'LCOV Info Path',
103
131
  keys: ['KIT_LCOV_INFO_PATH', 'kit.lcov.info.path'],
104
132
  description: 'The file path to the LCOV info file.',
105
133
  of: ofString(),
106
- fallback: 'coverage/lcov.info'
134
+ fallback: 'lcov.info'
107
135
  });
108
136
  export const KIT_VERSION_TS_PATH = createVariant({
109
137
  name: 'Version TS Path',
110
138
  keys: ['KIT_VERSION_TS_PATH', 'kit.version.ts.path'],
111
139
  description: 'The file path to output the generated version.ts file.',
112
140
  of: ofString(),
113
- fallback: 'src/version.ts'
141
+ fallback: 'version.ts'
114
142
  });
115
143
  export const KIT_100_PERCENT_COLOR = createVariant({
116
144
  name: '100% Color',
@@ -161,4 +189,47 @@ export const KIT_0_PERCENT_COLOR = createVariant({
161
189
  of: ofString(),
162
190
  fallback: '#ff0000'
163
191
  });
192
+ function resolveVariant(context, ...keys) {
193
+ const parts = keys.map(key => context.environment.getVariance(key));
194
+ return resolve(...parts);
195
+ }
196
+ export function getLcovReportIndexPath(context) {
197
+ return resolveVariant(context, KIT_PROJECT_FOLDER, KIT_COVERAGE_FOLDER, KIT_COVERAGE_REPORT_FOLDER, KIT_LCOV_REPORT_INDEX_PATH);
198
+ }
199
+ export function getCoverageSummaryFilePath(context) {
200
+ return resolveVariant(context, KIT_PROJECT_FOLDER, KIT_COVERAGE_FOLDER, KIT_COVERAGE_SUMMARY_PATH);
201
+ }
202
+ export function getLcovInfoPath(context) {
203
+ return resolveVariant(context, KIT_PROJECT_FOLDER, KIT_COVERAGE_FOLDER, KIT_LCOV_INFO_PATH);
204
+ }
205
+ export function getCoverageReportFolder(context) {
206
+ return resolveVariant(context, KIT_PROJECT_FOLDER, KIT_COVERAGE_FOLDER, KIT_COVERAGE_REPORT_FOLDER);
207
+ }
208
+ export function getPackageJsonPath(context) {
209
+ return resolveVariant(context, KIT_PROJECT_FOLDER, KIT_PACKAGE_JSON_PATH);
210
+ }
211
+ export function resolveBadgePath(context, ...keys) {
212
+ return resolveVariant(context, KIT_PROJECT_FOLDER, KIT_BADGES_FOLDER, ...keys);
213
+ }
214
+ export function getTemplateBadgePath(context) {
215
+ return resolveVariant(context, KIT_PROJECT_FOLDER, KIT_BADGES_FOLDER, KIT_TEMPLATE_BADGE_PATH);
216
+ }
217
+ export function getCodeCoverageBadgePath(context) {
218
+ return resolveBadgePath(context, KIT_COVERAGE_SUMMARY_BADGE_PATH);
219
+ }
220
+ export function getTypedocBadgePath(context) {
221
+ return resolveBadgePath(context, KIT_TYPEDOC_BADGE_PATH);
222
+ }
223
+ export function getNpmBadgePath(context) {
224
+ return resolveBadgePath(context, KIT_NPM_BADGE_PATH);
225
+ }
226
+ export function getVersionTsPath(context) {
227
+ return resolveVariant(context, KIT_PROJECT_FOLDER, KIT_SOURCE_FOLDER, KIT_VERSION_TS_PATH);
228
+ }
229
+ export function getReleaseNotesOutputFolder(context) {
230
+ return resolveVariant(context, KIT_PROJECT_FOLDER, KIT_RELEASE_NOTES_OUTPUT_FOLDER);
231
+ }
232
+ export function getReleaseNotesTemplatePath(context) {
233
+ return resolveVariant(context, KIT_PROJECT_FOLDER, KIT_RELEASE_NOTES_OUTPUT_FOLDER, KIT_RELEASE_NOTES_TEMPLATE_PATH);
234
+ }
164
235
  //# sourceMappingURL=Variances.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Variances.js","sourceRoot":"","sources":["../../src/api/Variances.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Variances.js","sourceRoot":"","sources":["../../src/api/Variances.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,16 @@
1
- import { Display, Flags } from "@jonloucks/badges-ts/api/Types";
2
- import { Environment } from "@jonloucks/variants-ts/api/Environment";
1
+ import { type Context } from "@jonloucks/badges-ts/api/Types";
2
+ /**
3
+ * Command interface representing an executable action within the badges-ts CLI.
4
+ * Each command should implement the execute method, which takes a Context object as an argument and returns a Promise of a generic type T.
5
+ * The Context provides access to the command's arguments, display functions for logging, flags for command options, and the environment for accessing variances and other contextual information.
6
+ */
3
7
  export interface Command<T> {
8
+ /**
9
+ * Executes the command logic using the provided context.
10
+ * @param context - The context in which the command is executed, containing arguments, display functions, flags, and environment.
11
+ * @returns A promise that resolves to a value of type T, which can be used to return results from the command execution.
12
+ */
4
13
  execute(context: Context): Promise<T>;
5
14
  }
6
- export interface Context {
7
- arguments: string[];
8
- display: Display;
9
- flags: Flags;
10
- environment: Environment;
11
- }
15
+ export { Context };
12
16
  //# sourceMappingURL=Command.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Command.d.ts","sourceRoot":"","sources":["../../src/auxiliary/Command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,wCAAwC,CAAC;AAErE,MAAM,WAAW,OAAO,CAAC,CAAC;IAExB,OAAO,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;CAEvC;AAED,MAAM,WAAW,OAAO;IAEtB,SAAS,EAAE,MAAM,EAAE,CAAC;IAEpB,OAAO,EAAE,OAAO,CAAC;IAEjB,KAAK,EAAE,KAAK,CAAC;IAEb,WAAW,EAAE,WAAW,CAAC;CAC1B"}
1
+ {"version":3,"file":"Command.d.ts","sourceRoot":"","sources":["../../src/auxiliary/Command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,gCAAgC,CAAC;AAE9D;;;;GAIG;AACH,MAAM,WAAW,OAAO,CAAC,CAAC;IAExB;;;;OAIG;IACH,OAAO,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;CACvC;AAED,OAAO,EAAE,OAAO,EAAE,CAAC"}
@@ -0,0 +1,27 @@
1
+ import { Coverage } from "@jonloucks/badges-ts/api/Coverage";
2
+ import { Context } from "@jonloucks/badges-ts/auxiliary/Command";
3
+ import { Contract } from "@jonloucks/contracts-ts/api/Contract";
4
+ /**
5
+ * Interface for discovering code coverage information in a project.
6
+ * Implementations of this interface are responsible for analyzing the project and returning the code coverage percentage as a Coverage object.
7
+ * This contract is typically used in conjunction with other discovery commands to gather comprehensive information about the project, including its code coverage metrics.
8
+ */
9
+ export interface DiscoverCoverage {
10
+ /**
11
+ * Discovers the code coverage information for the project. This method should analyze the project and return a Coverage object containing the percentage of code coverage.
12
+ *
13
+ * @param context The context in which the discovery is being performed, providing access to project-specific information and utilities.
14
+ */
15
+ discoverCoverage(context: Context): Promise<Coverage>;
16
+ }
17
+ /**
18
+ * Determine if an instance implements DiscoverCoverage
19
+ * @param instance the instance to check
20
+ * @returns true if the instance implements DiscoverCoverage
21
+ */
22
+ export declare function guard(instance: unknown): instance is DiscoverCoverage;
23
+ /**
24
+ * The DiscoverCoverage contract
25
+ */
26
+ export declare const CONTRACT: Contract<DiscoverCoverage>;
27
+ //# sourceMappingURL=DiscoverCoverage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DiscoverCoverage.d.ts","sourceRoot":"","sources":["../../src/auxiliary/DiscoverCoverage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mCAAmC,CAAC;AAC7D,OAAO,EAAE,OAAO,EAAE,MAAM,wCAAwC,CAAC;AACjE,OAAO,EAAE,QAAQ,EAAE,MAAM,sCAAsC,CAAC;AAIhE;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAE/B;;;;OAIG;IACH,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;CACvD;AAED;;;;GAIG;AACH,wBAAgB,KAAK,CAAC,QAAQ,EAAE,OAAO,GAAG,QAAQ,IAAI,gBAAgB,CAErE;AAED;;GAEG;AACH,eAAO,MAAM,QAAQ,EAAE,QAAQ,CAAC,gBAAgB,CAG9C,CAAC"}
@@ -0,0 +1,18 @@
1
+ import { create as createContract } from "@jonloucks/contracts-ts/api/RatifiedContract";
2
+ import { guardFunctions } from "@jonloucks/contracts-ts/api/Types";
3
+ /**
4
+ * Determine if an instance implements DiscoverCoverage
5
+ * @param instance the instance to check
6
+ * @returns true if the instance implements DiscoverCoverage
7
+ */
8
+ export function guard(instance) {
9
+ return guardFunctions(instance, 'discoverCoverage');
10
+ }
11
+ /**
12
+ * The DiscoverCoverage contract
13
+ */
14
+ export const CONTRACT = createContract({
15
+ name: "DiscoverCoverage",
16
+ test: guard
17
+ });
18
+ //# sourceMappingURL=DiscoverCoverage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DiscoverCoverage.js","sourceRoot":"","sources":["../../src/auxiliary/DiscoverCoverage.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,IAAI,cAAc,EAAE,MAAM,8CAA8C,CAAC;AACxF,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AAiBnE;;;;GAIG;AACH,MAAM,UAAU,KAAK,CAAC,QAAiB;IACrC,OAAO,cAAc,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAC;AACtD,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,QAAQ,GAA+B,cAAc,CAAC;IACjE,IAAI,EAAE,kBAAkB;IACxB,IAAI,EAAE,KAAK;CACZ,CAAC,CAAC"}
package/cli.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAKA,OAAO,EAAgB,KAAK,OAAO,EAAE,MAAM,wCAAwC,CAAC;AAMpF;;;;;;;;;;GAUG;AACH,wBAAsB,OAAO,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAc7D"}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AASA,OAAO,EAAgB,KAAK,OAAO,EAAE,MAAM,wCAAwC,CAAC;AAIpF;;;;;;;;;;GAUG;AACH,wBAAsB,OAAO,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAO7D"}
package/cli.js CHANGED
@@ -1,9 +1,12 @@
1
1
  import { COMMAND as APPLY_VERSION_COMMAND } from "./impl/apply-version-command.js";
2
2
  import { COMMAND as DISCOVER_COMMAND } from "./impl/discover-command.js";
3
3
  import { COMMAND as GENERATE_COMMAND } from "./impl/generate-command.js";
4
+ import { COMMAND as COVERAGE_REPORT_COMMAND } from "./impl/coverage-report-command.js";
5
+ import { COMMAND as HELP_COMMAND } from "./impl/help-command.js";
6
+ import { COMMAND as VERSION_COMMAND } from "./impl/version-command.js";
7
+ import { COMMAND as COVERAGE_GATE_COMMAND } from "./impl/coverage-gate-command.js";
4
8
  import { createInstaller } from "@jonloucks/badges-ts";
5
- import { isNotPresent, isPresent } from '@jonloucks/contracts-ts/api/Types';
6
- import { VERSION } from "./version.js";
9
+ import { isNotPresent } from '@jonloucks/contracts-ts/api/Types';
7
10
  /**
8
11
  * Main entry point for the Badges CLI application.
9
12
  * This function is responsible for parsing command-line arguments,
@@ -18,67 +21,35 @@ import { VERSION } from "./version.js";
18
21
  export async function runMain(context) {
19
22
  const usingInstaller = createInstaller().open();
20
23
  try {
21
- const command = findCommand(context);
22
- if (isPresent(command)) {
23
- await command.execute(context);
24
- }
25
- else {
26
- context.display.error("No valid command found.");
27
- printUsage(context);
28
- }
24
+ await getCommand(context).execute(context);
29
25
  }
30
26
  finally {
31
27
  usingInstaller.close();
32
28
  }
33
29
  }
34
- function findCommand(context) {
35
- if (context.arguments.length === 0) {
36
- return undefined;
37
- }
30
+ function getCommand(context) {
38
31
  const firstNonFlag = findFirstCommand(context.arguments);
39
32
  if (isNotPresent(firstNonFlag)) {
40
- return undefined;
33
+ context.display.error("No valid command found.");
34
+ return HELP_COMMAND;
41
35
  }
42
36
  switch (firstNonFlag.trim().toLowerCase()) {
43
- case 'discover': {
44
- return DISCOVER_COMMAND;
45
- }
46
- case 'generate': {
47
- return GENERATE_COMMAND;
48
- }
49
- case 'apply-version': {
50
- return APPLY_VERSION_COMMAND;
51
- }
52
- case 'version': {
53
- return {
54
- execute: async (context) => {
55
- printBanner(context);
56
- return VERSION;
57
- }
58
- };
59
- }
60
- case 'help': {
61
- return {
62
- execute: async (context) => {
63
- printUsage(context);
64
- }
65
- };
66
- }
37
+ case 'discover': return DISCOVER_COMMAND;
38
+ case 'generate': return GENERATE_COMMAND;
39
+ case 'apply-version': return APPLY_VERSION_COMMAND;
40
+ case 'coverage-report': return COVERAGE_REPORT_COMMAND;
41
+ case 'coverage-gate': return COVERAGE_GATE_COMMAND;
42
+ case 'version': return VERSION_COMMAND;
43
+ case 'help': return HELP_COMMAND;
67
44
  default:
68
- return undefined;
45
+ context.display.error("No valid command found.");
46
+ return HELP_COMMAND;
69
47
  }
70
48
  }
71
- function printBanner(context) {
72
- context.display.info(`Badges-TS CLI - Version ${VERSION}`);
73
- }
74
- function printUsage(context) {
75
- printBanner(context);
76
- context.display.info(`Usage:`);
77
- context.display.info(` badges-ts discover Detect project information from the current directory`);
78
- context.display.info(` badges-ts generate Generate badges for the current project`);
79
- context.display.info(` badges-ts apply-version Apply version badges to the current project`);
80
- }
81
49
  function findFirstCommand(args) {
50
+ if (args.length === 0) {
51
+ return undefined;
52
+ }
82
53
  const front = args[0];
83
54
  if (front === '--help' || front === '-h') {
84
55
  return 'help';
package/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AACnF,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AACzE,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AACzE,OAAO,EAAE,OAAO,IAAI,uBAAuB,EAAE,MAAM,mCAAmC,CAAC;AACvF,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AAEnF,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAGvD,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AAEjE;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,OAAgB;IAC5C,MAAM,cAAc,GAAc,eAAe,EAAE,CAAC,IAAI,EAAE,CAAC;IAC3D,IAAI,CAAC;QACH,MAAM,UAAU,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC7C,CAAC;YAAS,CAAC;QACT,cAAc,CAAC,KAAK,EAAE,CAAC;IACzB,CAAC;AACH,CAAC;AAED,SAAS,UAAU,CAAC,OAAgB;IAClC,MAAM,YAAY,GAAuB,gBAAgB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAC7E,IAAI,YAAY,CAAC,YAAY,CAAC,EAAE,CAAC;QAC/B,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;QACjD,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,QAAQ,YAAY,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC;QAC1C,KAAK,UAAU,CAAC,CAAC,OAAO,gBAAgB,CAAC;QACzC,KAAK,UAAU,CAAC,CAAC,OAAO,gBAAgB,CAAC;QACzC,KAAK,eAAe,CAAC,CAAC,OAAO,qBAAqB,CAAC;QACnD,KAAK,iBAAiB,CAAC,CAAC,OAAO,uBAAuB,CAAC;QACvD,KAAK,eAAe,CAAC,CAAC,OAAO,qBAAqB,CAAC;QACnD,KAAK,SAAS,CAAC,CAAC,OAAO,eAAe,CAAC;QACvC,KAAK,MAAM,CAAC,CAAC,OAAO,YAAY,CAAC;QACjC;YACE,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;YACjD,OAAO,YAAY,CAAC;IACxB,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAc;IACtC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,KAAK,GAAW,IAAI,CAAC,CAAC,CAAC,CAAC;IAC9B,IAAI,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QACzC,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,IAAI,KAAK,KAAK,WAAW,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAC5C,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;AAChD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Command.impl.d.ts","sourceRoot":"","sources":["../../src/impl/Command.impl.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,wCAAwC,CAAC;AAQjE,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAUjD"}
1
+ {"version":3,"file":"Command.impl.d.ts","sourceRoot":"","sources":["../../src/impl/Command.impl.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,wCAAwC,CAAC;AAQjE,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAWjD"}