@cloud-copilot/iam-expand 0.11.0 → 0.11.2

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 (51) hide show
  1. package/LICENSE.txt +68 -81
  2. package/README.md +80 -29
  3. package/dist/cjs/cli.js +71 -49
  4. package/dist/cjs/cli.js.map +1 -1
  5. package/dist/cjs/cli_utils.d.ts +4 -16
  6. package/dist/cjs/cli_utils.d.ts.map +1 -1
  7. package/dist/cjs/cli_utils.js +11 -44
  8. package/dist/cjs/cli_utils.js.map +1 -1
  9. package/dist/cjs/expand.d.ts.map +1 -1
  10. package/dist/cjs/expand.js +9 -7
  11. package/dist/cjs/expand.js.map +1 -1
  12. package/dist/cjs/expand_file.d.ts +1 -1
  13. package/dist/cjs/expand_file.d.ts.map +1 -1
  14. package/dist/cjs/expand_file.js +5 -2
  15. package/dist/cjs/expand_file.js.map +1 -1
  16. package/dist/cjs/index.d.ts.map +1 -1
  17. package/dist/cjs/index.js.map +1 -1
  18. package/dist/cjs/invert.d.ts.map +1 -1
  19. package/dist/cjs/invert.js +10 -6
  20. package/dist/cjs/invert.js.map +1 -1
  21. package/dist/cjs/util.js +1 -1
  22. package/dist/cjs/util.js.map +1 -1
  23. package/dist/esm/cli.js +75 -53
  24. package/dist/esm/cli.js.map +1 -1
  25. package/dist/esm/cli_utils.d.ts +4 -16
  26. package/dist/esm/cli_utils.d.ts.map +1 -1
  27. package/dist/esm/cli_utils.js +12 -44
  28. package/dist/esm/cli_utils.js.map +1 -1
  29. package/dist/esm/expand.d.ts.map +1 -1
  30. package/dist/esm/expand.js +9 -7
  31. package/dist/esm/expand.js.map +1 -1
  32. package/dist/esm/expand_file.d.ts +1 -1
  33. package/dist/esm/expand_file.d.ts.map +1 -1
  34. package/dist/esm/expand_file.js +7 -4
  35. package/dist/esm/expand_file.js.map +1 -1
  36. package/dist/esm/index.d.ts.map +1 -1
  37. package/dist/esm/index.js.map +1 -1
  38. package/dist/esm/invert.d.ts.map +1 -1
  39. package/dist/esm/invert.js +12 -8
  40. package/dist/esm/invert.js.map +1 -1
  41. package/dist/esm/util.js +1 -1
  42. package/dist/esm/util.js.map +1 -1
  43. package/package.json +72 -3
  44. package/dist/cjs/stdin.d.ts +0 -7
  45. package/dist/cjs/stdin.d.ts.map +0 -1
  46. package/dist/cjs/stdin.js +0 -36
  47. package/dist/cjs/stdin.js.map +0 -1
  48. package/dist/esm/stdin.d.ts +0 -7
  49. package/dist/esm/stdin.d.ts.map +0 -1
  50. package/dist/esm/stdin.js +0 -33
  51. package/dist/esm/stdin.js.map +0 -1
package/dist/esm/cli.js CHANGED
@@ -1,9 +1,9 @@
1
1
  #!/usr/bin/env node
2
- import { iamDataUpdatedAt, iamDataVersion } from "@cloud-copilot/iam-data";
3
- import { convertOptions, parseStdIn } from "./cli_utils.js";
4
- import { expandIamActions } from "./expand.js";
5
- import { invertIamActions } from "./invert.js";
6
- const commandName = 'iam-expand';
2
+ import { parseCliArguments } from '@cloud-copilot/cli';
3
+ import { iamDataUpdatedAt, iamDataVersion } from '@cloud-copilot/iam-data';
4
+ import { invalidActionBehaviorForString, parseStdIn } from './cli_utils.js';
5
+ import { expandIamActions } from './expand.js';
6
+ import { invertIamActions } from './invert.js';
7
7
  const dataPackage = '@cloud-copilot/iam-data';
8
8
  const fiveDays = 432000000;
