@trackunit/iris-app-build-utilities 1.16.0 → 1.16.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/CHANGELOG.md
CHANGED
package/package.json
CHANGED
|
@@ -30,7 +30,7 @@ exports.extractMarkdownImagePaths = extractMarkdownImagePaths;
|
|
|
30
30
|
*/
|
|
31
31
|
const resolveImagePath = (imagePath, fullDescriptionPath) => {
|
|
32
32
|
const markdownDir = path_1.default.posix.dirname(fullDescriptionPath);
|
|
33
|
-
return markdownDir === "." ? imagePath : path_1.default.posix.join(markdownDir, imagePath);
|
|
33
|
+
return path_1.default.posix.normalize(markdownDir === "." ? imagePath : path_1.default.posix.join(markdownDir, imagePath));
|
|
34
34
|
};
|
|
35
35
|
exports.resolveImagePath = resolveImagePath;
|
|
36
36
|
//# sourceMappingURL=markdownImageUtils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"markdownImageUtils.js","sourceRoot":"","sources":["../../../../../libs/iris-app-sdk/iris-app-build-utilities/src/markdownImageUtils.ts"],"names":[],"mappings":";;;;AAAA,mCAA4D;AAC5D,wDAAwB;AAExB,MAAM,iCAAiC,GAAG,mBAAmB,CAAC;AAE9D,MAAM,gBAAgB,GAAG,CAAC,IAAY,EAAW,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC;AAEtG,MAAM,sBAAsB,GAAG,CAAC,IAAY,EAAW,EAAE,CACvD,iCAAiC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;AAEnG;;;GAGG;AACI,MAAM,yBAAyB,GAAG,CAAC,eAA0C,EAAiB,EAAE;IACrG,IAAI,eAAe,KAAK,IAAI,IAAI,eAAe,KAAK,SAAS,IAAI,eAAe,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QAC/F,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;IAChC,KAAK,IAAA,mBAAU,EAAC,IAAA,cAAa,EAAC,eAAe,CAAC,EAAE,KAAK,CAAC,EAAE;QACtD,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YACnG,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACxB,CAAC;IACH,CAAC,CAAC,CAAC;IACH,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC;AACpB,CAAC,CAAC;AAXW,QAAA,yBAAyB,6BAWpC;AAEF;;;GAGG;AACI,MAAM,gBAAgB,GAAG,CAAC,SAAiB,EAAE,mBAA2B,EAAU,EAAE;IACzF,MAAM,WAAW,GAAG,cAAI,CAAC,KAAK,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAC5D,OAAO,WAAW,KAAK,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,cAAI,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"markdownImageUtils.js","sourceRoot":"","sources":["../../../../../libs/iris-app-sdk/iris-app-build-utilities/src/markdownImageUtils.ts"],"names":[],"mappings":";;;;AAAA,mCAA4D;AAC5D,wDAAwB;AAExB,MAAM,iCAAiC,GAAG,mBAAmB,CAAC;AAE9D,MAAM,gBAAgB,GAAG,CAAC,IAAY,EAAW,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC;AAEtG,MAAM,sBAAsB,GAAG,CAAC,IAAY,EAAW,EAAE,CACvD,iCAAiC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;AAEnG;;;GAGG;AACI,MAAM,yBAAyB,GAAG,CAAC,eAA0C,EAAiB,EAAE;IACrG,IAAI,eAAe,KAAK,IAAI,IAAI,eAAe,KAAK,SAAS,IAAI,eAAe,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QAC/F,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;IAChC,KAAK,IAAA,mBAAU,EAAC,IAAA,cAAa,EAAC,eAAe,CAAC,EAAE,KAAK,CAAC,EAAE;QACtD,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YACnG,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACxB,CAAC;IACH,CAAC,CAAC,CAAC;IACH,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC;AACpB,CAAC,CAAC;AAXW,QAAA,yBAAyB,6BAWpC;AAEF;;;GAGG;AACI,MAAM,gBAAgB,GAAG,CAAC,SAAiB,EAAE,mBAA2B,EAAU,EAAE;IACzF,MAAM,WAAW,GAAG,cAAI,CAAC,KAAK,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAC5D,OAAO,cAAI,CAAC,KAAK,CAAC,SAAS,CAAC,WAAW,KAAK,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,cAAI,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC,CAAC;AACzG,CAAC,CAAC;AAHW,QAAA,gBAAgB,oBAG3B","sourcesContent":["import { lexer as markdownLexer, walkTokens } from \"marked\";\nimport path from \"path\";\n\nconst PROTOCOL_OR_HOST_RELATIVE_PATTERN = /^(?:https?:)?\\/\\//;\n\nconst hasDotDotSegment = (href: string): boolean => href.split(\"/\").some(segment => segment === \"..\");\n\nconst isNonRelativeImageHref = (href: string): boolean =>\n PROTOCOL_OR_HOST_RELATIVE_PATTERN.test(href) || href.startsWith(\"/\") || href.startsWith(\"data:\");\n\n/**\n * Returns relative image paths referenced in the given markdown content.\n * Absolute URLs and path traversal segments are excluded.\n */\nexport const extractMarkdownImagePaths = (markdownContent: string | null | undefined): Array<string> => {\n if (markdownContent === null || markdownContent === undefined || markdownContent.trim() === \"\") {\n return [];\n }\n const paths = new Set<string>();\n void walkTokens(markdownLexer(markdownContent), token => {\n if (token.type === \"image\" && !isNonRelativeImageHref(token.href) && !hasDotDotSegment(token.href)) {\n paths.add(token.href);\n }\n });\n return [...paths];\n};\n\n/**\n * Resolves a relative image path against the directory of the markdown file,\n * matching the runtime resolution used by serveAssetFile.\n */\nexport const resolveImagePath = (imagePath: string, fullDescriptionPath: string): string => {\n const markdownDir = path.posix.dirname(fullDescriptionPath);\n return path.posix.normalize(markdownDir === \".\" ? imagePath : path.posix.join(markdownDir, imagePath));\n};\n"]}
|