@redocly/cli 2.33.1 → 2.33.2
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/commands/split/asyncapi/iterate-asyncapi-channels.d.ts.map +1 -1
- package/lib/commands/split/asyncapi/iterate-asyncapi-channels.js +2 -0
- package/lib/commands/split/asyncapi/iterate-asyncapi-channels.js.map +1 -1
- package/lib/commands/split/asyncapi/iterate-asyncapi-components.d.ts.map +1 -1
- package/lib/commands/split/asyncapi/iterate-asyncapi-components.js +2 -0
- package/lib/commands/split/asyncapi/iterate-asyncapi-components.js.map +1 -1
- package/lib/commands/split/asyncapi/iterate-asyncapi-operations.d.ts.map +1 -1
- package/lib/commands/split/asyncapi/iterate-asyncapi-operations.js +2 -0
- package/lib/commands/split/asyncapi/iterate-asyncapi-operations.js.map +1 -1
- package/lib/commands/split/utils/assert-within-dir.d.ts +2 -0
- package/lib/commands/split/utils/assert-within-dir.d.ts.map +1 -0
- package/lib/commands/split/utils/assert-within-dir.js +10 -0
- package/lib/commands/split/utils/assert-within-dir.js.map +1 -0
- package/lib/commands/split/utils/iterate-components.d.ts.map +1 -1
- package/lib/commands/split/utils/iterate-components.js +2 -0
- package/lib/commands/split/utils/iterate-components.js.map +1 -1
- package/lib/commands/split/utils/iterate-path-items.d.ts.map +1 -1
- package/lib/commands/split/utils/iterate-path-items.js +3 -0
- package/lib/commands/split/utils/iterate-path-items.js.map +1 -1
- package/package.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"iterate-asyncapi-channels.d.ts","sourceRoot":"","sources":["../../../../src/commands/split/asyncapi/iterate-asyncapi-channels.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,eAAe,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"iterate-asyncapi-channels.d.ts","sourceRoot":"","sources":["../../../../src/commands/split/asyncapi/iterate-asyncapi-channels.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,eAAe,EAAE,MAAM,aAAa,CAAC;AAQvE,wBAAgB,uBAAuB,CAAC,EACtC,QAAQ,EACR,WAAW,EACX,MAAM,EACN,eAAe,EACf,aAAa,EACb,GAAG,GACJ,EAAE;IACD,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,SAAS,CAAC;IAC1C,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,eAAe,CAAC;IACjC,aAAa,EAAE,MAAM,CAAC;IACtB,GAAG,EAAE,MAAM,CAAC;CACb,GAAG,aAAa,CAuBhB"}
|
|
@@ -2,6 +2,7 @@ import { slash, isRef } from '@redocly/openapi-core';
|
|
|
2
2
|
import * as fs from 'node:fs';
|
|
3
3
|
import * as path from 'node:path';
|
|
4
4
|
import { pathToFilename, writeToFileByExtension } from '../../../utils/miscellaneous.js';
|
|
5
|
+
import { assertWithinDir } from '../utils/assert-within-dir.js';
|
|
5
6
|
import { replace$Refs } from '../utils/replace-$-refs.js';
|
|
6
7
|
import { traverseDirectoryDeep, traverseDirectoryDeepCallback, } from '../utils/traverse-directory-deep.js';
|
|
7
8
|
export function iterateAsyncApiChannels({ channels, asyncapiDir, outDir, componentsFiles, pathSeparator, ext, }) {
|
|
@@ -14,6 +15,7 @@ export function iterateAsyncApiChannels({ channels, asyncapiDir, outDir, compone
|
|
|
14
15
|
const channelData = channels[channelName];
|
|
15
16
|
if (isRef(channelData))
|
|
16
17
|
continue;
|
|
18
|
+
assertWithinDir(asyncapiDir, channelFile, channelName);
|
|
17
19
|
channelsFiles[channelName] = channelFile;
|
|
18
20
|
replace$Refs(channelData, path.dirname(channelFile), componentsFiles);
|
|
19
21
|
writeToFileByExtension(channelData, channelFile);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"iterate-asyncapi-channels.js","sourceRoot":"","sources":["../../../../src/commands/split/asyncapi/iterate-asyncapi-channels.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC,OAAO,EAAE,cAAc,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAEzF,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EACL,qBAAqB,EACrB,6BAA6B,GAC9B,MAAM,qCAAqC,CAAC;AAE7C,MAAM,UAAU,uBAAuB,CAAC,EACtC,QAAQ,EACR,WAAW,EACX,MAAM,EACN,eAAe,EACf,aAAa,EACb,GAAG,GAQJ;IACC,MAAM,aAAa,GAAkB,EAAE,CAAC;IACxC,IAAI,CAAC,QAAQ;QAAE,OAAO,aAAa,CAAC;IACpC,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAE1C,KAAK,MAAM,WAAW,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;QAChD,MAAM,WAAW,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,cAAc,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC,IAAI,GAAG,EAAE,CAAC;QAC9F,MAAM,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC;QAE1C,IAAI,KAAK,CAAC,WAAW,CAAC;YAAE,SAAS;QAEjC,aAAa,CAAC,WAAW,CAAC,GAAG,WAAW,CAAC;QACzC,YAAY,CAAC,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,eAAe,CAAC,CAAC;QACtE,sBAAsB,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;QACjD,QAAQ,CAAC,WAAW,CAAC,GAAG;YACtB,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;SACrD,CAAC;QAEF,qBAAqB,CAAC,MAAM,EAAE,6BAA6B,EAAE,eAAe,CAAC,CAAC;IAChF,CAAC;IACD,OAAO,aAAa,CAAC;AACvB,CAAC"}
|
|
1
|
+
{"version":3,"file":"iterate-asyncapi-channels.js","sourceRoot":"","sources":["../../../../src/commands/split/asyncapi/iterate-asyncapi-channels.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC,OAAO,EAAE,cAAc,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAEzF,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EACL,qBAAqB,EACrB,6BAA6B,GAC9B,MAAM,qCAAqC,CAAC;AAE7C,MAAM,UAAU,uBAAuB,CAAC,EACtC,QAAQ,EACR,WAAW,EACX,MAAM,EACN,eAAe,EACf,aAAa,EACb,GAAG,GAQJ;IACC,MAAM,aAAa,GAAkB,EAAE,CAAC;IACxC,IAAI,CAAC,QAAQ;QAAE,OAAO,aAAa,CAAC;IACpC,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAE1C,KAAK,MAAM,WAAW,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;QAChD,MAAM,WAAW,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,cAAc,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC,IAAI,GAAG,EAAE,CAAC;QAC9F,MAAM,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC;QAE1C,IAAI,KAAK,CAAC,WAAW,CAAC;YAAE,SAAS;QAEjC,eAAe,CAAC,WAAW,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;QAEvD,aAAa,CAAC,WAAW,CAAC,GAAG,WAAW,CAAC;QACzC,YAAY,CAAC,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,eAAe,CAAC,CAAC;QACtE,sBAAsB,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;QACjD,QAAQ,CAAC,WAAW,CAAC,GAAG;YACtB,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;SACrD,CAAC;QAEF,qBAAqB,CAAC,MAAM,EAAE,6BAA6B,EAAE,eAAe,CAAC,CAAC;IAChF,CAAC;IACD,OAAO,aAAa,CAAC;AACvB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"iterate-asyncapi-components.d.ts","sourceRoot":"","sources":["../../../../src/commands/split/asyncapi/iterate-asyncapi-components.ts"],"names":[],"mappings":"AAOA,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,qBAAqB,EAG3B,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"iterate-asyncapi-components.d.ts","sourceRoot":"","sources":["../../../../src/commands/split/asyncapi/iterate-asyncapi-components.ts"],"names":[],"mappings":"AAOA,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,qBAAqB,EAG3B,MAAM,aAAa,CAAC;AAUrB,wBAAgB,yBAAyB,CAAC,EACxC,QAAQ,EACR,WAAW,EACX,eAAe,EACf,aAAa,EACb,GAAG,EACH,WAAW,GACZ,EAAE;IACD,QAAQ,EAAE,qBAAqB,CAAC;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,eAAe,CAAC;IACjC,aAAa,EAAE,aAAa,CAAC;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,QAAQ,GAAG,QAAQ,CAAC;CAClC,QAmCA"}
|
|
@@ -4,6 +4,7 @@ import * as fs from 'node:fs';
|
|
|
4
4
|
import * as path from 'node:path';
|
|
5
5
|
import { writeToFileByExtension } from '../../../utils/miscellaneous.js';
|
|
6
6
|
import { COMPONENTS } from '../constants.js';
|
|
7
|
+
import { assertWithinDir } from '../utils/assert-within-dir.js';
|
|
7
8
|
import { createComponentDir } from '../utils/create-component-dir.js';
|
|
8
9
|
import { doesFileDiffer } from '../utils/does-file-differ.js';
|
|
9
10
|
import { getFileNamePath } from '../utils/get-file-name-path.js';
|
|
@@ -23,6 +24,7 @@ export function iterateAsyncApiComponents({ asyncapi, asyncapiDir, componentsFil
|
|
|
23
24
|
createComponentDir(componentDirPath, componentType);
|
|
24
25
|
for (const componentName of Object.keys(components?.[componentType] || {})) {
|
|
25
26
|
const filename = getFileNamePath(componentDirPath, componentName, ext);
|
|
27
|
+
assertWithinDir(asyncapiDir, filename, componentName);
|
|
26
28
|
const componentData = components?.[componentType]?.[componentName];
|
|
27
29
|
replace$Refs(componentData, path.dirname(filename), componentsFiles);
|
|
28
30
|
replaceChannelRefs(componentData, path.dirname(filename), channelsFiles);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"iterate-asyncapi-components.js","sourceRoot":"","sources":["../../../../src/commands/split/asyncapi/iterate-asyncapi-components.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC/C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AACzE,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAQ7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAE,0BAA0B,EAAE,MAAM,oCAAoC,CAAC;AAChF,OAAO,EAAE,6BAA6B,EAAE,MAAM,uCAAuC,CAAC;AAEtF,MAAM,UAAU,yBAAyB,CAAC,EACxC,QAAQ,EACR,WAAW,EACX,eAAe,EACf,aAAa,EACb,GAAG,EACH,WAAW,GAQZ;IACC,MAAM,EAAE,UAAU,EAAE,GAAG,QAAQ,CAAC;IAChC,IAAI,UAAU,EAAE,CAAC;QACf,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;QACzD,EAAE,CAAC,SAAS,CAAC,aAAa,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACjD,MAAM,cAAc,GAAG,0BAA0B,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;QAC3E,cAAc,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;QAE9C,SAAS,qBAAqB,CAC5B,aAA0E;YAE1E,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;YACjE,kBAAkB,CAAC,gBAAgB,EAAE,aAAa,CAAC,CAAC;YACpD,KAAK,MAAM,aAAa,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;gBAC3E,MAAM,QAAQ,GAAG,eAAe,CAAC,gBAAgB,EAAE,aAAa,EAAE,GAAG,CAAC,CAAC;gBACvE,MAAM,aAAa,GAAG,UAAU,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC;gBACnE,YAAY,CAAC,aAAa,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,eAAe,CAAC,CAAC;gBACrE,kBAAkB,CAAC,aAAa,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,aAAa,CAAC,CAAC;gBAEzE,IAAI,cAAc,CAAC,QAAQ,EAAE,aAAa,CAAC,EAAE,CAAC;oBAC5C,MAAM,CAAC,IAAI,CACT,yBAAyB,aAAa,kDAAkD,IAAI,CAC1F,QAAQ,CACT,cAAc,CAChB,CAAC;gBACJ,CAAC;qBAAM,CAAC;oBACN,sBAAsB,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;gBAClD,CAAC;gBAED,OAAO,QAAQ,CAAC,UAAU,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC;YAC/D,CAAC;YACD,6BAA6B,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"iterate-asyncapi-components.js","sourceRoot":"","sources":["../../../../src/commands/split/asyncapi/iterate-asyncapi-components.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC/C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AACzE,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAQ7C,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAE,0BAA0B,EAAE,MAAM,oCAAoC,CAAC;AAChF,OAAO,EAAE,6BAA6B,EAAE,MAAM,uCAAuC,CAAC;AAEtF,MAAM,UAAU,yBAAyB,CAAC,EACxC,QAAQ,EACR,WAAW,EACX,eAAe,EACf,aAAa,EACb,GAAG,EACH,WAAW,GAQZ;IACC,MAAM,EAAE,UAAU,EAAE,GAAG,QAAQ,CAAC;IAChC,IAAI,UAAU,EAAE,CAAC;QACf,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;QACzD,EAAE,CAAC,SAAS,CAAC,aAAa,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACjD,MAAM,cAAc,GAAG,0BAA0B,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;QAC3E,cAAc,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;QAE9C,SAAS,qBAAqB,CAC5B,aAA0E;YAE1E,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;YACjE,kBAAkB,CAAC,gBAAgB,EAAE,aAAa,CAAC,CAAC;YACpD,KAAK,MAAM,aAAa,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;gBAC3E,MAAM,QAAQ,GAAG,eAAe,CAAC,gBAAgB,EAAE,aAAa,EAAE,GAAG,CAAC,CAAC;gBACvE,eAAe,CAAC,WAAW,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;gBACtD,MAAM,aAAa,GAAG,UAAU,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC;gBACnE,YAAY,CAAC,aAAa,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,eAAe,CAAC,CAAC;gBACrE,kBAAkB,CAAC,aAAa,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,aAAa,CAAC,CAAC;gBAEzE,IAAI,cAAc,CAAC,QAAQ,EAAE,aAAa,CAAC,EAAE,CAAC;oBAC5C,MAAM,CAAC,IAAI,CACT,yBAAyB,aAAa,kDAAkD,IAAI,CAC1F,QAAQ,CACT,cAAc,CAChB,CAAC;gBACJ,CAAC;qBAAM,CAAC;oBACN,sBAAsB,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;gBAClD,CAAC;gBAED,OAAO,QAAQ,CAAC,UAAU,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC;YAC/D,CAAC;YACD,6BAA6B,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"iterate-asyncapi-operations.d.ts","sourceRoot":"","sources":["../../../../src/commands/split/asyncapi/iterate-asyncapi-operations.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,eAAe,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"iterate-asyncapi-operations.d.ts","sourceRoot":"","sources":["../../../../src/commands/split/asyncapi/iterate-asyncapi-operations.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,eAAe,EAAE,MAAM,aAAa,CAAC;AASvE,wBAAgB,yBAAyB,CAAC,EACxC,UAAU,EACV,WAAW,EACX,MAAM,EACN,eAAe,EACf,aAAa,EACb,aAAa,EACb,GAAG,GACJ,EAAE;IACD,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,SAAS,CAAC;IAC5C,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,eAAe,CAAC;IACjC,aAAa,EAAE,aAAa,CAAC;IAC7B,aAAa,EAAE,MAAM,CAAC;IACtB,GAAG,EAAE,MAAM,CAAC;CACb,QAwBA"}
|
|
@@ -2,6 +2,7 @@ import { slash, isRef } from '@redocly/openapi-core';
|
|
|
2
2
|
import * as fs from 'node:fs';
|
|
3
3
|
import * as path from 'node:path';
|
|
4
4
|
import { pathToFilename, writeToFileByExtension } from '../../../utils/miscellaneous.js';
|
|
5
|
+
import { assertWithinDir } from '../utils/assert-within-dir.js';
|
|
5
6
|
import { replace$Refs } from '../utils/replace-$-refs.js';
|
|
6
7
|
import { replaceChannelRefs } from '../utils/replace-channel-refs.js';
|
|
7
8
|
import { traverseDirectoryDeep, traverseDirectoryDeepCallback, } from '../utils/traverse-directory-deep.js';
|
|
@@ -14,6 +15,7 @@ export function iterateAsyncApiOperations({ operations, asyncapiDir, outDir, com
|
|
|
14
15
|
const operationData = operations[operationName];
|
|
15
16
|
if (isRef(operationData))
|
|
16
17
|
continue;
|
|
18
|
+
assertWithinDir(asyncapiDir, operationFile, operationName);
|
|
17
19
|
replace$Refs(operationData, path.dirname(operationFile), componentsFiles);
|
|
18
20
|
replaceChannelRefs(operationData, path.dirname(operationFile), channelsFiles);
|
|
19
21
|
writeToFileByExtension(operationData, operationFile);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"iterate-asyncapi-operations.js","sourceRoot":"","sources":["../../../../src/commands/split/asyncapi/iterate-asyncapi-operations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC,OAAO,EAAE,cAAc,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAEzF,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EACL,qBAAqB,EACrB,6BAA6B,GAC9B,MAAM,qCAAqC,CAAC;AAE7C,MAAM,UAAU,yBAAyB,CAAC,EACxC,UAAU,EACV,WAAW,EACX,MAAM,EACN,eAAe,EACf,aAAa,EACb,aAAa,EACb,GAAG,GASJ;IACC,IAAI,CAAC,UAAU;QAAE,OAAO;IACxB,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAE1C,KAAK,MAAM,aAAa,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QACpD,MAAM,aAAa,GAAG,GAAG,IAAI,CAAC,IAAI,CAChC,MAAM,EACN,cAAc,CAAC,aAAa,EAAE,aAAa,CAAC,CAC7C,IAAI,GAAG,EAAE,CAAC;QACX,MAAM,aAAa,GAAG,UAAU,CAAC,aAAa,CAAC,CAAC;QAEhD,IAAI,KAAK,CAAC,aAAa,CAAC;YAAE,SAAS;QAEnC,YAAY,CAAC,aAAa,EAAE,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,eAAe,CAAC,CAAC;QAC1E,kBAAkB,CAAC,aAAa,EAAE,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,aAAa,CAAC,CAAC;QAC9E,sBAAsB,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;QACrD,UAAU,CAAC,aAAa,CAAC,GAAG;YAC1B,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;SACvD,CAAC;QAEF,qBAAqB,CAAC,MAAM,EAAE,6BAA6B,EAAE,eAAe,CAAC,CAAC;IAChF,CAAC;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"iterate-asyncapi-operations.js","sourceRoot":"","sources":["../../../../src/commands/split/asyncapi/iterate-asyncapi-operations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC,OAAO,EAAE,cAAc,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAEzF,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EACL,qBAAqB,EACrB,6BAA6B,GAC9B,MAAM,qCAAqC,CAAC;AAE7C,MAAM,UAAU,yBAAyB,CAAC,EACxC,UAAU,EACV,WAAW,EACX,MAAM,EACN,eAAe,EACf,aAAa,EACb,aAAa,EACb,GAAG,GASJ;IACC,IAAI,CAAC,UAAU;QAAE,OAAO;IACxB,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAE1C,KAAK,MAAM,aAAa,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QACpD,MAAM,aAAa,GAAG,GAAG,IAAI,CAAC,IAAI,CAChC,MAAM,EACN,cAAc,CAAC,aAAa,EAAE,aAAa,CAAC,CAC7C,IAAI,GAAG,EAAE,CAAC;QACX,MAAM,aAAa,GAAG,UAAU,CAAC,aAAa,CAAC,CAAC;QAEhD,IAAI,KAAK,CAAC,aAAa,CAAC;YAAE,SAAS;QAEnC,eAAe,CAAC,WAAW,EAAE,aAAa,EAAE,aAAa,CAAC,CAAC;QAE3D,YAAY,CAAC,aAAa,EAAE,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,eAAe,CAAC,CAAC;QAC1E,kBAAkB,CAAC,aAAa,EAAE,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,aAAa,CAAC,CAAC;QAC9E,sBAAsB,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;QACrD,UAAU,CAAC,aAAa,CAAC,GAAG;YAC1B,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;SACvD,CAAC;QAEF,qBAAqB,CAAC,MAAM,EAAE,6BAA6B,EAAE,eAAe,CAAC,CAAC;IAChF,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assert-within-dir.d.ts","sourceRoot":"","sources":["../../../../src/commands/split/utils/assert-within-dir.ts"],"names":[],"mappings":"AAIA,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAM1F"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import * as path from 'node:path';
|
|
2
|
+
import { exitWithError } from '../../../utils/error.js';
|
|
3
|
+
export function assertWithinDir(baseDir, targetPath, subject) {
|
|
4
|
+
const base = path.resolve(baseDir);
|
|
5
|
+
const target = path.resolve(targetPath);
|
|
6
|
+
if (target !== base && !target.startsWith(base + path.sep)) {
|
|
7
|
+
exitWithError(`Refusing to write "${subject}" outside the output directory.`);
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=assert-within-dir.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assert-within-dir.js","sourceRoot":"","sources":["../../../../src/commands/split/utils/assert-within-dir.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAExD,MAAM,UAAU,eAAe,CAAC,OAAe,EAAE,UAAkB,EAAE,OAAe;IAClF,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACnC,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IACxC,IAAI,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QAC3D,aAAa,CAAC,sBAAsB,OAAO,iCAAiC,CAAC,CAAC;IAChF,CAAC;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"iterate-components.d.ts","sourceRoot":"","sources":["../../../../src/commands/split/utils/iterate-components.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"iterate-components.d.ts","sourceRoot":"","sources":["../../../../src/commands/split/utils/iterate-components.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAatE,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,iBAAiB,EAC1B,UAAU,EAAE,MAAM,EAClB,eAAe,EAAE,eAAe,EAChC,GAAG,EAAE,MAAM,QAqDZ"}
|
|
@@ -4,6 +4,7 @@ import * as fs from 'node:fs';
|
|
|
4
4
|
import * as path from 'node:path';
|
|
5
5
|
import { writeToFileByExtension } from '../../../utils/miscellaneous.js';
|
|
6
6
|
import { COMPONENTS } from '../constants.js';
|
|
7
|
+
import { assertWithinDir } from './assert-within-dir.js';
|
|
7
8
|
import { createComponentDir } from './create-component-dir.js';
|
|
8
9
|
import { doesFileDiffer } from './does-file-differ.js';
|
|
9
10
|
import { extractFileNameFromPath } from './extract-filename-from-path.js';
|
|
@@ -26,6 +27,7 @@ export function iterateComponents(openapi, openapiDir, componentsFiles, ext) {
|
|
|
26
27
|
const componentDirPath = path.join(componentsDir, componentType);
|
|
27
28
|
for (const componentName of Object.keys(components?.[componentType] || {})) {
|
|
28
29
|
const filename = getFileNamePath(componentDirPath, componentName, ext);
|
|
30
|
+
assertWithinDir(openapiDir, filename, componentName);
|
|
29
31
|
gatherComponentsFiles(components, componentsFiles, componentType, componentName, filename);
|
|
30
32
|
}
|
|
31
33
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"iterate-components.js","sourceRoot":"","sources":["../../../../src/commands/split/utils/iterate-components.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"iterate-components.js","sourceRoot":"","sources":["../../../../src/commands/split/utils/iterate-components.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"iterate-path-items.d.ts","sourceRoot":"","sources":["../../../../src/commands/split/utils/iterate-path-items.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,YAAY,EAEjB,KAAK,UAAU,EAChB,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"iterate-path-items.d.ts","sourceRoot":"","sources":["../../../../src/commands/split/utils/iterate-path-items.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,YAAY,EAEjB,KAAK,UAAU,EAChB,MAAM,uBAAuB,CAAC;AAc/B,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,YAAY,CAAC,CAAC,GAAG,SAAS,EAC/D,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EACd,eAAe,EAAE,MAAM,EACvB,aAAa,EAAE,MAAM,EACrB,qBAAqB,EAAE,MAAM,YAAK,EAClC,GAAG,EAAE,MAAM,QA+CZ"}
|
|
@@ -3,6 +3,7 @@ import * as fs from 'node:fs';
|
|
|
3
3
|
import * as path from 'node:path';
|
|
4
4
|
import { pathToFilename, escapeLanguageName, langToExt, writeToFileByExtension, } from '../../../utils/miscellaneous.js';
|
|
5
5
|
import { OPENAPI3_METHOD_NAMES } from '../oas/constants.js';
|
|
6
|
+
import { assertWithinDir } from './assert-within-dir.js';
|
|
6
7
|
import { traverseDirectoryDeep, traverseDirectoryDeepCallback } from './traverse-directory-deep.js';
|
|
7
8
|
export function iteratePathItems(pathItems, openapiDir, outDir, componentsFiles, pathSeparator, codeSamplesPathPrefix = '', ext) {
|
|
8
9
|
if (!pathItems)
|
|
@@ -13,6 +14,7 @@ export function iteratePathItems(pathItems, openapiDir, outDir, componentsFiles,
|
|
|
13
14
|
const pathData = pathItems[pathName];
|
|
14
15
|
if (isRef(pathData))
|
|
15
16
|
continue;
|
|
17
|
+
assertWithinDir(openapiDir, pathFile, pathName);
|
|
16
18
|
for (const method of OPENAPI3_METHOD_NAMES) {
|
|
17
19
|
const methodData = pathData[method];
|
|
18
20
|
const methodDataXCode = methodData?.['x-code-samples'] || methodData?.['x-codeSamples'];
|
|
@@ -23,6 +25,7 @@ export function iteratePathItems(pathItems, openapiDir, outDir, componentsFiles,
|
|
|
23
25
|
if (sample.source && sample.source.$ref)
|
|
24
26
|
continue;
|
|
25
27
|
const sampleFileName = path.join(openapiDir, 'code_samples', escapeLanguageName(sample.lang), codeSamplesPathPrefix + pathToFilename(pathName, pathSeparator), method + langToExt(sample.lang));
|
|
28
|
+
assertWithinDir(openapiDir, sampleFileName, sample.lang);
|
|
26
29
|
fs.mkdirSync(path.dirname(sampleFileName), { recursive: true });
|
|
27
30
|
fs.writeFileSync(sampleFileName, sample.source);
|
|
28
31
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"iterate-path-items.js","sourceRoot":"","sources":["../../../../src/commands/split/utils/iterate-path-items.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,EACL,KAAK,GAIN,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,SAAS,EACT,sBAAsB,GACvB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,qBAAqB,EAAE,6BAA6B,EAAE,MAAM,8BAA8B,CAAC;AAEpG,MAAM,UAAU,gBAAgB,CAC9B,SAA+D,EAC/D,UAAkB,EAClB,MAAc,EACd,eAAuB,EACvB,aAAqB,EACrB,wBAAgC,EAAE,EAClC,GAAW;IAEX,IAAI,CAAC,SAAS;QAAE,OAAO;IACvB,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAE1C,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;QAC9C,MAAM,QAAQ,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,cAAc,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC,IAAI,GAAG,EAAE,CAAC;QACxF,MAAM,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;QAErC,IAAI,KAAK,CAAC,QAAQ,CAAC;YAAE,SAAS;QAE9B,KAAK,MAAM,MAAM,IAAI,qBAAqB,EAAE,CAAC;YAC3C,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;YACpC,MAAM,eAAe,GAAG,UAAU,EAAE,CAAC,gBAAgB,CAAC,IAAI,UAAU,EAAE,CAAC,eAAe,CAAC,CAAC;YACxF,IAAI,CAAC,eAAe,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC;gBACxD,SAAS;YACX,CAAC;YACD,KAAK,MAAM,MAAM,IAAI,eAAe,EAAE,CAAC;gBACrC,IAAI,MAAM,CAAC,MAAM,IAAK,MAAM,CAAC,MAA4B,CAAC,IAAI;oBAAE,SAAS;gBACzE,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAC9B,UAAU,EACV,cAAc,EACd,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,EAC/B,qBAAqB,GAAG,cAAc,CAAC,QAAQ,EAAE,aAAa,CAAC,EAC/D,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAChC,CAAC;gBAEF,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;gBAChE,EAAE,CAAC,aAAa,CAAC,cAAc,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;gBAChD,6DAA6D;gBAC7D,aAAa;gBACb,MAAM,CAAC,MAAM,GAAG;oBACd,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;iBACnD,CAAC;YACJ,CAAC;QACH,CAAC;QACD,sBAAsB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAC3C,SAAS,CAAC,QAAQ,CAAC,GAAG;YACpB,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;SACjD,CAAC;QAEF,qBAAqB,CAAC,MAAM,EAAE,6BAA6B,EAAE,eAAe,CAAC,CAAC;IAChF,CAAC;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"iterate-path-items.js","sourceRoot":"","sources":["../../../../src/commands/split/utils/iterate-path-items.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@redocly/cli",
|
|
3
|
-
"version": "2.33.
|
|
3
|
+
"version": "2.33.2",
|
|
4
4
|
"description": "",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"bin": {
|
|
@@ -43,8 +43,8 @@
|
|
|
43
43
|
"@opentelemetry/sdk-trace-node": "2.8.0",
|
|
44
44
|
"@opentelemetry/semantic-conventions": "1.41.1",
|
|
45
45
|
"@redocly/cli-otel": "0.3.1",
|
|
46
|
-
"@redocly/openapi-core": "2.33.
|
|
47
|
-
"@redocly/respect-core": "2.33.
|
|
46
|
+
"@redocly/openapi-core": "2.33.2",
|
|
47
|
+
"@redocly/respect-core": "2.33.2",
|
|
48
48
|
"ajv": "npm:@redocly/ajv@8.18.1",
|
|
49
49
|
"ajv-formats": "^3.0.1",
|
|
50
50
|
"colorette": "^1.2.0",
|