@stoplight/spectral-core 1.3.0 → 1.6.0

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/consts.d.ts CHANGED
@@ -1,3 +1,2 @@
1
1
  import { ParserOptions } from './ruleset';
2
- export declare const SPECTRAL_PKG_VERSION = "";
3
2
  export declare const DEFAULT_PARSER_OPTIONS: Readonly<Required<ParserOptions>>;
package/dist/consts.js CHANGED
@@ -1,8 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DEFAULT_PARSER_OPTIONS = exports.SPECTRAL_PKG_VERSION = void 0;
3
+ exports.DEFAULT_PARSER_OPTIONS = void 0;
4
4
  const types_1 = require("@stoplight/types");
5
- exports.SPECTRAL_PKG_VERSION = '1.2.1';
6
5
  exports.DEFAULT_PARSER_OPTIONS = Object.freeze({
7
6
  incompatibleValues: types_1.DiagnosticSeverity.Error,
8
7
  duplicateKeys: types_1.DiagnosticSeverity.Error,
@@ -1 +1 @@
1
- {"version":3,"file":"consts.js","sourceRoot":"","sources":["../src/consts.ts"],"names":[],"mappings":";;;AAAA,4CAAsD;AAGzC,QAAA,oBAAoB,GAAG,EAAE,CAAC;AAE1B,QAAA,sBAAsB,GAAG,MAAM,CAAC,MAAM,CAA0B;IAC3E,kBAAkB,EAAE,0BAAkB,CAAC,KAAK;IAC5C,aAAa,EAAE,0BAAkB,CAAC,KAAK;CACxC,CAAC,CAAC"}
1
+ {"version":3,"file":"consts.js","sourceRoot":"","sources":["../src/consts.ts"],"names":[],"mappings":";;;AAAA,4CAAsD;AAGzC,QAAA,sBAAsB,GAAG,MAAM,CAAC,MAAM,CAA0B;IAC3E,kBAAkB,EAAE,0BAAkB,CAAC,KAAK;IAC5C,aAAa,EAAE,0BAAkB,CAAC,KAAK;CACxC,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ export declare function isAggregateError(maybeAggregateError: unknown): maybeAggregateError is Error & {
2
+ errors: unknown[];
3
+ };
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isAggregateError = void 0;
4
+ const lodash_1 = require("lodash");
5
+ function isAggregateError(maybeAggregateError) {
6
+ return lodash_1.isError(maybeAggregateError) && maybeAggregateError.constructor.name === 'AggregateError';
7
+ }
8
+ exports.isAggregateError = isAggregateError;
9
+ //# sourceMappingURL=isAggregateError.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isAggregateError.js","sourceRoot":"","sources":["../../src/guards/isAggregateError.ts"],"names":[],"mappings":";;;AAAA,mCAAiC;AAEjC,SAAgB,gBAAgB,CAAC,mBAA4B;IAC3D,OAAO,gBAAO,CAAC,mBAAmB,CAAC,IAAI,mBAAmB,CAAC,WAAW,CAAC,IAAI,KAAK,gBAAgB,CAAC;AACnG,CAAC;AAFD,4CAEC"}
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "$schema": "http://json-schema.org/draft-07/schema#",
3
- "$id": "https://github.com/stoplightio/spectral/blob/develop/src/meta/rule.schema.json",
3
+ "$id": "@stoplight/spectral-core/meta/rule.schema",
4
4
  "$defs": {
5
5
  "Then": {
6
6
  "type": "object",
@@ -20,7 +20,7 @@
20
20
  ]
21
21
  },
22
22
  "Severity": {
23
- "$ref": "shared.json#/$defs/Severity"
23
+ "$ref": "shared#severity"
24
24
  }
25
25
  },
26
26
  "oneOf": [
@@ -66,7 +66,7 @@
66
66
  "type": "array"
67
67
  },
68
68
  "formats": {
69
- "$ref": "shared.json#/$defs/Formats"
69
+ "$ref": "shared#formats"
70
70
  },
71
71
  "then": {
72
72
  "anyOf": [
@@ -95,7 +95,7 @@
95
95
  }
96
96
  },
97
97
  {
98
- "$ref": "shared.json#/$defs/HumanReadableSeverity"
98
+ "$ref": "shared#/$defs/HumanReadableSeverity"
99
99
  },
100
100
  {
101
101
  "type": "boolean"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "$schema": "http://json-schema.org/draft-07/schema#",
3
- "$id": "https://github.com/stoplightio/spectral/blob/develop/src/meta/ruleset.schema.json",
3
+ "$id": "@stoplight/spectral-core/meta/ruleset.schema",
4
4
  "type": "object",
5
5
  "additionalProperties": false,
6
6
  "properties": {
@@ -12,11 +12,11 @@
12
12
  "rules": {
13
13
  "type": "object",
14
14
  "additionalProperties": {
15
- "$ref": "rule.schema.json#"
15
+ "$ref": "rule.schema#"
16
16
  }
17
17
  },
18
18
  "formats": {
19
- "$ref": "shared.json#/$defs/Formats"
19
+ "$ref": "shared#formats"
20
20
  },
21
21
  "extends": {
22
22
  "oneOf": [
@@ -56,10 +56,10 @@
56
56
  "type": "object",
57
57
  "properties": {
58
58
  "duplicateKeys": {
59
- "$ref": "shared.json#/$defs/Severity"
59
+ "$ref": "shared#severity"
60
60
  },
61
61
  "incompatibleValues": {
62
- "$ref": "shared.json#/$defs/Severity"
62
+ "$ref": "shared#severity"
63
63
  }
64
64
  },
65
65
  "additionalProperties": false
@@ -91,7 +91,7 @@
91
91
  "rules": {
92
92
  "type": "object",
93
93
  "additionalProperties": {
94
- "$ref": "shared.json#/$defs/Severity"
94
+ "$ref": "shared#severity"
95
95
  },
96
96
  "errorMessage": {
97
97
  "enum": "must be a valid severity level"
@@ -130,7 +130,7 @@
130
130
  "type": "object",
131
131
  "properties": {
132
132
  "formats": {
133
- "$ref": "#/properties/formats"
133
+ "$ref": "shared#formats"
134
134
  },
135
135
  "extends": {
136
136
  "$ref": "#/properties/extends"
@@ -171,9 +171,46 @@
171
171
  }
172
172
  },
173
173
  "additionalProperties": {
174
- "type": "string",
175
- "pattern": "^[$#]",
176
- "errorMessage": "the value of an alias must be a valid JSON Path expression or a reference to the existing Alias optionally paired with a JSON Path expression subset"
174
+ "oneOf": [
175
+ {
176
+ "$id": "alias-value",
177
+ "type": "string",
178
+ "pattern": "^[$#]",
179
+ "errorMessage": {
180
+ "_": "the value of an alias must be a valid JSON Path expression, a reference to the existing Alias optionally paired with a JSON Path expression subset, or contain a valid set of targets",
181
+ "pattern": "the value of an alias must be a valid JSON Path expression or a reference to the existing Alias optionally paired with a JSON Path expression subset"
182
+ }
183
+ },
184
+ {
185
+ "type": "object",
186
+ "properties": {
187
+ "description": {
188
+ "type": "string"
189
+ },
190
+ "targets": {
191
+ "type": "array",
192
+ "minItems": 1,
193
+ "items": {
194
+ "type": "object",
195
+ "properties": {
196
+ "formats": {
197
+ "$ref": "shared#formats"
198
+ },
199
+ "given": {
200
+ "$ref": "alias-value"
201
+ }
202
+ },
203
+ "required": ["formats", "given"],
204
+ "errorMessage": "a valid target must contain given and non-empty formats"
205
+ },
206
+ "errorMessage": {
207
+ "minItems": "targets must have at least a single alias definition"
208
+ }
209
+ }
210
+ },
211
+ "required": ["targets"]
212
+ }
213
+ ]
177
214
  }
178
215
  }
179
216
  },
@@ -1,15 +1,17 @@
1
1
  {
2
2
  "$schema": "http://json-schema.org/draft-07/schema#",
3
- "$id": "https://github.com/stoplightio/spectral/blob/develop/src/meta/shared.json",
3
+ "$id": "@stoplight/spectral-core/meta/shared",
4
4
  "$defs": {
5
5
  "Formats": {
6
+ "$anchor": "formats",
6
7
  "type": "array",
7
8
  "items": {
8
- "$ref": "#/$defs/Format"
9
+ "$ref": "#format"
9
10
  },
10
11
  "errorMessage": "must be an array of formats"
11
12
  },
12
13
  "Format": {
14
+ "$anchor": "format",
13
15
  "spectral-runtime": "spectral-format",
14
16
  "errorMessage": "must be a valid format"
15
17
  },
@@ -20,6 +22,7 @@
20
22
  "enum": ["error", "warn", "info", "hint", "off"]
21
23
  },
22
24
  "Severity": {
25
+ "$anchor": "severity",
23
26
  "oneOf": [
24
27
  {
25
28
  "$ref": "#/$defs/DiagnosticSeverity"
@@ -1,10 +1,8 @@
1
- import { JsonPath, Optional } from '@stoplight/types';
2
- import { JSONPathExpression } from 'nimma';
3
- import { DiagnosticSeverity } from '@stoplight/types';
4
- import { IGivenNode } from '../../types';
1
+ import { JsonPath, Optional, DiagnosticSeverity } from '@stoplight/types';
5
2
  import { Ruleset } from '../ruleset';
6
3
  import { Format } from '../format';
7
- import { HumanReadableDiagnosticSeverity, IRuleThen, RuleDefinition } from '../types';
4
+ import type { HumanReadableDiagnosticSeverity, IRuleThen, RuleDefinition } from '../types';
5
+ import { FormatsSet } from '../utils/formatsSet';
8
6
  export interface IRule {
9
7
  description: string | null;
10
8
  message: string | null;
@@ -19,7 +17,7 @@ export interface IRule {
19
17
  }
20
18
  export declare type StringifiedRule = Omit<IRule, 'formats' | 'then'> & {
21
19
  name: string;
22
- formats: string[] | null;
20
+ formats: FormatsSet | null;
23
21
  then: (Pick<IRuleThen, 'field'> & {
24
22
  function: string;
25
23
  functionOptions?: string;
@@ -34,11 +32,9 @@ export declare class Rule implements IRule {
34
32
  description: string | null;
35
33
  message: string | null;
36
34
  resolved: boolean;
37
- formats: Set<Format> | null;
35
+ formats: FormatsSet | null;
38
36
  recommended: boolean;
39
37
  documentationUrl: string | null;
40
- expressions?: JSONPathExpression[] | null;
41
- get isOptimized(): boolean;
42
38
  constructor(name: string, definition: RuleDefinition, owner: Ruleset);
43
39
  overrides?: {
44
40
  rulesetSource: string;
@@ -53,9 +49,8 @@ export declare class Rule implements IRule {
53
49
  set then(then: RuleDefinition['then']);
54
50
  get given(): string[];
55
51
  set given(given: RuleDefinition['given']);
52
+ getGivenForFormats(formats: Set<Format<any>> | null): string[];
56
53
  matchesFormat(formats: Set<Format> | null): boolean;
57
- optimize(): boolean;
58
54
  clone(): Rule;
59
- hookup(cb: (rule: Rule, node: IGivenNode) => void): void;
60
55
  toJSON(): StringifiedRule;
61
56
  }
@@ -1,14 +1,15 @@
1
1
  "use strict";
2
- var _Rule_instances, _Rule_severity, _Rule_enabled, _Rule_then, _Rule_given, _Rule_resolveAlias;
2
+ var _Rule_instances, _Rule_severity, _Rule_enabled, _Rule_then, _Rule_given, _Rule_resolveAlias, _Rule_resolveAliasForFormats;
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
4
  exports.Rule = void 0;
5
5
  const tslib_1 = require("tslib");
6
- const nimma_1 = require("nimma");
6
+ const lodash_1 = require("lodash");
7
7
  const path_1 = require("@stoplight/path");
8
8
  const json_1 = require("@stoplight/json");
9
+ const spectral_runtime_1 = require("@stoplight/spectral-runtime");
9
10
  const severity_1 = require("../utils/severity");
10
11
  const minimatch_1 = require("../utils/minimatch");
11
- const spectral_runtime_1 = require("@stoplight/spectral-runtime");
12
+ const formatsSet_1 = require("../utils/formatsSet");
12
13
  const ALIAS = /^#([A-Za-z0-9_-]+)/;
13
14
  class Rule {
14
15
  constructor(name, definition, owner) {
@@ -28,13 +29,10 @@ class Rule {
28
29
  this.documentationUrl = (_c = definition.documentationUrl) !== null && _c !== void 0 ? _c : null;
29
30
  this.severity = definition.severity;
30
31
  this.resolved = definition.resolved !== false;
31
- this.formats = 'formats' in definition ? new Set(definition.formats) : null;
32
+ this.formats = 'formats' in definition ? new formatsSet_1.FormatsSet(definition.formats) : null;
32
33
  this.then = definition.then;
33
34
  this.given = definition.given;
34
35
  }
35
- get isOptimized() {
36
- return Array.isArray(this.expressions);
37
- }
38
36
  get enabled() {
39
37
  return tslib_1.__classPrivateFieldGet(this, _Rule_enabled, "f") || this.overrides !== void 0;
40
38
  }
@@ -86,10 +84,18 @@ class Rule {
86
84
  tslib_1.__classPrivateFieldSet(this, _Rule_then, Array.isArray(then) ? then : [then], "f");
87
85
  }
88
86
  get given() {
89
- return tslib_1.__classPrivateFieldGet(this, _Rule_given, "f").map(tslib_1.__classPrivateFieldGet(this, _Rule_instances, "m", _Rule_resolveAlias), this);
87
+ return tslib_1.__classPrivateFieldGet(this, _Rule_given, "f");
90
88
  }
91
89
  set given(given) {
92
- tslib_1.__classPrivateFieldSet(this, _Rule_given, Array.isArray(given) ? given : [given], "f");
90
+ const actualGiven = Array.isArray(given) ? given : [given];
91
+ tslib_1.__classPrivateFieldSet(this, _Rule_given, this.owner.hasComplexAliases
92
+ ? actualGiven
93
+ : actualGiven.map(expr => tslib_1.__classPrivateFieldGet(this, _Rule_instances, "m", _Rule_resolveAlias).call(this, expr, null)).filter(lodash_1.isString), "f");
94
+ }
95
+ getGivenForFormats(formats) {
96
+ return this.owner.hasComplexAliases
97
+ ? tslib_1.__classPrivateFieldGet(this, _Rule_given, "f").map(expr => tslib_1.__classPrivateFieldGet(this, _Rule_instances, "m", _Rule_resolveAlias).call(this, expr, formats)).filter(lodash_1.isString)
98
+ : tslib_1.__classPrivateFieldGet(this, _Rule_given, "f");
93
99
  }
94
100
  matchesFormat(formats) {
95
101
  if (this.formats === null) {
@@ -105,36 +111,9 @@ class Rule {
105
111
  }
106
112
  return false;
107
113
  }
108
- optimize() {
109
- if (this.expressions !== void 0)
110
- return this.isOptimized;
111
- try {
112
- this.expressions = this.given.map(given => {
113
- const expr = new nimma_1.JSONPathExpression(given, stub, stub);
114
- if (expr.matches === null) {
115
- throw new Error(`Rule "${this.name}": cannot optimize ${given}`);
116
- }
117
- return expr;
118
- });
119
- }
120
- catch {
121
- this.expressions = null;
122
- }
123
- return this.isOptimized;
124
- }
125
114
  clone() {
126
115
  return new Rule(this.name, this.definition, this.owner);
127
116
  }
128
- hookup(cb) {
129
- for (const expr of this.expressions) {
130
- expr.onMatch = (value, path) => {
131
- cb(this, {
132
- path,
133
- value,
134
- });
135
- };
136
- }
137
- }
138
117
  toJSON() {
139
118
  return {
140
119
  name: this.name,
@@ -145,19 +124,19 @@ class Rule {
145
124
  documentationUrl: this.documentationUrl,
146
125
  severity: this.severity,
147
126
  resolved: this.resolved,
148
- formats: this.formats === null ? null : Array.from(this.formats).map(fn => { var _a; return (_a = fn.displayName) !== null && _a !== void 0 ? _a : fn.name; }),
127
+ formats: this.formats,
149
128
  then: this.then.map(then => ({
150
129
  ...then.function,
151
130
  function: then.function.name,
152
131
  ...('functionOptions' in then ? { functionOptions: spectral_runtime_1.printValue(then.functionOptions) } : null),
153
132
  })),
154
- given: tslib_1.__classPrivateFieldGet(this, _Rule_given, "f"),
133
+ given: Array.isArray(this.definition.given) ? this.definition.given : [this.definition.given],
155
134
  owner: this.owner.id,
156
135
  };
157
136
  }
158
137
  }
159
138
  exports.Rule = Rule;
160
- _Rule_severity = new WeakMap(), _Rule_enabled = new WeakMap(), _Rule_then = new WeakMap(), _Rule_given = new WeakMap(), _Rule_instances = new WeakSet(), _Rule_resolveAlias = function _Rule_resolveAlias(expr) {
139
+ _Rule_severity = new WeakMap(), _Rule_enabled = new WeakMap(), _Rule_then = new WeakMap(), _Rule_given = new WeakMap(), _Rule_instances = new WeakSet(), _Rule_resolveAlias = function _Rule_resolveAlias(expr, formats) {
161
140
  var _a;
162
141
  let resolvedExpr = expr;
163
142
  const stack = new Set();
@@ -174,15 +153,37 @@ _Rule_severity = new WeakMap(), _Rule_enabled = new WeakMap(), _Rule_then = new
174
153
  if (this.owner.aliases === null || !(alias in this.owner.aliases)) {
175
154
  throw new ReferenceError(`Alias "${alias}" does not exist`);
176
155
  }
177
- if (alias.length + 1 === expr.length) {
178
- resolvedExpr = this.owner.aliases[alias];
156
+ const aliasValue = this.owner.aliases[alias];
157
+ let actualAliasValue;
158
+ if (typeof aliasValue === 'string') {
159
+ actualAliasValue = aliasValue;
160
+ }
161
+ else {
162
+ actualAliasValue = tslib_1.__classPrivateFieldGet(this, _Rule_instances, "m", _Rule_resolveAliasForFormats).call(this, aliasValue, formats);
163
+ }
164
+ if (actualAliasValue === null) {
165
+ return null;
166
+ }
167
+ if (actualAliasValue.length + 1 === expr.length) {
168
+ resolvedExpr = actualAliasValue;
179
169
  }
180
170
  else {
181
- resolvedExpr = this.owner.aliases[alias] + resolvedExpr.slice(alias.length + 1);
171
+ resolvedExpr = actualAliasValue + resolvedExpr.slice(alias.length + 1);
182
172
  }
183
173
  }
184
174
  return resolvedExpr;
175
+ }, _Rule_resolveAliasForFormats = function _Rule_resolveAliasForFormats({ targets }, formats) {
176
+ if (formats === null || formats.size === 0) {
177
+ return null;
178
+ }
179
+ for (let i = targets.length - 1; i >= 0; i--) {
180
+ const target = targets[i];
181
+ for (const format of target.formats) {
182
+ if (formats.has(format)) {
183
+ return target.given;
184
+ }
185
+ }
186
+ }
187
+ return null;
185
188
  };
186
- function stub() {
187
- }
188
189
  //# sourceMappingURL=rule.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"rule.js","sourceRoot":"","sources":["../../../src/ruleset/rule/rule.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rule.js","sourceRoot":"","sources":["../../../src/ruleset/rule/rule.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { Rule, StringifiedRule } from './rule/rule';
2
2
  import { FileRulesetSeverityDefinition, ParserOptions, RulesetAliasesDefinition, RulesetDefinition, RulesetOverridesDefinition } from './types';
3
- import { Format } from './format';
3
+ import { FormatsSet } from './utils/formatsSet';
4
4
  declare const STACK_SYMBOL: unique symbol;
5
5
  declare type RulesetContext = {
6
6
  readonly severity?: FileRulesetSeverityDefinition;
@@ -12,7 +12,7 @@ export declare type StringifiedRuleset = {
12
12
  extends: StringifiedRuleset[] | null;
13
13
  source: string | null;
14
14
  aliases: RulesetAliasesDefinition | null;
15
- formats: string[] | null;
15
+ formats: FormatsSet | null;
16
16
  rules: Record<string, StringifiedRule>;
17
17
  overrides: RulesetOverridesDefinition | null;
18
18
  parserOptions: ParserOptions;
@@ -22,9 +22,10 @@ export declare class Ruleset {
22
22
  readonly maybeDefinition: unknown;
23
23
  readonly id: number;
24
24
  protected readonly extends: Ruleset[] | null;
25
- readonly formats: Set<Format<void>>;
25
+ readonly formats: FormatsSet<import("./format").Format<void>>;
26
26
  readonly overrides: RulesetOverridesDefinition | null;
27
27
  readonly aliases: RulesetAliasesDefinition | null;
28
+ readonly hasComplexAliases: boolean;
28
29
  readonly rules: Record<string, Rule>;
29
30
  readonly definition: RulesetDefinition;
30
31
  constructor(maybeDefinition: unknown, context?: RulesetContext);
@@ -10,6 +10,7 @@ const rules_1 = require("./mergers/rules");
10
10
  const __1 = require("..");
11
11
  const rulesets_1 = require("./mergers/rulesets");
12
12
  const json_1 = require("@stoplight/json");
13
+ const formatsSet_1 = require("./utils/formatsSet");
13
14
  const STACK_SYMBOL = Symbol('@stoplight/spectral/ruleset/#stack');
14
15
  const DEFAULT_RULESET_FILE = /^\.?spectral\.(ya?ml|json|m?js)$/;
15
16
  let SEED = 1;
@@ -19,7 +20,7 @@ class Ruleset {
19
20
  this.maybeDefinition = maybeDefinition;
20
21
  _Ruleset_instances.add(this);
21
22
  this.id = SEED++;
22
- this.formats = new Set();
23
+ this.formats = new formatsSet_1.FormatsSet();
23
24
  _Ruleset_context.set(this, void 0);
24
25
  let definition;
25
26
  if (json_1.isPlainObject(maybeDefinition) && 'extends' in maybeDefinition) {
@@ -36,7 +37,23 @@ class Ruleset {
36
37
  severity: 'recommended',
37
38
  ...context,
38
39
  }, "f");
39
- this.aliases = definition.aliases === void 0 ? null : { ...definition.aliases };
40
+ let hasComplexAliases = false;
41
+ this.aliases =
42
+ definition.aliases === void 0
43
+ ? null
44
+ : Object.fromEntries(Object.entries(definition.aliases).map(alias => {
45
+ const [name, value] = alias;
46
+ if (typeof value === 'string') {
47
+ return alias;
48
+ }
49
+ hasComplexAliases = true;
50
+ const targets = value.targets.map(target => ({
51
+ formats: new formatsSet_1.FormatsSet(target.formats),
52
+ given: target.given,
53
+ }));
54
+ return [name, { ...value, targets }];
55
+ }));
56
+ this.hasComplexAliases = hasComplexAliases;
40
57
  const stack = (_a = context === null || context === void 0 ? void 0 : context[STACK_SYMBOL]) !== null && _a !== void 0 ? _a : new Map();
41
58
  stack.set(this.definition, this);
42
59
  this.extends =
@@ -165,7 +182,7 @@ class Ruleset {
165
182
  extends: this.extends,
166
183
  source: this.source,
167
184
  aliases: this.aliases,
168
- formats: this.formats.size === 0 ? null : Array.from(this.formats).map(fn => { var _a; return (_a = fn.displayName) !== null && _a !== void 0 ? _a : fn.name; }),
185
+ formats: this.formats.size === 0 ? null : this.formats,
169
186
  rules: this.rules,
170
187
  overrides: this.overrides,
171
188
  parserOptions: this.parserOptions,
@@ -198,10 +215,11 @@ _Ruleset_context = new WeakMap(), _Ruleset_instances = new WeakSet(), _Ruleset_g
198
215
  }
199
216
  }
200
217
  else if (rule.owner !== this) {
201
- rule.formats = rule.owner.definition.formats === void 0 ? null : new Set(rule.owner.definition.formats);
218
+ rule.formats =
219
+ rule.owner.definition.formats === void 0 ? null : new formatsSet_1.FormatsSet(rule.owner.definition.formats);
202
220
  }
203
221
  else if (this.definition.formats !== void 0) {
204
- rule.formats = new Set(this.definition.formats);
222
+ rule.formats = new formatsSet_1.FormatsSet(this.definition.formats);
205
223
  }
206
224
  if (this.definition.documentationUrl !== void 0 && rule.documentationUrl === null) {
207
225
  rule.documentationUrl = `${this.definition.documentationUrl}#${name}`;
@@ -1 +1 @@
1
- {"version":3,"file":"ruleset.js","sourceRoot":"","sources":["../../src/ruleset/ruleset.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ruleset.js","sourceRoot":"","sources":["../../src/ruleset/ruleset.ts"],"names":[],"mappings":"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"}
@@ -45,8 +45,9 @@ class RulesetFunctionValidationError extends validation_1.RulesetValidationError
45
45
  }
46
46
  }
47
47
  exports.RulesetFunctionValidationError = RulesetFunctionValidationError;
48
+ const DEFAULT_OPTIONS_VALIDATOR = (o) => o === null;
48
49
  function createRulesetFunction({ input, errorOnInvalidInput = false, options, }, fn) {
49
- const validateOptions = options === null ? (o) => o === null : ajv.compile(options);
50
+ const validateOptions = options === null ? DEFAULT_OPTIONS_VALIDATOR : ajv.compile(options);
50
51
  const validateInput = input !== null ? ajv.compile(input) : input;
51
52
  const wrappedFn = function (input, options, ...args) {
52
53
  var _a, _b, _c;
@@ -84,6 +85,13 @@ function createRulesetFunction({ input, errorOnInvalidInput = false, options, },
84
85
  throw new Error(`"functionOptions" of "${fn.name || '<unknown>'}" function must be valid`);
85
86
  }
86
87
  };
88
+ Reflect.defineProperty(wrappedFn, 'schemas', {
89
+ enumerable: false,
90
+ value: {
91
+ input,
92
+ options,
93
+ },
94
+ });
87
95
  return wrappedFn;
88
96
  }
89
97
  exports.createRulesetFunction = createRulesetFunction;
@@ -1 +1 @@
1
- {"version":3,"file":"rulesetFunction.js","sourceRoot":"","sources":["../../src/ruleset/rulesetFunction.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rulesetFunction.js","sourceRoot":"","sources":["../../src/ruleset/rulesetFunction.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { DiagnosticSeverity } from '@stoplight/types';
2
2
  import { Format } from './format';
3
3
  import { RulesetFunction, RulesetFunctionWithValidator } from '../types';
4
+ import { FormatsSet } from './utils/formatsSet';
4
5
  export declare type HumanReadableDiagnosticSeverity = 'error' | 'warn' | 'info' | 'hint' | 'off';
5
6
  export declare type FileRuleSeverityDefinition = DiagnosticSeverity | HumanReadableDiagnosticSeverity | boolean;
6
7
  export declare type FileRulesetSeverityDefinition = 'off' | 'recommended' | 'all';
@@ -38,7 +39,14 @@ export declare type RulesetOverrideDefinition = Pick<RulesetDefinition, 'formats
38
39
  export declare type RulesetOverridesDefinition = ReadonlyArray<{
39
40
  files: string[];
40
41
  } & RulesetOverrideDefinition>;
41
- export declare type RulesetAliasesDefinition = Record<string, string>;
42
+ export declare type RulesetScopedAliasDefinition = {
43
+ description?: string;
44
+ targets: {
45
+ formats: FormatsSet;
46
+ given: string;
47
+ }[];
48
+ };
49
+ export declare type RulesetAliasesDefinition = Record<string, string | RulesetScopedAliasDefinition>;
42
50
  export declare type RulesetDefinition = Readonly<{
43
51
  documentationUrl?: string;
44
52
  formats?: Format<any>[];
@@ -0,0 +1,4 @@
1
+ import type { Format } from '../format';
2
+ export declare class FormatsSet<T extends Format = Format> extends Set<T> {
3
+ toJSON(): string[];
4
+ }
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FormatsSet = void 0;
4
+ function printFormat(format) {
5
+ var _a;
6
+ return (_a = format.displayName) !== null && _a !== void 0 ? _a : format.name;
7
+ }
8
+ class FormatsSet extends Set {
9
+ toJSON() {
10
+ return Array.from(this).map(printFormat);
11
+ }
12
+ }
13
+ exports.FormatsSet = FormatsSet;
14
+ //# sourceMappingURL=formatsSet.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formatsSet.js","sourceRoot":"","sources":["../../../src/ruleset/utils/formatsSet.ts"],"names":[],"mappings":";;;AAEA,SAAS,WAAW,CAAC,MAAc;;IACjC,OAAO,MAAA,MAAM,CAAC,WAAW,mCAAI,MAAM,CAAC,IAAI,CAAC;AAC3C,CAAC;AAED,MAAa,UAAsC,SAAQ,GAAM;IACxD,MAAM;QACX,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAC3C,CAAC;CACF;AAJD,gCAIC"}
@@ -10,7 +10,7 @@ const ruleSchema = require("../meta/rule.schema.json");
10
10
  const rulesetSchema = require("../meta/ruleset.schema.json");
11
11
  const shared = require("../meta/shared.json");
12
12
  const message = ajv_1._ `'spectral-message'`;
13
- const ajv = new ajv_1.default({ allErrors: true, strict: true, strictRequired: false });
13
+ const ajv = new ajv_1.default({ allErrors: true, strict: true, strictRequired: false, keywords: ['$anchor'] });
14
14
  ajv_formats_1.default(ajv);
15
15
  ajv_errors_1.default(ajv);
16
16
  ajv.addKeyword({
@@ -43,7 +43,7 @@ class RulesetValidationError extends Error {
43
43
  }
44
44
  exports.RulesetValidationError = RulesetValidationError;
45
45
  const RULE_INSTANCE_PATH = /^\/rules\/[^/]+/;
46
- const GENERIC_INSTANCE_PATH = /^\/(?:extends|overrides(?:\/\d+\/extends)?)/;
46
+ const GENERIC_INSTANCE_PATH = /^\/(?:aliases|extends|overrides(?:\/\d+\/extends)?)/;
47
47
  class RulesetAjvValidationError extends RulesetValidationError {
48
48
  constructor(ruleset, errors) {
49
49
  super(RulesetAjvValidationError.serializeAjvErrors(ruleset, errors));
@@ -1 +1 @@
1
- {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/ruleset/validation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/ruleset/validation.ts"],"names":[],"mappings":"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"}
@@ -1,36 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Runner = void 0;
4
- const jsonpath_plus_1 = require("jsonpath-plus");
5
- const lodash_1 = require("lodash");
6
- const nimma_1 = require("nimma");
7
4
  const utils_1 = require("../utils");
8
5
  const lintNode_1 = require("./lintNode");
9
- const lodash_2 = require("lodash");
10
- const runRule = (context, rule) => {
11
- const target = rule.resolved ? context.documentInventory.resolved : context.documentInventory.unresolved;
12
- for (const given of rule.given) {
13
- if (given === '$') {
14
- lintNode_1.lintNode(context, {
15
- path: ['$'],
16
- value: target,
17
- }, rule);
18
- }
19
- else if (lodash_1.isObject(target)) {
20
- jsonpath_plus_1.JSONPath({
21
- path: given,
22
- json: target,
23
- resultType: 'all',
24
- callback: (result => {
25
- lintNode_1.lintNode(context, {
26
- path: lodash_2.toPath(result.path.slice(1)),
27
- value: result.value,
28
- }, rule);
29
- }),
30
- });
31
- }
32
- }
33
- };
6
+ const legacy_1 = require("nimma/legacy");
7
+ const fallbacks_1 = require("nimma/fallbacks");
8
+ const json_1 = require("@stoplight/json");
9
+ const isAggregateError_1 = require("../guards/isAggregateError");
34
10
  class Runner {
35
11
  constructor(runtime, inventory) {
36
12
  var _a;
@@ -45,43 +21,39 @@ class Runner {
45
21
  this.results.push(result);
46
22
  }
47
23
  async run(ruleset) {
24
+ var _a, _b;
25
+ var _c;
48
26
  this.runtime.emit('setup');
49
27
  const { inventory: documentInventory } = this;
50
28
  const { rules } = ruleset;
29
+ const formats = (_a = this.document.formats) !== null && _a !== void 0 ? _a : null;
51
30
  const runnerContext = {
52
31
  ruleset,
53
32
  documentInventory,
54
33
  results: this.results,
55
34
  promises: [],
56
35
  };
57
- const relevantRules = Object.values(rules).filter(rule => rule.enabled && rule.matchesFormat(documentInventory.formats));
58
- const optimizedRules = [];
59
- const optimizedUnresolvedRules = [];
60
- const unoptimizedRules = [];
61
- const traverseCb = (rule, node) => {
62
- lintNode_1.lintNode(runnerContext, node, rule);
36
+ const enabledRules = Object.values(rules).filter(rule => rule.enabled);
37
+ const relevantRules = enabledRules.filter(rule => rule.matchesFormat(documentInventory.formats));
38
+ const callbacks = {
39
+ resolved: {},
40
+ unresolved: {},
63
41
  };
64
42
  for (const rule of relevantRules) {
65
- if (!rule.isOptimized) {
66
- unoptimizedRules.push(rule);
67
- continue;
43
+ for (const given of rule.getGivenForFormats(formats)) {
44
+ const cb = (scope) => {
45
+ lintNode_1.lintNode(runnerContext, scope, rule);
46
+ };
47
+ ((_b = (_c = callbacks[rule.resolved ? 'resolved' : 'unresolved'])[given]) !== null && _b !== void 0 ? _b : (_c[given] = [])).push(cb);
68
48
  }
69
- if (rule.resolved) {
70
- optimizedRules.push(rule);
71
- }
72
- else {
73
- optimizedUnresolvedRules.push(rule);
74
- }
75
- rule.hookup(traverseCb);
76
- }
77
- if (optimizedRules.length > 0) {
78
- nimma_1.traverse(Object(runnerContext.documentInventory.resolved), optimizedRules.flatMap(pickExpressions));
79
49
  }
80
- if (optimizedUnresolvedRules.length > 0) {
81
- nimma_1.traverse(Object(runnerContext.documentInventory.unresolved), optimizedUnresolvedRules.flatMap(pickExpressions));
50
+ const resolvedJsonPaths = Object.keys(callbacks.resolved);
51
+ const unresolvedJsonPaths = Object.keys(callbacks.unresolved);
52
+ if (resolvedJsonPaths.length > 0) {
53
+ execute(runnerContext.documentInventory.resolved, callbacks.resolved, resolvedJsonPaths);
82
54
  }
83
- for (const rule of unoptimizedRules) {
84
- runRule(runnerContext, rule);
55
+ if (unresolvedJsonPaths.length > 0) {
56
+ execute(runnerContext.documentInventory.unresolved, callbacks.unresolved, unresolvedJsonPaths);
85
57
  }
86
58
  this.runtime.emit('beforeTeardown');
87
59
  try {
@@ -98,7 +70,39 @@ class Runner {
98
70
  }
99
71
  }
100
72
  exports.Runner = Runner;
101
- function pickExpressions({ expressions }) {
102
- return expressions;
73
+ function execute(input, callbacks, jsonPathExpressions) {
74
+ var _a;
75
+ if (!json_1.isPlainObject(input) && !Array.isArray(input)) {
76
+ for (const cb of (_a = callbacks.$) !== null && _a !== void 0 ? _a : []) {
77
+ cb({
78
+ path: [],
79
+ value: input,
80
+ });
81
+ }
82
+ return;
83
+ }
84
+ try {
85
+ const nimma = new legacy_1.default(jsonPathExpressions, {
86
+ fallback: fallbacks_1.jsonPathPlus,
87
+ unsafe: false,
88
+ output: 'auto',
89
+ });
90
+ nimma.query(input, Object.entries(callbacks).reduce((mapped, [key, cbs]) => {
91
+ mapped[key] = scope => {
92
+ for (const cb of cbs) {
93
+ cb(scope);
94
+ }
95
+ };
96
+ return mapped;
97
+ }, {}));
98
+ }
99
+ catch (e) {
100
+ if (isAggregateError_1.isAggregateError(e) && e.errors.length === 1) {
101
+ throw e.errors[0];
102
+ }
103
+ else {
104
+ throw e;
105
+ }
106
+ }
103
107
  }
104
108
  //# sourceMappingURL=runner.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/runner/runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/runner/runner.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,8 @@
1
- import { JsonPath } from '@stoplight/types';
1
+ import type { JsonPath } from '@stoplight/types';
2
2
  import type { IDocumentInventory } from '../documentInventory';
3
3
  import type { IRule } from '../ruleset/rule/rule';
4
4
  import type { IDocument } from '../document';
5
+ import type { JSONSchema7 } from 'json-schema';
5
6
  export declare type RulesetFunction<I extends unknown = unknown, O extends unknown = unknown> = (input: I, options: O, context: RulesetFunctionContext) => void | IFunctionResult[] | Promise<void | IFunctionResult[]>;
6
7
  export declare type RulesetFunctionContext = {
7
8
  path: JsonPath;
@@ -12,6 +13,10 @@ export declare type RulesetFunctionContext = {
12
13
  export declare type IFunction = RulesetFunction;
13
14
  export declare type RulesetFunctionWithValidator<I extends unknown = unknown, O extends unknown = unknown> = RulesetFunction<I, O> & {
14
15
  validator<O = unknown>(options: unknown): asserts options is O;
16
+ readonly schemas: Readonly<{
17
+ input: Readonly<JSONSchema7> | null;
18
+ options: Readonly<JSONSchema7> | null;
19
+ }>;
15
20
  };
16
21
  export interface IFunctionResult {
17
22
  message: string;
@@ -3,7 +3,6 @@ import { JSONSchema7 } from 'json-schema';
3
3
  import type { Resolver } from '@stoplight/spectral-ref-resolver';
4
4
  export interface IConstructorOpts {
5
5
  resolver?: Resolver;
6
- useNimma?: boolean;
7
6
  }
8
7
  export interface IRunOpts {
9
8
  ignoreUnknownFormat?: boolean;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stoplight/spectral-core",
3
- "version": "1.3.0",
3
+ "version": "1.6.0",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "sideEffects": false,
@@ -18,16 +18,14 @@
18
18
  "engines": {
19
19
  "node": ">=12"
20
20
  },
21
- "scripts": {
22
- "postbuild": "node -r esm ./scripts/inline-version.mjs"
23
- },
21
+ "scripts": {},
24
22
  "dependencies": {
25
23
  "@stoplight/better-ajv-errors": "0.2.0",
26
- "@stoplight/json": "3.15.0",
24
+ "@stoplight/json": "3.17.0",
27
25
  "@stoplight/lifecycle": "2.3.2",
28
26
  "@stoplight/path": "1.3.2",
29
27
  "@stoplight/spectral-parsers": "^1.0.0",
30
- "@stoplight/spectral-ref-resolver": "*",
28
+ "@stoplight/spectral-ref-resolver": "^1.0.0",
31
29
  "@stoplight/spectral-runtime": "^1.0.0",
32
30
  "@stoplight/types": "12.3.0",
33
31
  "ajv": "~8.6.0",
@@ -36,11 +34,12 @@
36
34
  "blueimp-md5": "2.18.0",
37
35
  "expression-eval": "4.0.0",
38
36
  "json-schema": "0.3.0",
39
- "jsonpath-plus": "5.0.7",
37
+ "jsonpath-plus": "6.0.1",
40
38
  "lodash": "~4.17.21",
39
+ "lodash.topath": "^4.5.2",
41
40
  "minimatch": "3.0.4",
42
- "nimma": "0.0.0",
43
- "tslib": "~2.3.0"
41
+ "nimma": "0.1.3",
42
+ "tslib": "^2.3.0"
44
43
  },
45
44
  "devDependencies": {
46
45
  "@stoplight/spectral-formats": "*",
@@ -50,9 +49,7 @@
50
49
  "@types/json-schema": "^7.0.7",
51
50
  "@types/minimatch": "^3.0.5",
52
51
  "@types/treeify": "^1.0.0",
53
- "esm": "^3.2.25",
54
52
  "nock": "^13.1.0",
55
- "recast": "^0.20.4",
56
53
  "treeify": "^1.1.0"
57
54
  }
58
55
  }