@stoplight/spectral-core 1.15.0 → 1.15.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.
- package/dist/runner/runner.d.ts +1 -2
- package/dist/runner/runner.js +3 -3
- package/dist/runner/runner.js.map +1 -1
- package/dist/runner/utils/results.d.ts +6 -0
- package/dist/{utils/sortResults.js → runner/utils/results.js} +33 -2
- package/dist/runner/utils/results.js.map +1 -0
- package/dist/spectral.d.ts +2 -3
- package/dist/spectral.js +1 -5
- package/dist/spectral.js.map +1 -1
- package/package.json +1 -2
- package/dist/utils/index.d.ts +0 -2
- package/dist/utils/index.js +0 -6
- package/dist/utils/index.js.map +0 -1
- package/dist/utils/prepareResults.d.ts +0 -4
- package/dist/utils/prepareResults.js +0 -43
- package/dist/utils/prepareResults.js.map +0 -1
- package/dist/utils/sortResults.d.ts +0 -5
- package/dist/utils/sortResults.js.map +0 -1
package/dist/runner/runner.d.ts
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { IDocument } from '../document';
|
|
2
2
|
import { DocumentInventory } from '../documentInventory';
|
|
3
3
|
import { IRuleResult } from '../types';
|
|
4
|
-
import { ComputeFingerprintFunc } from '../utils';
|
|
5
4
|
import { Ruleset } from '../ruleset/ruleset';
|
|
6
5
|
export declare class Runner {
|
|
7
6
|
protected readonly inventory: DocumentInventory;
|
|
@@ -10,5 +9,5 @@ export declare class Runner {
|
|
|
10
9
|
protected get document(): IDocument;
|
|
11
10
|
addResult(result: IRuleResult): void;
|
|
12
11
|
run(ruleset: Ruleset): Promise<void>;
|
|
13
|
-
getResults(
|
|
12
|
+
getResults(): IRuleResult[];
|
|
14
13
|
}
|
package/dist/runner/runner.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Runner = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
|
-
const
|
|
5
|
+
const results_1 = require("./utils/results");
|
|
6
6
|
const lintNode_1 = require("./lintNode");
|
|
7
7
|
const legacy_1 = (0, tslib_1.__importDefault)(require("nimma/legacy"));
|
|
8
8
|
const fallbacks_1 = require("nimma/fallbacks");
|
|
@@ -57,8 +57,8 @@ class Runner {
|
|
|
57
57
|
await Promise.all(runnerContext.promises);
|
|
58
58
|
}
|
|
59
59
|
}
|
|
60
|
-
getResults(
|
|
61
|
-
return (0,
|
|
60
|
+
getResults() {
|
|
61
|
+
return (0, results_1.prepareResults)(this.results);
|
|
62
62
|
}
|
|
63
63
|
}
|
|
64
64
|
exports.Runner = Runner;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/runner/runner.ts"],"names":[],"mappings":";;;;AAGA,
|
|
1
|
+
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/runner/runner.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { IPosition } from '@stoplight/types';
|
|
2
|
+
import type { ISpectralDiagnostic } from '../../types';
|
|
3
|
+
export declare const prepareResults: (results: ISpectralDiagnostic[]) => ISpectralDiagnostic[];
|
|
4
|
+
export declare const comparePosition: (left: IPosition, right: IPosition) => -1 | 0 | 1;
|
|
5
|
+
export declare const compareResults: (left: ISpectralDiagnostic, right: ISpectralDiagnostic) => -1 | 0 | 1;
|
|
6
|
+
export declare const sortResults: (results: ISpectralDiagnostic[]) => ISpectralDiagnostic[];
|
|
@@ -1,6 +1,37 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.sortResults = exports.compareResults = exports.comparePosition = void 0;
|
|
3
|
+
exports.sortResults = exports.compareResults = exports.comparePosition = exports.prepareResults = void 0;
|
|
4
|
+
const computeResultFingerprint = (rule) => {
|
|
5
|
+
let id = String(rule.code);
|
|
6
|
+
if (rule.path.length > 0) {
|
|
7
|
+
id += JSON.stringify(rule.path);
|
|
8
|
+
}
|
|
9
|
+
else {
|
|
10
|
+
id += JSON.stringify(rule.range);
|
|
11
|
+
}
|
|
12
|
+
if (rule.source !== void 0) {
|
|
13
|
+
id += rule.source;
|
|
14
|
+
}
|
|
15
|
+
if (rule.message !== void 0) {
|
|
16
|
+
id += rule.message;
|
|
17
|
+
}
|
|
18
|
+
return id;
|
|
19
|
+
};
|
|
20
|
+
const prepareResults = (results) => {
|
|
21
|
+
return (0, exports.sortResults)(deduplicateResults(results));
|
|
22
|
+
};
|
|
23
|
+
exports.prepareResults = prepareResults;
|
|
24
|
+
const deduplicateResults = (results) => {
|
|
25
|
+
const fingerprints = new Set();
|
|
26
|
+
return results.filter(result => {
|
|
27
|
+
const fingerprint = computeResultFingerprint(result);
|
|
28
|
+
if (fingerprints.has(fingerprint)) {
|
|
29
|
+
return false;
|
|
30
|
+
}
|
|
31
|
+
fingerprints.add(fingerprint);
|
|
32
|
+
return true;
|
|
33
|
+
});
|
|
34
|
+
};
|
|
4
35
|
const compareCode = (left, right) => {
|
|
5
36
|
if (left === void 0 && right === void 0) {
|
|
6
37
|
return 0;
|
|
@@ -64,4 +95,4 @@ const sortResults = (results) => {
|
|
|
64
95
|
return [...results].sort(exports.compareResults);
|
|
65
96
|
};
|
|
66
97
|
exports.sortResults = sortResults;
|
|
67
|
-
//# sourceMappingURL=
|
|
98
|
+
//# sourceMappingURL=results.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"results.js","sourceRoot":"","sources":["../../../src/runner/utils/results.ts"],"names":[],"mappings":"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"}
|
package/dist/spectral.d.ts
CHANGED
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
import { IDocument, IParsedResult } from './document';
|
|
2
|
-
import { IConstructorOpts, IRunOpts, ISpectralDiagnostic, ISpectralFullResult } from './types';
|
|
2
|
+
import type { IConstructorOpts, IRunOpts, ISpectralDiagnostic, ISpectralFullResult } from './types';
|
|
3
|
+
import type { RulesetDefinition } from './ruleset/index';
|
|
3
4
|
import { Ruleset } from './ruleset/ruleset';
|
|
4
|
-
import { RulesetDefinition } from './ruleset/types';
|
|
5
5
|
export * from './types';
|
|
6
6
|
export declare class Spectral {
|
|
7
7
|
protected readonly opts?: IConstructorOpts | undefined;
|
|
8
8
|
private readonly _resolver;
|
|
9
9
|
ruleset?: Ruleset;
|
|
10
|
-
private readonly _computeFingerprint;
|
|
11
10
|
constructor(opts?: IConstructorOpts | undefined);
|
|
12
11
|
protected parseDocument(target: IParsedResult | IDocument | Record<string, unknown> | string): IDocument;
|
|
13
12
|
runWithResolved(target: IParsedResult | IDocument | Record<string, unknown> | string, opts?: IRunOpts): Promise<ISpectralFullResult>;
|
package/dist/spectral.js
CHANGED
|
@@ -6,20 +6,16 @@ const json_1 = require("@stoplight/json");
|
|
|
6
6
|
const types_1 = require("@stoplight/types");
|
|
7
7
|
const Parsers = (0, tslib_1.__importStar)(require("@stoplight/spectral-parsers"));
|
|
8
8
|
const spectral_ref_resolver_1 = require("@stoplight/spectral-ref-resolver");
|
|
9
|
-
const lodash_1 = require("lodash");
|
|
10
9
|
const document_1 = require("./document");
|
|
11
10
|
const documentInventory_1 = require("./documentInventory");
|
|
12
11
|
const runner_1 = require("./runner");
|
|
13
|
-
const utils_1 = require("./utils");
|
|
14
12
|
const ruleset_1 = require("./ruleset/ruleset");
|
|
15
13
|
const generateDocumentWideResult_1 = require("./utils/generateDocumentWideResult");
|
|
16
14
|
const ruleset_2 = require("./ruleset");
|
|
17
|
-
lodash_1.memoize.Cache = WeakMap;
|
|
18
15
|
(0, tslib_1.__exportStar)(require("./types"), exports);
|
|
19
16
|
class Spectral {
|
|
20
17
|
constructor(opts) {
|
|
21
18
|
this.opts = opts;
|
|
22
|
-
this._computeFingerprint = (0, lodash_1.memoize)(utils_1.defaultComputeResultFingerprint);
|
|
23
19
|
if ((opts === null || opts === void 0 ? void 0 : opts.resolver) !== void 0) {
|
|
24
20
|
this._resolver = opts.resolver;
|
|
25
21
|
}
|
|
@@ -57,7 +53,7 @@ class Spectral {
|
|
|
57
53
|
}
|
|
58
54
|
}
|
|
59
55
|
await runner.run(ruleset);
|
|
60
|
-
const results = runner.getResults(
|
|
56
|
+
const results = runner.getResults();
|
|
61
57
|
return {
|
|
62
58
|
resolved: inventory.resolved,
|
|
63
59
|
results,
|
package/dist/spectral.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spectral.js","sourceRoot":"","sources":["../src/spectral.ts"],"names":[],"mappings":";;;;AAAA,0CAA4C;AAC5C,4CAAsD;AACtD,kFAAuD;AACvD,4EAAuF;
|
|
1
|
+
{"version":3,"file":"spectral.js","sourceRoot":"","sources":["../src/spectral.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@stoplight/spectral-core",
|
|
3
|
-
"version": "1.15.
|
|
3
|
+
"version": "1.15.1",
|
|
4
4
|
"sideEffects": false,
|
|
5
5
|
"homepage": "https://github.com/stoplightio/spectral",
|
|
6
6
|
"bugs": "https://github.com/stoplightio/spectral/issues",
|
|
@@ -49,7 +49,6 @@
|
|
|
49
49
|
"ajv": "^8.6.0",
|
|
50
50
|
"ajv-errors": "~3.0.0",
|
|
51
51
|
"ajv-formats": "~2.1.0",
|
|
52
|
-
"blueimp-md5": "2.18.0",
|
|
53
52
|
"es-aggregate-error": "^1.0.7",
|
|
54
53
|
"jsonpath-plus": "7.1.0",
|
|
55
54
|
"lodash": "~4.17.21",
|
package/dist/utils/index.d.ts
DELETED
package/dist/utils/index.js
DELETED
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const tslib_1 = require("tslib");
|
|
4
|
-
(0, tslib_1.__exportStar)(require("./prepareResults"), exports);
|
|
5
|
-
(0, tslib_1.__exportStar)(require("./sortResults"), exports);
|
|
6
|
-
//# sourceMappingURL=index.js.map
|
package/dist/utils/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":";;;AAAA,gEAAiC;AACjC,6DAA8B"}
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import { IRuleResult } from '../types';
|
|
2
|
-
export declare type ComputeFingerprintFunc = (rule: IRuleResult, hash: (val: string) => string) => string;
|
|
3
|
-
export declare const defaultComputeResultFingerprint: ComputeFingerprintFunc;
|
|
4
|
-
export declare const prepareResults: (results: IRuleResult[], computeFingerprint: ComputeFingerprintFunc) => IRuleResult[];
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.prepareResults = exports.defaultComputeResultFingerprint = void 0;
|
|
4
|
-
const md5 = require('blueimp-md5');
|
|
5
|
-
const lodash_1 = require("lodash");
|
|
6
|
-
const sortResults_1 = require("./sortResults");
|
|
7
|
-
const defaultComputeResultFingerprint = (rule, hash) => {
|
|
8
|
-
let id = String(rule.code);
|
|
9
|
-
if (rule.path.length > 0) {
|
|
10
|
-
id += JSON.stringify(rule.path);
|
|
11
|
-
}
|
|
12
|
-
else {
|
|
13
|
-
id += JSON.stringify(rule.range);
|
|
14
|
-
}
|
|
15
|
-
if (rule.source !== void 0) {
|
|
16
|
-
id += rule.source;
|
|
17
|
-
}
|
|
18
|
-
if (rule.message !== void 0) {
|
|
19
|
-
id += rule.message;
|
|
20
|
-
}
|
|
21
|
-
return hash(id);
|
|
22
|
-
};
|
|
23
|
-
exports.defaultComputeResultFingerprint = defaultComputeResultFingerprint;
|
|
24
|
-
const prepareResults = (results, computeFingerprint) => {
|
|
25
|
-
decorateResultsWithFingerprint(results, computeFingerprint);
|
|
26
|
-
return sortResults(deduplicateResults(results));
|
|
27
|
-
};
|
|
28
|
-
exports.prepareResults = prepareResults;
|
|
29
|
-
const decorateResultsWithFingerprint = (results, computeFingerprint) => {
|
|
30
|
-
for (const r of results) {
|
|
31
|
-
Object.defineProperty(r, 'fingerprint', {
|
|
32
|
-
value: computeFingerprint(r, md5),
|
|
33
|
-
});
|
|
34
|
-
}
|
|
35
|
-
return results;
|
|
36
|
-
};
|
|
37
|
-
const deduplicateResults = (results) => {
|
|
38
|
-
return (0, lodash_1.uniqBy)([...results], 'fingerprint');
|
|
39
|
-
};
|
|
40
|
-
const sortResults = (results) => {
|
|
41
|
-
return [...results].sort(sortResults_1.compareResults);
|
|
42
|
-
};
|
|
43
|
-
//# sourceMappingURL=prepareResults.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"prepareResults.js","sourceRoot":"","sources":["../../src/utils/prepareResults.ts"],"names":[],"mappings":";;;AACA,MAAM,GAAG,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;AAEnC,mCAAgC;AAGhC,+CAA+C;AAIxC,MAAM,+BAA+B,GAA2B,CAAC,IAAI,EAAE,IAAI,EAAU,EAAE;IAC5F,IAAI,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAE3B,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;QACxB,EAAE,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KACjC;SAAM;QACL,EAAE,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAClC;IAED,IAAI,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC,EAAE;QAC1B,EAAE,IAAI,IAAI,CAAC,MAAM,CAAC;KACnB;IAED,IAAI,IAAI,CAAC,OAAO,KAAK,KAAK,CAAC,EAAE;QAC3B,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC;KACpB;IAED,OAAO,IAAI,CAAC,EAAE,CAAC,CAAC;AAClB,CAAC,CAAC;AAlBW,QAAA,+BAA+B,mCAkB1C;AAEK,MAAM,cAAc,GAAG,CAAC,OAAsB,EAAE,kBAA0C,EAAiB,EAAE;IAClH,8BAA8B,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC;IAE5D,OAAO,WAAW,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC;AAClD,CAAC,CAAC;AAJW,QAAA,cAAc,kBAIzB;AAEF,MAAM,8BAA8B,GAAG,CACrC,OAAsB,EACtB,kBAA0C,EAC3B,EAAE;IACjB,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE;QACvB,MAAM,CAAC,cAAc,CAAC,CAAC,EAAE,aAAa,EAAE;YACtC,KAAK,EAAE,kBAAkB,CAAC,CAAC,EAAE,GAAG,CAAC;SAClC,CAAC,CAAC;KACJ;IAED,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AAEF,MAAM,kBAAkB,GAAG,CAAC,OAAsB,EAAiB,EAAE;IACnE,OAAO,IAAA,eAAM,EAAC,CAAC,GAAG,OAAO,CAAC,EAAE,aAAa,CAAC,CAAC;AAC7C,CAAC,CAAC;AAEF,MAAM,WAAW,GAAG,CAAC,OAAsB,EAAiB,EAAE;IAC5D,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC,IAAI,CAAC,4BAAc,CAAC,CAAC;AAC3C,CAAC,CAAC"}
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import { IPosition } from '@stoplight/types';
|
|
2
|
-
import { IRuleResult } from '../types';
|
|
3
|
-
export declare const comparePosition: (left: IPosition, right: IPosition) => -1 | 0 | 1;
|
|
4
|
-
export declare const compareResults: (left: IRuleResult, right: IRuleResult) => -1 | 0 | 1;
|
|
5
|
-
export declare const sortResults: (results: IRuleResult[]) => IRuleResult[];
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sortResults.js","sourceRoot":"","sources":["../../src/utils/sortResults.ts"],"names":[],"mappings":"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"}
|