@mralfarrakhan/svork 0.6.4 → 0.6.5
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/index.mjs +3 -8
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -2245,8 +2245,7 @@ const getPlaceholderReplacement = (token, type, original) => {
|
|
|
2245
2245
|
return `<svork-placeholder data-svork-id="${escapeHtmlAttribute(token)}">${escapeHtmlText(surrogate)}</svork-placeholder>`;
|
|
2246
2246
|
};
|
|
2247
2247
|
const isSvelteAttribute = (attr) => {
|
|
2248
|
-
if (!attr) return
|
|
2249
|
-
if (attr.type !== "Attribute") return true;
|
|
2248
|
+
if (!attr || attr.type !== "Attribute") return true;
|
|
2250
2249
|
if (Array.isArray(attr.value)) return attr.value.some((valueNode) => valueNode?.type !== "Text");
|
|
2251
2250
|
return attr.value?.type === "ExpressionTag";
|
|
2252
2251
|
};
|
|
@@ -2313,7 +2312,7 @@ const maskMarkdownCodeForSvelteParse = (source) => {
|
|
|
2313
2312
|
};
|
|
2314
2313
|
const escapeSvelteTextBraces = (value) => value.replace(/\{/g, "{").replace(/\}/g, "}");
|
|
2315
2314
|
const escapeRawNodeBraces = (html) => {
|
|
2316
|
-
return html.replace(/"([^"]*)"/g, (match, val) => val.includes("<") ? `"${val.replace(/</g, "<").replace(/>/g, ">")}"` : match).
|
|
2315
|
+
return html.replace(/"([^"]*)"/g, (match, val) => val.includes("<") ? `"${val.replace(/</g, "<").replace(/>/g, ">")}"` : match).split(/(<(?:script|style)\b[\s\S]*?<\/(?:script|style)\s*>)/gi).map((part, i) => i % 2 === 1 ? part : escapeSvelteTextBraces(part)).join("");
|
|
2317
2316
|
};
|
|
2318
2317
|
function escapeBracesPlugin() {
|
|
2319
2318
|
return (tree) => {
|
|
@@ -2365,13 +2364,9 @@ const svelteMarkdown = (options) => {
|
|
|
2365
2364
|
const vfile = await mdCompiler.process(markdownSource);
|
|
2366
2365
|
let compiled = String(vfile);
|
|
2367
2366
|
compiled = compiled.replace(/(&#123;|&#123;)/g, "{").replace(/(&#125;|&#125;)/g, "}");
|
|
2368
|
-
const escapeAttrVal = (val) => val.replace(/</g, "<").replace(/>/g, ">").replace(/\{/g, "{").replace(/\}/g, "}");
|
|
2369
2367
|
compiled = compiled.replace(/"([^"]*)"/g, (match, val) => {
|
|
2370
2368
|
if (!val.includes("<") && !val.includes("{") && !val.includes("}")) return match;
|
|
2371
|
-
return `"${
|
|
2372
|
-
}).replace(/'([^']*)'/g, (match, val) => {
|
|
2373
|
-
if (!val.includes("<") && !val.includes("{") && !val.includes("}")) return match;
|
|
2374
|
-
return `'${escapeAttrVal(val)}'`;
|
|
2369
|
+
return `"${val.replace(/</g, "<").replace(/>/g, ">").replace(/\{/g, "{").replace(/\}/g, "}")}"`;
|
|
2375
2370
|
});
|
|
2376
2371
|
let restored = compiled;
|
|
2377
2372
|
if (vfile.data?.fm && typeof vfile.data.fm === "object") metadata = {
|
package/package.json
CHANGED