mirror of
https://github.com/hanzoai/react.git
synced 2026-09-24 17:02:27 +00:00
[compiler][repro] JSX escape sequences not printed correctly by @babel/generator (#32130)
Repro for https://github.com/facebook/react/issues/32123 Note that this is only a bug when calling `@babel/generator:generate()` before transforming JSX. --- [//]: # (BEGIN SAPLING FOOTER) Stack created with [Sapling](https://sapling-scm.com). Best reviewed with [ReviewStack](https://reviewstack.dev/facebook/react/pull/32130). * #32131 * __->__ #32130
This commit is contained in:
+57
@@ -0,0 +1,57 @@
|
||||
|
||||
## Input
|
||||
|
||||
```javascript
|
||||
/**
|
||||
* Fixture showing `@babel/generator` bug with jsx attribute strings containing
|
||||
* escape sequences. Note that this is only a problem when generating jsx
|
||||
* literals.
|
||||
*
|
||||
* When using the jsx transform to correctly lower jsx into
|
||||
* `React.createElement` calls, the escape sequences are preserved correctly
|
||||
* (see evaluator output).
|
||||
*/
|
||||
function MyApp() {
|
||||
return <input pattern="\w" />;
|
||||
}
|
||||
|
||||
export const FIXTURE_ENTRYPOINT = {
|
||||
fn: MyApp,
|
||||
params: [],
|
||||
};
|
||||
|
||||
```
|
||||
|
||||
## Code
|
||||
|
||||
```javascript
|
||||
import { c as _c } from "react/compiler-runtime"; /**
|
||||
* Fixture showing `@babel/generator` bug with jsx attribute strings containing
|
||||
* escape sequences. Note that this is only a problem when generating jsx
|
||||
* literals.
|
||||
*
|
||||
* When using the jsx transform to correctly lower jsx into
|
||||
* `React.createElement` calls, the escape sequences are preserved correctly
|
||||
* (see evaluator output).
|
||||
*/
|
||||
function MyApp() {
|
||||
const $ = _c(1);
|
||||
let t0;
|
||||
if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
|
||||
t0 = <input pattern="\\w" />;
|
||||
$[0] = t0;
|
||||
} else {
|
||||
t0 = $[0];
|
||||
}
|
||||
return t0;
|
||||
}
|
||||
|
||||
export const FIXTURE_ENTRYPOINT = {
|
||||
fn: MyApp,
|
||||
params: [],
|
||||
};
|
||||
|
||||
```
|
||||
|
||||
### Eval output
|
||||
(kind: ok) <input pattern="\w">
|
||||
+17
@@ -0,0 +1,17 @@
|
||||
/**
|
||||
* Fixture showing `@babel/generator` bug with jsx attribute strings containing
|
||||
* escape sequences. Note that this is only a problem when generating jsx
|
||||
* literals.
|
||||
*
|
||||
* When using the jsx transform to correctly lower jsx into
|
||||
* `React.createElement` calls, the escape sequences are preserved correctly
|
||||
* (see evaluator output).
|
||||
*/
|
||||
function MyApp() {
|
||||
return <input pattern="\w" />;
|
||||
}
|
||||
|
||||
export const FIXTURE_ENTRYPOINT = {
|
||||
fn: MyApp,
|
||||
params: [],
|
||||
};
|
||||
Reference in New Issue
Block a user