Skip to content

Commit a9efd91

Browse files
committed
rebase on "[compiler] printTerminal always prints instruction id"
Doing some debugging I noticed that a few of the newer terminals kinds weren't printing the instruction id. [ghstack-poisoned]
2 parents bf2ad1b + e8a27df commit a9efd91

File tree

100 files changed

+2819
-2251
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

100 files changed

+2819
-2251
lines changed

.prettierignore

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,11 +21,22 @@ compiler/**/__tests__/fixtures/**/*.expect.md
2121
compiler/**/__tests__/fixtures/**/*.flow.js
2222
compiler/**/.next
2323

24+
# contains invalid graphql`...` which results in a promise rejection error from `yarn prettier-all`.
25+
compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/error.todo-kitchensink.js
26+
compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/destructuring-mixed-scope-and-local-variables-with-default.js
27+
compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/destructuring-mixed-scope-declarations-and-locals.js
28+
compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/error.todo-kitchensink.js
29+
compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/hook-inside-logical-expression.js
30+
compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/optional-call-logical.js
31+
compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/readonly-object-method-calls-mutable-lambda.js
32+
compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/readonly-object-method-calls.js
33+
compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/tagged-template-in-hook.js
34+
compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/tagged-template-literal.js
35+
2436
compiler/crates
2537
compiler/apps/playground/public
2638

