@redocly/openapi-core 0.0.0-snapshot.1780923132 → 0.0.0-snapshot.1781007287
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/bundle/bundle-visitor.d.ts.map +1 -1
- package/lib/bundle/bundle-visitor.js +50 -24
- package/lib/bundle/bundle-visitor.js.map +1 -1
- package/lib/oas-types.d.ts +2 -0
- package/lib/oas-types.d.ts.map +1 -1
- package/lib/oas-types.js +2 -0
- package/lib/oas-types.js.map +1 -1
- package/lib/rules/oas3/spec-components-invalid-map-name.d.ts.map +1 -1
- package/lib/rules/oas3/spec-components-invalid-map-name.js +3 -3
- package/lib/rules/oas3/spec-components-invalid-map-name.js.map +1 -1
- package/lib/utils/to-pascal-case.d.ts +2 -0
- package/lib/utils/to-pascal-case.d.ts.map +1 -0
- package/lib/utils/to-pascal-case.js +8 -0
- package/lib/utils/to-pascal-case.js.map +1 -0
- package/package.json +1 -1
- package/lib/bundle/bundle-title-naming.d.ts +0 -10
- package/lib/bundle/bundle-title-naming.d.ts.map +0 -1
- package/lib/bundle/bundle-title-naming.js +0 -36
- package/lib/bundle/bundle-title-naming.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bundle-visitor.d.ts","sourceRoot":"","sources":["../../src/bundle/bundle-visitor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,
|
|
1
|
+
{"version":3,"file":"bundle-visitor.d.ts","sourceRoot":"","sources":["../../src/bundle/bundle-visitor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAA0B,KAAK,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAWhF,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,QAAQ,EAAE,MAAM,eAAe,CAAC;AAQnE,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,WAAW,EAAE,MAAM,gBAAgB,CAAC;AASpE,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,4OAyF7E;AAED,wBAAgB,iBAAiB,CAAC,EAChC,OAAO,EACP,WAAW,EACX,YAAY,EACZ,cAAc,EACd,WAAW,EACX,0BAAmC,EACnC,0BAAkC,GACnC,EAAE;IACD,OAAO,EAAE,gBAAgB,CAAC;IAC1B,WAAW,EAAE,OAAO,CAAC;IACrB,YAAY,EAAE,QAAQ,CAAC;IACvB,cAAc,EAAE,cAAc,CAAC;IAC/B,WAAW,EAAE,OAAO,CAAC;IACrB,0BAA0B,CAAC,EAAE,YAAY,CAAC;IAC1C,0BAA0B,CAAC,EAAE,OAAO,CAAC;CACtC,6BAmQA"}
|
|
@@ -1,8 +1,14 @@
|
|
|
1
|
+
import { COMPONENT_NAME_PATTERN } from '../oas-types.js';
|
|
1
2
|
import { isAbsoluteUrl, replaceRef, isExternalValue, isRef, pointerBaseName, refBaseName, isMappingRef, } from '../ref-utils.js';
|
|
2
3
|
import { reportUnresolvedRef } from '../rules/common/no-unresolved-refs.js';
|
|
3
4
|
import { dequal } from '../utils/dequal.js';
|
|
5
|
+
import { isPlainObject } from '../utils/is-plain-object.js';
|
|
6
|
+
import { isString } from '../utils/is-string.js';
|
|
4
7
|
import { makeRefId } from '../utils/make-ref-id.js';
|
|
5
|
-
import {
|
|
8
|
+
import { toPascalCase } from '../utils/to-pascal-case.js';
|
|
9
|
+
function getTitle(node) {
|
|
10
|
+
return isPlainObject(node) && isString(node.title) ? node.title.trim() : '';
|
|
11
|
+
}
|
|
6
12
|
export function mapTypeToComponent(typeName, version) {
|
|
7
13
|
switch (version) {
|
|
8
14
|
case 'oas3':
|
|
@@ -96,8 +102,7 @@ export function mapTypeToComponent(typeName, version) {
|
|
|
96
102
|
export function makeBundleVisitor({ version, dereference, rootDocument, resolvedRefMap, keepUrlRefs, componentRenamingConflicts = 'warn', useTitlesForComponentNames = false, }) {
|
|
97
103
|
let components;
|
|
98
104
|
let rootLocation;
|
|
99
|
-
|
|
100
|
-
const titleNameLocations = new Map();
|
|
105
|
+
const titleLocationByName = new Map();
|
|
101
106
|
const schemaComponentType = mapTypeToComponent('Schema', version);
|
|
102
107
|
const visitor = {
|
|
103
108
|
ref: {
|
|
@@ -251,30 +256,51 @@ export function makeBundleVisitor({ version, dereference, rootDocument, resolved
|
|
|
251
256
|
}
|
|
252
257
|
return { name, prevName };
|
|
253
258
|
}
|
|
259
|
+
function componentNameFromTitle(target, componentsGroup, ctx) {
|
|
260
|
+
const title = getTitle(target.node);
|
|
261
|
+
const key = toPascalCase(title);
|
|
262
|
+
const titleLocation = target.location.child('title');
|
|
263
|
+
if (title === '') {
|
|
264
|
+
return fallbackName(target, componentsGroup, ctx, {
|
|
265
|
+
message: 'Schema must define a `title` to build a component name.',
|
|
266
|
+
location: target.location,
|
|
267
|
+
});
|
|
268
|
+
}
|
|
269
|
+
if (!new RegExp(COMPONENT_NAME_PATTERN).test(key)) {
|
|
270
|
+
return fallbackName(target, componentsGroup, ctx, {
|
|
271
|
+
message: `Title "${title}" can't be turned into a component name. ` +
|
|
272
|
+
`Use only letters, digits, \`.\`, \`-\`, \`_\`, and spaces.`,
|
|
273
|
+
location: titleLocation,
|
|
274
|
+
});
|
|
275
|
+
}
|
|
276
|
+
// A different schema already uses this name.
|
|
277
|
+
const existing = componentsGroup[key];
|
|
278
|
+
if (existing && !isEqualOrEqualRef(existing, target, ctx)) {
|
|
279
|
+
return fallbackName(target, componentsGroup, ctx, {
|
|
280
|
+
message: `Title "${title}" maps to component name \`${key}\`, ` +
|
|
281
|
+
`already used by another schema. Rename one of the titles.`,
|
|
282
|
+
location: titleLocation,
|
|
283
|
+
from: titleLocationByName.get(key),
|
|
284
|
+
});
|
|
285
|
+
}
|
|
286
|
+
// The title is usable. Remember where the name was claimed so a later colliding title can
|
|
287
|
+
// point back here, then use it.
|
|
288
|
+
titleLocationByName.set(key, titleLocation);
|
|
289
|
+
return key;
|
|
290
|
+
}
|
|
291
|
+
// File-based component name, reporting the given problem once — on the first `$ref` that stores
|
|
292
|
+
// this schema, so repeat references to it stay quiet.
|
|
293
|
+
function fallbackName(target, componentsGroup, ctx, problem) {
|
|
294
|
+
const name = basenameComponentName(target, componentsGroup, ctx).name;
|
|
295
|
+
if (!componentsGroup[name]) {
|
|
296
|
+
ctx.report({ ...problem, forceSeverity: 'error' });
|
|
297
|
+
}
|
|
298
|
+
return name;
|
|
299
|
+
}
|
|
254
300
|
function getComponentName(target, componentType, ctx) {
|
|
255
301
|
const componentsGroup = components[componentType];
|
|
256
302
|
if (useTitlesForComponentNames && componentType === schemaComponentType) {
|
|
257
|
-
|
|
258
|
-
if (titleName !== null) {
|
|
259
|
-
const existing = componentsGroup[titleName];
|
|
260
|
-
if (existing && !isEqualOrEqualRef(existing, target, ctx)) {
|
|
261
|
-
const title = target.node.title;
|
|
262
|
-
ctx.report({
|
|
263
|
-
message: `Title "${title}" maps to component name \`${titleName}\`, ` +
|
|
264
|
-
`already used by another schema. Rename one of the titles.`,
|
|
265
|
-
location: target.location.child('title'),
|
|
266
|
-
from: titleNameLocations.get(titleName),
|
|
267
|
-
forceSeverity: 'error',
|
|
268
|
-
});
|
|
269
|
-
}
|
|
270
|
-
else {
|
|
271
|
-
titleNameLocations.set(titleName, target.location.child('title'));
|
|
272
|
-
return titleName;
|
|
273
|
-
}
|
|
274
|
-
}
|
|
275
|
-
// Title unusable or collided: the error is reported above; name it the default way so a
|
|
276
|
-
// `--force` bundle matches a no-flag run instead of emitting an invalid key.
|
|
277
|
-
return basenameComponentName(target, componentsGroup, ctx).name;
|
|
303
|
+
return componentNameFromTitle(target, componentsGroup, ctx);
|
|
278
304
|
}
|
|
279
305
|
const { name, prevName } = basenameComponentName(target, componentsGroup, ctx);
|
|
280
306
|
if (!componentsGroup[name] && prevName !== name) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bundle-visitor.js","sourceRoot":"","sources":["../../src/bundle/bundle-visitor.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"bundle-visitor.js","sourceRoot":"","sources":["../../src/bundle/bundle-visitor.ts"],"names":[],"mappings":"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"}
|
package/lib/oas-types.d.ts
CHANGED
|
@@ -2,6 +2,8 @@ import type { BuiltInAsync2RuleId, BuiltInAsync3RuleId, BuiltInArazzo1RuleId, Bu
|
|
|
2
2
|
import type { Oas3Rule, Oas3Decorator, Oas2Rule, Oas2Decorator, Async2Decorator, Async2Rule, Async3Decorator, Async3Rule, Arazzo1Decorator, Arazzo1Rule, Overlay1Decorator, Overlay1Rule, OpenRpc1Decorator, OpenRpc1Rule } from './visitors.js';
|
|
3
3
|
export declare const specVersions: readonly ["oas2", "oas3_0", "oas3_1", "oas3_2", "async2", "async3", "arazzo1", "overlay1", "openrpc1"];
|
|
4
4
|
export type SpecVersion = (typeof specVersions)[number];
|
|
5
|
+
/** Characters allowed in a Components Object key by the OpenAPI and AsyncAPI specs. */
|
|
6
|
+
export declare const COMPONENT_NAME_PATTERN = "^[a-zA-Z0-9\\.\\-_]+$";
|
|
5
7
|
export type SpecMajorVersion = 'oas2' | 'oas3' | 'async2' | 'async3' | 'arazzo1' | 'overlay1' | 'openrpc1';
|
|
6
8
|
export type RuleMap<Key extends string, RuleConfig, T> = Record<T extends 'built-in' ? Key : string, RuleConfig>;
|
|
7
9
|
export type Oas3RuleSet<T = undefined> = RuleMap<BuiltInOAS3RuleId | BuiltInCommonRuleId | 'assertions', Oas3Rule, T>;
|
package/lib/oas-types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oas-types.d.ts","sourceRoot":"","sources":["../src/oas-types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"oas-types.d.ts","sourceRoot":"","sources":["../src/oas-types.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EACV,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,EACpB,iBAAiB,EACjB,iBAAiB,EACjB,qBAAqB,EACrB,mBAAmB,EACnB,qBAAqB,EACrB,sBAAsB,EACtB,sBAAsB,EACvB,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EACV,QAAQ,EACR,aAAa,EACb,QAAQ,EACR,aAAa,EACb,eAAe,EACf,UAAU,EACV,eAAe,EACf,UAAU,EACV,gBAAgB,EAChB,WAAW,EACX,iBAAiB,EACjB,YAAY,EACZ,iBAAiB,EACjB,YAAY,EACb,MAAM,eAAe,CAAC;AAEvB,eAAO,MAAM,YAAY,wGAUf,CAAC;AACX,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC;AAExD,uFAAuF;AACvF,eAAO,MAAM,sBAAsB,0BAA0B,CAAC;AAE9D,MAAM,MAAM,gBAAgB,GACxB,MAAM,GACN,MAAM,GACN,QAAQ,GACR,QAAQ,GACR,SAAS,GACT,UAAU,GACV,UAAU,CAAC;AAcf,MAAM,MAAM,OAAO,CAAC,GAAG,SAAS,MAAM,EAAE,UAAU,EAAE,CAAC,IAAI,MAAM,CAC7D,CAAC,SAAS,UAAU,GAAG,GAAG,GAAG,MAAM,EACnC,UAAU,CACX,CAAC;AACF,MAAM,MAAM,WAAW,CAAC,CAAC,GAAG,SAAS,IAAI,OAAO,CAC9C,iBAAiB,GAAG,mBAAmB,GAAG,YAAY,EACtD,QAAQ,EACR,CAAC,CACF,CAAC;AACF,MAAM,MAAM,WAAW,CAAC,CAAC,GAAG,SAAS,IAAI,OAAO,CAC9C,iBAAiB,GAAG,mBAAmB,GAAG,YAAY,EACtD,QAAQ,EACR,CAAC,CACF,CAAC;AACF,MAAM,MAAM,aAAa,CAAC,CAAC,GAAG,SAAS,IAAI,OAAO,CAChD,mBAAmB,GAAG,mBAAmB,GAAG,YAAY,EACxD,UAAU,EACV,CAAC,CACF,CAAC;AACF,MAAM,MAAM,aAAa,CAAC,CAAC,GAAG,SAAS,IAAI,OAAO,CAChD,mBAAmB,GAAG,mBAAmB,GAAG,YAAY,EACxD,UAAU,EACV,CAAC,CACF,CAAC;AACF,MAAM,MAAM,cAAc,CAAC,CAAC,GAAG,SAAS,IAAI,OAAO,CACjD,oBAAoB,GAAG,mBAAmB,GAAG,YAAY,EACzD,WAAW,EACX,CAAC,CACF,CAAC;AAEF,MAAM,MAAM,eAAe,CAAC,CAAC,GAAG,SAAS,IAAI,OAAO,CAClD,qBAAqB,GAAG,mBAAmB,GAAG,YAAY,EAC1D,YAAY,EACZ,CAAC,CACF,CAAC;AAEF,MAAM,MAAM,eAAe,CAAC,CAAC,GAAG,SAAS,IAAI,OAAO,CAClD,qBAAqB,GAAG,mBAAmB,GAAG,YAAY,EAC1D,YAAY,EACZ,CAAC,CACF,CAAC;AAEF,MAAM,MAAM,iBAAiB,CAAC,CAAC,GAAG,SAAS,IAAI,MAAM,CACnD,CAAC,SAAS,UAAU,GAAG,sBAAsB,GAAG,MAAM,EACtD,aAAa,CACd,CAAC;AACF,MAAM,MAAM,iBAAiB,CAAC,CAAC,GAAG,SAAS,IAAI,MAAM,CACnD,CAAC,SAAS,UAAU,GAAG,sBAAsB,GAAG,MAAM,EACtD,aAAa,CACd,CAAC;AACF,MAAM,MAAM,mBAAmB,GAAG,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;AAClE,MAAM,MAAM,mBAAmB,GAAG,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;AAClE,MAAM,MAAM,oBAAoB,GAAG,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;AACpE,MAAM,MAAM,qBAAqB,GAAG,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;AACtE,MAAM,MAAM,qBAAqB,GAAG,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;AAEtE,wBAAgB,QAAQ,CAAC,IAAI,EAAE,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAEzC"}
|
package/lib/oas-types.js
CHANGED
|
@@ -18,6 +18,8 @@ export const specVersions = [
|
|
|
18
18
|
'overlay1',
|
|
19
19
|
'openrpc1',
|
|
20
20
|
];
|
|
21
|
+
/** Characters allowed in a Components Object key by the OpenAPI and AsyncAPI specs. */
|
|
22
|
+
export const COMPONENT_NAME_PATTERN = '^[a-zA-Z0-9\\.\\-_]+$';
|
|
21
23
|
const typesMap = {
|
|
22
24
|
oas2: Oas2Types,
|
|
23
25
|
oas3_0: Oas3Types,
|
package/lib/oas-types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oas-types.js","sourceRoot":"","sources":["../src/oas-types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AA8BnD,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,MAAM;IACN,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,UAAU;IACV,UAAU;CACF,CAAC;
|
|
1
|
+
{"version":3,"file":"oas-types.js","sourceRoot":"","sources":["../src/oas-types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AA8BnD,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,MAAM;IACN,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,UAAU;IACV,UAAU;CACF,CAAC;AAGX,uFAAuF;AACvF,MAAM,CAAC,MAAM,sBAAsB,GAAG,uBAAuB,CAAC;AAW9D,MAAM,QAAQ,GAAG;IACf,IAAI,EAAE,SAAS;IACf,MAAM,EAAE,SAAS;IACjB,MAAM,EAAE,WAAW;IACnB,MAAM,EAAE,WAAW;IACnB,MAAM,EAAE,cAAc;IACtB,MAAM,EAAE,cAAc;IACtB,OAAO,EAAE,YAAY;IACrB,QAAQ,EAAE,aAAa;IACvB,QAAQ,EAAE,YAAY;CACvB,CAAC;AA0DF,MAAM,UAAU,QAAQ,CAAC,IAAiB;IACxC,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC;AACxB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spec-components-invalid-map-name.d.ts","sourceRoot":"","sources":["../../../src/rules/oas3/spec-components-invalid-map-name.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"spec-components-invalid-map-name.d.ts","sourceRoot":"","sources":["../../../src/rules/oas3/spec-components-invalid-map-name.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAGlD,eAAO,MAAM,4BAA4B,EAAE,QA+D1C,CAAC"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
+
import { COMPONENT_NAME_PATTERN } from '../../oas-types.js';
|
|
1
2
|
export const SpecComponentsInvalidMapName = () => {
|
|
2
|
-
const KEYS_REGEX = '^[a-zA-Z0-9\\.\\-_]+$';
|
|
3
3
|
function validateKey(key, report, location, component) {
|
|
4
|
-
if (!new RegExp(
|
|
4
|
+
if (!new RegExp(COMPONENT_NAME_PATTERN).test(key)) {
|
|
5
5
|
report({
|
|
6
|
-
message: `The map key in ${component} "${key}" does not match the regular expression "${
|
|
6
|
+
message: `The map key in ${component} "${key}" does not match the regular expression "${COMPONENT_NAME_PATTERN}"`,
|
|
7
7
|
location: location.key(),
|
|
8
8
|
reference: 'https://redocly.com/docs/cli/rules/oas/spec-components-invalid-map-name',
|
|
9
9
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spec-components-invalid-map-name.js","sourceRoot":"","sources":["../../../src/rules/oas3/spec-components-invalid-map-name.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"spec-components-invalid-map-name.js","sourceRoot":"","sources":["../../../src/rules/oas3/spec-components-invalid-map-name.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAK5D,MAAM,CAAC,MAAM,4BAA4B,GAAa,GAAG,EAAE;IACzD,SAAS,WAAW,CAClB,GAAoB,EACpB,MAAkC,EAClC,QAAkB,EAClB,SAAiB;QAEjB,IAAI,CAAC,IAAI,MAAM,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,GAAa,CAAC,EAAE,CAAC;YAC5D,MAAM,CAAC;gBACL,OAAO,EAAE,kBAAkB,SAAS,KAAK,GAAG,4CAA4C,sBAAsB,GAAG;gBACjH,QAAQ,EAAE,QAAQ,CAAC,GAAG,EAAE;gBACxB,SAAS,EAAE,yEAAyE;aACrF,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO;QACL,YAAY,EAAE;YACZ,MAAM,CAAC,KAAK,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAe;gBAClD,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;YAChD,CAAC;SACF;QACD,eAAe,EAAE;YACf,SAAS,CAAC,KAAK,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAe;gBACrD,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;YACnD,CAAC;SACF;QACD,cAAc,EAAE;YACd,QAAQ,CAAC,KAAK,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAe;gBACpD,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;YAClD,CAAC;SACF;QACD,aAAa,EAAE;YACb,OAAO,CAAC,KAAK,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAe;gBACnD,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;YACjD,CAAC;SACF;QACD,kBAAkB,EAAE;YAClB,WAAW,CAAC,KAAK,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAe;gBACvD,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,eAAe,CAAC,CAAC;YACtD,CAAC;SACF;QACD,YAAY,EAAE;YACZ,MAAM,CAAC,KAAK,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAe;gBAClD,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;YAChD,CAAC;SACF;QACD,oBAAoB,EAAE;YACpB,cAAc,CAAC,KAAK,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAe;gBAC1D,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,iBAAiB,CAAC,CAAC;YACxD,CAAC;SACF;QACD,UAAU,EAAE;YACV,IAAI,CAAC,KAAK,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAe;gBAChD,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;YAC9C,CAAC;SACF;QACD,cAAc,EAAE;YACd,QAAQ,CAAC,KAAK,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAe;gBACpD,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;YAClD,CAAC;SACF;KACF,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"to-pascal-case.d.ts","sourceRoot":"","sources":["../../src/utils/to-pascal-case.ts"],"names":[],"mappings":"AAAA,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAMlD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"to-pascal-case.js","sourceRoot":"","sources":["../../src/utils/to-pascal-case.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,YAAY,CAAC,KAAa;IACxC,OAAO,KAAK;SACT,IAAI,EAAE;SACN,KAAK,CAAC,KAAK,CAAC;SACZ,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;SACnE,IAAI,CAAC,EAAE,CAAC,CAAC;AACd,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import type { Location } from '../ref-utils.js';
|
|
2
|
-
import type { UserContext } from '../walk.js';
|
|
3
|
-
/** Build a PascalCase component key from a `title`; `null` if empty or has unsupported characters. */
|
|
4
|
-
export declare function titleToPascalCase(title: string): string | null;
|
|
5
|
-
/** Schema component name from its `title`; errors and returns `null` if missing or unusable. */
|
|
6
|
-
export declare function buildSchemaNameFromTitle(target: {
|
|
7
|
-
node: unknown;
|
|
8
|
-
location: Location;
|
|
9
|
-
}, ctx: UserContext): string | null;
|
|
10
|
-
//# sourceMappingURL=bundle-title-naming.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"bundle-title-naming.d.ts","sourceRoot":"","sources":["../../src/bundle/bundle-title-naming.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C,sGAAsG;AACtG,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAS9D;AAED,gGAAgG;AAChG,wBAAgB,wBAAwB,CACtC,MAAM,EAAE;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,QAAQ,CAAA;CAAE,EAC7C,GAAG,EAAE,WAAW,GACf,MAAM,GAAG,IAAI,CAuBf"}
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
/** Build a PascalCase component key from a `title`; `null` if empty or has unsupported characters. */
|
|
2
|
-
export function titleToPascalCase(title) {
|
|
3
|
-
const tokens = title.trim().split(/\s+/);
|
|
4
|
-
for (const token of tokens) {
|
|
5
|
-
// Allowed characters mirror the OpenAPI/AsyncAPI component-key pattern.
|
|
6
|
-
if (!/^[A-Za-z0-9.\-_]+$/.test(token)) {
|
|
7
|
-
return null;
|
|
8
|
-
}
|
|
9
|
-
}
|
|
10
|
-
return tokens.map((token) => token.replace(/^[a-z]/, (c) => c.toUpperCase())).join('');
|
|
11
|
-
}
|
|
12
|
-
/** Schema component name from its `title`; errors and returns `null` if missing or unusable. */
|
|
13
|
-
export function buildSchemaNameFromTitle(target, ctx) {
|
|
14
|
-
const node = target.node;
|
|
15
|
-
const title = typeof node?.title === 'string' ? node.title : '';
|
|
16
|
-
if (title.trim() === '') {
|
|
17
|
-
ctx.report({
|
|
18
|
-
message: `Schema must define a \`title\` to build a component name.`,
|
|
19
|
-
location: target.location,
|
|
20
|
-
forceSeverity: 'error',
|
|
21
|
-
});
|
|
22
|
-
return null;
|
|
23
|
-
}
|
|
24
|
-
const name = titleToPascalCase(title);
|
|
25
|
-
if (name === null) {
|
|
26
|
-
ctx.report({
|
|
27
|
-
message: `Title "${title}" can't be turned into a component name. ` +
|
|
28
|
-
`Use only letters, digits, \`.\`, \`-\`, \`_\`, and spaces.`,
|
|
29
|
-
location: target.location.child('title'),
|
|
30
|
-
forceSeverity: 'error',
|
|
31
|
-
});
|
|
32
|
-
return null;
|
|
33
|
-
}
|
|
34
|
-
return name;
|
|
35
|
-
}
|
|
36
|
-
//# sourceMappingURL=bundle-title-naming.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"bundle-title-naming.js","sourceRoot":"","sources":["../../src/bundle/bundle-title-naming.ts"],"names":[],"mappings":"AAGA,sGAAsG;AACtG,MAAM,UAAU,iBAAiB,CAAC,KAAa;IAC7C,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACzC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,wEAAwE;QACxE,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACtC,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACzF,CAAC;AAED,gGAAgG;AAChG,MAAM,UAAU,wBAAwB,CACtC,MAA6C,EAC7C,GAAgB;IAEhB,MAAM,IAAI,GAAG,MAAM,CAAC,IAAkC,CAAC;IACvD,MAAM,KAAK,GAAG,OAAO,IAAI,EAAE,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IAChE,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QACxB,GAAG,CAAC,MAAM,CAAC;YACT,OAAO,EAAE,2DAA2D;YACpE,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,aAAa,EAAE,OAAO;SACvB,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,IAAI,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;IACtC,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;QAClB,GAAG,CAAC,MAAM,CAAC;YACT,OAAO,EACL,UAAU,KAAK,2CAA2C;gBAC1D,4DAA4D;YAC9D,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC;YACxC,aAAa,EAAE,OAAO;SACvB,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
|