sf-plugin-permission-sets 0.0.0-dev.4 → 0.0.0-dev.42

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 (123) hide show
  1. package/README.md +157 -93
  2. package/lib/adapters/connection-org-client.d.ts +17 -0
  3. package/lib/adapters/connection-org-client.d.ts.map +1 -0
  4. package/lib/adapters/connection-org-client.js +248 -0
  5. package/lib/adapters/connection-org-client.js.map +1 -0
  6. package/lib/adapters/index.d.ts +2 -0
  7. package/lib/adapters/index.d.ts.map +1 -0
  8. package/lib/adapters/index.js +2 -0
  9. package/lib/adapters/index.js.map +1 -0
  10. package/lib/commands/ps/apply.d.ts +39 -0
  11. package/lib/commands/ps/apply.d.ts.map +1 -0
  12. package/lib/commands/ps/apply.js +173 -0
  13. package/lib/commands/ps/apply.js.map +1 -0
  14. package/lib/commands/ps/check.d.ts +21 -0
  15. package/lib/commands/ps/check.d.ts.map +1 -0
  16. package/lib/commands/ps/check.js +55 -0
  17. package/lib/commands/ps/check.js.map +1 -0
  18. package/lib/commands/ps/export.d.ts +18 -0
  19. package/lib/commands/ps/export.d.ts.map +1 -0
  20. package/lib/commands/ps/export.js +35 -0
  21. package/lib/commands/ps/export.js.map +1 -0
  22. package/lib/commands/ps/plan.d.ts +61 -0
  23. package/lib/commands/ps/plan.d.ts.map +1 -0
  24. package/lib/commands/ps/plan.js +212 -0
  25. package/lib/commands/ps/plan.js.map +1 -0
  26. package/lib/commands/ps/validate.d.ts +21 -0
  27. package/lib/commands/ps/validate.d.ts.map +1 -0
  28. package/lib/commands/ps/validate.js +56 -0
  29. package/lib/commands/ps/validate.js.map +1 -0
  30. package/lib/core/diff.d.ts +10 -0
  31. package/lib/core/diff.d.ts.map +1 -0
  32. package/lib/core/diff.js +54 -0
  33. package/lib/core/diff.js.map +1 -0
  34. package/lib/core/finding.d.ts +41 -0
  35. package/lib/core/finding.d.ts.map +1 -0
  36. package/lib/core/finding.js +68 -0
  37. package/lib/core/finding.js.map +1 -0
  38. package/lib/core/index.d.ts +8 -0
  39. package/lib/core/index.d.ts.map +1 -0
  40. package/lib/core/index.js +7 -0
  41. package/lib/core/index.js.map +1 -0
  42. package/lib/core/load.d.ts +4 -0
  43. package/lib/core/load.d.ts.map +1 -0
  44. package/lib/core/load.js +60 -0
  45. package/lib/core/load.js.map +1 -0
  46. package/lib/core/model.d.ts +73 -0
  47. package/lib/core/model.d.ts.map +1 -0
  48. package/lib/core/model.js +2 -0
  49. package/lib/core/model.js.map +1 -0
  50. package/lib/core/normalize.d.ts +15 -0
  51. package/lib/core/normalize.d.ts.map +1 -0
  52. package/lib/core/normalize.js +62 -0
  53. package/lib/core/normalize.js.map +1 -0
  54. package/lib/core/parse.d.ts +10 -0
  55. package/lib/core/parse.d.ts.map +1 -0
  56. package/lib/core/parse.js +20 -0
  57. package/lib/core/parse.js.map +1 -0
  58. package/lib/core/report.d.ts +15 -0
  59. package/lib/core/report.d.ts.map +1 -0
  60. package/lib/core/report.js +114 -0
  61. package/lib/core/report.js.map +1 -0
  62. package/lib/core/resolve.d.ts +20 -0
  63. package/lib/core/resolve.d.ts.map +1 -0
  64. package/lib/core/resolve.js +88 -0
  65. package/lib/core/resolve.js.map +1 -0
  66. package/lib/core/schema.d.ts +23 -0
  67. package/lib/core/schema.d.ts.map +1 -0
  68. package/lib/core/schema.js +35 -0
  69. package/lib/core/schema.js.map +1 -0
  70. package/lib/core/serialize.d.ts +9 -0
  71. package/lib/core/serialize.d.ts.map +1 -0
  72. package/lib/core/serialize.js +34 -0
  73. package/lib/core/serialize.js.map +1 -0
  74. package/lib/index.d.ts +1 -0
  75. package/lib/index.d.ts.map +1 -0
  76. package/lib/services/adapters/index.d.ts +2 -0
  77. package/lib/services/adapters/index.d.ts.map +1 -0
  78. package/lib/services/adapters/index.js +2 -0
  79. package/lib/services/adapters/index.js.map +1 -0
  80. package/lib/services/adapters/org-client.d.ts +22 -0
  81. package/lib/services/adapters/org-client.d.ts.map +1 -0
  82. package/lib/services/adapters/org-client.js +2 -0
  83. package/lib/services/adapters/org-client.js.map +1 -0
  84. package/lib/services/apply.d.ts +39 -0
  85. package/lib/services/apply.d.ts.map +1 -0
  86. package/lib/services/apply.js +102 -0
  87. package/lib/services/apply.js.map +1 -0
  88. package/lib/services/check.d.ts +14 -0
  89. package/lib/services/check.d.ts.map +1 -0
  90. package/lib/services/check.js +18 -0
  91. package/lib/services/check.js.map +1 -0
  92. package/lib/services/export.d.ts +13 -0
  93. package/lib/services/export.d.ts.map +1 -0
  94. package/lib/services/export.js +23 -0
  95. package/lib/services/export.js.map +1 -0
  96. package/lib/services/index.d.ts +6 -0
  97. package/lib/services/index.d.ts.map +1 -0
  98. package/lib/services/index.js +6 -0
  99. package/lib/services/index.js.map +1 -0
  100. package/lib/services/plan.d.ts +29 -0
  101. package/lib/services/plan.d.ts.map +1 -0
  102. package/lib/services/plan.js +45 -0
  103. package/lib/services/plan.js.map +1 -0
  104. package/lib/services/resolution.d.ts +15 -0
  105. package/lib/services/resolution.d.ts.map +1 -0
  106. package/lib/services/resolution.js +37 -0
  107. package/lib/services/resolution.js.map +1 -0
  108. package/lib/services/validate.d.ts +19 -0
  109. package/lib/services/validate.d.ts.map +1 -0
  110. package/lib/services/validate.js +42 -0
  111. package/lib/services/validate.js.map +1 -0
  112. package/messages/ps.apply.md +85 -0
  113. package/messages/ps.check.md +33 -0
  114. package/messages/ps.export.md +25 -0
  115. package/messages/ps.plan.md +85 -0
  116. package/messages/ps.validate.md +29 -0
  117. package/package.json +112 -181
  118. package/lib/commands/ps/info.d.ts +0 -11
  119. package/lib/commands/ps/info.js +0 -17
  120. package/lib/commands/ps/info.js.map +0 -1
  121. package/messages/ps.info.md +0 -17
  122. package/oclif.lock +0 -7781
  123. package/oclif.manifest.json +0 -51
