Skip to content

📝 2.0 formatter regression: additional space added before IIFE invocation #6375

@walkerdb

Description

@walkerdb

Biome 1.x left the following formatting alone:

/**
 * SAFETY: monkey patching and getting around the provided type definitions.
 */
;(Transport.prototype as any).request = newRequest

In 2.0 an additional space is added between the comment and the statement:

/**
 * SAFETY: monkey patching and getting around the provided type definitions.
 */

;(Transport.prototype as any).request = newRequest

This seems innocuous at first glance, but it breaks lints we have in place requiring SAFETY comments around unsafe usage of TS.

Environment information

CLI:
  Version:                      2.0.0
  Color support:                true

Platform:
  CPU Architecture:             aarch64
  OS:                           macos

Environment:
  BIOME_LOG_PATH:               unset
  BIOME_LOG_PREFIX_NAME:        unset
  BIOME_CONFIG_PATH:            unset
  BIOME_THREADS:                unset
  NO_COLOR:                     unset
  TERM:                         xterm-256color
  JS_RUNTIME_VERSION:           v22.13.1
  JS_RUNTIME_NAME:              node
  NODE_PACKAGE_MANAGER:         unset

Biome Configuration:
  Status:                       Loaded successfully
  Path:                         biome.jsonc
  Formatter enabled:            true
  Linter enabled:               true
  Assist enabled:               true
  VCS enabled:                  true

Formatter:
  Format with errors:           unset
  Indent style:                 unset
  Indent width:                 unset
  Line ending:                  unset
  Line width:                   unset
  Attribute position:           unset
  Bracket spacing:              unset
  Includes:                     <redacted>

JavaScript Formatter:
  Enabled:                      unset
  JSX quote style:              unset
  Quote properties:             unset
  Trailing commas:              unset
  Semicolons:                   As needed
  Arrow parentheses:            As needed
  Bracket spacing:              unset
  Bracket same line:            unset
  Quote style:                  unset
  Indent style:                 unset
  Indent width:                 unset
  Line ending:                  unset
  Line width:                   unset
  Attribute position:           unset

JSON Formatter:
  Enabled:                      unset
  Indent style:                 unset
  Indent width:                 unset
  Line ending:                  unset
  Line width:                   unset
  Trailing Commas:              unset
  Expand lists:                 unset

CSS Formatter:
  Enabled:                      unset
  Indent style:                 unset
  Indent width:                 unset
  Line ending:                  unset
  Line width:                   unset
  Quote style:                  unset

GraphQL Formatter:
  Enabled:                      unset
  Indent style:                 unset
  Indent width:                 unset
  Line ending:                  unset
  Line width:                   unset
  Bracket spacing:              unset
  Quote style:                  unset

Workspace:
  Open Documents:               0

Configuration

Playground link

https://biomejs.dev/playground/?semicolons=as-needed&lintRules=all&code=YwBvAG4AcwB0ACAAVAByAGEAbgBzAHAAbwByAHQAIAA9ACAAewB9AAoAYwBvAG4AcwB0ACAAbgBlAHcAUgBlAHEAdQBlAHMAdAAgAD0AIAB7AH0ACgAKAC8AKgAqAAoAIAAqACAAUwBBAEYARQBUAFkAOgAgAG0AbwBuAGsAZQB5ACAAcABhAHQAYwBoAGkAbgBnACAAYQBuAGQAIABnAGUAdAB0AGkAbgBnACAAYQByAG8AdQBuAGQAIAB0AGgAZQAgAHAAcgBvAHYAaQBkAGUAZAAgAHQAeQBwAGUAIABkAGUAZgBpAG4AaQB0AGkAbwBuAHMALgAKACAAKgAvAAoAOwAoAFQAcgBhAG4AcwBwAG8AcgB0AC4AcAByAG8AdABvAHQAeQBwAGUAIABhAHMAIABhAG4AeQApAC4AcgBlAHEAdQBlAHMAdAAgAD0AIABuAGUAdwBSAGUAcQB1AGUAcwB0AAoA

Code of Conduct

  • I agree to follow Biome's Code of Conduct

Metadata

Metadata

Assignees

Labels

A-FormatterArea: formatterL-JavaScriptLanguage: JavaScript and super languagesS-Bug-confirmedStatus: report has been confirmed as a valid bug

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions