@jonloucks/badges-ts 1.0.2 → 1.1.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.
Files changed (49) hide show
  1. package/README.md +20 -1
  2. package/api/Variances.d.ts +14 -0
  3. package/api/Variances.d.ts.map +1 -0
  4. package/api/Variances.js +87 -0
  5. package/api/Variances.js.map +1 -0
  6. package/auxiliary/Command.d.ts +2 -0
  7. package/auxiliary/Command.d.ts.map +1 -1
  8. package/auxiliary/DiscoverProject.d.ts +2 -1
  9. package/auxiliary/DiscoverProject.d.ts.map +1 -1
  10. package/auxiliary/DiscoverProject.js.map +1 -1
  11. package/bin/badges-ts.d.ts +3 -0
  12. package/bin/badges-ts.d.ts.map +1 -0
  13. package/bin/badges-ts.js +5 -0
  14. package/bin/badges-ts.js.map +1 -0
  15. package/cli.d.ts +0 -1
  16. package/cli.d.ts.map +1 -1
  17. package/cli.js +2 -67
  18. package/cli.js.map +1 -1
  19. package/data/Resolver.d.ts.map +1 -1
  20. package/data/Resolver.js +4 -5
  21. package/data/Resolver.js.map +1 -1
  22. package/impl/BadgeFactory.impl.d.ts +5 -1
  23. package/impl/BadgeFactory.impl.d.ts.map +1 -1
  24. package/impl/BadgeFactory.impl.js +20 -33
  25. package/impl/BadgeFactory.impl.js.map +1 -1
  26. package/impl/Command.impl.d.ts.map +1 -1
  27. package/impl/Command.impl.js +16 -25
  28. package/impl/Command.impl.js.map +1 -1
  29. package/impl/DiscoverProject.impl.d.ts +5 -1
  30. package/impl/DiscoverProject.impl.d.ts.map +1 -1
  31. package/impl/DiscoverProject.impl.js +50 -22
  32. package/impl/DiscoverProject.impl.js.map +1 -1
  33. package/impl/Installer.impl.d.ts.map +1 -1
  34. package/impl/Installer.impl.js +24 -8
  35. package/impl/Installer.impl.js.map +1 -1
  36. package/impl/Internal.impl.d.ts +0 -4
  37. package/impl/Internal.impl.d.ts.map +1 -1
  38. package/impl/Internal.impl.js +1 -24
  39. package/impl/Internal.impl.js.map +1 -1
  40. package/impl/apply-version-command.js +16 -9
  41. package/impl/apply-version-command.js.map +1 -1
  42. package/impl/discover-command.js +1 -1
  43. package/impl/discover-command.js.map +1 -1
  44. package/impl/generate-command.d.ts +0 -11
  45. package/impl/generate-command.d.ts.map +1 -1
  46. package/impl/generate-command.js +65 -53
  47. package/impl/generate-command.js.map +1 -1
  48. package/package.json +17 -22
  49. package/version.js +1 -1
package/README.md CHANGED
@@ -152,6 +152,7 @@ badges-ts
152
152
  │      ├── main-pull-request-matrix.yml
153
153
  │      ├── main-pull-request.yml
154
154
  │      ├── main-push.yml
155
+ │      ├── main-push-publish.yml
155
156
  │      └── main-release.yml
156
157
  ├── CODE_OF_CONDUCT.md
157
158
  ├── CODING_STANDARDS.md
@@ -197,6 +198,19 @@ badges-ts
197
198
 
198
199
  ## GitHub Workflows
199
200
 
201
+ <details markdown="1"><summary>Workflow File Index</summary>
202
+
203
+ - `main-pull-request.yml` (workflow name: `main-pull-request`): Pull request validation workflow for `main` (lint, build, coverage on Node 18).
204
+ - `main-pull-request-matrix.yml` (workflow name: `main-pull-request-matrix`): Pull request validation matrix for `main` (lint, build, coverage across Node 18/20/22/24).
205
+ - `main-pull-request-smoke.yml` (workflow name: `main-pull-request-smoke`): Pull request smoke packaging workflow with multi-version smoke test matrix.
206
+ - `main-push.yml` (workflow name: `main-push`): Unprivileged push workflow for `main` that builds/tests and uploads publish artifacts.
207
+ - `main-push-publish.yml` (workflow name: `main-push-publish`): Privileged `workflow_run` publisher that updates `gh-pages` and `badges` from artifacts.
208
+ - `main-push-smoke.yml` (workflow name: `main-push-smoke`): Push smoke packaging workflow with multi-version smoke test matrix.
209
+ - `main-release-smoke.yml` (workflow name: `main-release-smoke`): Release-created smoke workflow that builds package and validates install/tests.
210
+ - `main-release.yml` (workflow name: `Publish`): Release publishing workflow triggered after smoke success.
211
+
212
+ </details>
213
+
200
214
  <details markdown="1"><summary>CI Workflow</summary>
201
215
 
202
216
  The CI workflow runs on every push and pull request to `main` branch. It:
