@pagopa/dx-cli 0.25.3 → 0.26.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.
@@ -1,13 +1,27 @@
1
+ import type { AzureSource } from "@pagopa/dx-savemoney";
1
2
  import { Command } from "commander";
3
+ import { z } from "zod";
2
4
  export declare const makeSavemoneyCommand: () => Command;
5
+ declare const SourceSchema: z.ZodEnum<{
6
+ custom: "custom";
7
+ all: "all";
8
+ advisor: "advisor";
9
+ }>;
10
+ type SourceOption = z.infer<typeof SourceSchema>;
3
11
  /**
4
12
  * Parses the `--source` option via a zod enum, accepting `all`, `advisor`,
5
13
  * or `custom` and rejecting any other value with a Commander-friendly error.
6
14
  */
7
- export declare function parseSourceOption(value: string): string;
15
+ export declare function parseSourceOption(value: string): SourceOption;
8
16
  /**
9
17
  * Parses an array of "key=value" strings (from commander variadic option) into a Map<string, string>.
10
18
  * Returns an empty Map when the option is not provided or empty.
11
19
  * Supports values that contain "=" (only the first "=" is treated as separator).
12
20
  */
13
21
  export declare function parseTagsOption(tagsOption: string[] | undefined): Map<string, string>;
22
+ /**
23
+ * Resolves the source filter preserving the difference between an omitted
24
+ * option (respect config/defaults) and an explicit `--source all` override.
25
+ */
26
+ export declare function resolveSourcesOption(option: SourceOption | undefined, configSources: AzureSource[] | undefined): AzureSource[];
27
+ export {};
@@ -10,7 +10,8 @@ export const makeSavemoneyCommand = () => new Command("savemoney")
10
10
  .option("-l, --location <string>", "Preferred Azure location for resources (overrides config file)", "italynorth")
11
11
  .option("-d, --days <number>", "Number of days for metrics analysis (overrides config file)", "30")
12
12
  .option("-t, --tags <tags...>", "Filter findings by resource tags (key=value key2=value2). Advisor subscription-level findings remain global.")
