Skip to content

Unexpected line break in assert { type: "json" } #16340

@kachkaev

Description

@kachkaev

Prettier 3.3.0
Playground link

--parser babel

Input:

//                                                                    80 chars ↓ 
import a10 from "./aaaaaaaaaa.json" assert { type: "json" };
import a20 from "./aaaaaaaaaaaaaaaaaaaa.json" assert { type: "json" };
import a30 from "./aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.json" assert { type: "json" };
import a40 from "./aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.json" assert { type: "json" };
import a50 from "./aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.json" assert { type: "json" };
import a60 from "./aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.json" assert { type: "json" };
import a70 from "./aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.json" assert { type: "json" };
import a80 from "./aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.json" assert { type: "json" };

Output:

//                                                                    80 chars ↓
import a10 from "./aaaaaaaaaa.json" assert { type: "json" };
import a20 from "./aaaaaaaaaaaaaaaaaaaa.json" assert { type: "json" };
import a30 from "./aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.json" assert { type: "json" };
import a40 from "./aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.json" assert { type:
  "json" };
import a50 from "./aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.json" assert { type:
  "json" };
import a60 from "./aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.json" assert { type:
  "json" };
import a70 from "./aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.json" assert { type:
  "json" };
import a80 from "./aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.json" assert { type:
  "json" };

Expected output:

same as input

Why?

Newline after type: breaks the rhythm of the import statements. There was no line break in 3.2 and below. The behavior changed in 3.3 via #15888. Newline is consistently added after type: after reaching --print-width, even if assert does not fit too.

@sosukesuzuki I suggest to enforce a single line here. WDYT?

Metadata

Metadata

Assignees

No one assigned

    Labels

    lang:javascriptIssues affecting JSlocked-due-to-inactivityPlease open a new issue and fill out the template instead of commenting.

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions