diff --git a/package.json b/package.json index 35649ea67..df09b50bb 100644 --- a/package.json +++ b/package.json @@ -131,7 +131,7 @@ "wcwidth.js": "2.0.0", "yaml": "2.9.0", "yaml-unist-parser": "3.2.0", - "yuku-parser": "0.8.4" + "yuku-parser": "0.8.7" }, "devDependencies": { "@babel/generator": "8.0.0", @@ -140,7 +140,7 @@ "@types/jsesc": "3.0.3", "@typescript-eslint/eslint-plugin": "8.67.0", "@typescript-eslint/parser": "8.67.0", - "@yuku-parser/wasm": "0.8.4", + "@yuku-parser/wasm": "0.8.7", "base64-arraybuffer-es6": "3.1.0", "browserslist": "4.28.8", "browserslist-to-esbuild": "2.1.1", diff --git a/tests/format/typescript/_errors_/function-type/__snapshots__/format.test.js.snap b/tests/format/typescript/_errors_/function-type/__snapshots__/format.test.js.snap new file mode 100644 index 000000000..372eee9e0 --- /dev/null +++ b/tests/format/typescript/_errors_/function-type/__snapshots__/format.test.js.snap @@ -0,0 +1,31 @@ +// Jest Snapshot v1, https://jestjs.io/docs/snapshot-testing + +exports[`unparenthesized-in-union-type.ts format[babel-ts] 1`] = ` +"Unexpected token (1:15) +> 1 | type A = B | () => void; + | ^ + 2 | +Cause: Unexpected token (1:14)" +`; + +exports[`unparenthesized-in-union-type.ts format[oxc-ts] 1`] = ` +"Unexpected token (1:15) +> 1 | type A = B | () => void; + | ^ + 2 |" +`; + +exports[`unparenthesized-in-union-type.ts format[typescript] 1`] = ` +"Function type notation must be parenthesized when used in a union type. (1:13) +> 1 | type A = B | () => void; + | ^ + 2 | +Cause: Function type notation must be parenthesized when used in a union type." +`; + +exports[`unparenthesized-in-union-type.ts format[yuku-ts] 1`] = ` +"Expected a type, but found ')' (1:15) +> 1 | type A = B | () => void; + | ^ + 2 |" +`; diff --git a/tests/format/typescript/_errors_/function-type/format.test.js b/tests/format/typescript/_errors_/function-type/format.test.js new file mode 100644 index 000000000..f78aea343 --- /dev/null +++ b/tests/format/typescript/_errors_/function-type/format.test.js @@ -0,0 +1 @@ +runFormatTest(import.meta, ["typescript", "babel-ts", "oxc-ts", "yuku-ts"]); diff --git a/tests/format/typescript/_errors_/function-type/unparenthesized-in-union-type.ts b/tests/format/typescript/_errors_/function-type/unparenthesized-in-union-type.ts new file mode 100644 index 000000000..e70ae0df4 --- /dev/null +++ b/tests/format/typescript/_errors_/function-type/unparenthesized-in-union-type.ts @@ -0,0 +1 @@ +type A = B | () => void; diff --git a/yarn.lock b/yarn.lock index 1d3072b76..736ab21ff 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3017,104 +3017,104 @@ __metadata: languageName: node linkType: hard -"@yuku-parser/binding-android-arm64@npm:0.8.4": - version: 0.8.4 - resolution: "@yuku-parser/binding-android-arm64@npm:0.8.4" +"@yuku-parser/binding-android-arm64@npm:0.8.7": + version: 0.8.7 + resolution: "@yuku-parser/binding-android-arm64@npm:0.8.7" conditions: os=android & cpu=arm64 languageName: node linkType: hard -"@yuku-parser/binding-darwin-arm64@npm:0.8.4": - version: 0.8.4 - resolution: "@yuku-parser/binding-darwin-arm64@npm:0.8.4" +"@yuku-parser/binding-darwin-arm64@npm:0.8.7": + version: 0.8.7 + resolution: "@yuku-parser/binding-darwin-arm64@npm:0.8.7" conditions: os=darwin & cpu=arm64 languageName: node linkType: hard -"@yuku-parser/binding-darwin-x64@npm:0.8.4": - version: 0.8.4 - resolution: "@yuku-parser/binding-darwin-x64@npm:0.8.4" +"@yuku-parser/binding-darwin-x64@npm:0.8.7": + version: 0.8.7 + resolution: "@yuku-parser/binding-darwin-x64@npm:0.8.7" conditions: os=darwin & cpu=x64 languageName: node linkType: hard -"@yuku-parser/binding-freebsd-x64@npm:0.8.4": - version: 0.8.4 - resolution: "@yuku-parser/binding-freebsd-x64@npm:0.8.4" +"@yuku-parser/binding-freebsd-x64@npm:0.8.7": + version: 0.8.7 + resolution: "@yuku-parser/binding-freebsd-x64@npm:0.8.7" conditions: os=freebsd & cpu=x64 languageName: node linkType: hard -"@yuku-parser/binding-linux-arm-gnu@npm:0.8.4": - version: 0.8.4 - resolution: "@yuku-parser/binding-linux-arm-gnu@npm:0.8.4" +"@yuku-parser/binding-linux-arm-gnu@npm:0.8.7": + version: 0.8.7 + resolution: "@yuku-parser/binding-linux-arm-gnu@npm:0.8.7" conditions: os=linux & cpu=arm & libc=glibc languageName: node linkType: hard -"@yuku-parser/binding-linux-arm-musl@npm:0.8.4": - version: 0.8.4 - resolution: "@yuku-parser/binding-linux-arm-musl@npm:0.8.4" +"@yuku-parser/binding-linux-arm-musl@npm:0.8.7": + version: 0.8.7 + resolution: "@yuku-parser/binding-linux-arm-musl@npm:0.8.7" conditions: os=linux & cpu=arm & libc=musl languageName: node linkType: hard -"@yuku-parser/binding-linux-arm64-gnu@npm:0.8.4": - version: 0.8.4 - resolution: "@yuku-parser/binding-linux-arm64-gnu@npm:0.8.4" +"@yuku-parser/binding-linux-arm64-gnu@npm:0.8.7": + version: 0.8.7 + resolution: "@yuku-parser/binding-linux-arm64-gnu@npm:0.8.7" conditions: os=linux & cpu=arm64 & libc=glibc languageName: node linkType: hard -"@yuku-parser/binding-linux-arm64-musl@npm:0.8.4": - version: 0.8.4 - resolution: "@yuku-parser/binding-linux-arm64-musl@npm:0.8.4" +"@yuku-parser/binding-linux-arm64-musl@npm:0.8.7": + version: 0.8.7 + resolution: "@yuku-parser/binding-linux-arm64-musl@npm:0.8.7" conditions: os=linux & cpu=arm64 & libc=musl languageName: node linkType: hard -"@yuku-parser/binding-linux-x64-gnu@npm:0.8.4": - version: 0.8.4 - resolution: "@yuku-parser/binding-linux-x64-gnu@npm:0.8.4" +"@yuku-parser/binding-linux-x64-gnu@npm:0.8.7": + version: 0.8.7 + resolution: "@yuku-parser/binding-linux-x64-gnu@npm:0.8.7" conditions: os=linux & cpu=x64 & libc=glibc languageName: node linkType: hard -"@yuku-parser/binding-linux-x64-musl@npm:0.8.4": - version: 0.8.4 - resolution: "@yuku-parser/binding-linux-x64-musl@npm:0.8.4" +"@yuku-parser/binding-linux-x64-musl@npm:0.8.7": + version: 0.8.7 + resolution: "@yuku-parser/binding-linux-x64-musl@npm:0.8.7" conditions: os=linux & cpu=x64 & libc=musl languageName: node linkType: hard -"@yuku-parser/binding-win32-arm64@npm:0.8.4": - version: 0.8.4 - resolution: "@yuku-parser/binding-win32-arm64@npm:0.8.4" +"@yuku-parser/binding-win32-arm64@npm:0.8.7": + version: 0.8.7 + resolution: "@yuku-parser/binding-win32-arm64@npm:0.8.7" conditions: os=win32 & cpu=arm64 languageName: node linkType: hard -"@yuku-parser/binding-win32-x64@npm:0.8.4": - version: 0.8.4 - resolution: "@yuku-parser/binding-win32-x64@npm:0.8.4" +"@yuku-parser/binding-win32-x64@npm:0.8.7": + version: 0.8.7 + resolution: "@yuku-parser/binding-win32-x64@npm:0.8.7" conditions: os=win32 & cpu=x64 languageName: node linkType: hard -"@yuku-parser/wasm@npm:0.8.4": - version: 0.8.4 - resolution: "@yuku-parser/wasm@npm:0.8.4" +"@yuku-parser/wasm@npm:0.8.7": + version: 0.8.7 + resolution: "@yuku-parser/wasm@npm:0.8.7" dependencies: - "@yuku-toolchain/types": "npm:^0.8.4" - yuku-ast: "npm:^0.8.4" - checksum: 10/98fb06b3a0e556fdb33af6cde5b5f941eb9f539ae3c4c4c611bd096dced16c8fe7f50e73f936758d4c862957dc845d52f1e16ac3286c78d92a0e9a2e693dfc60 + "@yuku-toolchain/types": "npm:^0.8.7" + yuku-ast: "npm:^0.8.7" + checksum: 10/5ded5a2aa273e58de363bb70b3dae51c1e18a05980c64ddda0c65b9b22e6eabcdbf013ab2f28777d20bb09cee604316d00a3cb9085905a3cb8d3445516cc3afd languageName: node linkType: hard -"@yuku-toolchain/types@npm:^0.8.4": - version: 0.8.4 - resolution: "@yuku-toolchain/types@npm:0.8.4" - checksum: 10/4d4d5afcaed2e7d6acfd3c7f36be3911090ed31dd2838147b9aca1065a722a2e9b3de981f179e4031eaa27131148e894ed846dad53b67740f9382fbe363c8677 +"@yuku-toolchain/types@npm:^0.8.7": + version: 0.8.7 + resolution: "@yuku-toolchain/types@npm:0.8.7" + checksum: 10/04b1701bb1f60d30b113be7b2553dc2cde498e175c7eaf4dc44f88c659328d47da4a2841761076c6ef22c40e2ca8c8600c8f97fe6c6d11bfe369a0b2bf4fb2be languageName: node linkType: hard @@ -8231,7 +8231,7 @@ __metadata: "@typescript-eslint/parser": "npm:8.67.0" "@typescript-eslint/typescript-estree": "npm:8.67.0" "@typescript-eslint/visitor-keys": "npm:8.67.0" - "@yuku-parser/wasm": "npm:0.8.4" + "@yuku-parser/wasm": "npm:0.8.7" acorn: "npm:8.18.0" acorn-jsx: "npm:5.3.2" angular-estree-parser: "npm:15.5.0" @@ -8358,7 +8358,7 @@ __metadata: yaml: "npm:2.9.0" yaml-test-suite: "npm:0.1.0" yaml-unist-parser: "npm:3.2.0" - yuku-parser: "npm:0.8.4" + yuku-parser: "npm:0.8.7" bin: prettier: ./bin/prettier.cjs languageName: unknown @@ -10091,33 +10091,33 @@ __metadata: languageName: node linkType: hard -"yuku-ast@npm:^0.8.4": - version: 0.8.4 - resolution: "yuku-ast@npm:0.8.4" +"yuku-ast@npm:^0.8.7": + version: 0.8.7 + resolution: "yuku-ast@npm:0.8.7" dependencies: - "@yuku-toolchain/types": "npm:^0.8.4" - checksum: 10/41447fbe9e0612d97a45f7938a2ca76c7f4918ce5eae6b60081243260147be79b6dd7233aa07b0960eee203ebd2af81b988b26d179dc8172b8848b095442e642 + "@yuku-toolchain/types": "npm:^0.8.7" + checksum: 10/93303e4851eadd4e02a9b09497758fab7f2e131445fa18447096c20fb715a7346cf247f0d7d8c0f34595d8214b14bcad8c83248d5a91994a4825da761f3bb4d2 languageName: node linkType: hard -"yuku-parser@npm:0.8.4": - version: 0.8.4 - resolution: "yuku-parser@npm:0.8.4" +"yuku-parser@npm:0.8.7": + version: 0.8.7 + resolution: "yuku-parser@npm:0.8.7" dependencies: - "@yuku-parser/binding-android-arm64": "npm:0.8.4" - "@yuku-parser/binding-darwin-arm64": "npm:0.8.4" - "@yuku-parser/binding-darwin-x64": "npm:0.8.4" - "@yuku-parser/binding-freebsd-x64": "npm:0.8.4" - "@yuku-parser/binding-linux-arm-gnu": "npm:0.8.4" - "@yuku-parser/binding-linux-arm-musl": "npm:0.8.4" - "@yuku-parser/binding-linux-arm64-gnu": "npm:0.8.4" - "@yuku-parser/binding-linux-arm64-musl": "npm:0.8.4" - "@yuku-parser/binding-linux-x64-gnu": "npm:0.8.4" - "@yuku-parser/binding-linux-x64-musl": "npm:0.8.4" - "@yuku-parser/binding-win32-arm64": "npm:0.8.4" - "@yuku-parser/binding-win32-x64": "npm:0.8.4" - "@yuku-toolchain/types": "npm:^0.8.4" - yuku-ast: "npm:^0.8.4" + "@yuku-parser/binding-android-arm64": "npm:0.8.7" + "@yuku-parser/binding-darwin-arm64": "npm:0.8.7" + "@yuku-parser/binding-darwin-x64": "npm:0.8.7" + "@yuku-parser/binding-freebsd-x64": "npm:0.8.7" + "@yuku-parser/binding-linux-arm-gnu": "npm:0.8.7" + "@yuku-parser/binding-linux-arm-musl": "npm:0.8.7" + "@yuku-parser/binding-linux-arm64-gnu": "npm:0.8.7" + "@yuku-parser/binding-linux-arm64-musl": "npm:0.8.7" + "@yuku-parser/binding-linux-x64-gnu": "npm:0.8.7" + "@yuku-parser/binding-linux-x64-musl": "npm:0.8.7" + "@yuku-parser/binding-win32-arm64": "npm:0.8.7" + "@yuku-parser/binding-win32-x64": "npm:0.8.7" + "@yuku-toolchain/types": "npm:^0.8.7" + yuku-ast: "npm:^0.8.7" dependenciesMeta: "@yuku-parser/binding-android-arm64": optional: true @@ -10143,7 +10143,7 @@ __metadata: optional: true "@yuku-parser/binding-win32-x64": optional: true - checksum: 10/bc8d6b687a93561347c3644e29ec3040836791591395217e351b3f2a1db5ec7b23bc3f1d70549ccc9b977f2e65ed07a12b38e7ee22b21cf7dfd559f5a27fa888 + checksum: 10/875ac80f0a297712a23984648a36c729c16242356d805dab5addee82986a0a5008a10bc966cddb257842c06ff98bcb3a9366a7f8d1654287042b29cdac8ddba2 languageName: node linkType: hard