9
9
  /**
@@ -34,31 +34,6 @@ async function checkDataAge() {
34
34
  console.warn(` iam-expand --show-data-version`);
35
35
  }
36
36
  }
37
- /**
38
- * Print the usage of the CLI to the console
39
- */
40
- function printUsage() {
41
- console.log('No arguments provided or input from stdin.');
42
- console.log('Usage:');
43
- console.log(` ${commandName} [options] [action1] [action2] ...`);
44
- console.log(` <input from stdout> | ${commandName} [options]`);
45
- console.log('Action Expanding Options:');
46
- console.log(' --expand-asterisk: Expand the * action to all actions');
47
- console.log(' --error-on-invalid-format: Throw an error if the action string is not in the correct format');
48
- console.log(' --error-on-invalid-service: Throw an error if a service is not found');
49
- console.log(' --invalid-action-behavior: What to do when an invalid action is encountered:');
50
- console.log(' --invalid-action-behavior=remove: Remove the invalid action');
51
- console.log(' --invalid-action-behavior=include: Include the invalid action');
52
- console.log(' --invalid-action-behavior=error: Throw an error if an invalid action is encountered');
53
- console.log('Inverting Actions:');
54
- console.log(' --invert: If not JSON, print the inverse of the actions provided');
55
- console.log(' --invert-not-actions: If JSON, replace NotAction strings or arrays with Action arrays that have the inverse actions');
56
- console.log('CLI Behavior Options:');
57
- console.log(' --show-data-version: Print the version of the iam-data package being used and exit');
58
- console.log(' --read-wait-ms: Milliseconds to wait for the first byte from stdin before timing out.');
59
- console.log(' Example: --read-wait-ms=10_000');
60
- process.exit(1);
61
- }
62
37
  /**
63
38
  * Print a list of warnings to the console
64
39
  *
@@ -69,20 +44,56 @@ function printWarnings(warnings) {
69
44
  console.warn(`Notice: ${warning}`);
70
45
  }
71
46
  }
72
- const args = process.argv.slice(2); // Ignore the first two elements
73
47
  const actionStrings = [];
74
- const optionStrings = [];
75
- for (const arg of args) {
76
- if (arg.startsWith('--')) {
77
- optionStrings.push(arg);
78
- }
79
- else {
80
- actionStrings.push(arg);
81
- }
82
- }
83
48
  async function run() {
84
- const options = convertOptions(optionStrings);
85
- if (options.showDataVersion) {
49
+ const cli = parseCliArguments('iam-expand', {}, {
50
+ expandAsterisk: {
51
+ character: 'e',
52
+ description: 'Expand the * action to all actions',
53
+ values: 'none'
54
+ },
55
+ errorOnInvalidFormat: {
56
+ character: 'f',
57
+ description: 'Throw an error if the action string is not in the correct format',
58
+ values: 'none'
59
+ },
60
+ errorOnInvalidService: {
61
+ character: 's',
62
+ description: 'Throw an error if a service is not found',
63
+ values: 'none'
64
+ },
65
+ invalidActionBehavior: {
66
+ description: 'What to do when an invalid action is encountered',
67
+ values: 'single',
68
+ type: 'enum',
69
+ validValues: ['remove', 'include', 'error']
70
+ },
71
+ invert: {
72
+ character: 'i',
73
+ description: 'If not JSON, print the inverse of the actions provided',
74
+ values: 'none'
75
+ },
76
+ invertNotActions: {
77
+ character: 'n',
78
+ description: 'If JSON, replace NotAction strings or arrays with Action arrays that have the inverse actions',
79
+ values: 'none'
80
+ },
81
+ showDataVersion: {
82
+ character: 'v',
83
+ description: 'Print the version of the iam-data package being used and exit',
84
+ values: 'none'
85
+ },
86
+ readWaitMs: {
87
+ description: 'Milliseconds to wait for the first byte from stdin before timing out',
88
+ values: 'single',
89
+ type: 'number'
90
+ }
91
+ }, {
92
+ operandsName: 'action',
93
+ envPrefix: 'IAM_EXPAND',
94
+ allowOperandsFromStdin: true
95
+ });
96
+ if (cli.args.showDataVersion) {
86
97
  const version = await iamDataVersion();
87
98
  const updatedAt = await iamDataUpdatedAt();
88
99
  console.log(`${dataPackage} version: ${version}`);
@@ -93,13 +104,20 @@ async function run() {
93
104
  return;
94
105
  }
95
106
  const warnings = [];
107
+ const argsWithDefaults = {
108
+ ...cli.args,
109
+ invalidActionBehavior: invalidActionBehaviorForString(cli.args.invalidActionBehavior)
110
+ };
111
+ actionStrings.push(...cli.operands);
96
112
  if (actionStrings.length === 0) {
97
113
  //If no actions are provided, read from stdin
98
- const stdInResult = await parseStdIn(options);
114
+ const stdInResult = await parseStdIn(argsWithDefaults);
99
115
  if (stdInResult.object) {
100
116
  console.log(JSON.stringify(stdInResult.object, null, 2));
101
- if (options.invert) {
102
- printWarnings(['--invert is not supported when processing JSON, ignoring. Did you mean --invert-not-actions ?']);
117
+ if (cli.args.invert) {
118
+ printWarnings([
119
+ '--invert is not supported when processing JSON, ignoring. Did you mean --invert-not-actions ?'
120
+ ]);
103
121
  }
104
122
  await checkDataAge();
105
123
  return;
@@ -107,7 +125,7 @@ async function run() {
107
125
  else if (stdInResult.strings) {
108
126
  const otherActions = stdInResult.strings;
109
127
  if (otherActions.length > 0) {
110
- if (options.expandAsterisk) {
128
+ if (cli.args.expandAsterisk) {
111
129
  warnings.push('--expand-asterisk is not supported when reading from stdin, ignoring.');
112
130
  }
113
131
  }
@@ -115,23 +133,27 @@ async function run() {
115
133
  }
116
134
  }
117
135
  if (actionStrings.length > 0) {
118
- if (options.invertNotActions) {
136
+ if (cli.args.invertNotActions) {
119
137
  warnings.push('--invert-not-actions is only supported when processing JSON, ignoring.');
120
138
  }
121
- if (options.invert) {
122
- await runAndPrint(() => invertIamActions(actionStrings, options));
139
+ if (cli.args.invert) {
140
+ await runAndPrint(() => invertIamActions(actionStrings, argsWithDefaults));
123
141
  }
124
142
  else {
125
- await runAndPrint(() => expandIamActions(actionStrings, options));
143
+ await runAndPrint(() => expandIamActions(actionStrings, argsWithDefaults));
126
144
  }
127
145
  printWarnings(warnings);
128
146
  await checkDataAge();
129
147
  return;
130
148
  }
131
- printUsage();
149
+ console.log('No actions provided or input from stdin');
150
+ cli.printHelp();
132
151
  }
133
- run().catch((e) => {
152
+ run()
153
+ .catch((e) => {
134
154
  console.error(e);
135
155
  process.exit(1);
136
- }).then(() => { }).finally(() => { });
156
+ })
157
+ .then(() => { })
158
+ .finally(() => { });
137
159
  //# sourceMappingURL=cli.js.map
@@ -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":"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"}
@@ -1,24 +1,12 @@
1
- import { ExpandIamActionsOptions } from "./expand.js";
2
- import { ExpandJsonDocumentOptions } from "./expand_file.js";
1
+ import { ExpandIamActionsOptions, InvalidActionBehavior } from './expand.js';
2
+ import { ExpandJsonDocumentOptions } from './expand_file.js';
3
3
  interface CliOptions extends ExpandIamActionsOptions, ExpandJsonDocumentOptions {
4
4
  invert: boolean;
5
5
  showDataVersion: boolean;
6
- readWaitMs: string;
6
+ readWaitMs: number | undefined;
7
7
  }
8
- /**
9
- * Convert a dash-case string to camelCase
10
- * @param str the string to convert
11
- * @returns the camelCase string
12
- */
13
- export declare function dashToCamelCase(str: string): string;
14
- /**
15
- * Convert an array of option strings to an object
16
- *
17
- * @param optionArgs the array of option strings to convert
18
- * @returns the object representation of the options
19
- */
20
- export declare function convertOptions(optionArgs: string[]): Partial<CliOptions>;
21
8
  export declare function extractActionsFromLineOfInput(line: string): string[];
