codesandbox / codesandbox/codesandbox-client

TypeScript labeled tuples break prettier format-on-save

Open
#6,047 4 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

🐛 Bug UX
Dominant language
JavaScript
Stars
13.6k
Forks
2.4k
Avg merge
6d 19h
Merged PRs (30d)
2

Description

🐛 bug report

Preflight Checklist

  • I have read the Contributing Guidelines for this project.
  • I agree to follow the Code of Conduct that this project
    adheres to.
  • I have searched the issue tracker for an issue that matches the one I want
    to file, without success.

Description of the problem

TypeScript labeled tuples break prettier format-on-save.

How has this issue affected you? What are you trying to accomplish?

Have my files formatted properly on save.

To Reproduce

  1. Paste the following into a typescript file:

    export {};
    
    type Rect = [x: number, y: number, width: number, height: number];
    
    const rect: Rect = [0, 0, 150, 100];
    
    document
      .createElement("canvas")
      .getContext("2d")
      .fillRect(...rect);
    
  2. Add arbitrary space to mess up the formatting

  3. Save

Expected: Prettier automatically formats on save

Actual: Nothing changes on save

Link to sandbox

Sandbox - TypeScript labeled tuples break prettier format-on-save

Your Environment

Software Name/Version
Сodesandbox e37e8f3a5
Browser Chrome Version 92.0.4515.131
Operating System Windows 10

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the issue from the linked CodeSandbox with the labeled-tuple TypeScript snippet and arbitrary spacing. Then trace the format-on-save path for TypeScript files. Done means saving the file applies the expected Prettier formatting instead of leaving it unchanged.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
developer-experience, tooling
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Clearly specified
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.