diff --git a/packages/jsx-email/src/renderer/render.ts b/packages/jsx-email/src/renderer/render.ts
index 4e7e13cb..b84ca693 100644
--- a/packages/jsx-email/src/renderer/render.ts
+++ b/packages/jsx-email/src/renderer/render.ts
@@ -94,6 +94,9 @@ const processHtml = async (config: JsxEmailConfig, html: string) => {
.use(stringify, {
allowDangerousCharacters: true,
allowDangerousHtml: true,
+ characterReferences: {
+ useNamedReferences: true
+ },
closeEmptyElements: true,
collapseEmptyAttributes: true
})
diff --git a/packages/jsx-email/test/render/.snapshots/render.test.tsx.snap b/packages/jsx-email/test/render/.snapshots/render.test.tsx.snap
index 88bd0f8c..f0953893 100644
--- a/packages/jsx-email/test/render/.snapshots/render.test.tsx.snap
+++ b/packages/jsx-email/test/render/.snapshots/render.test.tsx.snap
@@ -31,7 +31,7 @@ exports[`render > inlining 1`] = `
-
+
@@ -338,7 +338,7 @@ exports[`render > inlining 2`] = `
`;
exports[`render > renders the airbnb demo template 1`] = `
-"Read undefined's review
 |
![]() |
Here's what wrote Now that the review period is over, we’ve posted ’s review to your Airbnb profile. While it’s too late to write a review of your own, you can send your feedback to using your Airbnb message thread. Read undefined's review  |
![]() |
Here's what wrote Now that the review period is over, we’ve posted ’s review to your Airbnb profile. While it’s too late to write a review of your own, you can send your feedback to using your Airbnb message thread.
-
+
Read undefined's review
-
+
|
diff --git a/packages/jsx-email/test/render/issues.test.tsx b/packages/jsx-email/test/render/issues.test.tsx
index c52714fb..ed42de82 100644
--- a/packages/jsx-email/test/render/issues.test.tsx
+++ b/packages/jsx-email/test/render/issues.test.tsx
@@ -21,4 +21,12 @@ describe('render', () => {
);
expect(await render(fragment, { minify: false })).toMatchSnapshot();
});
+
+ it('issue 368, href query delimiters', async () => {
+ const fragment = Test Link;
+ const result = await render(fragment);
+
+ expect(result).toContain('href="https://example.com?foo=bar&baz=qux"');
+ expect(result).not.toContain('href="https://example.com?foo=bar&baz=qux"');
+ });
});
| |
|
|
|
|
|
|
|