-
-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Open
Description
Describe the bug
For some code inputs containing escaped unicode emojis, SWC minifier will output unescaped unicode emojis.
Example input:
console.log("\\"\\\\uD83D\\\\uDE42\\"");
Input code
import swc from '@swc/core';
const input = `
console.log("\\"\\\\uD83D\\\\uDE42\\"");
`;
console.log('input');
console.log(input);
eval(input);
console.log('\n');
const output = await swc.minify(input);
console.log('output');
console.log(output.code);
eval(output.code);
Runnable playground: https://stackblitz.com/edit/stackblitz-starters-gpln2upu
Output:
❯ node index.js
input
console.log("\"\\uD83D\\uDE42\"");
"\uD83D\uDE42"
output
console.log('"\uD83D\uDE42"');
"🙂"
Config
Link to the code that reproduces this issue
SWC Info output
After being minified, if the unicode chars are escaped, they should also be escaped in the output
\\uD83D
is not equivalent to \uD83D
Expected behavior
\\uD83D
should remain \\uD83D
Actual behavior
\\uD83D
is unescaped to \uD83D
Version
1.11.18
Additional context
Prettier website bug: prettier/prettier#17308
Docusaurus bug report: facebook/docusaurus#11047
Copilot