sf-plugin-permission-sets 0.0.0-dev.39 → 0.0.0-dev.41
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.
- package/lib/adapters/connection-org-client.d.ts +2 -2
- package/lib/adapters/connection-org-client.d.ts.map +1 -1
- package/lib/adapters/index.d.ts +2 -0
- package/lib/adapters/index.d.ts.map +1 -0
- package/lib/adapters/index.js +2 -0
- package/lib/adapters/index.js.map +1 -0
- package/lib/commands/ps/apply.d.ts +2 -0
- package/lib/commands/ps/apply.d.ts.map +1 -1
- package/lib/commands/ps/apply.js +40 -16
- package/lib/commands/ps/apply.js.map +1 -1
- package/lib/commands/ps/check.d.ts +1 -1
- package/lib/commands/ps/check.d.ts.map +1 -1
- package/lib/commands/ps/check.js +8 -5
- package/lib/commands/ps/check.js.map +1 -1
- package/lib/commands/ps/export.d.ts.map +1 -1
- package/lib/commands/ps/export.js +9 -5
- package/lib/commands/ps/export.js.map +1 -1
- package/lib/commands/ps/plan.d.ts +3 -1
- package/lib/commands/ps/plan.d.ts.map +1 -1
- package/lib/commands/ps/plan.js +40 -14
- package/lib/commands/ps/plan.js.map +1 -1
- package/lib/commands/ps/validate.d.ts +1 -1
- package/lib/commands/ps/validate.d.ts.map +1 -1
- package/lib/commands/ps/validate.js +9 -6
- package/lib/commands/ps/validate.js.map +1 -1
- package/lib/core/finding.d.ts +3 -2
- package/lib/core/finding.d.ts.map +1 -1
- package/lib/core/index.d.ts +8 -0
- package/lib/core/index.d.ts.map +1 -0
- package/lib/core/index.js +7 -0
- package/lib/core/index.js.map +1 -0
- package/lib/core/load.d.ts.map +1 -1
- package/lib/core/load.js +17 -10
- package/lib/core/load.js.map +1 -1
- package/lib/core/report.d.ts +2 -1
- package/lib/core/report.d.ts.map +1 -1
- package/lib/core/report.js +32 -21
- package/lib/core/report.js.map +1 -1
- package/lib/core/schema.d.ts +2 -12
- package/lib/core/schema.d.ts.map +1 -1
- package/lib/core/schema.js +2 -2
- package/lib/core/schema.js.map +1 -1
- package/lib/services/adapters/index.d.ts +2 -0
- package/lib/services/adapters/index.d.ts.map +1 -0
- package/lib/services/adapters/index.js +2 -0
- package/lib/services/adapters/index.js.map +1 -0
- package/lib/services/adapters/org-client.d.ts +1 -1
- package/lib/services/apply.d.ts +6 -7
- package/lib/services/apply.d.ts.map +1 -1
- package/lib/services/apply.js +33 -25
- package/lib/services/apply.js.map +1 -1
- package/lib/services/check.d.ts +2 -6
- package/lib/services/check.d.ts.map +1 -1
- package/lib/services/check.js +4 -11
- package/lib/services/check.js.map +1 -1
- package/lib/services/export.d.ts +3 -4
- package/lib/services/export.d.ts.map +1 -1
- package/lib/services/export.js +6 -8
- package/lib/services/export.js.map +1 -1
- package/lib/services/index.d.ts +6 -0
- package/lib/services/index.d.ts.map +1 -0
- package/lib/services/index.js +6 -0
- package/lib/services/index.js.map +1 -0
- package/lib/services/plan.d.ts +4 -10
- package/lib/services/plan.d.ts.map +1 -1
- package/lib/services/plan.js +14 -16
- package/lib/services/plan.js.map +1 -1
- package/lib/services/resolution.d.ts +4 -6
- package/lib/services/resolution.d.ts.map +1 -1
- package/lib/services/resolution.js +9 -8
- package/lib/services/resolution.js.map +1 -1
- package/lib/services/validate.d.ts +4 -6
- package/lib/services/validate.d.ts.map +1 -1
- package/lib/services/validate.js +8 -9
- package/lib/services/validate.js.map +1 -1
- package/package.json +1 -1
package/lib/services/plan.js
CHANGED
|
@@ -1,6 +1,4 @@
|
|
|
1
|
-
import { loadFiles } from '../core/
|
|
2
|
-
import { diffAssignments } from '../core/diff.js';
|
|
3
|
-
import { countFindings } from '../core/finding.js';
|
|
1
|
+
import { loadFiles, diffAssignments, countFindings } from '../core/index.js';
|
|
4
2
|
import { ResolutionService, managedTargets } from './resolution.js';
|
|
5
3
|
const emptyDiff = { toAdd: [], toUpdate: [], toRemove: [], unchanged: [] };
|
|
6
4
|
/** An aborted-before-the-diff result, carrying the findings that explain why. */
|
|
@@ -15,27 +13,27 @@ function invalidResult(files, findings) {
|
|
|
15
13
|
*/
|
|
16
14
|
export class PlanService {
|
|
17
15
|
org;
|
|
18
|
-
|
|
19
|
-
input;
|
|
20
|
-
constructor(org, files, input) {
|
|
16
|
+
constructor(org) {
|
|
21
17
|
this.org = org;
|
|
22
|
-
this.files = files;
|
|
23
|
-
this.input = input;
|
|
24
18
|
}
|
|
25
|
-
async run() {
|
|
26
|
-
const loaded = await loadFiles(
|
|
27
|
-
|
|
19
|
+
async run(files, mode) {
|
|
20
|
+
const loaded = await loadFiles(files);
|
|
21
|
+
const loadCounts = countFindings(loaded.findings);
|
|
22
|
+
if (loadCounts.errors > 0) {
|
|
28
23
|
return invalidResult(loaded.files, loaded.findings);
|
|
29
24
|
}
|
|
30
|
-
const resolutionService = new ResolutionService(this.org
|
|
31
|
-
const resolution = await resolutionService.run();
|
|
32
|
-
const findings = [
|
|
33
|
-
|
|
25
|
+
const resolutionService = new ResolutionService(this.org);
|
|
26
|
+
const resolution = await resolutionService.run(loaded.assignments);
|
|
27
|
+
const findings = [
|
|
28
|
+
...loaded.findings,
|
|
29
|
+
...resolution.findings,
|
|
30
|
+
];
|
|
31
|
+
const findingCounts = countFindings(findings);
|
|
32
|
+
if (findingCounts.errors > 0) {
|
|
34
33
|
return invalidResult(loaded.files, findings);
|
|
35
34
|
}
|
|
36
35
|
const actual = await this.org.currentAssignments(managedTargets(resolution));
|
|
37
36
|
const diff = diffAssignments(loaded.assignments, actual);
|
|
38
|
-
const { mode } = this.input;
|
|
39
37
|
const drift = {
|
|
40
38
|
adds: mode === 'destructive' ? diff.toAdd.length : 0,
|
|
41
39
|
updates: mode === 'destructive' ? diff.toUpdate.length : 0,
|
package/lib/services/plan.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plan.js","sourceRoot":"","sources":["../../src/services/plan.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,
|
|
1
|
+
{"version":3,"file":"plan.js","sourceRoot":"","sources":["../../src/services/plan.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,eAAe,EAAiB,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAE5F,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAgBpE,MAAM,SAAS,GAAS,EAAE,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;AAEjF,iFAAiF;AACjF,SAAS,aAAa,CAAC,KAAe,EAAE,QAAmB;IACvD,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;AAC/G,CAAC;AAED;;;;;GAKG;AACH,MAAM,OAAO,WAAW;IACgB;IAApC,YAAoC,GAAc;QAAd,QAAG,GAAH,GAAG,CAAW;IAAG,CAAC;IAE/C,KAAK,CAAC,GAAG,CAAC,KAAe,EAAE,IAAc;QAC5C,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,KAAK,CAAC,CAAC;QACtC,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAClD,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,OAAO,aAAa,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;QACxD,CAAC;QAED,MAAM,iBAAiB,GAAG,IAAI,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC1D,MAAM,UAAU,GAAG,MAAM,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QACnE,MAAM,QAAQ,GAAG;YACb,GAAG,MAAM,CAAC,QAAQ;YAClB,GAAG,UAAU,CAAC,QAAQ;SACzB,CAAC;QACF,MAAM,aAAa,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;QAC9C,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3B,OAAO,aAAa,CAAC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QACjD,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,kBAAkB,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC;QAC7E,MAAM,IAAI,GAAG,eAAe,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QACzD,MAAM,KAAK,GAAG;YACV,IAAI,EAAE,IAAI,KAAK,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YACpD,OAAO,EAAE,IAAI,KAAK,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAC1D,OAAO,EAAE,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;SAC1D,CAAC;QAEF,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;IAC7E,CAAC;CACJ"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import { DesiredAssignment, Kind, TargetRef } from '../core/
|
|
2
|
-
import {
|
|
3
|
-
import { OrgClient } from './adapters/org-client.js';
|
|
1
|
+
import { DesiredAssignment, Kind, TargetRef, Finding } from '../core/index.js';
|
|
2
|
+
import { OrgClient } from './adapters/index.js';
|
|
4
3
|
export type Resolution = {
|
|
5
4
|
findings: Finding[];
|
|
6
5
|
userIds: Map<string, string>;
|
|
@@ -10,8 +9,7 @@ export declare function managedTargets(resolution: Resolution): TargetRef[];
|
|
|
10
9
|
/** Look every declared reference up in the org, returning findings and the resolved id maps. */
|
|
11
10
|
export declare class ResolutionService {
|
|
12
11
|
private readonly org;
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
run(): Promise<Resolution>;
|
|
12
|
+
constructor(org: OrgClient);
|
|
13
|
+
run(assignments: DesiredAssignment[]): Promise<Resolution>;
|
|
16
14
|
}
|
|
17
15
|
//# sourceMappingURL=resolution.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolution.d.ts","sourceRoot":"","sources":["../../src/services/resolution.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"resolution.d.ts","sourceRoot":"","sources":["../../src/services/resolution.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,iBAAiB,EACjB,IAAI,EAGJ,SAAS,EACT,OAAO,EAQV,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEhD,MAAM,MAAM,UAAU,GAAG;IACrB,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,SAAS,EAAE,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CAChD,CAAC;AAEF,wBAAgB,cAAc,CAAC,UAAU,EAAE,UAAU,GAAG,SAAS,EAAE,CAQlE;AAED,gGAAgG;AAChG,qBAAa,iBAAiB;IACP,OAAO,CAAC,QAAQ,CAAC,GAAG;gBAAH,GAAG,EAAE,SAAS;IAErC,GAAG,CAAC,WAAW,EAAE,iBAAiB,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC;CAqC1E"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { kinds, distinctAssignees, distinctTargets, evaluateUsers, evaluateTargets, indexUsersById, indexTargetsById, } from '../core/
|
|
1
|
+
import { kinds, distinctAssignees, distinctTargets, evaluateUsers, evaluateTargets, indexUsersById, indexTargetsById, } from '../core/index.js';
|
|
2
2
|
export function managedTargets(resolution) {
|
|
3
3
|
const refs = [];
|
|
4
4
|
for (const kind of kinds) {
|
|
@@ -11,17 +11,18 @@ export function managedTargets(resolution) {
|
|
|
11
11
|
/** Look every declared reference up in the org, returning findings and the resolved id maps. */
|
|
12
12
|
export class ResolutionService {
|
|
13
13
|
org;
|
|
14
|
-
|
|
15
|
-
constructor(org, assignments) {
|
|
14
|
+
constructor(org) {
|
|
16
15
|
this.org = org;
|
|
17
|
-
this.assignments = assignments;
|
|
18
16
|
}
|
|
19
|
-
async run() {
|
|
20
|
-
const usernames = distinctAssignees(
|
|
21
|
-
const targetsByKind = kinds.map((kind) => ({ kind, targets: distinctTargets(
|
|
17
|
+
async run(assignments) {
|
|
18
|
+
const usernames = distinctAssignees(assignments);
|
|
19
|
+
const targetsByKind = kinds.map((kind) => ({ kind, targets: distinctTargets(assignments, kind) }));
|
|
22
20
|
const usersTask = usernames.length > 0 ? this.org.findUsers(usernames) : Promise.resolve([]);
|
|
23
21
|
const targetsTask = Promise.all(targetsByKind.map(({ kind, targets }) => (targets.length > 0 ? this.org.findTargets(kind, targets) : Promise.resolve([])).then((found) => ({ kind, targets, found }))));
|
|
24
|
-
const [foundUsers, perKind] = await Promise.all([
|
|
22
|
+
const [foundUsers, perKind] = await Promise.all([
|
|
23
|
+
usersTask,
|
|
24
|
+
targetsTask,
|
|
25
|
+
]);
|
|
25
26
|
const findings = [...evaluateUsers(usernames, foundUsers)];
|
|
26
27
|
for (const { kind, targets, found } of perKind) {
|
|
27
28
|
findings.push(...evaluateTargets(kind, targets, found.map((target) => target.name)));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolution.js","sourceRoot":"","sources":["../../src/services/resolution.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"resolution.js","sourceRoot":"","sources":["../../src/services/resolution.ts"],"names":[],"mappings":"AAAA,OAAO,EAOH,KAAK,EACL,iBAAiB,EACjB,eAAe,EACf,aAAa,EACb,eAAe,EACf,cAAc,EACd,gBAAgB,GACnB,MAAM,kBAAkB,CAAC;AAS1B,MAAM,UAAU,cAAc,CAAC,UAAsB;IACjD,MAAM,IAAI,GAAgB,EAAE,CAAC;IAC7B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACvB,KAAK,MAAM,EAAE,IAAI,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;YACnD,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;QAC5B,CAAC;IACL,CAAC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,gGAAgG;AAChG,MAAM,OAAO,iBAAiB;IACU;IAApC,YAAoC,GAAc;QAAd,QAAG,GAAH,GAAG,CAAW;IAAG,CAAC;IAE/C,KAAK,CAAC,GAAG,CAAC,WAAgC;QAC7C,MAAM,SAAS,GAAG,iBAAiB,CAAC,WAAW,CAAC,CAAC;QACjD,MAAM,aAAa,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,eAAe,CAAC,WAAW,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QAEnG,MAAM,SAAS,GACX,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC/E,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAC3B,aAAa,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,CACpC,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAc,EAAE,CAAC,CAAC,CAAC,IAAI,CAC9F,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CACxC,CACJ,CACJ,CAAC;QAEF,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YAC5C,SAAS;YACT,WAAW;SACd,CAAC,CAAC;QAEH,MAAM,QAAQ,GAAc,CAAC,GAAG,aAAa,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC;QACtE,KAAK,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,OAAO,EAAE,CAAC;YAC7C,QAAQ,CAAC,IAAI,CACT,GAAG,eAAe,CACd,IAAI,EACJ,OAAO,EACP,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CACrC,CACJ,CAAC;QACN,CAAC;QAED,MAAM,SAAS,GAAG,EAAuC,CAAC;QAC1D,KAAK,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,OAAO,EAAE,CAAC;YACpC,SAAS,CAAC,IAAI,CAAC,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;QAC9C,CAAC;QAED,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,cAAc,CAAC,UAAU,CAAC,EAAE,SAAS,EAAE,CAAC;IACxE,CAAC;CACJ"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import { DesiredAssignment } from '../core/
|
|
2
|
-
import {
|
|
3
|
-
import { OrgClient } from './adapters/org-client.js';
|
|
1
|
+
import { DesiredAssignment, Finding } from '../core/index.js';
|
|
2
|
+
import { OrgClient } from './adapters/index.js';
|
|
4
3
|
export type ValidateResult = {
|
|
5
4
|
files: string[];
|
|
6
5
|
assignments: DesiredAssignment[];
|
|
@@ -12,9 +11,8 @@ export type ValidateResult = {
|
|
|
12
11
|
/** Online validate: run the offline load, then resolve every reference against the org. */
|
|
13
12
|
export declare class ValidateService {
|
|
14
13
|
private readonly org;
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
run(): Promise<ValidateResult>;
|
|
14
|
+
constructor(org: OrgClient);
|
|
15
|
+
run(files: string[]): Promise<ValidateResult>;
|
|
18
16
|
/** Look every reference up in the org (in parallel) and evaluate the results. */
|
|
19
17
|
private resolve;
|
|
20
18
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../src/services/validate.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../src/services/validate.ts"],"names":[],"mappings":"AAAA,OAAO,EAOH,iBAAiB,EACjB,OAAO,EAEV,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEhD,MAAM,MAAM,cAAc,GAAG;IACzB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,WAAW,EAAE,iBAAiB,EAAE,CAAC;IACjC,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,2FAA2F;AAC3F,qBAAa,eAAe;IACL,OAAO,CAAC,QAAQ,CAAC,GAAG;gBAAH,GAAG,EAAE,SAAS;IAErC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,cAAc,CAAC;IAoB1D,iFAAiF;YACnE,OAAO;CA0BxB"}
|
package/lib/services/validate.js
CHANGED
|
@@ -1,18 +1,17 @@
|
|
|
1
|
-
import { loadFiles } from '../core/
|
|
2
|
-
import { kinds, distinctAssignees, distinctTargets, evaluateUsers, evaluateTargets } from '../core/resolve.js';
|
|
3
|
-
import { countFindings } from '../core/finding.js';
|
|
1
|
+
import { loadFiles, kinds, distinctAssignees, distinctTargets, evaluateUsers, evaluateTargets, countFindings, } from '../core/index.js';
|
|
4
2
|
/** Online validate: run the offline load, then resolve every reference against the org. */
|
|
5
3
|
export class ValidateService {
|
|
6
4
|
org;
|
|
7
|
-
|
|
8
|
-
constructor(org, files) {
|
|
5
|
+
constructor(org) {
|
|
9
6
|
this.org = org;
|
|
10
|
-
this.files = files;
|
|
11
7
|
}
|
|
12
|
-
async run() {
|
|
13
|
-
const loaded = await loadFiles(
|
|
8
|
+
async run(files) {
|
|
9
|
+
const loaded = await loadFiles(files);
|
|
14
10
|
const online = await this.resolve(loaded.assignments);
|
|
15
|
-
const findings = [
|
|
11
|
+
const findings = [
|
|
12
|
+
...loaded.findings,
|
|
13
|
+
...online,
|
|
14
|
+
];
|
|
16
15
|
const { errors, warnings } = countFindings(findings);
|
|
17
16
|
return {
|
|
18
17
|
files: loaded.files,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../../src/services/validate.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../../src/services/validate.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,SAAS,EACT,KAAK,EACL,iBAAiB,EACjB,eAAe,EACf,aAAa,EACb,eAAe,EAGf,aAAa,GAChB,MAAM,kBAAkB,CAAC;AAY1B,2FAA2F;AAC3F,MAAM,OAAO,eAAe;IACY;IAApC,YAAoC,GAAc;QAAd,QAAG,GAAH,GAAG,CAAW;IAAG,CAAC;IAE/C,KAAK,CAAC,GAAG,CAAC,KAAe;QAC5B,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,KAAK,CAAC,CAAC;QACtC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAEtD,MAAM,QAAQ,GAAG;YACb,GAAG,MAAM,CAAC,QAAQ;YAClB,GAAG,MAAM;SACZ,CAAC;QACF,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;QAErD,OAAO;YACH,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,QAAQ;YACR,MAAM;YACN,QAAQ;YACR,MAAM,EAAE,MAAM,GAAG,CAAC;SACrB,CAAC;IACN,CAAC;IAED,iFAAiF;IACzE,KAAK,CAAC,OAAO,CAAC,WAAgC;QAClD,MAAM,KAAK,GAA8B,EAAE,CAAC;QAE5C,MAAM,SAAS,GAAG,iBAAiB,CAAC,WAAW,CAAC,CAAC;QACjD,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,aAAa,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;QAC/F,CAAC;QAED,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACvB,MAAM,OAAO,GAAG,eAAe,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;YACnD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACrB,KAAK,CAAC,IAAI,CACN,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAC/C,eAAe,CACX,IAAI,EACJ,OAAO,EACP,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CACrC,CACJ,CACJ,CAAC;YACN,CAAC;QACL,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACzC,OAAO,OAAO,CAAC,IAAI,EAAE,CAAC;IAC1B,CAAC;CACJ"}
|
package/package.json
CHANGED