@@ -0,0 +1,33 @@
1
+ # summary
2
+
3
+ Statically check permission set assignment files, with no org connection.
4
+
5
+ # description
6
+
7
+ Parse and validate the YAML files offline. Reports invalid YAML, schema violations, duplicate keys, duplicate targets, and empty entries. Run it in a pre-commit hook or in CI before validate, plan, or apply.
8
+
9
+ # flags.file.summary
10
+
11
+ YAML file or glob to check. Repeatable.
12
+
13
+ # flags.strict.summary
14
+
15
+ Treat warnings as errors.
16
+
17
+ # summary.counts
18
+
19
+ %s errors, %s warnings.
20
+
21
+ # error.failed
22
+
23
+ Check found problems. See the output above.
24
+
25
+ # examples
26
+
27
+ - Check every file under permissions:
28
+
29
+ <%= config.bin %> <%= command.id %> --file "permissions/*.yml"
30
+
31
+ - Check specific files:
32
+
33
+ <%= config.bin %> <%= command.id %> --file permissions/sales.yml --file permissions/service.yml
@@ -0,0 +1,25 @@
1
+ # summary
2
+
3
+ Generate a YAML file from the current org's permission set assignments.
4
+
5
+ # description
6
+
7
+ Query the target org for every assignable permission set, group, and license assignment held by active users and write them to a single user-keyed YAML file. The result is valid input for check, validate, plan, and apply, so it is a read-only way to bootstrap adoption from an org's current state. Profile-owned permission sets and inactive users are skipped.
8
+
9
+ # flags.output-file.summary
10
+
11
+ Path of the YAML file to write. Created (and its parent directories) if missing, overwritten if present.
12
+
13
+ # success
14
+
15
+ Exported %s assignments across %s users to %s.
16
+
17
+ # examples
18
+
19
+ - Export the dev org's assignments to permissions.yml:
20
+
21
+ <%= config.bin %> <%= command.id %> --target-org dev --output-file permissions.yml
22
+
23
+ - Export a production org into an environment folder:
24
+
25
+ <%= config.bin %> <%= command.id %> --target-org prod --output-file permissions/prod.yml
@@ -0,0 +1,85 @@
1
+ # summary
2
+
3
+ Preview the changes that would reconcile a target org to the assignment files.
4
+
5
+ # description
6
+
7
+ Load the files, resolve every user and target against the org, fetch the org's current assignments, and diff the desired state against them. Read-only: it queries the org but never changes it, so it is the apply pipeline stopping before any DML. The body shows only what the chosen mode would do, so what plan shows is what apply does. Anything the mode would not touch is reported beneath the plan as drift. Run it before apply to preview what would change.
8
+
9
+ # flags.file.summary
10
+
11
+ YAML file or glob to plan. Repeatable.
12
+
13
+ # flags.mode.summary
14
+
15
+ Which half of the reconcile to preview: additive adds and updates expirations, destructive removes only, sync does both. The plan shows only what the chosen mode would do; anything it skips is reported as drift.
16
+
17
+ # flags.show-unchanged.summary
18
+
19
+ List assignments that already match, instead of only counting them.
20
+
21
+ # header.title
22
+
23
+ Permission Set Assignments Plan
24
+
25
+ # header.org
26
+
27
+ Org: %s (%s) Mode: %s
28
+
29
+ # summary.counts.additive
30
+
31
+ Plan: %s to add, %s to update. %s users affected.
32
+
33
+ # summary.counts.destructive
34
+
35
+ Plan: %s to remove. %s users affected.
36
+
37
+ # summary.counts.sync
38
+
39
+ Plan: %s to add, %s to update, %s to remove. %s users affected.
40
+
41
+ # summary.unchanged
42
+
43
+ Unchanged: %s assignments (--show-unchanged to list).
44
+
45
+ # summary.unchangedListed
46
+
47
+ Unchanged: %s assignments.
48
+
49
+ # summary.next
50
+
51
+ Next: %s
52
+
53
+ # drift.additive
54
+
55
+ Drift: %s undeclared assignment(s) not removed in additive mode. Run --mode sync to remove them.
56
+
57
+ # drift.destructive
58
+
59
+ Drift: %s declared assignment(s) not applied in destructive mode. Run --mode additive or sync to apply them.
60
+
61
+ # empty.noChanges
62
+
63
+ No changes. %s already matches your files.
64
+
65
+ # empty.nothingToApply
66
+
67
+ Nothing to apply in %s mode.
68
+
69
+ # error.invalid
70
+
71
+ The files do not resolve cleanly against the org. Fix the errors above, then re-run.
72
+
73
+ # examples
74
+
75
+ - Preview a full reconcile of the dev org:
76
+
77
+ <%= config.bin %> <%= command.id %> --file "permissions/*.yml" --target-org dev --mode sync
78
+
79
+ - Preview only the additions the default additive run would make:
80
+
81
+ <%= config.bin %> <%= command.id %> --file "permissions/*.yml" --target-org dev
82
+
83
+ - Preview a full reconcile of production before applying it:
84
+
85
+ <%= config.bin %> <%= command.id %> --file "permissions/*.yml" --target-org prod --mode sync
@@ -0,0 +1,29 @@
1
+ # summary
2
+
3
+ Validate permission set assignment files against a target org.
4
+
5
+ # description
6
+
7
+ Run every offline check, then resolve each referenced user, permission set, group, and license against the org. Reports users that are missing or inactive and targets that are missing or not unique. Read-only: it queries the org but never changes it. Run it before plan or apply.
8
+
9
+ # flags.file.summary
10
+
11
+ YAML file or glob to validate. Repeatable.
12
+
13
+ # summary.counts
14
+
15
+ %s errors, %s warnings.
16
+
17
+ # error.failed
18
+
19
+ Validation found problems. See the output above.
20
+
21
+ # examples
22
+
23
+ - Validate every file under permissions against the dev org:
24
+
25
+ <%= config.bin %> <%= command.id %> --file "permissions/\*.yml" --target-org dev
26
+
27
+ - Validate specific files against a named org:
28
+
29
+ <%= config.bin %> <%= command.id %> --file permissions/sales.yml --file permissions/service.yml --target-org prod
package/package.json CHANGED
@@ -1,191 +1,122 @@
1
1
  {
2
- "name": "sf-plugin-permission-sets",
3
- "description": "",
4
- "version": "0.0.0-dev.4",
5
- "repository": {
6
- "type": "git",
7
- "url": "git+https://github.com/zaclummys/sf-plugin-permission-sets.git"
8
- },
9
- "dependencies": {
10
- "@oclif/core": "^4",
11
- "@salesforce/core": "^8",
12
- "@salesforce/sf-plugins-core": "^12"
13
- },
14
- "devDependencies": {
15
- "@oclif/plugin-command-snapshot": "^5.1.9",
16
- "@salesforce/cli-plugins-testkit": "^5.3.10",
17
- "@salesforce/dev-scripts": "^10",
18
- "eslint-plugin-sf-plugin": "^1.18.6",
19
- "husky": "^7.0.4",
20
- "oclif": "^4.14.0",
21
- "ts-node": "^10.9.2",
22
- "typescript": "^5.4.5"
23
- },
24
- "engines": {
25
- "node": ">=18.0.0"
26
- },
27
- "files": [
28
- "/lib",
29
- "/messages",
30
- "/oclif.manifest.json",
31
- "/oclif.lock"
32
- ],
33
- "keywords": [
34
- "force",
35
- "salesforce",
36
- "salesforcedx",
37
- "sf",
38
- "sf-plugin",
39
- "sfdx",
40
- "sfdx-plugin"
41
- ],
42
- "license": "BSD-3-Clause",
43
- "oclif": {
44
- "commands": "./lib/commands",
45
- "bin": "sf",
46
- "topicSeparator": " ",
47
- "devPlugins": [
48
- "@oclif/plugin-help"
49
- ],
50
- "topics": {
51
- "ps": {
52
- "description": "Manage permission set assignments declaratively."
53
- }
54
- },
55
- "flexibleTaxonomy": true
56
- },
57
- "scripts": {
58
- "build": "wireit",
59
- "clean": "sf-clean",
60
- "clean-all": "sf-clean all",
61
- "compile": "wireit",
62
- "docs": "sf-docs",
63
- "format": "wireit",
64
- "link-check": "wireit",
65
- "lint": "wireit",
66
- "prepare": "husky install",
67
- "postpack": "sf-clean --ignore-signing-artifacts",
68
- "prepack": "sf-prepack",
69
- "test": "wireit",
70
- "test:nuts": "nyc mocha \"**/*.nut.ts\" --slow 4500 --timeout 600000 --parallel",
71
- "test:only": "wireit",
72
- "version": "oclif readme"
73
- },
74
- "publishConfig": {
75
- "access": "public"
76
- },
77
- "wireit": {
78
- "build": {
79
- "dependencies": [
80
- "compile",
81
- "lint"
82
- ]
83
- },
84
- "compile": {
85
- "command": "tsc -p . --pretty --incremental",
86
- "files": [
87
- "src/**/*.ts",
88
- "**/tsconfig.json",
89
- "messages/**"
90
- ],
91
- "output": [
92
- "lib/**",
93
- "*.tsbuildinfo"
94
- ],
95
- "clean": "if-file-deleted"
2
+ "name": "sf-plugin-permission-sets",
3
+ "description": "Declarative, GitOps-style management of permission set assignments for Salesforce orgs.",
4
+ "repository": {
5
+ "type": "git",
6
+ "url": "git+https://github.com/zaclummys/sf-plugin-permission-sets.git"
96
7
  },
97
- "format": {
98
- "command": "prettier --write \"+(src|test|schemas)/**/*.+(ts|js|json)|command-snapshot.json\"",
99
- "files": [
100
- "src/**/*.ts",
101
- "test/**/*.ts",
102
- "schemas/**/*.json",
103
- "command-snapshot.json",
104
- ".prettier*"
105
- ],
106
- "output": []
8
+ "dependencies": {
9
+ "@oclif/core": "^4",
10
+ "@salesforce/core": "^8",
11
+ "@salesforce/sf-plugins-core": "^12",
12
+ "globby": "^16.2.0",
13
+ "yaml": "^2.9.0",
14
+ "zod": "^4.4.3"
107
15
  },
108
- "lint": {
109
- "command": "eslint src test --color --cache --cache-location .eslintcache",
110
- "files": [
111
- "src/**/*.ts",
112
- "test/**/*.ts",
113
- "messages/**",
114
- "**/.eslint*",
115
- "**/tsconfig.json"
116
- ],
117
- "output": []
16
+ "devDependencies": {
17
+ "@eslint/js": "^10.0.1",
18
+ "eslint": "^10.6.0",
19
+ "execa": "^9.6.1",
20
+ "globals": "^17.7.0",
21
+ "ts-node": "^10.9.2",
22
+ "typescript": "^6.0.3",
23
+ "typescript-eslint": "^8.62.1",
24
+ "vitest": "^4.1.9",
25
+ "wireit": "^0.14.0"
118
26
  },
119
- "test:compile": {
120
- "command": "tsc -p \"./test\" --pretty",
121
- "files": [
122
- "test/**/*.ts",
123
- "**/tsconfig.json"
124
- ],
125
- "output": []
27
+ "engines": {
28
+ "node": ">=18.0.0"
126
29
  },
127
- "test": {
128
- "dependencies": [
129
- "test:compile",
130
- "test:only",
131
- "lint"
132
- ]
133
- },
134
- "test:only": {
135
- "command": "nyc mocha \"test/**/*.test.ts\"",
136
- "env": {
137
- "FORCE_COLOR": "2"
138
- },
139
- "files": [
140
- "test/**/*.ts",
141
- "src/**/*.ts",
142
- "**/tsconfig.json",
143
- ".mocha*",
144
- "!*.nut.ts",
145
- ".nycrc"
146
- ],
147
- "output": []
30
+ "files": [
31
+ "/lib",
32
+ "/messages"
33
+ ],
34
+ "keywords": [
35
+ "salesforce",
36
+ "sf-plugin",
37
+ "sfdx-plugin",
38
+ "permission-sets",
39
+ "permission-set-assignment",
40
+ "permission-set-group",
41
+ "access-management",
42
+ "user-provisioning",
43
+ "gitops",
44
+ "declarative"
45
+ ],
46
+ "license": "BSD-3-Clause",
47
+ "oclif": {
48
+ "commands": "./lib/commands",
49
+ "bin": "sf",
50
+ "topicSeparator": " ",
51
+ "devPlugins": [
52
+ "@oclif/plugin-help"
53
+ ],
54
+ "topics": {
55
+ "ps": {
56
+ "description": "Manage permission set assignments declaratively."
57
+ }
58
+ },
59
+ "flexibleTaxonomy": true
148
60
  },
149
- "test:command-reference": {
150
- "command": "node --loader ts-node/esm --no-warnings=ExperimentalWarning \"./bin/dev.js\" commandreference:generate --erroronwarnings",
151
- "files": [
152
- "src/**/*.ts",
153
- "messages/**",
154
- "package.json"
155
- ],
156
- "output": [
157
- "tmp/root"
158
- ]
61
+ "scripts": {
62
+ "build": "wireit",
63
+ "clean": "rm -rf lib tmp *.tsbuildinfo .eslintcache .wireit",
64
+ "compile": "wireit",
65
+ "lint": "wireit",
66
+ "prepack": "npm run compile",
67
+ "test": "wireit",
68
+ "version": "oclif readme"
159
69
  },
160
- "test:deprecation-policy": {
161
- "command": "node --loader ts-node/esm --no-warnings=ExperimentalWarning \"./bin/dev.js\" snapshot:compare",
162
- "files": [
163
- "src/**/*.ts"
164
- ],
165
- "output": [],
166
- "dependencies": [
167
- "compile"
168
- ]
70
+ "publishConfig": {
71
+ "access": "public"
169
72
  },
170
- "test:json-schema": {
171
- "command": "node --loader ts-node/esm --no-warnings=ExperimentalWarning \"./bin/dev.js\" schema:compare",
172
- "files": [
173
- "src/**/*.ts",
174
- "schemas"
175
- ],
176
- "output": []
73
+ "wireit": {
74
+ "build": {
75
+ "dependencies": [
76
+ "compile",
77
+ "lint"
78
+ ]
79
+ },
80
+ "compile": {
81
+ "command": "tsc -p . --pretty --incremental",
82
+ "files": [
83
+ "src/**/*.ts",
84
+ "**/tsconfig.json",
85
+ "messages/**"
86
+ ],
87
+ "output": [
88
+ "lib/**",
89
+ "*.tsbuildinfo"
90
+ ],
91
+ "clean": "if-file-deleted"
92
+ },
93
+ "lint": {
94
+ "command": "eslint src --color --cache --cache-location .eslintcache",
95
+ "files": [
96
+ "src/**/*.ts",
97
+ "messages/**",
98
+ "**/.eslint*",
99
+ "**/tsconfig.json"
100
+ ],
101
+ "output": []
102
+ },
103
+ "test": {
104
+ "command": "vitest run",
105
+ "dependencies": [
106
+ "compile"
107
+ ],
108
+ "env": {
109
+ "FORCE_COLOR": "2"
110
+ },
111
+ "files": [
112
+ "test/**",
113
+ "vitest.config.js"
114
+ ],
115
+ "output": []
116
+ }
177
117
  },
178
- "link-check": {
179
- "command": "node -e \"process.exit(process.env.CI ? 0 : 1)\" || linkinator \"**/*.md\" --skip \"CHANGELOG.md|node_modules|test/|confluence.internal.salesforce.com|my.salesforce.com|%s\" --markdown --retry --directory-listing --verbosity error",
180
- "files": [
181
- "./*.md",
182
- "./!(CHANGELOG).md",
183
- "messages/**/*.md"
184
- ],
185
- "output": []
186
- }
187
- },
188
- "exports": "./lib/index.js",
189
- "type": "module",
190
- "author": "Isaac Ferreira"
118
+ "exports": "./lib/index.js",
119
+ "type": "module",
120
+ "author": "Isaac Ferreira",
121
+ "version": "0.0.0-dev.42"
191
122
  }
@@ -1,11 +0,0 @@
1
- import { SfCommand } from '@salesforce/sf-plugins-core';
2
- export type PsInfoResult = {
3
- name: string;
4
- description: string;
5
- };
6
- export default class Info extends SfCommand<PsInfoResult> {
7
- static readonly summary: string;
8
- static readonly description: string;
9
- static readonly examples: string[];
10
- run(): Promise<PsInfoResult>;
11
- }
@@ -1,17 +0,0 @@
1
- import { SfCommand } from '@salesforce/sf-plugins-core';
2
- import { Messages } from '@salesforce/core';
3
- Messages.importMessagesDirectoryFromMetaUrl(import.meta.url);
4
- const messages = Messages.loadMessages('sf-plugin-permission-sets', 'ps.info');
5
- export default class Info extends SfCommand {
6
- static summary = messages.getMessage('summary');
7
- static description = messages.getMessage('description');
8
- static examples = messages.getMessages('examples');
9
- async run() {
10
- await this.parse(Info);
11
- const name = 'sf-plugin-permission-sets';
12
- const description = 'Declarative, GitOps-style management of permission set assignments.';
13
- this.log(messages.getMessage('info.summary', [name, description]));
14
- return { name, description };
15
- }
16
- }
17
- //# sourceMappingURL=info.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"info.js","sourceRoot":"","sources":["../../../src/commands/ps/info.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5C,QAAQ,CAAC,kCAAkC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC7D,MAAM,QAAQ,GAAG,QAAQ,CAAC,YAAY,CAAC,2BAA2B,EAAE,SAAS,CAAC,CAAC;AAO/E,MAAM,CAAC,OAAO,OAAO,IAAK,SAAQ,SAAuB;IAChD,MAAM,CAAU,OAAO,GAAG,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;IACzD,MAAM,CAAU,WAAW,GAAG,QAAQ,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;IACjE,MAAM,CAAU,QAAQ,GAAG,QAAQ,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;IAE5D,KAAK,CAAC,GAAG;QACd,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACvB,MAAM,IAAI,GAAG,2BAA2B,CAAC;QACzC,MAAM,WAAW,GAAG,qEAAqE,CAAC;QAC1F,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,cAAc,EAAE,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;QACnE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;IAC/B,CAAC"}
@@ -1,17 +0,0 @@
1
- # summary
2
-
3
- Show information about the permission-sets plugin.
4
-
5
- # description
6
-
7
- Print the plugin name and what it does. A quick way to confirm the plugin is installed and working.
8
-
9
- # examples
10
-
11
- - Show plugin info:
12
-
13
- <%= config.bin %> <%= command.id %>
14
-
15
- # info.summary
16
-
17
- %s - %s