Skip to content

🐛 Monorepo child config extends not working #6483

@ragrag

Description

@ragrag

Environment information

CLI:
  Version:                      2.0.4
  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.14.0
  JS_RUNTIME_NAME:              node
  NODE_PACKAGE_MANAGER:         pnpm/10.12.1

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

Workspace:
  Open Documents:               0

What happened?

child biome config that extends root config in monorepo is being completely ignored

full reproduction: https://github.com/ragrag/repro-extends

root biome.json

{
  "$schema": "https://biomejs.dev/schemas/2.0.4/schema.json",
  "root": true,
  "files": {
    "includes": [
      "**",
      "!**/coverage",
      "!**/build",
      "!**/dist",
      "!**/node_modules",
      "!**/.turbo"
    ]
  },
  "linter": {
    "enabled": true,
    "rules": {
      "recommended": true,
      "style": {
        "noNonNullAssertion": "error"
      }
    },
    "includes": [
      "**",
      "!**/coverage",
      "!**/build",
      "!**/dist",
      "!**/node_modules",
      "!**/.turbo"
    ]
  }
}

child biome.json

{
	"$schema": "https://biomejs.dev/schemas/2.0.4/schema.json",
	"extends": "//",
	// using root false and extends results in error
	// ✖ Failed to resolve the configuration from ../../biome.jsonc
	// Caused by:
	//   Could not resolve ../../biome.jsonc: module not found
	// "root": false,
	// "extends": ["../../biome.jsonc"],
	"formatter": {
		// not respected, prints formatter errors for .nuxt/index.ts
		"enabled": false
	},
	"files": {
		// not respected, prints lint errors for .nuxt/index.ts
		"includes": ["!**/.nuxt"]
	},
	"linter": {
		// not respected, prints lint errors for .nuxt/index.ts
		"includes": ["!**/.nuxt"]
	}
}

Expected result

child biome config should work

Code of Conduct

  • I agree to follow Biome's Code of Conduct

Metadata

Metadata

Assignees

Labels

A-CoreArea: coreS-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