9
+ export declare function invalidActionBehaviorForString(behaviorString: string | undefined): InvalidActionBehavior | undefined;
22
10
  /**
23
11
  * Parse the actions from stdin
24
12
  *
@@ -1 +1 @@
1
- {"version":3,"file":"cli_utils.d.ts","sourceRoot":"","sources":["../../src/cli_utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAyB,MAAM,aAAa,CAAC;AAC7E,OAAO,EAAsB,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAGjF,UAAU,UAAW,SAAQ,uBAAuB,EAAE,yBAAyB;IAC7E,MAAM,EAAE,OAAO,CAAA;IACf,eAAe,EAAE,OAAO,CAAA;IACxB,UAAU,EAAE,MAAM,CAAA;CACnB;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAGnD;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC,CAyBxE;AAGD,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAKpE;AAED;;;;GAIG;AACH,wBAAsB,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,MAAM,CAAC,EAAE,GAAG,CAAA;CAAC,CAAC,CAgB1G"}
1
+ {"version":3,"file":"cli_utils.d.ts","sourceRoot":"","sources":["../../src/cli_utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;AAC5E,OAAO,EAAsB,yBAAyB,EAAE,MAAM,kBAAkB,CAAA;AAEhF,UAAU,UAAW,SAAQ,uBAAuB,EAAE,yBAAyB;IAC7E,MAAM,EAAE,OAAO,CAAA;IACf,eAAe,EAAE,OAAO,CAAA;IACxB,UAAU,EAAE,MAAM,GAAG,SAAS,CAAA;CAC/B;AAGD,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAKpE;AAED,wBAAgB,8BAA8B,CAC5C,cAAc,EAAE,MAAM,GAAG,SAAS,GACjC,qBAAqB,GAAG,SAAS,CAOnC;AAED;;;;GAIG;AACH,wBAAsB,UAAU,CAC9B,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC,GAC3B,OAAO,CAAC;IAAE,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,MAAM,CAAC,EAAE,GAAG,CAAA;CAAE,CAAC,CAc/C"}
@@ -1,44 +1,6 @@
1
- import { InvalidActionBehavior } from "./expand.js";
2
- import { expandJsonDocument } from "./expand_file.js";
3
- import { readStdin } from "./stdin.js";
4
- /**
5
- * Convert a dash-case string to camelCase
6
- * @param str the string to convert
7
- * @returns the camelCase string
8
- */
9
- export function dashToCamelCase(str) {
10
- str = str.substring(2);
11
- return str.replace(/-([a-z])/g, (g) => g[1].toUpperCase());
12
- }
13
- /**
14
- * Convert an array of option strings to an object
15
- *
16
- * @param optionArgs the array of option strings to convert
17
- * @returns the object representation of the options
18
- */
19
- export function convertOptions(optionArgs) {
20
- const options = {};
21
- for (const option of optionArgs) {
22
- let key = option;
23
- let value = true;
24
- if (option.includes('=')) {
25
- [key, value] = option.split('=');
26
- }
27
- options[dashToCamelCase(key)] = value;
28
- }
29
- if (typeof (options.invalidActionBehavior) === 'string') {
30
- const behaviorString = options.invalidActionBehavior;
31
- const cleanedInput = behaviorString.charAt(0).toUpperCase() + behaviorString.slice(1).toLowerCase();
32
- const behavior = InvalidActionBehavior[cleanedInput];
33
- if (behavior) {
34
- options.invalidActionBehavior = behavior;
35
- }
36
- else {
37
- delete options['invalidActionBehavior'];
38
- }
39
- }
40
- return options;
41
- }
1
+ import { readStdin } from '@cloud-copilot/cli';
2
+ import { InvalidActionBehavior } from './expand.js';
3
+ import { expandJsonDocument } from './expand_file.js';
42
4
  const actionPattern = /\:?((\\u[0-9]{4}|[a-zA-Z0-9-])+:(\\u[0-9]{4}|[a-zA-Z0-9*\?]|)+)/g;