@@ -204,7 +218,12 @@ The CI workflow runs on every push and pull request to `main` branch. It:
204
218
  - Runs linting
205
219
  - Builds the project
206
220
  - Runs tests with coverage
207
- - Uploads coverage to Codecov (optional)
221
+ - Uploads build outputs as workflow artifacts for downstream jobs
222
+
223
+ Security model:
224
+ - Pull request workflows run with read-only repository permissions.
225
+ - `main-push` runs as an unprivileged build/test workflow and uploads publish artifacts.
226
+ - `main-push-publish` is a separate `workflow_run` workflow that downloads artifacts and performs privileged writes to `gh-pages` and `badges` branches.
208
227
 
209
228
  </details>
210
229
 
@@ -0,0 +1,14 @@
1
+ import { Variant } from "@jonloucks/variants-ts/api/Variant";
2
+ export declare const KIT_PROJECT_FOLDER: Variant<string>;
3
+ export declare const KIT_PACKAGE_JSON_PATH: Variant<string>;
4
+ export declare const KIT_COVERAGE_SUMMARY_PATH: Variant<string>;
5
+ export declare const KIT_CODE_COVERAGE_PERCENT: Variant<number>;
6
+ export declare const KIT_COVERAGE_SUMMARY_BADGE_PATH: Variant<string>;
7
+ export declare const KIT_TYPEDOC_BADGE_PATH: Variant<string>;
8
+ export declare const KIT_BADGES_FOLDER: Variant<string>;
9
+ export declare const KIT_NPM_BADGE_PATH: Variant<string>;
10
+ export declare const KIT_TEMPLATE_BADGE_PATH: Variant<string>;
11
+ export declare const KIT_RELEASE_NOTES_OUTPUT_FOLDER: Variant<string>;
12
+ export declare const KIT_RELEASE_NOTES_TEMPLATE_PATH: Variant<string>;
13
+ export declare const KIT_LCOV_REPORT_INDEX_PATH: Variant<string>;
14
+ //# sourceMappingURL=Variances.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Variances.d.ts","sourceRoot":"","sources":["../../src/api/Variances.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,oCAAoC,CAAC;AAG7D,eAAO,MAAM,kBAAkB,EAAE,OAAO,CAAC,MAAM,CAM7C,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"}
@@ -0,0 +1,87 @@
1
+ import { createVariant, ofNumber, ofString } from "@jonloucks/variants-ts/auxiliary/Convenience";
2
+ import { resolveDataPath } from "../data/Resolver.js";
3
+ export const KIT_PROJECT_FOLDER = createVariant({
4
+ name: 'Project Folder',
5
+ keys: ['KIT_PROJECT_FOLDER', 'kit.project.folder'],
6
+ description: 'The folder path of the project.',
7
+ of: ofString(),
8
+ fallback: './'
9
+ });
10
+ export const KIT_PACKAGE_JSON_PATH = createVariant({
11
+ name: 'Package JSON Path',
12
+ keys: ['KIT_PACKAGE_JSON_PATH', 'kit.package.json.path'],
13
+ description: 'The file path to the package.json file.',
14
+ of: ofString(),
15
+ fallback: 'package.json'
16
+ });
17
+ export const KIT_COVERAGE_SUMMARY_PATH = createVariant({
18
+ name: 'Coverage Summary Path',
19
+ keys: ['KIT_COVERAGE_SUMMARY_PATH', 'kit.coverage.summary.path'],
20
+ description: 'The file path to the coverage summary JSON file.',
21
+ of: ofString(),
22
+ fallback: 'coverage/coverage-summary.json'
23
+ });
24
+ export const KIT_CODE_COVERAGE_PERCENT = createVariant({
25
+ name: 'Code Coverage Percent',
26
+ keys: ['KIT_CODE_COVERAGE_PERCENT', 'kit.code.coverage.percent'],
27
+ description: 'The code coverage percentage.',
28
+ of: ofNumber(),
29
+ fallback: undefined
30
+ });
31
+ export const KIT_COVERAGE_SUMMARY_BADGE_PATH = createVariant({
32
+ name: 'Coverage Summary Badge Path',
33
+ keys: ['KIT_COVERAGE_SUMMARY_BADGE_PATH', 'kit.coverage.summary.badge.path'],
34
+ description: 'The file path to output the generated coverage summary badge SVG file.',
35
+ of: ofString(),
36
+ fallback: 'coverage-summary.svg'
37
+ });
38
+ export const KIT_TYPEDOC_BADGE_PATH = createVariant({
39
+ name: 'Typedoc Badge Path',
40
+ keys: ['KIT_TYPEDOC_BADGE_PATH', 'kit.typedoc.badge.path'],
41
+ description: 'The file path to output the generated typedoc badge SVG file.',
42
+ of: ofString(),
43
+ fallback: 'typedoc-badge.svg'
44
+ });
45
+ export const KIT_BADGES_FOLDER = createVariant({
46
+ name: 'Badges Folder',
47
+ keys: ['KIT_BADGES_FOLDER', 'kit.badges.folder'],
48
+ description: 'The folder path to output the generated badge SVG files.',
49
+ of: ofString(),
50
+ link: KIT_PROJECT_FOLDER
51
+ });
52
+ export const KIT_NPM_BADGE_PATH = createVariant({
53
+ name: 'NPM Badge Path',
54
+ keys: ['KIT_NPM_BADGE_PATH', 'kit.npm.badge.path'],
55
+ description: 'The file path to output the generated npm badge SVG file.',
56
+ of: ofString(),
57
+ fallback: 'npm-badge.svg'
58
+ });
59
+ export const KIT_TEMPLATE_BADGE_PATH = createVariant({
60
+ name: 'Template Badge Path',
61
+ keys: ['KIT_TEMPLATE_BADGE_PATH', 'kit.template.badge.path'],
62
+ description: 'The file path to the badge template SVG file.',
63
+ of: ofString(),
64
+ fallback: resolveDataPath('badge-template.svg.dat')
65
+ });
66
+ export const KIT_RELEASE_NOTES_OUTPUT_FOLDER = createVariant({
67
+ name: 'Release Notes Output Folder',
68
+ keys: ['KIT_RELEASE_NOTES_OUTPUT_FOLDER', 'kit.release.notes.output.folder'],
69
+ description: 'The folder path to output the generated release notes files.',
70
+ of: ofString(),
71
+ fallback: 'notes'
72
+ });
73
+ export const KIT_RELEASE_NOTES_TEMPLATE_PATH = createVariant({
74
+ name: 'Release Notes Template Path',
75
+ keys: ['KIT_RELEASE_NOTES_TEMPLATE_PATH', 'kit.release.notes.template.path'],
76
+ description: 'The file path to the release notes template file.',
77
+ of: ofString(),
78
+ fallback: 'notes/release-notes-template.md'
79
+ });
80
+ export const KIT_LCOV_REPORT_INDEX_PATH = createVariant({
81
+ name: 'LCOV Report Index Path',
82
+ keys: ['KIT_LCOV_REPORT_INDEX_PATH', 'kit.lcov.report.index.path'],
83
+ description: 'The file path to the LCOV report index.html file.',
84
+ of: ofString(),
85
+ fallback: 'coverage/lcov-report/index.html'
86
+ });
87
+ //# sourceMappingURL=Variances.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Variances.js","sourceRoot":"","sources":["../../src/api/Variances.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { Display, Flags } from "@jonloucks/badges-ts/api/Types";
2
+ import { Environment } from "@jonloucks/variants-ts/api/Environment";
2
3
  export interface Command<T> {
3
4
  execute(context: Context): Promise<T>;
4
5
  }