2739
compiler/**/LICENSE
28-
compiler/.*
2940
compiler/*.md*
3041
compiler/*.json
3142
compiler/*.css

.prettierrc.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,13 @@
33
const {esNextPaths} = require('./scripts/shared/pathsByLanguageVersion');
44

55
module.exports = {
6+
plugins: ['prettier-plugin-hermes-parser'],
67
bracketSpacing: false,
78
singleQuote: true,
89
bracketSameLine: true,
910
trailingComma: 'es5',
1011
printWidth: 80,
11-
parser: 'flow',
12+
parser: 'hermes',
1213
arrowParens: 'avoid',
1314
overrides: [
1415
{

compiler/apps/playground/package.json

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@
3333
"monaco-editor": "^0.34.1",
3434
"next": "^13.5.6",
3535
"notistack": "^3.0.0-alpha.7",
36-
"prettier": "3.0.3",
36+
"prettier": "^3.3.3",
3737
"pretty-format": "^29.3.1",
3838
"re-resizable": "^6.9.16",
3939
"react": "18.2.0",
@@ -42,7 +42,6 @@
4242
},
4343
"devDependencies": {
4444
"@types/node": "18.11.9",
45-
"@types/prettier": "^2.7.1",
4645
"@types/react": "18.0.25",
4746
"@types/react-dom": "18.0.9",
4847
"autoprefixer": "^10.4.13",

compiler/package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,8 @@
3838
"concurrently": "^7.4.0",
3939
"folder-hash": "^4.0.4",
4040
"ora": "5.4.1",
41-
"prettier": "^3.2.5",
41+
"prettier": "^3.3.3",
42+
"prettier-plugin-hermes-parser": "^0.23.0",
4243
"prompt-promise": "^1.0.3",
4344
"rollup": "^4.13.2",
4445
"rollup-plugin-banner2": "^1.2.3",

compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/hook-noAlias.expect.md

Lines changed: 6 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,9 @@ import {useNoAlias} from 'shared-runtime';
66

77
function Component(props) {
88
const item = {a: props.a};
9-
const x = useNoAlias(
10-
item,
11-
() => {
12-
console.log(props);
13-
},
14-
[props.a]
15-
);
9+
const x = useNoAlias(item, () => {
10+
console.log(props);
11+
}, [props.a]);
1612
return [x, item];
1713
}
1814

@@ -41,13 +37,9 @@ function Component(props) {
4137
t0 = $[1];
4238
}
4339
const item = t0;
44-
const x = useNoAlias(
45-
item,
46-
() => {
47-
console.log(props);
48-
},
49-
[props.a],
50-
);
40+
const x = useNoAlias(item, () => {
41+
console.log(props);
42+
}, [props.a]);
5143
let t1;
5244
if ($[2] !== x || $[3] !== item) {
5345
t1 = [x, item];

compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/hook-noAlias.js

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,9 @@ import {useNoAlias} from 'shared-runtime';
22

33
function Component(props) {
44
const item = {a: props.a};
5-
const x = useNoAlias(
6-
item,
7-
() => {
8-
console.log(props);
9-
},
10-
[props.a]
11-
);
5+
const x = useNoAlias(item, () => {
6+
console.log(props);
7+
}, [props.a]);
128
return [x, item];
139
}
1410

compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/preserve-memo-validation/useMemo-constant-prop.expect.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,11 @@ function useFoo(cond) {
1111
const derived1 = useMemo(() => {
1212
return identity(sourceDep);
1313
}, [sourceDep]);
14-
const derived2 = cond ?? Math.min(sourceDep, 1) ? 1 : 2;
14+
const derived2 = (cond ?? Math.min(sourceDep, 1)) ? 1 : 2;
1515
const derived3 = useMemo(() => {
1616
return identity(sourceDep);
1717
}, [sourceDep]);
18-
const derived4 = Math.min(sourceDep, -1) ?? cond ? 1 : 2;
18+
const derived4 = (Math.min(sourceDep, -1) ?? cond) ? 1 : 2;
1919
return [derived1, derived2, derived3, derived4];
2020
}
2121

@@ -47,7 +47,7 @@ function useFoo(cond) {
4747
t0 = t1;
4848
const derived1 = t0;
4949

50-
const derived2 = cond ?? Math.min(0, 1) ? 1 : 2;
50+
const derived2 = (cond ?? Math.min(0, 1)) ? 1 : 2;
5151
let t2;
5252
let t3;
5353
if ($[1] === Symbol.for("react.memo_cache_sentinel")) {
@@ -59,7 +59,7 @@ function useFoo(cond) {
5959
t2 = t3;
6060
const derived3 = t2;
6161

62-
const derived4 = Math.min(0, -1) ?? cond ? 1 : 2;
62+
const derived4 = (Math.min(0, -1) ?? cond) ? 1 : 2;
6363
let t4;
6464
if ($[2] !== derived2 || $[3] !== derived4) {
6565
t4 = [derived1, derived2, derived3, derived4];

compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/preserve-memo-validation/useMemo-constant-prop.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,11 @@ function useFoo(cond) {
77
const derived1 = useMemo(() => {
88
return identity(sourceDep);
99
}, [sourceDep]);
10-
const derived2 = cond ?? Math.min(sourceDep, 1) ? 1 : 2;
10+
const derived2 = (cond ?? Math.min(sourceDep, 1)) ? 1 : 2;
1111
const derived3 = useMemo(() => {
1212
return identity(sourceDep);
1313
}, [sourceDep]);
14-
const derived4 = Math.min(sourceDep, -1) ?? cond ? 1 : 2;
14+
const derived4 = (Math.min(sourceDep, -1) ?? cond) ? 1 : 2;
1515
return [derived1, derived2, derived3, derived4];
1616
}
1717

compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/ternary-expression.expect.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ export const FIXTURE_ENTRYPOINT = {
2020
2121
```javascript
2222
function ternary(props) {
23-
const a = props.a && props.b ? props.c || props.d : props.e ?? props.f;
23+
const a = props.a && props.b ? props.c || props.d : (props.e ?? props.f);
2424
const b = props.a ? (props.b && props.c ? props.d : props.e) : props.f;
2525
return a ? b : null;
2626
}

compiler/yarn.lock

Lines changed: 52 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -3144,11 +3144,6 @@
31443144
resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.7.0.tgz#ea03e9f0376a4446f44797ca19d9c46c36e352dc"
31453145
integrity sha512-RI1L7N4JnW5gQw2spvL7Sllfuf1SaHdrZpCHiBlCXjIlufi1SMNnbu2teze3/QE67Fg2tBlH7W+mi4hVNk4p0A==
31463146

3147-
"@types/prettier@^2.7.1":
3148-
version "2.7.3"
3149-
resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.7.3.tgz#3e51a17e291d01d17d3fc61422015a933af7a08f"
3150-
integrity sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA==
3151-
31523147
"@types/prop-types@*":
31533148
version "15.7.5"
31543149
resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.5.tgz#5f19d2b85a98e9558036f6a3cacc8819420f05cf"
@@ -5812,6 +5807,11 @@ hermes-estree@0.22.0:
58125807
resolved "https://registry.yarnpkg.com/hermes-estree/-/hermes-estree-0.22.0.tgz#38559502b119f728901d2cfe2ef422f277802a1d"
58135808
integrity sha512-FLBt5X9OfA8BERUdc6aZS36Xz3rRuB0Y/mfocSADWEJfomc1xfene33GdyAmtTkKTBXTN/EgAy+rjTKkkZJHlw==
58145809

5810+
hermes-estree@0.23.0:
5811+
version "0.23.0"
5812+
resolved "https://registry.yarnpkg.com/hermes-estree/-/hermes-estree-0.23.0.tgz#89c5419877b9d6bce4bb616821f496f5c5daddbc"
5813+
integrity sha512-Rkp0PNLGpORw4ktsttkVbpYJbrYKS3hAnkxu8D9nvQi6LvSbuPa+tYw/t2u3Gjc35lYd/k95YkjqyTcN4zspag==
5814+
58155815
hermes-parser@0.14.0:
58165816
version "0.14.0"
58175817
resolved "https://registry.yarnpkg.com/hermes-parser/-/hermes-parser-0.14.0.tgz#edb2e7172fce996d2c8bbba250d140b70cc1aaaf"
@@ -5833,6 +5833,13 @@ hermes-parser@0.17.1:
58335833
dependencies:
58345834
hermes-estree "0.17.1"
58355835

5836+
hermes-parser@0.23.0:
5837+
version "0.23.0"
5838+
resolved "https://registry.yarnpkg.com/hermes-parser/-/hermes-parser-0.23.0.tgz#3541907b77ca9e94fd093e8ef0ff97ca5340dee8"
5839+
integrity sha512-xLwM4ylfHGwrm+2qXfO1JT/fnqEDGSnpS/9hQ4VLtqTexSviu2ZpBgz07U8jVtndq67qdb/ps0qvaWDZ3fkTyg==
5840+
dependencies:
5841+
hermes-estree "0.23.0"
5842+
58365843
hermes-parser@^0.19.1:
58375844
version "0.19.2"
58385845
resolved "https://registry.yarnpkg.com/hermes-parser/-/hermes-parser-0.19.2.tgz#67b0fd92f4d7a374234f58c4f980f816734a7695"
@@ -8469,15 +8476,19 @@ prelude-ls@~1.1.2:
84698476
resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54"
84708477
integrity sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==
84718478

8472-
prettier@*, prettier@^3.2.5:
8473-
version "3.2.5"
8474-
resolved "https://registry.yarnpkg.com/prettier/-/prettier-3.2.5.tgz#e52bc3090586e824964a8813b09aba6233b28368"
8475-
integrity sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==
8479+
prettier-plugin-hermes-parser@0.23.0, prettier-plugin-hermes-parser@^0.23.0:
8480+
version "0.23.0"
8481+
resolved "https://registry.yarnpkg.com/prettier-plugin-hermes-parser/-/prettier-plugin-hermes-parser-0.23.0.tgz#67fa061e503600087169283e150bc3f3239bf39c"
8482+
integrity sha512-EMwgZFcKDyVfUCvIy/kxVc4siYEOYPt7lLqtaELVadKYNbOLUFjYW3QKGZ8jzidUy4DonfFbi/hJOXJ5vfRzxA==
8483+
dependencies:
8484+
hermes-estree "0.23.0"
8485+
hermes-parser "0.23.0"
8486+
prettier-plugin-hermes-parser "0.23.0"
84768487

8477-
prettier@3.0.3:
8478-
version "3.0.3"
8479-
resolved "https://registry.yarnpkg.com/prettier/-/prettier-3.0.3.tgz#432a51f7ba422d1469096c0fdc28e235db8f9643"
8480-
integrity sha512-L/4pUDMxcNa8R/EthV08Zt42WBO4h1rarVtK0K+QJG0X187OLo7l699jWw0GKuwzkPQ//jMFA/8Xm6Fh3J/DAg==
8488+
prettier@*, prettier@^3.3.3:
8489+
version "3.3.3"
8490+
resolved "https://registry.yarnpkg.com/prettier/-/prettier-3.3.3.tgz#30c54fe0be0d8d12e6ae61dbb10109ea00d53105"
8491+
integrity sha512-i2tDNA0O5IrMO757lfrdQZCc2jPNDVntV0m/+4whiDfWaTKfMNgR7Qz0NAeGz/nRqF4m5/6CLzbP4/liHt12Ew==
84818492

84828493
pretty-format@^24:
84838494
version "24.9.0"
@@ -9173,7 +9184,16 @@ string-length@^4.0.1:
91739184
char-regex "^1.0.2"
91749185
strip-ansi "^6.0.0"
91759186

9176-
"string-width-cjs@npm:string-width@^4.2.0", string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3:
9187+
"string-width-cjs@npm:string-width@^4.2.0":
9188+
version "4.2.3"
9189+
resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010"
9190+
integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==
9191+
dependencies:
9192+
emoji-regex "^8.0.0"
9193+
is-fullwidth-code-point "^3.0.0"
9194+
strip-ansi "^6.0.1"
9195+
9196+
string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3:
91779197
version "4.2.3"
91789198
resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010"
91799199
integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==
@@ -9266,7 +9286,14 @@ string_decoder@^1.1.1:
92669286
dependencies:
92679287
safe-buffer "~5.2.0"
92689288

9269-
"strip-ansi-cjs@npm:strip-ansi@^6.0.1", strip-ansi@^6.0.0, strip-ansi@^6.0.1:
9289+
"strip-ansi-cjs@npm:strip-ansi@^6.0.1":
9290+
version "6.0.1"
9291+
resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9"
9292+
integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==
9293+
dependencies:
9294+
ansi-regex "^5.0.1"
9295+
9296+
strip-ansi@^6.0.0, strip-ansi@^6.0.1:
92709297
version "6.0.1"
92719298
resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9"
92729299
integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==
@@ -9917,7 +9944,7 @@ wordwrap@>=0.0.2:
99179944
resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb"
99189945
integrity sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==
99199946

9920-
"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0", wrap-ansi@^7.0.0:
9947+
"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0":
99219948
version "7.0.0"
99229949
resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43"
99239950
integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==
@@ -9935,6 +9962,15 @@ wrap-ansi@^6.2.0:
99359962
string-width "^4.1.0"
99369963
strip-ansi "^6.0.0"
99379964

9965+
wrap-ansi@^7.0.0:
9966+
version "7.0.0"
9967+
resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43"
9968+
integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==
9969+
dependencies:
9970+
ansi-styles "^4.0.0"
9971+
string-width "^4.1.0"
9972+
strip-ansi "^6.0.0"
9973+
99389974
wrap-ansi@^8.1.0:
99399975
version "8.1.0"
99409976
resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-8.1.0.tgz#56dc22368ee570face1b49819975d9b9a5ead214"

0 commit comments

Comments
 (0)