diff --git a/package.json b/package.json index d0a1c8c7e..24c6b4b1a 100644 --- a/package.json +++ b/package.json @@ -60,7 +60,7 @@ "fast-json-stable-stringify": "2.1.0", "file-entry-cache": "7.0.2", "find-cache-dir": "5.0.0", - "flow-parser": "0.228.0", + "flow-parser": "0.229.0", "get-east-asian-width": "1.2.0", "get-stdin": "9.0.0", "graphql": "16.8.1", diff --git a/tests/format/flow/declare-interface/__snapshots__/jsfmt.spec.js.snap b/tests/format/flow/declare-interface/__snapshots__/jsfmt.spec.js.snap new file mode 100644 index 000000000..385c37ec2 --- /dev/null +++ b/tests/format/flow/declare-interface/__snapshots__/jsfmt.spec.js.snap @@ -0,0 +1,28 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`declare-interface.js [babel-flow] format 1`] = ` +"\`declare export interface\` is not supported. Use \`export interface\` instead. (1:16) +> 1 | declare export interface A { + | ^ + 2 | + 3 | + 4 | } +Cause: \`declare export interface\` is not supported. Use \`export interface\` instead. (1:15)" +`; + +exports[`declare-interface.js format 1`] = ` +====================================options===================================== +parsers: ["flow"] +printWidth: 80 + | printWidth +=====================================input====================================== +declare export interface A { + + +} + +=====================================output===================================== +declare export interface A {} + +================================================================================ +`; diff --git a/tests/format/flow/declare-interface/declare-interface.js b/tests/format/flow/declare-interface/declare-interface.js new file mode 100644 index 000000000..cde2256bc --- /dev/null +++ b/tests/format/flow/declare-interface/declare-interface.js @@ -0,0 +1,4 @@ +declare export interface A { + + +} diff --git a/tests/format/flow/declare-interface/jsfmt.spec.js b/tests/format/flow/declare-interface/jsfmt.spec.js new file mode 100644 index 000000000..0f019e561 --- /dev/null +++ b/tests/format/flow/declare-interface/jsfmt.spec.js @@ -0,0 +1 @@ +runFormatTest(import.meta, ["flow"], { errors: { "babel-flow": true } }); diff --git a/tests/format/flow/declare-type/__snapshots__/jsfmt.spec.js.snap b/tests/format/flow/declare-type/__snapshots__/jsfmt.spec.js.snap new file mode 100644 index 000000000..799284975 --- /dev/null +++ b/tests/format/flow/declare-type/__snapshots__/jsfmt.spec.js.snap @@ -0,0 +1,25 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`declare-type.js [babel-flow] format 1`] = ` +"\`declare export type\` is not supported. Use \`export type\` instead. (1:16) +> 1 | declare export type DeclareExportType = number + | ^ + 2 | ; + 3 | +Cause: \`declare export type\` is not supported. Use \`export type\` instead. (1:15)" +`; + +exports[`declare-type.js format 1`] = ` +====================================options===================================== +parsers: ["flow"] +printWidth: 80 + | printWidth +=====================================input====================================== +declare export type DeclareExportType = number +; + +=====================================output===================================== +declare export type DeclareExportType = number; + +================================================================================ +`; diff --git a/tests/format/flow/declare-type/declare-type.js b/tests/format/flow/declare-type/declare-type.js new file mode 100644 index 000000000..43d4d17cf --- /dev/null +++ b/tests/format/flow/declare-type/declare-type.js @@ -0,0 +1,2 @@ +declare export type DeclareExportType = number +; diff --git a/tests/format/flow/declare-type/jsfmt.spec.js b/tests/format/flow/declare-type/jsfmt.spec.js new file mode 100644 index 000000000..0f019e561 --- /dev/null +++ b/tests/format/flow/declare-type/jsfmt.spec.js @@ -0,0 +1 @@ +runFormatTest(import.meta, ["flow"], { errors: { "babel-flow": true } }); diff --git a/tests/format/misc/errors/flow/interface/__snapshots__/jsfmt.spec.js.snap b/tests/format/misc/errors/flow/interface/__snapshots__/jsfmt.spec.js.snap index 05d0324ba..ffa7c6bed 100644 --- a/tests/format/misc/errors/flow/interface/__snapshots__/jsfmt.spec.js.snap +++ b/tests/format/misc/errors/flow/interface/__snapshots__/jsfmt.spec.js.snap @@ -1,66 +1,53 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP exports[`snippet: #0 [babel-flow] format 1`] = ` -"\`declare export interface\` is not supported. Use \`export interface\` instead. (1:16) -> 1 | declare export interface A {} - | ^ -Cause: \`declare export interface\` is not supported. Use \`export interface\` instead. (1:15)" +"Unexpected token, expected "{" (1:13) +> 1 | interface A mixins B {} + | ^ +Cause: Unexpected token, expected "{" (1:12)" `; exports[`snippet: #0 [flow] format 1`] = ` -"\`declare export interface\` is not supported. Use \`export interface\` instead. (1:16) -> 1 | declare export interface A {} - | ^^^^^^^^^" +"Unexpected identifier, expected the token \`{\` (1:13) +> 1 | interface A mixins B {} + | ^^^^^^" `; exports[`snippet: #1 [babel-flow] format 1`] = ` "Unexpected token, expected "{" (1:13) -> 1 | interface A mixins B {} +> 1 | interface A implements B {} | ^ Cause: Unexpected token, expected "{" (1:12)" `; exports[`snippet: #1 [flow] format 1`] = ` "Unexpected identifier, expected the token \`{\` (1:13) -> 1 | interface A mixins B {} - | ^^^^^^" -`; - -exports[`snippet: #2 [babel-flow] format 1`] = ` -"Unexpected token, expected "{" (1:13) -> 1 | interface A implements B {} - | ^ -Cause: Unexpected token, expected "{" (1:12)" -`; - -exports[`snippet: #2 [flow] format 1`] = ` -"Unexpected identifier, expected the token \`{\` (1:13) > 1 | interface A implements B {} | ^^^^^^^^^^" `; -exports[`snippet: #3 [babel-flow] format 1`] = ` +exports[`snippet: #2 [babel-flow] format 1`] = ` "Unexpected token, expected "{" (1:21) > 1 | declare interface A mixins B {} | ^ Cause: Unexpected token, expected "{" (1:20)" `; +exports[`snippet: #2 [flow] format 1`] = ` +"Unexpected identifier, expected the token \`{\` (1:21) +> 1 | declare interface A mixins B {} + | ^^^^^^" +`; + +exports[`snippet: #3 [babel-flow] format 1`] = ` +"Unexpected token, expected "{" (1:21) +> 1 | declare interface A implements B {} + | ^ +Cause: Unexpected token, expected "{" (1:20)" +`; + exports[`snippet: #3 [flow] format 1`] = ` "Unexpected identifier, expected the token \`{\` (1:21) -> 1 | declare interface A mixins B {} - | ^^^^^^" -`; - -exports[`snippet: #4 [babel-flow] format 1`] = ` -"Unexpected token, expected "{" (1:21) -> 1 | declare interface A implements B {} - | ^ -Cause: Unexpected token, expected "{" (1:20)" -`; - -exports[`snippet: #4 [flow] format 1`] = ` -"Unexpected identifier, expected the token \`{\` (1:21) > 1 | declare interface A implements B {} | ^^^^^^^^^^" `; diff --git a/tests/format/misc/errors/flow/interface/jsfmt.spec.js b/tests/format/misc/errors/flow/interface/jsfmt.spec.js index 0b4f12d7b..07596af73 100644 --- a/tests/format/misc/errors/flow/interface/jsfmt.spec.js +++ b/tests/format/misc/errors/flow/interface/jsfmt.spec.js @@ -2,9 +2,6 @@ runFormatTest( { importMeta: import.meta, snippets: [ - // Not allowed - "declare export interface A {}", - // Can't have mixins nor implements "interface A mixins B {}", "interface A implements B {}", diff --git a/yarn.lock b/yarn.lock index dc339ca58..f8ba34376 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4394,10 +4394,10 @@ __metadata: languageName: node linkType: hard -"flow-parser@npm:0.228.0": - version: 0.228.0 - resolution: "flow-parser@npm:0.228.0" - checksum: 10/b059d6ff1f43ce49c4ad2dc721bd07db9ac309967136a68a1407e35eae66e9351a37252aa4d3e9f86615a9f54a2efe6f155ddb847b310aaa64d64e1ef3e13b68 +"flow-parser@npm:0.229.0": + version: 0.229.0 + resolution: "flow-parser@npm:0.229.0" + checksum: 10/02a06e66d7e78aa8c62849ef1e237d00235bad39994036cd79a385b59331638a93099120e5299eb3633ca987f8ec61c8e0014720a58a141ca8ee4d93c38a631d languageName: node linkType: hard @@ -7426,7 +7426,7 @@ __metadata: fast-json-stable-stringify: "npm:2.1.0" file-entry-cache: "npm:7.0.2" find-cache-dir: "npm:5.0.0" - flow-parser: "npm:0.228.0" + flow-parser: "npm:0.229.0" get-east-asian-width: "npm:1.2.0" get-stdin: "npm:9.0.0" graphql: "npm:16.8.1"