@@ -6,5 +7,6 @@ export interface Context {
6
7
  arguments: string[];
7
8
  display: Display;
8
9
  flags: Flags;
10
+ environment: Environment;
9
11
  }
10
12
  //# 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;AAEhE,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;CACd"}
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,6 +1,7 @@
1
1
  import { Project } from "@jonloucks/badges-ts/api/Project";
2
2
  import { RequiredType } from "@jonloucks/contracts-ts/api/Types";
3
3
  import { Contract } from "@jonloucks/contracts-ts";
4
+ import { Context } from "./Command.js";
4
5
  /**
5
6
  * Interface for discovering project information
6
7
  */
@@ -10,7 +11,7 @@ export interface DiscoverProject {
10
11
  *
11
12
  * @returns a Promise that resolves to a Project
12
13
  */
13
- discoverProject(): Promise<Project>;
14
+ discoverProject(context: Context): Promise<Project>;
14
15
  }
15
16
  /**
16
17
  * Determine if an instance implements DiscoverProject
@@ -1 +1 @@
1
- {"version":3,"file":"DiscoverProject.d.ts","sourceRoot":"","sources":["../../src/auxiliary/DiscoverProject.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,kCAAkC,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAkB,MAAM,mCAAmC,CAAC;AACjF,OAAO,EAAE,QAAQ,EAAkB,MAAM,yBAAyB,CAAC;AAEnE;;GAEG;AACH,MAAM,WAAW,eAAe;IAE9B;;;;OAIG;IACH,eAAe,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;CACrC;AAED;;;;;GAKG;AACH,wBAAgB,KAAK,CAAC,QAAQ,EAAE,OAAO,GAAG,QAAQ,IAAI,YAAY,CAAC,eAAe,CAAC,CAElF;AAED;;GAEG;AACH,eAAO,MAAM,QAAQ,EAAE,QAAQ,CAAC,eAAe,CAG7C,CAAC"}
1
+ {"version":3,"file":"DiscoverProject.d.ts","sourceRoot":"","sources":["../../src/auxiliary/DiscoverProject.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,kCAAkC,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAkB,MAAM,mCAAmC,CAAC;AACjF,OAAO,EAAE,QAAQ,EAAkB,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC;;GAEG;AACH,MAAM,WAAW,eAAe;IAE9B;;;;OAIG;IACH,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACrD;AAED;;;;;GAKG;AACH,wBAAgB,KAAK,CAAC,QAAQ,EAAE,OAAO,GAAG,QAAQ,IAAI,YAAY,CAAC,eAAe,CAAC,CAElF;AAED;;GAEG;AACH,eAAO,MAAM,QAAQ,EAAE,QAAQ,CAAC,eAAe,CAG7C,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"DiscoverProject.js","sourceRoot":"","sources":["../../src/auxiliary/DiscoverProject.ts"],"names":[],"mappings":"AACA,OAAO,EAAgB,cAAc,EAAE,MAAM,mCAAmC,CAAC;AACjF,OAAO,EAAY,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAenE;;;;;GAKG;AACH,MAAM,UAAU,KAAK,CAAC,QAAiB;IACrC,OAAO,cAAc,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;AACrD,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,QAAQ,GAA8B,cAAc,CAAC;IAChE,IAAI,EAAE,iBAAiB;IACvB,IAAI,EAAE,KAAK;CACZ,CAAC,CAAC"}
1
+ {"version":3,"file":"DiscoverProject.js","sourceRoot":"","sources":["../../src/auxiliary/DiscoverProject.ts"],"names":[],"mappings":"AACA,OAAO,EAAgB,cAAc,EAAE,MAAM,mCAAmC,CAAC;AACjF,OAAO,EAAY,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAgBnE;;;;;GAKG;AACH,MAAM,UAAU,KAAK,CAAC,QAAiB;IACrC,OAAO,cAAc,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;AACrD,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,QAAQ,GAA8B,cAAc,CAAC;IAChE,IAAI,EAAE,iBAAiB;IACvB,IAAI,EAAE,KAAK;CACZ,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ export {};
3
+ //# sourceMappingURL=badges-ts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"badges-ts.d.ts","sourceRoot":"","sources":["../../src/bin/badges-ts.ts"],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ #!/usr/bin/env node
2
+ import { runMain } from "../cli.js";
3
+ import { toContext } from "../impl/Command.impl.js";
4
+ await runMain(toContext(process.argv.slice(2)));
5
+ //# sourceMappingURL=badges-ts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"badges-ts.js","sourceRoot":"","sources":["../../src/bin/badges-ts.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAEpD,MAAM,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC"}
package/cli.d.ts CHANGED
@@ -1,4 +1,3 @@
1
- #!/usr/bin/env node
2
1
  import { type Context } from "@jonloucks/badges-ts/auxiliary/Command";
3
2
  /**
4
3
  * Main entry point for the Badges CLI application.
package/cli.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAMA,OAAO,EAAgB,KAAK,OAAO,EAAE,MAAM,wCAAwC,CAAC;AASpF;;;;;;;;;;GAUG;AACH,wBAAsB,OAAO,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAY7D"}
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"}
package/cli.js CHANGED
@@ -1,64 +1,8 @@
1
- #!/usr/bin/env node
2
- var __addDisposableResource = (this && this.__addDisposableResource) || function (env, value, async) {
3
- if (value !== null && value !== void 0) {
4
- if (typeof value !== "object" && typeof value !== "function") throw new TypeError("Object expected.");
5
- var dispose, inner;
6
- if (async) {
7
- if (!Symbol.asyncDispose) throw new TypeError("Symbol.asyncDispose is not defined.");
8
- dispose = value[Symbol.asyncDispose];
9
- }
10
- if (dispose === void 0) {
11
- if (!Symbol.dispose) throw new TypeError("Symbol.dispose is not defined.");
12
- dispose = value[Symbol.dispose];
13
- if (async) inner = dispose;
14
- }
15
- if (typeof dispose !== "function") throw new TypeError("Object not disposable.");
16
- if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };
17
- env.stack.push({ value: value, dispose: dispose, async: async });
18
- }
19
- else if (async) {
20
- env.stack.push({ async: true });
21
- }
22
- return value;
23
- };
24
- var __disposeResources = (this && this.__disposeResources) || (function (SuppressedError) {
25
- return function (env) {
26
- function fail(e) {
27
- env.error = env.hasError ? new SuppressedError(e, env.error, "An error was suppressed during disposal.") : e;
28
- env.hasError = true;
29
- }
30
- var r, s = 0;
31
- function next() {
32
- while (r = env.stack.pop()) {
33
- try {
34
- if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);
35
- if (r.dispose) {
36
- var result = r.dispose.call(r.value);
37
- if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });
38
- }
39
- else s |= 1;
40
- }
41
- catch (e) {
42
- fail(e);
43
- }
44
- }
45
- if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();
46
- if (env.hasError) throw env.error;
47
- }
48
- return next();
49
- };
50
- })(typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
51
- var e = new Error(message);
52
- return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
53
- });
54
1
  import { COMMAND as APPLY_VERSION_COMMAND } from "./impl/apply-version-command.js";
55
2
  import { COMMAND as DISCOVER_COMMAND } from "./impl/discover-command.js";
56
3
  import { COMMAND as GENERATE_COMMAND } from "./impl/generate-command.js";
57
4
  import { createInstaller } from "@jonloucks/badges-ts";
58
5
  import { isNotPresent, isPresent } from '@jonloucks/contracts-ts/api/Types';
59
- import { used } from "@jonloucks/contracts-ts/auxiliary/Checks";
60
- import { toContext } from "./impl/Command.impl.js";
61
- import { Internal } from './impl/Internal.impl.js';
62
6
  import { VERSION } from "./version.js";
63
7
  /**
64
8
  * Main entry point for the Badges CLI application.
@@ -72,10 +16,8 @@ import { VERSION } from "./version.js";
72
16
  *
73
17
  */
