@eventcatalog/core 2.54.3 → 2.54.4
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/analytics/analytics.cjs +1 -1
- package/dist/analytics/analytics.js +2 -2
- package/dist/analytics/log-build.cjs +1 -1
- package/dist/analytics/log-build.js +3 -3
- package/dist/{chunk-VH23O4GO.js → chunk-ILYNXPYT.js} +1 -1
- package/dist/{chunk-YXXP2UQA.js → chunk-QTOY4HR4.js} +1 -1
- package/dist/{chunk-JQS6ADYS.js → chunk-RSPVRELK.js} +1 -1
- package/dist/constants.cjs +1 -1
- package/dist/constants.js +1 -1
- package/dist/eventcatalog.cjs +1 -1
- package/dist/eventcatalog.js +3 -3
- package/eventcatalog/src/components/MDX/SchemaViewer/SchemaViewerRoot.astro +2 -2
- package/eventcatalog/src/utils/files.ts +26 -23
- package/package.json +1 -1
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import {
|
|
2
2
|
log_build_default
|
|
3
|
-
} from "../chunk-
|
|
4
|
-
import "../chunk-
|
|
5
|
-
import "../chunk-
|
|
3
|
+
} from "../chunk-RSPVRELK.js";
|
|
4
|
+
import "../chunk-QTOY4HR4.js";
|
|
5
|
+
import "../chunk-ILYNXPYT.js";
|
|
6
6
|
import "../chunk-E7TXTI7G.js";
|
|
7
7
|
export {
|
|
8
8
|
log_build_default as default
|
package/dist/constants.cjs
CHANGED
package/dist/constants.js
CHANGED
package/dist/eventcatalog.cjs
CHANGED
package/dist/eventcatalog.js
CHANGED
|
@@ -6,8 +6,8 @@ import {
|
|
|
6
6
|
} from "./chunk-XE6PFSH5.js";
|
|
7
7
|
import {
|
|
8
8
|
log_build_default
|
|
9
|
-
} from "./chunk-
|
|
10
|
-
import "./chunk-
|
|
9
|
+
} from "./chunk-RSPVRELK.js";
|
|
10
|
+
import "./chunk-QTOY4HR4.js";
|
|
11
11
|
import {
|
|
12
12
|
catalogToAstro,
|
|
13
13
|
checkAndConvertMdToMdx
|
|
@@ -15,7 +15,7 @@ import {
|
|
|
15
15
|
import "./chunk-LDBRNJIL.js";
|
|
16
16
|
import {
|
|
17
17
|
VERSION
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-ILYNXPYT.js";
|
|
19
19
|
import {
|
|
20
20
|
getProjectOutDir,
|
|
21
21
|
isAuthEnabled,
|
|
@@ -7,12 +7,12 @@ import path from 'path';
|
|
|
7
7
|
import SchemaViewerClient from './SchemaViewer.astro';
|
|
8
8
|
import Admonition from '../Admonition';
|
|
9
9
|
import { getMDXComponentsByName } from '@utils/markdown';
|
|
10
|
-
import { getAbsoluteFilePathForAstroFile } from '@utils/files';
|
|
10
|
+
import { getAbsoluteFilePathForAstroFile, resolveProjectPath } from '@utils/files';
|
|
11
11
|
|
|
12
12
|
let schemas = [];
|
|
13
13
|
|
|
14
14
|
try {
|
|
15
|
-
const absoluteFilePath =
|
|
15
|
+
const absoluteFilePath = resolveProjectPath(filePath);
|
|
16
16
|
const file = await fs.readFile(absoluteFilePath, 'utf-8');
|
|
17
17
|
const schemaViewers = getMDXComponentsByName(file, 'SchemaViewer');
|
|
18
18
|
|
|
@@ -1,5 +1,28 @@
|
|
|
1
1
|
import path from 'node:path';
|
|
2
2
|
|
|
3
|
+
/**
|
|
4
|
+
* Resolves a file path relative to PROJECT_DIR, handling ../ paths correctly
|
|
5
|
+
* @param filePath - The path to resolve
|
|
6
|
+
* @param projectDir - The project directory to resolve relative to
|
|
7
|
+
* @returns The resolved absolute path
|
|
8
|
+
*/
|
|
9
|
+
export const resolveProjectPath = (filePath: string, projectDir: string = process.env.PROJECT_DIR || process.cwd()): string => {
|
|
10
|
+
if (filePath.startsWith('../')) {
|
|
11
|
+
const pathAfterDotDot = filePath.substring(3);
|
|
12
|
+
const projectDirName = path.basename(projectDir);
|
|
13
|
+
const projectParentName = path.basename(path.dirname(projectDir));
|
|
14
|
+
|
|
15
|
+
if (pathAfterDotDot.startsWith(`${projectParentName}/${projectDirName}/`)) {
|
|
16
|
+
const remainingPath = pathAfterDotDot.substring(`${projectParentName}/${projectDirName}/`.length);
|
|
17
|
+
return path.join(projectDir, remainingPath);
|
|
18
|
+
} else {
|
|
19
|
+
const projectParent = path.dirname(projectDir);
|
|
20
|
+
return path.join(projectParent, pathAfterDotDot);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
return path.join(projectDir, filePath);
|
|
24
|
+
};
|
|
25
|
+
|
|
3
26
|
/**
|
|
4
27
|
* Using the Astro filePath, this returns the absolute path to the file
|
|
5
28
|
*
|
|
@@ -14,30 +37,10 @@ export const getAbsoluteFilePathForAstroFile = (filePath: string, fileName?: str
|
|
|
14
37
|
const PROJECT_DIR = process.env.PROJECT_DIR || process.cwd();
|
|
15
38
|
|
|
16
39
|
if (fileName) {
|
|
17
|
-
const
|
|
18
|
-
|
|
19
|
-
// Check for overlapping path segments
|
|
20
|
-
const projectDirSegments = PROJECT_DIR.split(path.sep);
|
|
21
|
-
const relativePathSegments = safeRelativePath.split(path.posix.sep);
|
|
22
|
-
|
|
23
|
-
// Find the longest matching suffix of PROJECT_DIR with prefix of relative path
|
|
24
|
-
let overlapLength = 0;
|
|
25
|
-
for (let i = 1; i <= Math.min(projectDirSegments.length, relativePathSegments.length); i++) {
|
|
26
|
-
const projectSuffix = projectDirSegments.slice(-i);
|
|
27
|
-
const relativPrefix = relativePathSegments.slice(0, i);
|
|
28
|
-
|
|
29
|
-
if (projectSuffix.join(path.sep) === relativPrefix.join(path.posix.sep)) {
|
|
30
|
-
overlapLength = i;
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
// Remove overlapping segments from the relative path
|
|
35
|
-
const cleanedRelativePath = relativePathSegments.slice(overlapLength).join(path.posix.sep);
|
|
36
|
-
const absoluteFilePath = path.join(PROJECT_DIR, cleanedRelativePath);
|
|
37
|
-
|
|
38
|
-
const directory = path.dirname(absoluteFilePath || '');
|
|
40
|
+
const resolvedFilePath = resolveProjectPath(filePath, PROJECT_DIR);
|
|
41
|
+
const directory = path.dirname(resolvedFilePath);
|
|
39
42
|
return path.join(directory, fileName);
|
|
40
43
|
}
|
|
41
44
|
|
|
42
|
-
return
|
|
45
|
+
return resolveProjectPath(filePath, PROJECT_DIR);
|
|
43
46
|
};
|