43
5
  export function extractActionsFromLineOfInput(line) {
44
6
  const matches = line.matchAll(actionPattern);
@@ -46,14 +8,20 @@ export function extractActionsFromLineOfInput(line) {
46
8
  .filter((match) => !match[0].startsWith('arn:') && !match[0].startsWith(':'))
47
9
  .map((match) => match[1]);
48
10
  }
11
+ export function invalidActionBehaviorForString(behaviorString) {
12
+ if (!behaviorString) {
13
+ return undefined;
14
+ }
15
+ const cleanedInput = behaviorString.charAt(0).toUpperCase() + behaviorString.slice(1).toLowerCase();
16
+ return InvalidActionBehavior[cleanedInput];
17
+ }
49
18
  /**
50
19
  * Parse the actions from stdin
51
20
  *
52
21
  * @returns an array of strings from stdin
53
22
  */
54
23
  export async function parseStdIn(options) {
55
- const delay = options.readWaitMs ? parseInt(options.readWaitMs.replaceAll(/\D/g, '')) : undefined;
56
- const data = await readStdin(delay);
24
+ const data = await readStdin(options.readWaitMs);
57
25
  if (data.length === 0) {
58
26
  return {};
59
27
  }
@@ -63,7 +31,7 @@ export async function parseStdIn(options) {
63
31
  }
64
32
  catch (err) { }
65
33
  const lines = data.split('\n');
66
- const actions = lines.flatMap(line => extractActionsFromLineOfInput(line));
34
+ const actions = lines.flatMap((line) => extractActionsFromLineOfInput(line));
67
35
  return { strings: actions };
68
36
  }
69
37
  //# sourceMappingURL=cli_utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cli_utils.js","sourceRoot":"","sources":["../../src/cli_utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli_utils.js","sourceRoot":"","sources":["../../src/cli_utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAC9C,OAAO,EAA2B,qBAAqB,EAAE,MAAM,aAAa,CAAA;AAC5E,OAAO,EAAE,kBAAkB,EAA6B,MAAM,kBAAkB,CAAA;AAQhF,MAAM,aAAa,GAAG,kEAAkE,CAAA;AACxF,MAAM,UAAU,6BAA6B,CAAC,IAAY;IACxD,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAA;IAC5C,OAAO,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC;SACvB,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;SAC5E,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;AAC7B,CAAC;AAED,MAAM,UAAU,8BAA8B,CAC5C,cAAkC;IAElC,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,OAAO,SAAS,CAAA;IAClB,CAAC;IACD,MAAM,YAAY,GAChB,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAA;IAChF,OAAO,qBAAqB,CAAC,YAAkD,CAAC,CAAA;AAClF,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,OAA4B;IAE5B,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;IAChD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,OAAO,EAAE,CAAA;IACX,CAAC;IAED,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAA;QAClE,OAAO,EAAE,MAAM,EAAE,CAAA;IACnB,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC,CAAA,CAAC;IAErB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IAC9B,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,6BAA6B,CAAC,IAAI,CAAC,CAAC,CAAA;IAC5E,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,CAAA;AAC7B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"expand.d.ts","sourceRoot":"","sources":["../../src/expand.ts"],"names":[],"mappings":"AAGA,oBAAY,qBAAqB;IAC/B,MAAM,WAAW;IACjB,KAAK,UAAU;IACf,OAAO,YAAY;CACpB;AAED;;;GAGG;AACH,MAAM,WAAW,uBAAuB;IACtC;;;;OAIG;IACH,cAAc,EAAE,OAAO,CAAA;IAEvB;;;;OAIG;IACH,oBAAoB,EAAE,OAAO,CAAA;IAE7B;;;;OAIG;IACH,qBAAqB,EAAE,OAAO,CAAA;IAE9B;;;;;;;OAOG;IACH,qBAAqB,EAAE,qBAAqB,CAAA;CAC7C;AASD;;;;;;;;;;GAUG;AACH,wBAAsB,gBAAgB,CAAC,qBAAqB,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,eAAe,CAAC,EAAE,OAAO,CAAC,uBAAuB,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAwFtJ"}
1
+ {"version":3,"file":"expand.d.ts","sourceRoot":"","sources":["../../src/expand.ts"],"names":[],"mappings":"AASA,oBAAY,qBAAqB;IAC/B,MAAM,WAAW;IACjB,KAAK,UAAU;IACf,OAAO,YAAY;CACpB;AAED;;;GAGG;AACH,MAAM,WAAW,uBAAuB;IACtC;;;;OAIG;IACH,cAAc,EAAE,OAAO,CAAA;IAEvB;;;;OAIG;IACH,oBAAoB,EAAE,OAAO,CAAA;IAE7B;;;;OAIG;IACH,qBAAqB,EAAE,OAAO,CAAA;IAE9B;;;;;;;OAOG;IACH,qBAAqB,EAAE,qBAAqB,CAAA;CAC7C;AASD;;;;;;;;;;GAUG;AACH,wBAAsB,gBAAgB,CACpC,qBAAqB,EAAE,MAAM,GAAG,MAAM,EAAE,EACxC,eAAe,CAAC,EAAE,OAAO,CAAC,uBAAuB,CAAC,GACjD,OAAO,CAAC,MAAM,EAAE,CAAC,CA4FnB"}
@@ -10,7 +10,7 @@ const defaultOptions = {
10
10
  expandAsterisk: false,
11
11
  errorOnInvalidFormat: false,
12
12
  errorOnInvalidService: false,
13
- invalidActionBehavior: InvalidActionBehavior.Remove,
13
+ invalidActionBehavior: InvalidActionBehavior.Remove
14
14
  };
15
15
  /**
16
16
  * Expands an IAM action string that contains wildcards.
@@ -45,7 +45,7 @@ export async function expandIamActions(actionStringOrStrings, overrideOptions) {
45
45
  const serviceKeys = await iamServiceKeys();
46
46
  for await (const service of serviceKeys) {
47
47
  const serviceActions = await iamActionsForService(service);
48
- allActions.push(...serviceActions.map(action => `${service}:${action}`));
48
+ allActions.push(...serviceActions.map((action) => `${service}:${action}`));
49
49
  }
50
50
  return allActions;
51
51
  }
@@ -64,8 +64,8 @@ export async function expandIamActions(actionStringOrStrings, overrideOptions) {
64
64
  }
65
65
  return [];
66
66
  }
67
- const [service, wildcardActions] = parts.map(part => part.toLowerCase());
68
- if (!await iamServiceExists(service)) {
67
+ const [service, wildcardActions] = parts.map((part) => part.toLowerCase());
68
+ if (!(await iamServiceExists(service))) {
69
69
  if (options.errorOnInvalidService) {
70
70
  throw new Error(`Service not found: ${service}`);
71
71
  }
@@ -73,13 +73,13 @@ export async function expandIamActions(actionStringOrStrings, overrideOptions) {
73
73
  }
74
74
  if (wildcardActions.match(allAsterisksPattern)) {
75
75
  const actionsForService = await iamActionsForService(service);
76
- return actionsForService.map(action => `${service}:${action}`);
76
+ return actionsForService.map((action) => `${service}:${action}`);
77
77
  }
78
78
  if (!actionString.includes('*') && !actionString.includes('?')) {
79
79
  const actionExists = await iamActionExists(service, wildcardActions);
80
80
  if (actionExists) {
81
81
  const details = await iamActionDetails(service, wildcardActions);
82
- return [service + ":" + details.name];
82
+ return [service + ':' + details.name];
83
83
  }
84
84
  if (options.invalidActionBehavior === InvalidActionBehavior.Remove) {
85
85
  return [];
@@ -97,7 +97,9 @@ export async function expandIamActions(actionStringOrStrings, overrideOptions) {
97
97
  }
98
98
  const allActions = await iamActionsForService(service);
99
99
  const regex = convertStringToPattern(wildcardActions);
100
- const matchingActions = allActions.filter(action => regex.test(action)).map(action => `${service}:${action}`);
100
+ const matchingActions = allActions
101
+ .filter((action) => regex.test(action))
102
+ .map((action) => `${service}:${action}`);
101
103
  matchingActions.sort();
102
104
  return matchingActions;
103
105
  }
@@ -1 +1 @@
1
- {"version":3,"file":"expand.js","sourceRoot":"","sources":["../../src/expand.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"expand.js","sourceRoot":"","sources":["../../src/expand.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { ExpandIamActionsOptions } from "./expand.js";
1
+ import { ExpandIamActionsOptions } from './expand.js';
2
2
  export interface ExpandJsonDocumentOptions extends ExpandIamActionsOptions {
3
3
  invertNotActions: boolean;
4
4
  }
@@ -1 +1 @@
1
- {"version":3,"file":"expand_file.d.ts","sourceRoot":"","sources":["../../src/expand_file.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAGxE,MAAM,WAAW,yBAA0B,SAAQ,uBAAuB;IACxE,gBAAgB,EAAE,OAAO,CAAA;CAC1B;AAMD;;;;;;;;GAQG;AACH,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,OAAO,CAAC,yBAAyB,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CA+B/H"}
1
+ {"version":3,"file":"expand_file.d.ts","sourceRoot":"","sources":["../../src/expand_file.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,uBAAuB,EAAE,MAAM,aAAa,CAAA;AAGvE,MAAM,WAAW,yBAA0B,SAAQ,uBAAuB;IACxE,gBAAgB,EAAE,OAAO,CAAA;CAC1B;AAMD;;;;;;;;GAQG;AACH,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,OAAO,CAAC,yBAAyB,CAAC,EAC3C,QAAQ,EAAE,GAAG,EACb,GAAG,CAAC,EAAE,MAAM,GACX,OAAO,CAAC,GAAG,CAAC,CAmCd"}
@@ -1,5 +1,5 @@
1
- import { expandIamActions } from "./expand.js";
2
- import { invertIamActions } from "./invert.js";
1
+ import { expandIamActions } from './expand.js';
2
+ import { invertIamActions } from './invert.js';
3
3
  const defaultOptions = {
4
4
  invertNotActions: false
5
5
  };
@@ -27,7 +27,9 @@ export async function expandJsonDocument(options, document, key) {
27
27
  return results;
28
28
  }
29
29
  if (typeof document === 'object' && document !== null) {
30
- if (options.invertNotActions && document.NotAction && isStringOrArrayofStrings(document.NotAction)) {
30
+ if (options.invertNotActions &&
31
+ document.NotAction &&
32
+ isStringOrArrayofStrings(document.NotAction)) {
31
33
  document.Action = invertIamActions(document.NotAction);
32
34
  delete document.NotAction;
33
35
  }
@@ -45,6 +47,7 @@ export async function expandJsonDocument(options, document, key) {
45
47
  * @returns
46
48
  */
47
49
  function isStringOrArrayofStrings(value) {
48
- return typeof value === 'string' || (Array.isArray(value) && value.length > 0 && typeof value[0] === 'string');
50
+ return (typeof value === 'string' ||
51
+ (Array.isArray(value) && value.length > 0 && typeof value[0] === 'string'));
49
52
  }
50
53
  //# sourceMappingURL=expand_file.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"expand_file.js","sourceRoot":"","sources":["../../src/expand_file.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAA2B,MAAM,aAAa,CAAC;AACxE,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAM/C,MAAM,cAAc,GAAwD;IAC1E,gBAAgB,EAAE,KAAK;CACxB,CAAA;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,OAA2C,EAAE,QAAa,EAAE,GAAY;IAC/G,OAAO,GAAG,EAAC,GAAG,cAAc,EAAE,GAAG,OAAO,EAAC,CAAC;IAE1C,IAAI,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,WAAW,EAAE,CAAC;QAC5C,IAAI,wBAAwB,CAAC,QAAQ,CAAC,EAAE,CAAC;YACvC,OAAO,gBAAgB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC5B,MAAM,OAAO,GAAG,EAAE,CAAC;QACnB,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;YAC5B,OAAO,CAAC,IAAI,CAAC,MAAM,kBAAkB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;QACxD,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;QACtD,IAAG,OAAO,CAAC,gBAAgB,IAAI,QAAQ,CAAC,SAAS,IAAI,wBAAwB,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YAClG,QAAQ,CAAC,MAAM,GAAG,gBAAgB,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAA;YACtD,OAAO,QAAQ,CAAC,SAAS,CAAA;QAC3B,CAAC;QAED,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YACxC,QAAQ,CAAC,GAAG,CAAC,GAAG,MAAM,kBAAkB,CAAC,OAAO,EAAE,QAAQ,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;QACxE,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;;;GAKG;AACH,SAAS,wBAAwB,CAAC,KAAU;IAC1C,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC;AACjH,CAAC"}
1
+ {"version":3,"file":"expand_file.js","sourceRoot":"","sources":["../../src/expand_file.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAA2B,MAAM,aAAa,CAAA;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAM9C,MAAM,cAAc,GAAwD;IAC1E,gBAAgB,EAAE,KAAK;CACxB,CAAA;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,OAA2C,EAC3C,QAAa,EACb,GAAY;IAEZ,OAAO,GAAG,EAAE,GAAG,cAAc,EAAE,GAAG,OAAO,EAAE,CAAA;IAE3C,IAAI,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,WAAW,EAAE,CAAC;QAC5C,IAAI,wBAAwB,CAAC,QAAQ,CAAC,EAAE,CAAC;YACvC,OAAO,gBAAgB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;QAC5C,CAAC;IACH,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC5B,MAAM,OAAO,GAAG,EAAE,CAAA;QAClB,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;YAC5B,OAAO,CAAC,IAAI,CAAC,MAAM,kBAAkB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAA;QACvD,CAAC;QACD,OAAO,OAAO,CAAA;IAChB,CAAC;IAED,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;QACtD,IACE,OAAO,CAAC,gBAAgB;YACxB,QAAQ,CAAC,SAAS;YAClB,wBAAwB,CAAC,QAAQ,CAAC,SAAS,CAAC,EAC5C,CAAC;YACD,QAAQ,CAAC,MAAM,GAAG,gBAAgB,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAA;YACtD,OAAO,QAAQ,CAAC,SAAS,CAAA;QAC3B,CAAC;QAED,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YACxC,QAAQ,CAAC,GAAG,CAAC,GAAG,MAAM,kBAAkB,CAAC,OAAO,EAAE,QAAQ,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAA;QACvE,CAAC;QAED,OAAO,QAAQ,CAAA;IACjB,CAAC;IAED,OAAO,QAAQ,CAAA;AACjB,CAAC;AAED;;;;;GAKG;AACH,SAAS,wBAAwB,CAAC,KAAU;IAC1C,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACzB,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAC3E,CAAA;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,6BAA6B,EAAE,MAAM,gBAAgB,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,KAAK,uBAAuB,EAAE,KAAK,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACzG,OAAO,EAAE,kBAAkB,EAAE,KAAK,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AACtF,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,6BAA6B,EAAE,MAAM,gBAAgB,CAAA;AAC9D,OAAO,EACL,gBAAgB,EAChB,KAAK,uBAAuB,EAC5B,KAAK,qBAAqB,EAC3B,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,kBAAkB,EAAE,KAAK,yBAAyB,EAAE,MAAM,kBAAkB,CAAA;AACrF,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,6BAA6B,EAAE,MAAM,gBAAgB,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAA4D,MAAM,aAAa,CAAC;AACzG,OAAO,EAAE,kBAAkB,EAAkC,MAAM,kBAAkB,CAAC;AACtF,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,6BAA6B,EAAE,MAAM,gBAAgB,CAAA;AAC9D,OAAO,EACL,gBAAgB,EAGjB,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,kBAAkB,EAAkC,MAAM,kBAAkB,CAAA;AACrF,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"invert.d.ts","sourceRoot":"","sources":["../../src/invert.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,uBAAuB;CACvC;AAID,wBAAsB,gBAAgB,CAAC,qBAAqB,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,eAAe,CAAC,EAAE,OAAO,CAAC,uBAAuB,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAoDtJ"}
1
+ {"version":3,"file":"invert.d.ts","sourceRoot":"","sources":["../../src/invert.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,uBAAuB;CAAG;AAI3C,wBAAsB,gBAAgB,CACpC,qBAAqB,EAAE,MAAM,GAAG,MAAM,EAAE,EACxC,eAAe,CAAC,EAAE,OAAO,CAAC,uBAAuB,CAAC,GACjD,OAAO,CAAC,MAAM,EAAE,CAAC,CA0DnB"}
@@ -1,5 +1,5 @@
1
- import { iamActionsForService, iamServiceKeys } from "@cloud-copilot/iam-data";
2
- import { allAsterisksPattern, convertStringToPattern } from "./util.js";
1
+ import { iamActionsForService, iamServiceKeys } from '@cloud-copilot/iam-data';
2
+ import { allAsterisksPattern, convertStringToPattern } from './util.js';
3
3
  const defaultOptions = {};
4
4
  export async function invertIamActions(actionStringOrStrings, overrideOptions) {
5
5
  const options = { ...defaultOptions, ...overrideOptions };
@@ -9,7 +9,9 @@ export async function invertIamActions(actionStringOrStrings, overrideOptions) {
9
9
  let allActionsFound = false;
10
10
  const servicesToExclude = new Set();
11
11
  const excludePatterns = {};
12
- const actionsToInvert = Array.isArray(actionStringOrStrings) ? actionStringOrStrings : [actionStringOrStrings];
12
+ const actionsToInvert = Array.isArray(actionStringOrStrings)
13
+ ? actionStringOrStrings
14
+ : [actionStringOrStrings];
13
15
  for (const action of actionsToInvert) {
14
16
  if (action.match(allAsterisksPattern)) {
15
17
  allActionsFound = true;
@@ -19,7 +21,7 @@ export async function invertIamActions(actionStringOrStrings, overrideOptions) {
19
21
  if (parts.length !== 2) {
20
22
  continue;
21
23
  }
22
- const [service, wildcardActions] = parts.map(part => part.toLowerCase());
24
+ const [service, wildcardActions] = parts.map((part) => part.toLowerCase());
23
25
  if (wildcardActions.match(allAsterisksPattern)) {
24
26
  servicesToExclude.add(service);
25
27
  continue;
@@ -40,11 +42,13 @@ export async function invertIamActions(actionStringOrStrings, overrideOptions) {
40
42
  const serviceActions = await iamActionsForService(serviceKey);
41
43
  const excludePatternsForService = excludePatterns[serviceKey] || [];
42
44
  if (excludePatternsForService.length === 0) {
43
- return serviceActions.map(action => `${serviceKey}:${action}`);
45
+ return serviceActions.map((action) => `${serviceKey}:${action}`);
44
46
  }
45
- return serviceActions.filter(action => {
46
- return !excludePatternsForService.some(pattern => action.match(pattern));
47
- }).map(action => `${serviceKey}:${action}`);
47
+ return serviceActions
48
+ .filter((action) => {
49
+ return !excludePatternsForService.some((pattern) => action.match(pattern));
50
+ })
51
+ .map((action) => `${serviceKey}:${action}`);
48
52
  }));
49
53
  return Array.from(new Set(actionLists.flat())).sort();
50
54
  }
@@ -1 +1 @@
1
- {"version":3,"file":"invert.js","sourceRoot":"","sources":["../../src/invert.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"invert.js","sourceRoot":"","sources":["../../src/invert.ts"],"names":[],"mappings":"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"}
package/dist/esm/util.js CHANGED
@@ -1,6 +1,6 @@
1
1
  export const allAsterisksPattern = /^\*+$/i;
2
2
  export function convertStringToPattern(actionString) {
3
- const pattern = "^" + actionString.replace(/\?/g, '.').replace(/\*/g, '.*?') + "$";
3
+ const pattern = '^' + actionString.replace(/\?/g, '.').replace(/\*/g, '.*?') + '$';
4
4
  return new RegExp(pattern, 'i');
5
5
  }
6
6
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/util.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,mBAAmB,GAAG,QAAQ,CAAA;AAE3C,MAAM,UAAU,sBAAsB,CAAC,YAAoB;IACzD,MAAM,OAAO,GAAG,GAAG,GAAG,YAAY,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,GAAG,CAAA;IAClF,OAAO,IAAI,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;AACjC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,yBAAyB,CAAC,GAAW;IACnD,OAAO,GAAG,CAAC,OAAO,CAAC,sBAAsB,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QACzD,OAAO,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/util.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,mBAAmB,GAAG,QAAQ,CAAA;AAE3C,MAAM,UAAU,sBAAsB,CAAC,YAAoB;IACzD,MAAM,OAAO,GAAG,GAAG,GAAG,YAAY,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,GAAG,CAAA;IAClF,OAAO,IAAI,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;AACjC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,yBAAyB,CAAC,GAAW;IACnD,OAAO,GAAG,CAAC,OAAO,CAAC,sBAAsB,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QACzD,OAAO,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAA;IAChD,CAAC,CAAC,CAAA;AACJ,CAAC"}