74
18
  export async function runMain(context) {
75
- const env_1 = { stack: [], error: void 0, hasError: false };
19
+ const usingInstaller = createInstaller().open();
76
20
  try {
77
- const usingInstaller = __addDisposableResource(env_1, createInstaller().open(), false);
78
- used(usingInstaller);
79
21
  const command = findCommand(context);
80
22
  if (isPresent(command)) {
81
23
  await command.execute(context);
@@ -85,12 +27,8 @@ export async function runMain(context) {
85
27
  printUsage(context);
86
28
  }
87
29
  }
88
- catch (e_1) {
89
- env_1.error = e_1;
90
- env_1.hasError = true;
91
- }
92
30
  finally {
93
- __disposeResources(env_1);
31
+ usingInstaller.close();
94
32
  }
95
33
  }
96
34
  function findCommand(context) {
@@ -150,7 +88,4 @@ function findFirstCommand(args) {
150
88
  }
151
89
  return args.find(arg => !arg.startsWith('-'));
152
90
  }
153
- if (Internal.isRunning(import.meta.url)) {
154
- await runMain(toContext(process.argv.slice(2)));
155
- }
156
91
  //# sourceMappingURL=cli.js.map
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;AAEzE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAGvD,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAE5E,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,OAAgB;IAC5C,MAAM,cAAc,GAAc,eAAe,EAAE,CAAC,IAAI,EAAE,CAAC;IAC3D,IAAI,CAAC;QACH,MAAM,OAAO,GAAiC,WAAW,CAAC,OAAO,CAAC,CAAC;QAEnE,IAAI,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;YACvB,MAAM,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACjC,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;YACjD,UAAU,CAAC,OAAO,CAAC,CAAC;QACtB,CAAC;IACH,CAAC;YAAS,CAAC;QACT,cAAc,CAAC,KAAK,EAAE,CAAC;IACzB,CAAC;AACH,CAAC;AAED,SAAS,WAAW,CAAC,OAAgB;IACnC,IAAI,OAAO,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACnC,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,YAAY,GAAuB,gBAAgB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAC7E,IAAI,YAAY,CAAC,YAAY,CAAC,EAAE,CAAC;QAC/B,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,QAAQ,YAAY,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC;QAC1C,KAAK,UAAU,CAAC,CAAC,CAAC;YAChB,OAAO,gBAAgB,CAAC;QAC1B,CAAC;QACD,KAAK,UAAU,CAAC,CAAC,CAAC;YAChB,OAAO,gBAAgB,CAAC;QAC1B,CAAC;QACD,KAAK,eAAe,CAAC,CAAC,CAAC;YACrB,OAAO,qBAAqB,CAAC;QAC/B,CAAC;QACD,KAAK,SAAS,CAAC,CAAC,CAAC;YACf,OAAO;gBACL,OAAO,EAAE,KAAK,EAAE,OAAgB,EAAmB,EAAE;oBACnD,WAAW,CAAC,OAAO,CAAC,CAAC;oBACrB,OAAO,OAAO,CAAC;gBACjB,CAAC;aACF,CAAC;QACJ,CAAC;QACD,KAAK,MAAM,CAAC,CAAC,CAAC;YACZ,OAAO;gBACL,OAAO,EAAE,KAAK,EAAE,OAAgB,EAAiB,EAAE;oBACjD,UAAU,CAAC,OAAO,CAAC,CAAC;gBACtB,CAAC;aACF,CAAC;QACJ,CAAC;QACD;YACE,OAAO,SAAS,CAAC;IACrB,CAAC;AACH,CAAC;AAED,SAAS,WAAW,CAAC,OAAgB;IACnC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,2BAA2B,OAAO,EAAE,CAAC,CAAC;AAC7D,CAAC;AAED,SAAS,UAAU,CAAC,OAAgB;IAClC,WAAW,CAAC,OAAO,CAAC,CAAC;IACrB,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC/B,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,sFAAsF,CAAC,CAAC;IAC7G,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,wEAAwE,CAAC,CAAC;IAC/F,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,4EAA4E,CAAC,CAAC;AACrG,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAc;IACtC,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":"Resolver.d.ts","sourceRoot":"","sources":["../../src/data/Resolver.ts"],"names":[],"mappings":"AAGA;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,GAAG,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,CAK7D"}
1
+ {"version":3,"file":"Resolver.d.ts","sourceRoot":"","sources":["../../src/data/Resolver.ts"],"names":[],"mappings":"AAGA;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,GAAG,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,CAI7D"}
package/data/Resolver.js CHANGED
@@ -1,4 +1,4 @@
1
- import { dirname, join } from "path";
1
+ import { dirname, resolve } from "path";
2
2
  import { fileURLToPath } from "url";
3
3
  /**
4
4
  * Resolves a path relative to the src/data directory.
@@ -9,9 +9,8 @@ import { fileURLToPath } from "url";
9
9
  * @returns The resolved path.
10
10
  */
11
11
  export function resolveDataPath(...segments) {
12
- // Use import.meta.dirname if available (Node 20.11.0+); for older supported Node versions (e.g. 16/18), fall back to dirname(fileURLToPath(import.meta.url))
13
- // This approach remains compatible with the project's supported Node range (Node 16+ with CI on Node 18) while taking advantage of newer features when available
14
- const __dirname = import.meta.dirname ?? dirname(fileURLToPath(import.meta.url));
15
- return join(__dirname, ...segments);
12
+ // reducing complexity using least common denominator approach;
13
+ // the path is resolved relative to the src/data directory, which is a known location within the package
14
+ return resolve(dirname(fileURLToPath(import.meta.url)), ...segments);
16
15
  }
17
16
  //# sourceMappingURL=Resolver.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Resolver.js","sourceRoot":"","sources":["../../src/data/Resolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AAEpC;;;;;;;GAOG;AACH,MAAM,UAAU,eAAe,CAAC,GAAG,QAAkB;IACnD,6JAA6J;IAC7J,iKAAiK;IACjK,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IACjF,OAAO,IAAI,CAAC,SAAS,EAAE,GAAG,QAAQ,CAAC,CAAC;AACtC,CAAC"}
1
+ {"version":3,"file":"Resolver.js","sourceRoot":"","sources":["../../src/data/Resolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AAEpC;;;;;;;GAOG;AACH,MAAM,UAAU,eAAe,CAAC,GAAG,QAAkB;IACnD,gEAAgE;IAChE,wGAAwG;IACxG,OAAO,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,QAAQ,CAAC,CAAC;AACvE,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import { BadgeFactory } from "@jonloucks/badges-ts/api/BadgeFactory";
2
+ import { Contracts } from "@jonloucks/contracts-ts/api/Contracts";
2
3
  /**
3
4
  * Factory for creating badges based on templates and provided data.
4
5
  * The factory reads a badge template file, replaces placeholders with actual values,
@@ -22,5 +23,8 @@ import { BadgeFactory } from "@jonloucks/badges-ts/api/BadgeFactory";
22
23
  * console.log(`Badge created at ${badge.outputPath}`);
23
24
  * ```
24
25
  */
25
- export declare function create(): BadgeFactory;
26
+ export interface Config {
27
+ contracts: Contracts;
28
+ }
29
+ export declare function create(config: Config): BadgeFactory;
26
30
  //# sourceMappingURL=BadgeFactory.impl.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BadgeFactory.impl.d.ts","sourceRoot":"","sources":["../../src/impl/BadgeFactory.impl.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AAIrE;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,MAAM,IAAI,YAAY,CAErC"}
1
+ {"version":3,"file":"BadgeFactory.impl.d.ts","sourceRoot":"","sources":["../../src/impl/BadgeFactory.impl.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AAErE,OAAO,EAAE,SAAS,EAAE,MAAM,uCAAuC,CAAC;AAGlE;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,MAAM,WAAW,MAAM;IACrB,SAAS,EAAE,SAAS,CAAC;CACtB;AAED,wBAAgB,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,CAEnD"}
@@ -1,30 +1,14 @@
1
+ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
2
+ if (kind === "m") throw new TypeError("Private method is not writable");
3
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
4
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
5
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
6
+ };
7
+ var _BadgeFactoryImpl_contracts;
1
8
  import { presentCheck } from "@jonloucks/badges-ts/auxiliary/Checks";
2
9
  import { readFile, writeFile } from "fs";
3
- /**
4
- * Factory for creating badges based on templates and provided data.
5
- * The factory reads a badge template file, replaces placeholders with actual values,
6
- * and writes the generated badge to the specified output path.
7
- * Placeholders in the template should be in the format {{KEYWORD}} where KEYWORD corresponds to properties in the GenerateOptions.
8
- * Supported placeholders include:
9
- * - {{LABEL}}: Placeholder for the badge label.
10
- * - {{VALUE}}: Placeholder for the badge value.
11
- * - {{COLOR}}: Placeholder for the badge background color.
12
- * Usage:
13
- * ```
14
- * const badgeFactory = createBadgeFactory();
15
- * const badge = await badgeFactory.createBadge({
16
- * name: "coverage",
17
- * templatePath: "./path/to/template.svg",
18
- * outputPath: "./path/to/output/badge.svg",
19
- * label: "coverage",
20
- * value: "95%",
21
- * color: "#4bc124"
22
- * });
23
- * console.log(`Badge created at ${badge.outputPath}`);
24
- * ```
25
- */
26
- export function create() {
27
- return BadgeFactoryImpl.internalCreate();
10
+ export function create(config) {
11
+ return BadgeFactoryImpl.internalCreate(config);
28
12
  }
29
13
  // ---- Implementation details below ----
30
14
  class BadgeFactoryImpl {
@@ -42,6 +26,7 @@ class BadgeFactoryImpl {
42
26
  }
43
27
  else {
44
28
  return await writeDataFile(config.outputPath, generated).then(() => {
29
+ config.display.info(`Badge ${config.name} generated at ${config.outputPath}`);
45
30
  return {
46
31
  name: config.name,
47
32
  outputPath: config.outputPath
@@ -49,33 +34,35 @@ class BadgeFactoryImpl {
49
34
  });
50
35
  }
51
36
  }
52
- static internalCreate() {
53
- return new BadgeFactoryImpl();
37
+ static internalCreate(config) {
38
+ return new BadgeFactoryImpl(config);
54
39
  }
55
- constructor() {
56
- // Private constructor to enforce use of internalCreate
40
+ constructor(config) {
41
+ _BadgeFactoryImpl_contracts.set(this, void 0);
42
+ __classPrivateFieldSet(this, _BadgeFactoryImpl_contracts, config.contracts, "f");
57
43
  }
58
44
  }
45
+ _BadgeFactoryImpl_contracts = new WeakMap();
59
46
  async function readDataFile(filePath) {
60
- return new Promise((resolve, reject) => {
47
+ return new Promise((deliver, reject) => {
61
48
  readFile(filePath, (err, data) => {
62
49
  if (err) {
63
50
  reject(err);
64
51
  }
65
52
  else {
66
- resolve(data);
53
+ deliver(data);
67
54
  }
68
55
  });
69
56
  });
70
57
  }
71
58
  async function writeDataFile(filePath, data) {
72
- return new Promise((resolve, reject) => {
59
+ return new Promise((deliver, reject) => {
73
60
  writeFile(filePath, data, (err) => {
74
61
  if (err) {
75
62
  reject(err);
76
63
  }
77
64
  else {
78
- resolve();
65
+ deliver();
79
66
  }
80
67
  });
81
68
  });
@@ -1 +1 @@
1
- {"version":3,"file":"BadgeFactory.impl.js","sourceRoot":"","sources":["../../src/impl/BadgeFactory.impl.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BadgeFactory.impl.js","sourceRoot":"","sources":["../../src/impl/BadgeFactory.impl.ts"],"names":[],"mappings":"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"}
@@ -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;AAEjE,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAQjD"}
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;AAKjE,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAgBjD"}
@@ -1,10 +1,19 @@
1
+ import { createEnvironment, createProcessSource } from "@jonloucks/variants-ts/auxiliary/Convenience";
2
+ import { used } from "@jonloucks/badges-ts/auxiliary/Checks";
1
3
  export function toContext(args) {
2
4
  const flags = parseFlags({ args });
3
5
  const display = flagsToDisplay(flags);
6
+ // add load from configuration file
7
+ const environment = createEnvironment({
8
+ sources: [
9
+ createProcessSource()
10
+ ]
11
+ });
4
12
  return {
5
13
  arguments: args,
6
14
  display: display,
7
15
  flags: flags,
16
+ environment: environment,
8
17
  };
9
18
  }
10
19
  function parseFlags({ args }) {
@@ -16,33 +25,15 @@ function parseFlags({ args }) {
16
25
  verbose: args.includes('--verbose') || args.includes('-v'),
17
26
  };
18
27
  }
28
+ const DISCARD = (message) => { used(message); };
29
+ const DRY_RUN = (message) => console.info(`[DRY RUN] ${message}`);
19
30
  function flagsToDisplay(flags) {
20
31
  return {
21
- error: (message) => {
22
- if (!flags.quiet) {
23
- console.error(message);
24
- }
25
- },
26
- info: (message) => {
27
- if (!flags.quiet) {
28
- console.info(message);
29
- }
30
- },
31
- warn: (message) => {
32
- if (!flags.quiet && (flags.warn || flags.verbose)) {
33
- console.warn(message);
34
- }
35
- },
36
- trace: (message) => {
37
- if (!flags.quiet && (flags.trace || flags.verbose)) {
38
- console.info(message);
39
- }
40
- },
41
- dry: (message) => {
42
- if (!flags.quiet && flags.dryRun) {
43
- console.info(`[DRY RUN] ${message}`);
44
- }
45
- }
32
+ error: flags.quiet ? DISCARD : console.error,
33
+ info: flags.quiet ? DISCARD : console.info,
34
+ warn: flags.quiet || !(flags.warn || flags.verbose) ? DISCARD : console.warn,
35
+ trace: flags.quiet || !(flags.trace || flags.verbose) ? DISCARD : console.info,
36
+ dry: flags.quiet || !(flags.dryRun) ? DISCARD : DRY_RUN
46
37
  };
47
38
  }
48
39
  //# sourceMappingURL=Command.impl.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Command.impl.js","sourceRoot":"","sources":["../../src/impl/Command.impl.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,SAAS,CAAC,IAAc;IACtC,MAAM,KAAK,GAAU,UAAU,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1C,MAAM,OAAO,GAAY,cAAc,CAAC,KAAK,CAAC,CAAC;IAC/C,OAAO;QACL,SAAS,EAAE,IAAI;QACf,OAAO,EAAE,OAAO;QAChB,KAAK,EAAE,KAAK;KACb,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,EAAE,IAAI,EAAuB;IAC/C,OAAO;QACL,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;QACzD,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;QACtD,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;QACtD,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;QACpD,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;KAC3D,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,KAAY;IAClC,OAAO;QACL,KAAK,EAAE,CAAC,OAAe,EAAS,EAAE;YAChC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;gBACjB,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACzB,CAAC;QACH,CAAC;QACD,IAAI,EAAE,CAAC,OAAe,EAAS,EAAE;YAC/B,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;gBACjB,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACxB,CAAC;QACH,CAAC;QACD,IAAI,EAAE,CAAC,OAAe,EAAS,EAAE;YAC/B,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;gBAClD,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACxB,CAAC;QACH,CAAC;QACD,KAAK,EAAE,CAAC,OAAe,EAAS,EAAE;YAChC,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;gBACnD,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACxB,CAAC;QACH,CAAC;QACD,GAAG,EAAE,CAAC,OAAe,EAAS,EAAE;YAC9B,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;gBACjC,OAAO,CAAC,IAAI,CAAC,aAAa,OAAO,EAAE,CAAC,CAAC;YACvC,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"Command.impl.js","sourceRoot":"","sources":["../../src/impl/Command.impl.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,8CAA8C,CAAC;AACtG,OAAO,EAAE,IAAI,EAAE,MAAM,uCAAuC,CAAC;AAE7D,MAAM,UAAU,SAAS,CAAC,IAAc;IACtC,MAAM,KAAK,GAAU,UAAU,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1C,MAAM,OAAO,GAAY,cAAc,CAAC,KAAK,CAAC,CAAC;IAE/C,mCAAmC;IACnC,MAAM,WAAW,GAAgB,iBAAiB,CAAC;QACjD,OAAO,EAAE;YACP,mBAAmB,EAAE;SACtB;KACF,CAAC,CAAC;IACH,OAAO;QACL,SAAS,EAAE,IAAI;QACf,OAAO,EAAE,OAAO;QAChB,KAAK,EAAE,KAAK;QACZ,WAAW,EAAE,WAAW;KACzB,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,EAAE,IAAI,EAAuB;IAC/C,OAAO;QACL,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;QACzD,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;QACtD,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;QACtD,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;QACpD,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;KAC3D,CAAC;AACJ,CAAC;AAED,MAAM,OAAO,GAAG,CAAC,OAAe,EAAQ,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9D,MAAM,OAAO,GAAG,CAAC,OAAe,EAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,OAAO,EAAE,CAAC,CAAC;AAEhF,SAAS,cAAc,CAAC,KAAY;IAClC,OAAO;QACL,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK;QAC5C,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI;QAC1C,IAAI,EAAE,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI;QAC5E,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI;QAC9E,GAAG,EAAE,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO;KACxD,CAAC;AACJ,CAAC"}
@@ -1,3 +1,7 @@
1
1
  import { DiscoverProject } from "@jonloucks/badges-ts/auxiliary/DiscoverProject";
2
- export declare function create(): DiscoverProject;
2
+ import { Contracts } from "@jonloucks/contracts-ts/api/Contracts";
3
+ export interface Config {
4
+ contracts: Contracts;
5
+ }
6
+ export declare function create(config: Config): DiscoverProject;
3
7
  //# sourceMappingURL=DiscoverProject.impl.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DiscoverProject.impl.d.ts","sourceRoot":"","sources":["../../src/impl/DiscoverProject.impl.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,eAAe,EAAE,MAAM,gDAAgD,CAAC;AAKjF,wBAAgB,MAAM,IAAI,eAAe,CAExC"}
1
+ {"version":3,"file":"DiscoverProject.impl.d.ts","sourceRoot":"","sources":["../../src/impl/DiscoverProject.impl.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,gDAAgD,CAAC;AAIjF,OAAO,EAAE,SAAS,EAAE,MAAM,uCAAuC,CAAC;AAKlE,MAAM,WAAW,MAAM;IACrB,SAAS,EAAE,SAAS,CAAC;CACtB;AAED,wBAAgB,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,eAAe,CAEtD"}