diff --git a/package.json b/package.json index 8b5039869..d783085f1 100644 --- a/package.json +++ b/package.json @@ -54,8 +54,8 @@ "@prettier/html-event-attributes": "0.0.2", "@prettier/html-tags": "2.2.0", "@prettier/parse-srcset": "3.1.0", - "@typescript-eslint/typescript-estree": "8.65.0", - "@typescript-eslint/visitor-keys": "8.65.0", + "@typescript-eslint/typescript-estree": "8.66.0", + "@typescript-eslint/visitor-keys": "8.66.0", "acorn": "8.18.0", "acorn-jsx": "5.3.2", "angular-estree-parser": "15.5.0", @@ -138,8 +138,8 @@ "@eslint/js": "10.0.1", "@stylistic/eslint-plugin": "5.10.0", "@types/jsesc": "3.0.3", - "@typescript-eslint/eslint-plugin": "8.65.0", - "@typescript-eslint/parser": "8.65.0", + "@typescript-eslint/eslint-plugin": "8.66.0", + "@typescript-eslint/parser": "8.66.0", "@yuku-parser/wasm": "0.8.3", "base64-arraybuffer-es6": "3.1.0", "browserslist": "4.28.7", diff --git a/src/language-js/print/call-expression.js b/src/language-js/print/call-expression.js index 4bde316ac..c3fb8092b 100644 --- a/src/language-js/print/call-expression.js +++ b/src/language-js/print/call-expression.js @@ -134,7 +134,7 @@ function isSimpleModuleImport(path) { const { node } = path; if (!( - // `import("foo")` + // `import("foo")` and `import.{defer,source}("foo")` node.type === "ImportExpression" || // `type foo = import("foo")` node.type === "TSImportType" || diff --git a/tests/config/format-test/failed-format-tests.js b/tests/config/format-test/failed-format-tests.js index 7d16fd5c2..49ffc6d40 100644 --- a/tests/config/format-test/failed-format-tests.js +++ b/tests/config/format-test/failed-format-tests.js @@ -68,11 +68,7 @@ const disabledTests = new Map( "js/await/await-with-parens.js", "js/await/like-call.js", ], - typescript: [ - // https://github.com/typescript-eslint/typescript-eslint/issues/11389 - "js/import/long-module-name/import-defer.js", - "js/import/long-module-name/import-source.js", - ], + typescript: [], yaml: [ // Bug: https://github.com/eemeli/yaml/issues/646 "yaml/spec/spec-example-2-11-mapping-between-sequences.yml", diff --git a/tests/format/js/dynamic-import/__snapshots__/format.test.js.snap b/tests/format/js/dynamic-import/__snapshots__/format.test.js.snap index 8d72c454d..d37bb3934 100644 --- a/tests/format/js/dynamic-import/__snapshots__/format.test.js.snap +++ b/tests/format/js/dynamic-import/__snapshots__/format.test.js.snap @@ -83,6 +83,16 @@ import.source(\`data:text/javascript, ^" `; +exports[`import-phase.js format[typescript] 1`] = ` +"'source' is not a valid meta-property for keyword 'import'. (1:1) +> 1 | import.source(\`data:text/javascript, + | ^^^^^^^^^^^^^ + 2 | console.log("RUN"); + 3 | \`) + 4 | +Cause: 'source' is not a valid meta-property for keyword 'import'." +`; + exports[`template-literal.js format 1`] = ` ====================================options===================================== parsers: ["babel", "flow", "typescript"] diff --git a/tests/format/js/dynamic-import/format.test.js b/tests/format/js/dynamic-import/format.test.js index f1c4bf8bb..4b69c5013 100644 --- a/tests/format/js/dynamic-import/format.test.js +++ b/tests/format/js/dynamic-import/format.test.js @@ -4,5 +4,6 @@ runFormatTest(import.meta, ["babel", "flow", "typescript"], { hermes: ["template-literal.js", "import-phase.js"], acorn: ["import-phase.js"], espree: ["import-phase.js"], + typescript: ["import-phase.js"], }, }); diff --git a/tests/format/js/import/long-module-name/__snapshots__/format.test.js.snap b/tests/format/js/import/long-module-name/__snapshots__/format.test.js.snap index 4176b7670..7ce3697c4 100644 --- a/tests/format/js/import/long-module-name/__snapshots__/format.test.js.snap +++ b/tests/format/js/import/long-module-name/__snapshots__/format.test.js.snap @@ -155,3 +155,13 @@ note: start of member expression (1:0) import.source("./a/long/long/long/long/long/long/long/long/long/long/long/long/path/to/module"); ^" `; + +exports[`import-source.js format[typescript] 1`] = ` +"'source' is not a valid meta-property for keyword 'import'. (1:1) +> 1 | import.source("./a/long/long/long/long/long/long/long/long/long/long/long/long/path/to/module"); + | ^^^^^^^^^^^^^ + 2 | import.source( + 3 | // Comment + 4 | "./a/long/long/long/long/long/long/long/long/long/long/long/long/path/to/module" +Cause: 'source' is not a valid meta-property for keyword 'import'." +`; diff --git a/tests/format/js/import/long-module-name/format.test.js b/tests/format/js/import/long-module-name/format.test.js index e38e83822..28d3e5e18 100644 --- a/tests/format/js/import/long-module-name/format.test.js +++ b/tests/format/js/import/long-module-name/format.test.js @@ -4,5 +4,6 @@ runFormatTest(import.meta, ["babel", "flow", "typescript"], { espree: ["import-defer.js", "import-source.js"], flow: ["import-defer.js", "import-source.js"], hermes: ["import-defer.js", "import-source.js"], + typescript: ["import-source.js"], }, }); diff --git a/yarn.lock b/yarn.lock index 0f481d36c..6a9c8f56e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2708,105 +2708,105 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/eslint-plugin@npm:8.65.0": - version: 8.65.0 - resolution: "@typescript-eslint/eslint-plugin@npm:8.65.0" +"@typescript-eslint/eslint-plugin@npm:8.66.0": + version: 8.66.0 + resolution: "@typescript-eslint/eslint-plugin@npm:8.66.0" dependencies: "@eslint-community/regexpp": "npm:^4.12.2" - "@typescript-eslint/scope-manager": "npm:8.65.0" - "@typescript-eslint/type-utils": "npm:8.65.0" - "@typescript-eslint/utils": "npm:8.65.0" - "@typescript-eslint/visitor-keys": "npm:8.65.0" + "@typescript-eslint/scope-manager": "npm:8.66.0" + "@typescript-eslint/type-utils": "npm:8.66.0" + "@typescript-eslint/utils": "npm:8.66.0" + "@typescript-eslint/visitor-keys": "npm:8.66.0" ignore: "npm:^7.0.5" natural-compare: "npm:^1.4.0" ts-api-utils: "npm:^2.5.0" peerDependencies: - "@typescript-eslint/parser": ^8.65.0 + "@typescript-eslint/parser": ^8.66.0 eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 typescript: ">=4.8.4 <6.1.0" - checksum: 10/20b1e5fd0c01d450c345750582e4911affef8ba934b2b78953ff593102d2a01f21c5f6469e13239fdd6a0e30152d6122906e7623f53aa8c937c6faae9407be47 + checksum: 10/bb144ff0c27592b6a53d964fe1e2145dd0737f5fe50fe7dcd88217ca5ac4e470d7965d97745a63de16252ac2880d00732a472b9cec14d7d6929ebda97e7bcbb1 languageName: node linkType: hard -"@typescript-eslint/parser@npm:8.65.0": - version: 8.65.0 - resolution: "@typescript-eslint/parser@npm:8.65.0" +"@typescript-eslint/parser@npm:8.66.0": + version: 8.66.0 + resolution: "@typescript-eslint/parser@npm:8.66.0" dependencies: - "@typescript-eslint/scope-manager": "npm:8.65.0" - "@typescript-eslint/types": "npm:8.65.0" - "@typescript-eslint/typescript-estree": "npm:8.65.0" - "@typescript-eslint/visitor-keys": "npm:8.65.0" + "@typescript-eslint/scope-manager": "npm:8.66.0" + "@typescript-eslint/types": "npm:8.66.0" + "@typescript-eslint/typescript-estree": "npm:8.66.0" + "@typescript-eslint/visitor-keys": "npm:8.66.0" debug: "npm:^4.4.3" peerDependencies: eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 typescript: ">=4.8.4 <6.1.0" - checksum: 10/55f68666953c02c8adae35a46076848da6456181b1849a28ec836a5866ca37b902f475fb4c32ba7aa3a6a7e5d66828df8859edec297da09181fb937aeea30f8e + checksum: 10/a0451abe17d2eeff6ff2e1bf637d5ea19b400378d98f4511672e0f30dc5a7971d03352e32764927176c3632f245d5f85e8b28a0a3e66d020effcf0c61624e9b6 languageName: node linkType: hard -"@typescript-eslint/project-service@npm:8.65.0": - version: 8.65.0 - resolution: "@typescript-eslint/project-service@npm:8.65.0" +"@typescript-eslint/project-service@npm:8.66.0": + version: 8.66.0 + resolution: "@typescript-eslint/project-service@npm:8.66.0" dependencies: - "@typescript-eslint/tsconfig-utils": "npm:^8.65.0" - "@typescript-eslint/types": "npm:^8.65.0" + "@typescript-eslint/tsconfig-utils": "npm:^8.66.0" + "@typescript-eslint/types": "npm:^8.66.0" debug: "npm:^4.4.3" peerDependencies: typescript: ">=4.8.4 <6.1.0" - checksum: 10/915662449a66d90f03661a805f7c62a5efaa8f7887671272e08b684b41edab51a9021f47aac4d78001a0f87960e8587adc037424d56f13de883e0ce699e7ca55 + checksum: 10/e8a71f69ee7f4bd9ca1c6a0a5110361b9927d17df2f41cdf6d042203b49aabfbddece79dec7882fde8dc016b6278671a2ba3f7bf08e5ae241582627b68be3a8b languageName: node linkType: hard -"@typescript-eslint/scope-manager@npm:8.65.0": - version: 8.65.0 - resolution: "@typescript-eslint/scope-manager@npm:8.65.0" +"@typescript-eslint/scope-manager@npm:8.66.0": + version: 8.66.0 + resolution: "@typescript-eslint/scope-manager@npm:8.66.0" dependencies: - "@typescript-eslint/types": "npm:8.65.0" - "@typescript-eslint/visitor-keys": "npm:8.65.0" - checksum: 10/038e208c907aa45fe5bb7168e1dccf89c1fc6678d1715a9c04f4b332d4e79ab719b5b43a4e0c2d5a183ea863813ff59fda040b2717fe5517468453af6b99a50a + "@typescript-eslint/types": "npm:8.66.0" + "@typescript-eslint/visitor-keys": "npm:8.66.0" + checksum: 10/f2024cd2819dc3b967f32089ea1a0b9099acabf12860699432f0ba802d75b01ed35ea488a50576cae544813d5cbe9bd9ee5815bc4f11cefc89fe2fb24559238f languageName: node linkType: hard -"@typescript-eslint/tsconfig-utils@npm:8.65.0, @typescript-eslint/tsconfig-utils@npm:^8.65.0": - version: 8.65.0 - resolution: "@typescript-eslint/tsconfig-utils@npm:8.65.0" +"@typescript-eslint/tsconfig-utils@npm:8.66.0, @typescript-eslint/tsconfig-utils@npm:^8.66.0": + version: 8.66.0 + resolution: "@typescript-eslint/tsconfig-utils@npm:8.66.0" peerDependencies: typescript: ">=4.8.4 <6.1.0" - checksum: 10/f88253a4df1d599a1bebeeb403611538485e22c52213f2f2b9c435bde8ebce64645d6bb985c900b01ef221032835fcd4f6fea4b94d178220c18de5d93af905c4 + checksum: 10/271b28660edc9e6272ae07a91f8da2c69e8a6b009e8588f1009c485c11fe4e66e09356d50dbeabf8e6a44c95c8adeb630f1b6089bdd68aec2512d0036cef7704 languageName: node linkType: hard -"@typescript-eslint/type-utils@npm:8.65.0": - version: 8.65.0 - resolution: "@typescript-eslint/type-utils@npm:8.65.0" +"@typescript-eslint/type-utils@npm:8.66.0": + version: 8.66.0 + resolution: "@typescript-eslint/type-utils@npm:8.66.0" dependencies: - "@typescript-eslint/types": "npm:8.65.0" - "@typescript-eslint/typescript-estree": "npm:8.65.0" - "@typescript-eslint/utils": "npm:8.65.0" + "@typescript-eslint/types": "npm:8.66.0" + "@typescript-eslint/typescript-estree": "npm:8.66.0" + "@typescript-eslint/utils": "npm:8.66.0" debug: "npm:^4.4.3" ts-api-utils: "npm:^2.5.0" peerDependencies: eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 typescript: ">=4.8.4 <6.1.0" - checksum: 10/d52e0c341c9731d8f3bfd2f475bbcd5a5632434e11fc39e8e21acb706145bedb8c6c1998b8ced73e132b43179dd95f2c318effc36c9a1dd61f14546b07b25852 + checksum: 10/6d3c55a591b96cbac4ac845ad1d281bac54df12a631ca550370d266aed30760fa9d498e44b938e454941930e3decda820c6e544e0748254c5089425d120e1ed1 languageName: node linkType: hard -"@typescript-eslint/types@npm:8.65.0, @typescript-eslint/types@npm:^8.56.0, @typescript-eslint/types@npm:^8.65.0": - version: 8.65.0 - resolution: "@typescript-eslint/types@npm:8.65.0" - checksum: 10/a6fc10a733adbb98bbb9c312c8d99791e1a2fd3efef5c2a5b51da1c166aac3db4427c30bf32059808abe305a289f820bf610683914e897baeb18315af6a1d16c +"@typescript-eslint/types@npm:8.66.0, @typescript-eslint/types@npm:^8.56.0, @typescript-eslint/types@npm:^8.66.0": + version: 8.66.0 + resolution: "@typescript-eslint/types@npm:8.66.0" + checksum: 10/de1ea79e7056c11e38e4001a899b88511793a0aa1702508af42ee179bc7303bed2eb02f177a7ae438f20eab00aee9407c7e842bec6fc5b7bb1fdcab4a7cd5c4b languageName: node linkType: hard -"@typescript-eslint/typescript-estree@npm:8.65.0": - version: 8.65.0 - resolution: "@typescript-eslint/typescript-estree@npm:8.65.0" +"@typescript-eslint/typescript-estree@npm:8.66.0": + version: 8.66.0 + resolution: "@typescript-eslint/typescript-estree@npm:8.66.0" dependencies: - "@typescript-eslint/project-service": "npm:8.65.0" - "@typescript-eslint/tsconfig-utils": "npm:8.65.0" - "@typescript-eslint/types": "npm:8.65.0" - "@typescript-eslint/visitor-keys": "npm:8.65.0" + "@typescript-eslint/project-service": "npm:8.66.0" + "@typescript-eslint/tsconfig-utils": "npm:8.66.0" + "@typescript-eslint/types": "npm:8.66.0" + "@typescript-eslint/visitor-keys": "npm:8.66.0" debug: "npm:^4.4.3" minimatch: "npm:^10.2.2" semver: "npm:^7.7.3" @@ -2814,32 +2814,32 @@ __metadata: ts-api-utils: "npm:^2.5.0" peerDependencies: typescript: ">=4.8.4 <6.1.0" - checksum: 10/711fdb5eff67ff34437c56a1a661b16a2e1d6bcd96c9f96196c4242b8d4ddaea8e835ca8badd340c703e043d8dfe8cfca90b32eca60069a4f1d2880afdb670fb + checksum: 10/0834efcdd4468c0dd954089daf26b40175e204402bd4075b06cd910786bb6de7a15aec4e79e40f0980f39fce5bfd9c871ec8fcc6871a8895a34a273bb187fd26 languageName: node linkType: hard -"@typescript-eslint/utils@npm:8.65.0, @typescript-eslint/utils@npm:^8.0.0": - version: 8.65.0 - resolution: "@typescript-eslint/utils@npm:8.65.0" +"@typescript-eslint/utils@npm:8.66.0, @typescript-eslint/utils@npm:^8.0.0": + version: 8.66.0 + resolution: "@typescript-eslint/utils@npm:8.66.0" dependencies: "@eslint-community/eslint-utils": "npm:^4.9.1" - "@typescript-eslint/scope-manager": "npm:8.65.0" - "@typescript-eslint/types": "npm:8.65.0" - "@typescript-eslint/typescript-estree": "npm:8.65.0" + "@typescript-eslint/scope-manager": "npm:8.66.0" + "@typescript-eslint/types": "npm:8.66.0" + "@typescript-eslint/typescript-estree": "npm:8.66.0" peerDependencies: eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 typescript: ">=4.8.4 <6.1.0" - checksum: 10/c1dcd555b58aef1e066164978335e521809acac36b56bd6a6dae62cffae80f3ea5f43527506be76dfef0fe3d4c8382a24355a28867c4904b0a7729691ba45656 + checksum: 10/e7a24ee0f35d58b4392daa03fb1ea37ab7e4519949a034be89151df1b0e9fc416831f50cb69f54150272e252cba350964632ee9bfbdb7e62ac599cc731de56e1 languageName: node linkType: hard -"@typescript-eslint/visitor-keys@npm:8.65.0": - version: 8.65.0 - resolution: "@typescript-eslint/visitor-keys@npm:8.65.0" +"@typescript-eslint/visitor-keys@npm:8.66.0": + version: 8.66.0 + resolution: "@typescript-eslint/visitor-keys@npm:8.66.0" dependencies: - "@typescript-eslint/types": "npm:8.65.0" + "@typescript-eslint/types": "npm:8.66.0" eslint-visitor-keys: "npm:^5.0.0" - checksum: 10/e7f86d21f0bf03ca7cff9fa9428aab98620564d15fb06c9f56a294c13cee324624d42f9115f3d76fbad92266220479cca334b5c66562f885da5c4d2bda3d87b3 + checksum: 10/d47e936b10ec94a96f69f77a62463f4634fe72d12d42dd302d7777f7b98689468e0b67c538a52232b723695208f1b3fdeae5745eb3e71a70a90818fdd827a0bc languageName: node linkType: hard @@ -8219,10 +8219,10 @@ __metadata: "@prettier/parse-srcset": "npm:3.1.0" "@stylistic/eslint-plugin": "npm:5.10.0" "@types/jsesc": "npm:3.0.3" - "@typescript-eslint/eslint-plugin": "npm:8.65.0" - "@typescript-eslint/parser": "npm:8.65.0" - "@typescript-eslint/typescript-estree": "npm:8.65.0" - "@typescript-eslint/visitor-keys": "npm:8.65.0" + "@typescript-eslint/eslint-plugin": "npm:8.66.0" + "@typescript-eslint/parser": "npm:8.66.0" + "@typescript-eslint/typescript-estree": "npm:8.66.0" + "@typescript-eslint/visitor-keys": "npm:8.66.0" "@yuku-parser/wasm": "npm:0.8.3" acorn: "npm:8.18.0" acorn-jsx: "npm:5.3.2"