13
- .option("-s, --source <source>", "Restrict findings to a single source: 'advisor', 'custom', or 'all' (default: all)", parseSourceOption, "all")
13
+ .option("-s, --source <source>", "Restrict findings to a single source: 'advisor', 'custom', or 'all' (defaults to config file or all)", parseSourceOption)
14
+ .option("--no-pricing", "Disable Azure Retail Prices enrichment (skips custom cost-at-risk estimates)")
14
15
  .action(async function (options) {
15
16
  const { verbose } = this.optsWithGlobals();
16
17
  try {
@@ -18,14 +19,19 @@ export const makeSavemoneyCommand = () => new Command("savemoney")
18
19
  const config = await loadConfig(options.config);
19
20
  // Parse tag filter
20
21
  const filterTags = parseTagsOption(options.tags);
22
+ const cliDays = Number.parseInt(options.days, 10);
21
23
  const finalConfig = {
22
24
  ...config,
23
25
  filterTags,
24
- preferredLocation: options.location || config.preferredLocation,
25
- sources: options.source === "all"
26
- ? (config.sources ?? ["advisor", "custom"])
27
- : [options.source],
28
- timespanDays: Number.parseInt(options.days, 10) || config.timespanDays,
26
+ preferredLocation: this.getOptionValueSource("location") === "cli"
27
+ ? options.location
28
+ : config.preferredLocation,
29
+ ...(options.pricing === false ? { pricing: { enabled: false } } : {}),
30
+ sources: resolveSourcesOption(options.source, config.sources),
31
+ timespanDays: this.getOptionValueSource("days") === "cli" &&
32
+ !Number.isNaN(cliDays)
33
+ ? cliDays
34
+ : config.timespanDays,
29
35
  verbose: verbose ?? false,
30
36
  };
31
37
  // Run analysis showing a progress spinner on stderr so the CLI doesn't
@@ -76,4 +82,14 @@ export function parseTagsOption(tagsOption) {
76
82
  }
77
83
  return result;
78
84
  }
79
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2F2ZW1vbmV5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FkYXB0ZXJzL2NvbW1hbmRlci9jb21tYW5kcy9zYXZlbW9uZXkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQzFELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxLQUFLLENBQUM7QUFDakMsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssQ0FBQztBQUV4QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFHckQsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsR0FBRyxFQUFFLENBQ3ZDLElBQUksT0FBTyxDQUFDLFdBQVcsQ0FBQztLQUNyQixXQUFXLENBQ1Ysd0VBQXdFLENBQ3pFO0tBQ0EsTUFBTSxDQUFDLHFCQUFxQixFQUFFLGlDQUFpQyxDQUFDO0tBQ2hFLE1BQU0sQ0FDTCx1QkFBdUIsRUFDdkIscUVBQXFFLEVBQ3JFLE9BQU8sQ0FDUjtLQUNBLE1BQU0sQ0FDTCx5QkFBeUIsRUFDekIsZ0VBQWdFLEVBQ2hFLFlBQVksQ0FDYjtLQUNBLE1BQU0sQ0FDTCxxQkFBcUIsRUFDckIsNkRBQTZELEVBQzdELElBQUksQ0FDTDtLQUNBLE1BQU0sQ0FDTCxzQkFBc0IsRUFDdEIsOEdBQThHLENBQy9HO0tBQ0EsTUFBTSxDQUNMLHVCQUF1QixFQUN2QixvRkFBb0YsRUFDcEYsaUJBQWlCLEVBQ2pCLEtBQUssQ0FDTjtLQUNBLE1BQU0sQ0FBQyxLQUFLLFdBQVcsT0FBTztJQUM3QixNQUFNLEVBQUUsT0FBTyxFQUFFLEdBQUcsSUFBSSxDQUFDLGVBQWUsRUFBaUIsQ0FBQztJQUMxRCxJQUFJLENBQUM7UUFDSCw4RkFBOEY7UUFDOUYsTUFBTSxNQUFNLEdBQWdCLE1BQU0sVUFBVSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUU3RCxtQkFBbUI7UUFDbkIsTUFBTSxVQUFVLEdBQUcsZUFBZSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUVqRCxNQUFNLFdBQVcsR0FBZ0I7WUFDL0IsR0FBRyxNQUFNO1lBQ1QsVUFBVTtZQUNWLGlCQUFpQixFQUFFLE9BQU8sQ0FBQyxRQUFRLElBQUksTUFBTSxDQUFDLGlCQUFpQjtZQUMvRCxPQUFPLEVBQ0wsT0FBTyxDQUFDLE1BQU0sS0FBSyxLQUFLO2dCQUN0QixDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxJQUFJLENBQUMsU0FBUyxFQUFFLFFBQVEsQ0FBQyxDQUFDO2dCQUMzQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBcUIsQ0FBQztZQUNyQyxZQUFZLEVBQ1YsTUFBTSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxZQUFZO1lBQzFELE9BQU8sRUFBRSxPQUFPLElBQUksS0FBSztTQUMxQixDQUFDO1FBRUYsdUVBQXVFO1FBQ3ZFLHlFQUF5RTtRQUN6RSxNQUFNLE9BQU8sR0FBRyxNQUFNLFVBQVUsQ0FDOUIsS0FBSyxDQUFDLHFCQUFxQixDQUFDLFdBQVcsQ0FBQyxFQUN4QztZQUNFLFFBQVEsRUFBRSxpQkFBaUI7WUFDM0IsTUFBTSxFQUFFLE9BQU8sQ0FBQyxNQUFNO1lBQ3RCLFdBQVcsRUFBRSxtQkFBbUI7WUFDaEMsSUFBSSxFQUFFLDJCQUEyQjtTQUNsQyxDQUNGLENBQUM7UUFDRixNQUFNLEtBQUssQ0FBQyxjQUFjLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztRQUNmLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FDakIsS0FBSyxZQUFZLEtBQUs7WUFDcEIsQ0FBQyxDQUFDLElBQUksS0FBSyxDQUFDLG9CQUFvQixLQUFLLENBQUMsT0FBTyxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLENBQUM7WUFDbEUsQ0FBQyxDQUFDLElBQUksS0FBSyxDQUFDLG9CQUFvQixNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUNuRCxDQUFDO0lBQ0osQ0FBQztBQUNILENBQUMsQ0FBQyxDQUFDO0FBRVAsTUFBTSxZQUFZLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLFNBQVMsRUFBRSxLQUFLLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQztBQUUxRDs7O0dBR0c7QUFDSCxNQUFNLFVBQVUsaUJBQWlCLENBQUMsS0FBYTtJQUM3QyxNQUFNLE1BQU0sR0FBRyxZQUFZLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzdDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDcEIsTUFBTSxJQUFJLG9CQUFvQixDQUM1Qix1QkFBdUIsWUFBWSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FDekQsQ0FBQztJQUNKLENBQUM7SUFDRCxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUM7QUFDckIsQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsZUFBZSxDQUM3QixVQUFnQztJQUVoQyxNQUFNLE1BQU0sR0FBRyxJQUFJLEdBQUcsRUFBa0IsQ0FBQztJQUN6QyxJQUFJLENBQUMsVUFBVSxJQUFJLFVBQVUsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDM0MsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUNELEtBQUssTUFBTSxJQUFJLElBQUksVUFBVSxFQUFFLENBQUM7UUFDOUIsTUFBTSxDQUFDLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDMUMsTUFBTSxHQUFHLEdBQUcsTUFBTSxFQUFFLElBQUksRUFBRSxDQUFDO1FBQzNCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDcEMsSUFBSSxHQUFHLElBQUksSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUMzQixNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUN6QixDQUFDO0lBQ0gsQ0FBQztJQUNELE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEF6dXJlQ29uZmlnLCBBenVyZVNvdXJjZSB9IGZyb20gXCJAcGFnb3BhL2R4LXNhdmVtb25leVwiO1xuXG5pbXBvcnQgeyBhenVyZSwgbG9hZENvbmZpZyB9IGZyb20gXCJAcGFnb3BhL2R4LXNhdmVtb25leVwiO1xuaW1wb3J0IHsgQ29tbWFuZCwgSW52YWxpZEFyZ3VtZW50RXJyb3IgfSBmcm9tIFwiY29tbWFuZGVyXCI7XG5pbXBvcnQgeyBvcmFQcm9taXNlIH0gZnJvbSBcIm9yYVwiO1xuaW1wb3J0IHsgeiB9IGZyb20gXCJ6b2RcIjtcblxuaW1wb3J0IHsgZXhpdFdpdGhFcnJvciB9IGZyb20gXCIuLi9jb21tYW5kLWVycm9ycy5qc1wiO1xuaW1wb3J0IHsgR2xvYmFsT3B0aW9ucyB9IGZyb20gXCIuLi9nbG9iYWwtb3B0aW9ucy5qc1wiO1xuXG5leHBvcnQgY29uc3QgbWFrZVNhdmVtb25leUNvbW1hbmQgPSAoKSA9PlxuICBuZXcgQ29tbWFuZChcInNhdmVtb25leVwiKVxuICAgIC5kZXNjcmlwdGlvbihcbiAgICAgIFwiQW5hbHl6ZSBBenVyZSBzdWJzY3JpcHRpb25zIGFuZCByZXBvcnQgdW51c2VkIG9yIGluZWZmaWNpZW50IHJlc291cmNlc1wiLFxuICAgIClcbiAgICAub3B0aW9uKFwiLWMsIC0tY29uZmlnIDxwYXRoPlwiLCBcIlBhdGggdG8gWUFNTCBjb25maWd1cmF0aW9uIGZpbGVcIilcbiAgICAub3B0aW9uKFxuICAgICAgXCItZiwgLS1mb3JtYXQgPGZvcm1hdD5cIixcbiAgICAgIFwiUmVwb3J0IGZvcm1hdDoganNvbiwgdGFibGUsIGRldGFpbGVkLWpzb24sIG9yIGxpbnQgKGRlZmF1bHQ6IHRhYmxlKVwiLFxuICAgICAgXCJ0YWJsZVwiLFxuICAgIClcbiAgICAub3B0aW9uKFxuICAgICAgXCItbCwgLS1sb2NhdGlvbiA8c3RyaW5nPlwiLFxuICAgICAgXCJQcmVmZXJyZWQgQXp1cmUgbG9jYXRpb24gZm9yIHJlc291cmNlcyAob3ZlcnJpZGVzIGNvbmZpZyBmaWxlKVwiLFxuICAgICAgXCJpdGFseW5vcnRoXCIsXG4gICAgKVxuICAgIC5vcHRpb24oXG4gICAgICBcIi1kLCAtLWRheXMgPG51bWJlcj5cIixcbiAgICAgIFwiTnVtYmVyIG9mIGRheXMgZm9yIG1ldHJpY3MgYW5hbHlzaXMgKG92ZXJyaWRlcyBjb25maWcgZmlsZSlcIixcbiAgICAgIFwiMzBcIixcbiAgICApXG4gICAgLm9wdGlvbihcbiAgICAgIFwiLXQsIC0tdGFncyA8dGFncy4uLj5cIixcbiAgICAgIFwiRmlsdGVyIGZpbmRpbmdzIGJ5IHJlc291cmNlIHRhZ3MgKGtleT12YWx1ZSBrZXkyPXZhbHVlMikuIEFkdmlzb3Igc3Vic2NyaXB0aW9uLWxldmVsIGZpbmRpbmdzIHJlbWFpbiBnbG9iYWwuXCIsXG4gICAgKVxuICAgIC5vcHRpb24oXG4gICAgICBcIi1zLCAtLXNvdXJjZSA8c291cmNlPlwiLFxuICAgICAgXCJSZXN0cmljdCBmaW5kaW5ncyB0byBhIHNpbmdsZSBzb3VyY2U6ICdhZHZpc29yJywgJ2N1c3RvbScsIG9yICdhbGwnIChkZWZhdWx0OiBhbGwpXCIsXG4gICAgICBwYXJzZVNvdXJjZU9wdGlvbixcbiAgICAgIFwiYWxsXCIsXG4gICAgKVxuICAgIC5hY3Rpb24oYXN5bmMgZnVuY3Rpb24gKG9wdGlvbnMpIHtcbiAgICAgIGNvbnN0IHsgdmVyYm9zZSB9ID0gdGhpcy5vcHRzV2l0aEdsb2JhbHM8R2xvYmFsT3B0aW9ucz4oKTtcbiAgICAgIHRyeSB7XG4gICAgICAgIC8vIExvYWQgY29uZmlndXJhdGlvbiBmcm9tIFlBTUwgKGluY2x1ZGVzIHN1YnNjcmlwdGlvbklkcywgbG9jYXRpb24sIHRpbWVzcGFuRGF5cywgdGhyZXNob2xkcylcbiAgICAgICAgY29uc3QgY29uZmlnOiBBenVyZUNvbmZpZyA9IGF3YWl0IGxvYWRDb25maWcob3B0aW9ucy5jb25maWcpO1xuXG4gICAgICAgIC8vIFBhcnNlIHRhZyBmaWx0ZXJcbiAgICAgICAgY29uc3QgZmlsdGVyVGFncyA9IHBhcnNlVGFnc09wdGlvbihvcHRpb25zLnRhZ3MpO1xuXG4gICAgICAgIGNvbnN0IGZpbmFsQ29uZmlnOiBBenVyZUNvbmZpZyA9IHtcbiAgICAgICAgICAuLi5jb25maWcsXG4gICAgICAgICAgZmlsdGVyVGFncyxcbiAgICAgICAgICBwcmVmZXJyZWRMb2NhdGlvbjogb3B0aW9ucy5sb2NhdGlvbiB8fCBjb25maWcucHJlZmVycmVkTG9jYXRpb24sXG4gICAgICAgICAgc291cmNlczpcbiAgICAgICAgICAgIG9wdGlvbnMuc291cmNlID09PSBcImFsbFwiXG4gICAgICAgICAgICAgID8gKGNvbmZpZy5zb3VyY2VzID8/IFtcImFkdmlzb3JcIiwgXCJjdXN0b21cIl0pXG4gICAgICAgICAgICAgIDogW29wdGlvbnMuc291cmNlIGFzIEF6dXJlU291cmNlXSxcbiAgICAgICAgICB0aW1lc3BhbkRheXM6XG4gICAgICAgICAgICBOdW1iZXIucGFyc2VJbnQob3B0aW9ucy5kYXlzLCAxMCkgfHwgY29uZmlnLnRpbWVzcGFuRGF5cyxcbiAgICAgICAgICB2ZXJib3NlOiB2ZXJib3NlID8/IGZhbHNlLFxuICAgICAgICB9O1xuXG4gICAgICAgIC8vIFJ1biBhbmFseXNpcyBzaG93aW5nIGEgcHJvZ3Jlc3Mgc3Bpbm5lciBvbiBzdGRlcnIgc28gdGhlIENMSSBkb2Vzbid0XG4gICAgICAgIC8vIGxvb2sgZnJvemVuIGR1cmluZyB0aGUgKHBvdGVudGlhbGx5IHNldmVyYWwtbWludXRlKSBBenVyZSByb3VuZC10cmlwcy5cbiAgICAgICAgY29uc3QgcmVwb3J0cyA9IGF3YWl0IG9yYVByb21pc2UoXG4gICAgICAgICAgYXp1cmUuYW5hbHl6ZUF6dXJlUmVzb3VyY2VzKGZpbmFsQ29uZmlnKSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBmYWlsVGV4dDogXCJBbmFseXNpcyBmYWlsZWRcIixcbiAgICAgICAgICAgIHN0cmVhbTogcHJvY2Vzcy5zdGRlcnIsXG4gICAgICAgICAgICBzdWNjZXNzVGV4dDogXCJBbmFseXNpcyBjb21wbGV0ZVwiLFxuICAgICAgICAgICAgdGV4dDogXCJBbmFseXppbmcgQXp1cmUgcmVzb3VyY2VzXCIsXG4gICAgICAgICAgfSxcbiAgICAgICAgKTtcbiAgICAgICAgYXdhaXQgYXp1cmUuZ2VuZXJhdGVSZXBvcnQocmVwb3J0cywgb3B0aW9ucy5mb3JtYXQpO1xuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgZXhpdFdpdGhFcnJvcih0aGlzKShcbiAgICAgICAgICBlcnJvciBpbnN0YW5jZW9mIEVycm9yXG4gICAgICAgICAgICA/IG5ldyBFcnJvcihgQW5hbHlzaXMgZmFpbGVkOiAke2Vycm9yLm1lc3NhZ2V9YCwgeyBjYXVzZTogZXJyb3IgfSlcbiAgICAgICAgICAgIDogbmV3IEVycm9yKGBBbmFseXNpcyBmYWlsZWQ6ICR7U3RyaW5nKGVycm9yKX1gKSxcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9KTtcblxuY29uc3QgU291cmNlU2NoZW1hID0gei5lbnVtKFtcImFkdmlzb3JcIiwgXCJhbGxcIiwgXCJjdXN0b21cIl0pO1xuXG4vKipcbiAqIFBhcnNlcyB0aGUgYC0tc291cmNlYCBvcHRpb24gdmlhIGEgem9kIGVudW0sIGFjY2VwdGluZyBgYWxsYCwgYGFkdmlzb3JgLFxuICogb3IgYGN1c3RvbWAgYW5kIHJlamVjdGluZyBhbnkgb3RoZXIgdmFsdWUgd2l0aCBhIENvbW1hbmRlci1mcmllbmRseSBlcnJvci5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlU291cmNlT3B0aW9uKHZhbHVlOiBzdHJpbmcpOiBzdHJpbmcge1xuICBjb25zdCByZXN1bHQgPSBTb3VyY2VTY2hlbWEuc2FmZVBhcnNlKHZhbHVlKTtcbiAgaWYgKCFyZXN1bHQuc3VjY2Vzcykge1xuICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFcnJvcihcbiAgICAgIGBBbGxvd2VkIHZhbHVlcyBhcmU6ICR7U291cmNlU2NoZW1hLm9wdGlvbnMuam9pbihcIiwgXCIpfWAsXG4gICAgKTtcbiAgfVxuICByZXR1cm4gcmVzdWx0LmRhdGE7XG59XG5cbi8qKlxuICogUGFyc2VzIGFuIGFycmF5IG9mIFwia2V5PXZhbHVlXCIgc3RyaW5ncyAoZnJvbSBjb21tYW5kZXIgdmFyaWFkaWMgb3B0aW9uKSBpbnRvIGEgTWFwPHN0cmluZywgc3RyaW5nPi5cbiAqIFJldHVybnMgYW4gZW1wdHkgTWFwIHdoZW4gdGhlIG9wdGlvbiBpcyBub3QgcHJvdmlkZWQgb3IgZW1wdHkuXG4gKiBTdXBwb3J0cyB2YWx1ZXMgdGhhdCBjb250YWluIFwiPVwiIChvbmx5IHRoZSBmaXJzdCBcIj1cIiBpcyB0cmVhdGVkIGFzIHNlcGFyYXRvcikuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZVRhZ3NPcHRpb24oXG4gIHRhZ3NPcHRpb246IHN0cmluZ1tdIHwgdW5kZWZpbmVkLFxuKTogTWFwPHN0cmluZywgc3RyaW5nPiB7XG4gIGNvbnN0IHJlc3VsdCA9IG5ldyBNYXA8c3RyaW5nLCBzdHJpbmc+KCk7XG4gIGlmICghdGFnc09wdGlvbiB8fCB0YWdzT3B0aW9uLmxlbmd0aCA9PT0gMCkge1xuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cbiAgZm9yIChjb25zdCBwYWlyIG9mIHRhZ3NPcHRpb24pIHtcbiAgICBjb25zdCBbcmF3S2V5LCAuLi5yZXN0XSA9IHBhaXIuc3BsaXQoXCI9XCIpO1xuICAgIGNvbnN0IGtleSA9IHJhd0tleT8udHJpbSgpO1xuICAgIGNvbnN0IHZhbHVlID0gcmVzdC5qb2luKFwiPVwiKS50cmltKCk7XG4gICAgaWYgKGtleSAmJiByZXN0Lmxlbmd0aCA+IDApIHtcbiAgICAgIHJlc3VsdC5zZXQoa2V5LCB2YWx1ZSk7XG4gICAgfVxuICB9XG4gIHJldHVybiByZXN1bHQ7XG59XG4iXX0=
85
+ /**
86
+ * Resolves the source filter preserving the difference between an omitted
87
+ * option (respect config/defaults) and an explicit `--source all` override.
88
+ */
89
+ export function resolveSourcesOption(option, configSources) {
90
+ if (option === undefined) {
91
+ return configSources ?? ["advisor", "custom"];
92
+ }
93
+ return option === "all" ? ["advisor", "custom"] : [option];
94
+ }
95
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2F2ZW1vbmV5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FkYXB0ZXJzL2NvbW1hbmRlci9jb21tYW5kcy9zYXZlbW9uZXkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQzFELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxLQUFLLENBQUM7QUFDakMsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssQ0FBQztBQUV4QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFHckQsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsR0FBRyxFQUFFLENBQ3ZDLElBQUksT0FBTyxDQUFDLFdBQVcsQ0FBQztLQUNyQixXQUFXLENBQ1Ysd0VBQXdFLENBQ3pFO0tBQ0EsTUFBTSxDQUFDLHFCQUFxQixFQUFFLGlDQUFpQyxDQUFDO0tBQ2hFLE1BQU0sQ0FDTCx1QkFBdUIsRUFDdkIscUVBQXFFLEVBQ3JFLE9BQU8sQ0FDUjtLQUNBLE1BQU0sQ0FDTCx5QkFBeUIsRUFDekIsZ0VBQWdFLEVBQ2hFLFlBQVksQ0FDYjtLQUNBLE1BQU0sQ0FDTCxxQkFBcUIsRUFDckIsNkRBQTZELEVBQzdELElBQUksQ0FDTDtLQUNBLE1BQU0sQ0FDTCxzQkFBc0IsRUFDdEIsOEdBQThHLENBQy9HO0tBQ0EsTUFBTSxDQUNMLHVCQUF1QixFQUN2QixzR0FBc0csRUFDdEcsaUJBQWlCLENBQ2xCO0tBQ0EsTUFBTSxDQUNMLGNBQWMsRUFDZCw4RUFBOEUsQ0FDL0U7S0FDQSxNQUFNLENBQUMsS0FBSyxXQUFXLE9BQU87SUFDN0IsTUFBTSxFQUFFLE9BQU8sRUFBRSxHQUFHLElBQUksQ0FBQyxlQUFlLEVBQWlCLENBQUM7SUFDMUQsSUFB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QWtCLENBQUM7SUFDekMsSUFBSSxDQUFDLFVBQVUsSUFBSSxVQUFVLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQzNDLE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFDRCxLQUFLLE1BQU0sSUFBSSxJQUFJLFVBQVUsRUFBRSxDQUFDO1FBQzlCLE1BQU0sQ0FBQyxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzFDLE1BQU0sR0FBRyxHQUFHLE1BQU0sRUFBRSxJQUFJLEVBQUUsQ0FBQztRQUMzQixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3BDLElBQUksR0FBRyxJQUFJLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDM0IsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDekIsQ0FBQztJQUNILENBQUM7SUFDRCxPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDO0FBRUQ7OztHQUdHO0FBQ0gsTUFBTSxVQUFVLG9CQUFvQixDQUNsQyxNQUFnQyxFQUNoQyxhQUF3QztJQUV4QyxJQUFJLE1BQU0sS0FBSyxTQUFTLEVBQUUsQ0FBQztRQUN6QixPQUFPLGFBQWEsSUFBSSxDQUFDLFNBQVMsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBQ0QsT0FBTyxNQUFNLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUM3RCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBBenVyZUNvbmZpZywgQXp1cmVTb3VyY2UgfSBmcm9tIFwiQHBhZ29wYS9keC1zYXZlbW9uZXlcIjtcblxuaW1wb3J0IHsgYXp1cmUsIGxvYWRDb25maWcgfSBmcm9tIFwiQHBhZ29wYS9keC1zYXZlbW9uZXlcIjtcbmltcG9ydCB7IENvbW1hbmQsIEludmFsaWRBcmd1bWVudEVycm9yIH0gZnJvbSBcImNvbW1hbmRlclwiO1xuaW1wb3J0IHsgb3JhUHJvbWlzZSB9IGZyb20gXCJvcmFcIjtcbmltcG9ydCB7IHogfSBmcm9tIFwiem9kXCI7XG5cbmltcG9ydCB7IGV4aXRXaXRoRXJyb3IgfSBmcm9tIFwiLi4vY29tbWFuZC1lcnJvcnMuanNcIjtcbmltcG9ydCB7IEdsb2JhbE9wdGlvbnMgfSBmcm9tIFwiLi4vZ2xvYmFsLW9wdGlvbnMuanNcIjtcblxuZXhwb3J0IGNvbnN0IG1ha2VTYXZlbW9uZXlDb21tYW5kID0gKCkgPT5cbiAgbmV3IENvbW1hbmQoXCJzYXZlbW9uZXlcIilcbiAgICAuZGVzY3JpcHRpb24oXG4gICAgICBcIkFuYWx5emUgQXp1cmUgc3Vic2NyaXB0aW9ucyBhbmQgcmVwb3J0IHVudXNlZCBvciBpbmVmZmljaWVudCByZXNvdXJjZXNcIixcbiAgICApXG4gICAgLm9wdGlvbihcIi1jLCAtLWNvbmZpZyA8cGF0aD5cIiwgXCJQYXRoIHRvIFlBTUwgY29uZmlndXJhdGlvbiBmaWxlXCIpXG4gICAgLm9wdGlvbihcbiAgICAgIFwiLWYsIC0tZm9ybWF0IDxmb3JtYXQ+XCIsXG4gICAgICBcIlJlcG9ydCBmb3JtYXQ6IGpzb24sIHRhYmxlLCBkZXRhaWxlZC1qc29uLCBvciBsaW50IChkZWZhdWx0OiB0YWJsZSlcIixcbiAgICAgIFwidGFibGVcIixcbiAgICApXG4gICAgLm9wdGlvbihcbiAgICAgIFwiLWwsIC0tbG9jYXRpb24gPHN0cmluZz5cIixcbiAgICAgIFwiUHJlZmVycmVkIEF6dXJlIGxvY2F0aW9uIGZvciByZXNvdXJjZXMgKG92ZXJyaWRlcyBjb25maWcgZmlsZSlcIixcbiAgICAgIFwiaXRhbHlub3J0aFwiLFxuICAgIClcbiAgICAub3B0aW9uKFxuICAgICAgXCItZCwgLS1kYXlzIDxudW1iZXI+XCIsXG4gICAgICBcIk51bWJlciBvZiBkYXlzIGZvciBtZXRyaWNzIGFuYWx5c2lzIChvdmVycmlkZXMgY29uZmlnIGZpbGUpXCIsXG4gICAgICBcIjMwXCIsXG4gICAgKVxuICAgIC5vcHRpb24oXG4gICAgICBcIi10LCAtLXRhZ3MgPHRhZ3MuLi4+XCIsXG4gICAgICBcIkZpbHRlciBmaW5kaW5ncyBieSByZXNvdXJjZSB0YWdzIChrZXk9dmFsdWUga2V5Mj12YWx1ZTIpLiBBZHZpc29yIHN1YnNjcmlwdGlvbi1sZXZlbCBmaW5kaW5ncyByZW1haW4gZ2xvYmFsLlwiLFxuICAgIClcbiAgICAub3B0aW9uKFxuICAgICAgXCItcywgLS1zb3VyY2UgPHNvdXJjZT5cIixcbiAgICAgIFwiUmVzdHJpY3QgZmluZGluZ3MgdG8gYSBzaW5nbGUgc291cmNlOiAnYWR2aXNvcicsICdjdXN0b20nLCBvciAnYWxsJyAoZGVmYXVsdHMgdG8gY29uZmlnIGZpbGUgb3IgYWxsKVwiLFxuICAgICAgcGFyc2VTb3VyY2VPcHRpb24sXG4gICAgKVxuICAgIC5vcHRpb24oXG4gICAgICBcIi0tbm8tcHJpY2luZ1wiLFxuICAgICAgXCJEaXNhYmxlIEF6dXJlIFJldGFpbCBQcmljZXMgZW5yaWNobWVudCAoc2tpcHMgY3VzdG9tIGNvc3QtYXQtcmlzayBlc3RpbWF0ZXMpXCIsXG4gICAgKVxuICAgIC5hY3Rpb24oYXN5bmMgZnVuY3Rpb24gKG9wdGlvbnMpIHtcbiAgICAgIGNvbnN0IHsgdmVyYm9zZSB9ID0gdGhpcy5vcHRzV2l0aEdsb2JhbHM8R2xvYmFsT3B0aW9ucz4oKTtcbiAgICAgIHRyeSB7XG4gICAgICAgIC8vIExvYWQgY29uZmlndXJhdGlvbiBmcm9tIFlBTUwgKGluY2x1ZGVzIHN1YnNjcmlwdGlvbklkcywgbG9jYXRpb24sIHRpbWVzcGFuRGF5cywgdGhyZXNob2xkcylcbiAgICAgICAgY29uc3QgY29uZmlnOiBBenVyZUNvbmZpZyA9IGF3YWl0IGxvYWRDb25maWcob3B0aW9ucy5jb25maWcpO1xuXG4gICAgICAgIC8vIFBhcnNlIHRhZyBmaWx0ZXJcbiAgICAgICAgY29uc3QgZmlsdGVyVGFncyA9IHBhcnNlVGFnc09wdGlvbihvcHRpb25zLnRhZ3MpO1xuICAgICAgICBjb25zdCBjbGlEYXlzID0gTnVtYmVyLnBhcnNlSW50KG9wdGlvbnMuZGF5cywgMTApO1xuXG4gICAgICAgIGNvbnN0IGZpbmFsQ29uZmlnOiBBenVyZUNvbmZpZyA9IHtcbiAgICAgICAgICAuLi5jb25maWcsXG4gICAgICAgICAgZmlsdGVyVGFncyxcbiAgICAgICAgICBwcmVmZXJyZWRMb2NhdGlvbjpcbiAgICAgICAgICAgIHRoaXMuZ2V0T3B0aW9uVmFsdWVTb3VyY2UoXCJsb2NhdGlvblwiKSA9PT0gXCJjbGlcIlxuICAgICAgICAgICAgICA/IG9wdGlvbnMubG9jYXRpb25cbiAgICAgICAgICAgICAgOiBjb25maWcucHJlZmVycmVkTG9jYXRpb24sXG4gICAgICAgICAgLi4uKG9wdGlvbnMucHJpY2luZyA9PT0gZmFsc2UgPyB7IHByaWNpbmc6IHsgZW5hYmxlZDogZmFsc2UgfSB9IDoge30pLFxuICAgICAgICAgIHNvdXJjZXM6IHJlc29sdmVTb3VyY2VzT3B0aW9uKG9wdGlvbnMuc291cmNlLCBjb25maWcuc291cmNlcyksXG4gICAgICAgICAgdGltZXNwYW5EYXlzOlxuICAgICAgICAgICAgdGhpcy5nZXRPcHRpb25WYWx1ZVNvdXJjZShcImRheXNcIikgPT09IFwiY2xpXCIgJiZcbiAgICAgICAgICAgICFOdW1iZXIuaXNOYU4oY2xpRGF5cylcbiAgICAgICAgICAgICAgPyBjbGlEYXlzXG4gICAgICAgICAgICAgIDogY29uZmlnLnRpbWVzcGFuRGF5cyxcbiAgICAgICAgICB2ZXJib3NlOiB2ZXJib3NlID8/IGZhbHNlLFxuICAgICAgICB9O1xuXG4gICAgICAgIC8vIFJ1biBhbmFseXNpcyBzaG93aW5nIGEgcHJvZ3Jlc3Mgc3Bpbm5lciBvbiBzdGRlcnIgc28gdGhlIENMSSBkb2Vzbid0XG4gICAgICAgIC8vIGxvb2sgZnJvemVuIGR1cmluZyB0aGUgKHBvdGVudGlhbGx5IHNldmVyYWwtbWludXRlKSBBenVyZSByb3VuZC10cmlwcy5cbiAgICAgICAgY29uc3QgcmVwb3J0cyA9IGF3YWl0IG9yYVByb21pc2UoXG4gICAgICAgICAgYXp1cmUuYW5hbHl6ZUF6dXJlUmVzb3VyY2VzKGZpbmFsQ29uZmlnKSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBmYWlsVGV4dDogXCJBbmFseXNpcyBmYWlsZWRcIixcbiAgICAgICAgICAgIHN0cmVhbTogcHJvY2Vzcy5zdGRlcnIsXG4gICAgICAgICAgICBzdWNjZXNzVGV4dDogXCJBbmFseXNpcyBjb21wbGV0ZVwiLFxuICAgICAgICAgICAgdGV4dDogXCJBbmFseXppbmcgQXp1cmUgcmVzb3VyY2VzXCIsXG4gICAgICAgICAgfSxcbiAgICAgICAgKTtcbiAgICAgICAgYXdhaXQgYXp1cmUuZ2VuZXJhdGVSZXBvcnQocmVwb3J0cywgb3B0aW9ucy5mb3JtYXQpO1xuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgZXhpdFdpdGhFcnJvcih0aGlzKShcbiAgICAgICAgICBlcnJvciBpbnN0YW5jZW9mIEVycm9yXG4gICAgICAgICAgICA/IG5ldyBFcnJvcihgQW5hbHlzaXMgZmFpbGVkOiAke2Vycm9yLm1lc3NhZ2V9YCwgeyBjYXVzZTogZXJyb3IgfSlcbiAgICAgICAgICAgIDogbmV3IEVycm9yKGBBbmFseXNpcyBmYWlsZWQ6ICR7U3RyaW5nKGVycm9yKX1gKSxcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9KTtcblxuY29uc3QgU291cmNlU2NoZW1hID0gei5lbnVtKFtcImFkdmlzb3JcIiwgXCJhbGxcIiwgXCJjdXN0b21cIl0pO1xudHlwZSBTb3VyY2VPcHRpb24gPSB6LmluZmVyPHR5cGVvZiBTb3VyY2VTY2hlbWE+O1xuXG4vKipcbiAqIFBhcnNlcyB0aGUgYC0tc291cmNlYCBvcHRpb24gdmlhIGEgem9kIGVudW0sIGFjY2VwdGluZyBgYWxsYCwgYGFkdmlzb3JgLFxuICogb3IgYGN1c3RvbWAgYW5kIHJlamVjdGluZyBhbnkgb3RoZXIgdmFsdWUgd2l0aCBhIENvbW1hbmRlci1mcmllbmRseSBlcnJvci5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlU291cmNlT3B0aW9uKHZhbHVlOiBzdHJpbmcpOiBTb3VyY2VPcHRpb24ge1xuICBjb25zdCByZXN1bHQgPSBTb3VyY2VTY2hlbWEuc2FmZVBhcnNlKHZhbHVlKTtcbiAgaWYgKCFyZXN1bHQuc3VjY2Vzcykge1xuICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFcnJvcihcbiAgICAgIGBBbGxvd2VkIHZhbHVlcyBhcmU6ICR7U291cmNlU2NoZW1hLm9wdGlvbnMuam9pbihcIiwgXCIpfWAsXG4gICAgKTtcbiAgfVxuICByZXR1cm4gcmVzdWx0LmRhdGE7XG59XG5cbi8qKlxuICogUGFyc2VzIGFuIGFycmF5IG9mIFwia2V5PXZhbHVlXCIgc3RyaW5ncyAoZnJvbSBjb21tYW5kZXIgdmFyaWFkaWMgb3B0aW9uKSBpbnRvIGEgTWFwPHN0cmluZywgc3RyaW5nPi5cbiAqIFJldHVybnMgYW4gZW1wdHkgTWFwIHdoZW4gdGhlIG9wdGlvbiBpcyBub3QgcHJvdmlkZWQgb3IgZW1wdHkuXG4gKiBTdXBwb3J0cyB2YWx1ZXMgdGhhdCBjb250YWluIFwiPVwiIChvbmx5IHRoZSBmaXJzdCBcIj1cIiBpcyB0cmVhdGVkIGFzIHNlcGFyYXRvcikuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZVRhZ3NPcHRpb24oXG4gIHRhZ3NPcHRpb246IHN0cmluZ1tdIHwgdW5kZWZpbmVkLFxuKTogTWFwPHN0cmluZywgc3RyaW5nPiB7XG4gIGNvbnN0IHJlc3VsdCA9IG5ldyBNYXA8c3RyaW5nLCBzdHJpbmc+KCk7XG4gIGlmICghdGFnc09wdGlvbiB8fCB0YWdzT3B0aW9uLmxlbmd0aCA9PT0gMCkge1xuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cbiAgZm9yIChjb25zdCBwYWlyIG9mIHRhZ3NPcHRpb24pIHtcbiAgICBjb25zdCBbcmF3S2V5LCAuLi5yZXN0XSA9IHBhaXIuc3BsaXQoXCI9XCIpO1xuICAgIGNvbnN0IGtleSA9IHJhd0tleT8udHJpbSgpO1xuICAgIGNvbnN0IHZhbHVlID0gcmVzdC5qb2luKFwiPVwiKS50cmltKCk7XG4gICAgaWYgKGtleSAmJiByZXN0Lmxlbmd0aCA+IDApIHtcbiAgICAgIHJlc3VsdC5zZXQoa2V5LCB2YWx1ZSk7XG4gICAgfVxuICB9XG4gIHJldHVybiByZXN1bHQ7XG59XG5cbi8qKlxuICogUmVzb2x2ZXMgdGhlIHNvdXJjZSBmaWx0ZXIgcHJlc2VydmluZyB0aGUgZGlmZmVyZW5jZSBiZXR3ZWVuIGFuIG9taXR0ZWRcbiAqIG9wdGlvbiAocmVzcGVjdCBjb25maWcvZGVmYXVsdHMpIGFuZCBhbiBleHBsaWNpdCBgLS1zb3VyY2UgYWxsYCBvdmVycmlkZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlc29sdmVTb3VyY2VzT3B0aW9uKFxuICBvcHRpb246IFNvdXJjZU9wdGlvbiB8IHVuZGVmaW5lZCxcbiAgY29uZmlnU291cmNlczogQXp1cmVTb3VyY2VbXSB8IHVuZGVmaW5lZCxcbik6IEF6dXJlU291cmNlW10ge1xuICBpZiAob3B0aW9uID09PSB1bmRlZmluZWQpIHtcbiAgICByZXR1cm4gY29uZmlnU291cmNlcyA/PyBbXCJhZHZpc29yXCIsIFwiY3VzdG9tXCJdO1xuICB9XG4gIHJldHVybiBvcHRpb24gPT09IFwiYWxsXCIgPyBbXCJhZHZpc29yXCIsIFwiY3VzdG9tXCJdIDogW29wdGlvbl07XG59XG4iXX0=
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pagopa/dx-cli",
3
- "version": "0.25.3",
3
+ "version": "0.26.1",
4
4
  "type": "module",
5
5
  "description": "A CLI useful to manage DX tools.",
6
6
  "repository": {
@@ -56,7 +56,7 @@
56
56
  "semver": "^7.8.5",
57
57
  "yaml": "^2.9.0",
58
58
  "zod": "^4.4.3",
59
- "@pagopa/dx-savemoney": "^0.3.3"
59
+ "@pagopa/dx-savemoney": "^0.4.0"
60
60
  },
61
61
  "devDependencies": {
62
62
  "@tsconfig/node24": "24.0.4",
@@ -12,6 +12,7 @@
12
12
  "azure@pagopa-dx": true,
13
13
  "project-management@pagopa-dx": true,
14
14
  "standards@pagopa-dx": true,
15
+ "tests@pagopa-dx": true,
15
16
  "typescript@pagopa-dx": true
16
17
  }
17
18
  }