Releases: biomejs/biome
VSCode Extension v1.6.1
CLI
Bug fixes
- Fix
rage
command, now it doesn't print info about running servers. Contributed by @ematipico
Editors
Bug fixes
- Fix #552, where the formatter isn't correctly triggered in Windows systems. Contributed by @victor-teles
Linter
Bug fixes
- Fix #548 which made noSelfAssign panic.
- Fix #555, by correctly map
globals
into the workspace.
What's Changed
Other changes
- fix(docs): config file name by @bushuai in #561
- fix(intellij): binary resolution on windows by @victor-teles in #556
New Contributors
Full Changelog: cli/v1.3.0...lsp/v1.6.1
Intellij Plugin v0.0.5
CLI
Bug fixes
- Fix
rage
command, now it doesn't print info about running servers. Contributed by @ematipico
Editors
Bug fixes
- Fix #552, where the formatter isn't correctly triggered in Windows systems. Contributed by @victor-teles
Linter
Bug fixes
- Fix #548 which made noSelfAssign panic.
- Fix #555, by correctly map
globals
into the workspace.
What's Changed
Other changes
- fix(docs): config file name by @bushuai in #561
- fix(intellij): binary resolution on windows by @victor-teles in #556
New Contributors
Full Changelog: cli/v1.3.0...lsp-intellij/v0.0.5
CLI v1.3.1
CLI
Bug fixes
- Fix
rage
command, now it doesn't print info about running servers. Contributed by @ematipico
Editors
Bug fixes
- Fix #552, where the formatter isn't correctly triggered in Windows systems. Contributed by @victor-teles
Linter
Bug fixes
- Fix #548 which made noSelfAssign panic.
- Fix #555, by correctly map
globals
into the workspace.
What's Changed
Other changes
- fix(docs): config file name by @bushuai in #561
- fix(intellij): binary resolution on windows by @victor-teles in #556
New Contributors
Full Changelog: cli/v1.3.0...cli/v1.3.1
VSCode Extension v1.6.0
Analyzer
Enhancements
-
Import sorting is safe to apply now, and it will be applied when running
check --apply
instead ofcheck --apply-unsafe
. -
Import sorting now handles Bun imports
bun:<name>
, absolute path imports/<path>
, and Node's subpath imports#<name>
. See our documentation for more details. Contributed by @Conaclos
CLI
Bug fixes
- Fix #319. The command
biome lint
now shows the correct options. Contributed by @ematipico - Fix #312. Running
biome --version
now exits with status code0
instead of1
. Contributed by @nhedger - Fix a bug where the
extends
functionality doesn't carry overorganizeImports.ignore
. Contributed by @ematipico - The CLI now returns the original content when using
stdin
and the original content doesn't change. Contributed by @ematipico
New features
-
Add support for
BIOME_BINARY
environment variable to override the location of the binary. Contributed by @ematipico -
Add option
--indent-width
, and deprecated the option--indent-size
. Contributed by @ematipico -
Add option
--javascript-formatter-indent-width
, and deprecated the option--javascript-formatter-indent-size
. Contributed by @ematipico -
Add option
--json-formatter-indent-width
, and deprecated the option--json-formatter-indent-size
. Contributed by @ematipico -
Add option
--daemon-logs
tobiome rage
. The option is required to view Biome daemon server logs. Contributed by @unvalley -
Add support for logging. By default, Biome doesn't log anything other than diagnostics. Logging can be enabled with the new option
--log-level
:biome format --log-level=info ./src
There are four different levels of logging, from the most verbose to the least verbose:
debug
,info
,warn
anderror
. Here's how anINFO
log will look like:2023-10-05T08:27:01.954727Z INFO Analyze file ./website/src/playground/components/Resizable.tsx at crates/biome_service/src/file_handlers/javascript.rs:298 on biome::worker_5 in Pulling diagnostics with categories: RuleCategories(SYNTAX) in Processes formatting with path: "./website/src/playground/components/Resizable.tsx" in Process check with path: "./website/src/playground/components/Resizable.tsx"
You can customize how the log will look like with a new option
--log-kind
. The supported kinds are:pretty
,compact
andjson
.pretty
is the default logging. Here's how acompact
log will look like:2023-10-05T08:29:04.864247Z INFO biome::worker_2 Process check:Processes linting:Pulling diagnostics: crates/biome_service/src/file_handlers/javascript.rs: Analyze file ./website/src/playground/components/Resizable.tsx path="./website/src/playground/components/Resizable.tsx" path="./website/src/playground/components/Resizable.tsx" categories=RuleCategories(LINT) 2023-10-05T08:29:04.864290Z INFO biome::worker_7 Process check:Processes formatting: crates/biome_service/src/file_handlers/javascript.rs: Format file ./website/src/playground/components/Tabs.tsx path="./website/src/playground/components/Tabs.tsx" path="./website/src/playground/components/Tabs.tsx" 2023-10-05T08:29:04.879332Z INFO biome::worker_2 Process check:Processes formatting:Pulling diagnostics: crates/biome_service/src/file_handlers/javascript.rs: Analyze file ./website/src/playground/components/Resizable.tsx path="./website/src/playground/components/Resizable.tsx" path="./website/src/playground/components/Resizable.tsx" categories=RuleCategories(SYNTAX) 2023-10-05T08:29:04.879383Z INFO biome::worker_2 Process check:Processes formatting: crates/biome_service/src/file_handlers/javascript.rs: Format file ./website/src/playground/components/Resizable.tsx path="./website/src/playground/components/Resizable.tsx" path="./website/src/playground/components/Resizable.tsx"
Enhancements
- Deprecated the environment variable
ROME_BINARY
. UseBIOME_BINARY
instead. Contributed by @ematipico - Biome doesn't check anymore the presence of the
.git
folder when VCS support is enabled. Contributed by @ematipico biome rage
doesn't print the logs of the daemon, usebiome rage --daemon-logs
to print them. Contributed by @unvalley
Configuration
New features
-
Add option
formatter.indentWidth
, and deprecated the optionformatter.indentSize
. Contributed by @ematipico -
Add option
javascript.formatter.indentWidth
, and deprecated the optionjavascript.formatter.indentSize
. Contributed by @ematipico -
Add option
json.formatter.indentWidth
, and deprecated the optionjson.formatter.indentSize
. Contributed by @ematipico -
Add option
include
to multiple sections of the configurationfiles.include
;formatter.include
;linter.include
;organizeImports.include
;
Wheninclude
andignore
are both specified,ignore
takes precedence overinclude
-
Add option
overrides
, where users can modify the behaviour of the tools for certain files or paths.For example, it's possible to modify the formatter
lineWidth
, and evenquoteStyle
for certain files that are included in glob pathgenerated/**
:{ "formatter": { "lineWidth": 100 }, "overrides": [ { "include": ["generated/**"], "formatter": { "lineWidth": 160 }, "javascript": { "formatter": { "quoteStyle": "single" } } } ] }
Or, you can disable certain rules for certain path, and disable the linter for other paths:
{ "linter": { "enabled": true, "rules": { "recommended": true } }, "overrides": [ { "include": ["lib/**"], "linter": { "rules": { "suspicious": { "noDebugger": "off" } } } }, { "include": ["shims/**"], "linter": { "enabled": false } } ] }
Bug fixes
- Fix #343,
extends
was incorrectly applied to thebiome.json
file. Contributed by @ematipico
Editors
Bug fixes
-
Fix #404. Biome intellij plugin now works on Windows. Contributed by @victor-teles
-
Fix #402. Biome
format
on intellij plugin now recognize biome.json. Contributed by @victor-teles
Formatter
Enhancements
- Use
OnceCell
for the Memoized memory because that's what theRefCell<Option>
implemented. Contributed by @denbezrukov
Linter
Promoted rules
- complexity/noExcessiveCognitiveComplexity
- complexity/noVoid
- correctness/useExhaustiveDependencies
- correctness/useHookAtTopLevel
- performance/noAccumulatingSpread
- style/useCollapsedElseIf
- suspicious/noConfusingVoidType
- suspicious/noFallthroughSwitchClause
- suspicious/noGlobalIsFinite
- suspicious/noGlobalIsNan
- suspicious/useIsArray
The following rules are now recommended:
Bug fixes
- Fix #243 a false positive case where the incorrect scope was defined for the
infer
type. in rule noUndeclaredVariables. Contributed by @denbezrukov - Fix #322, now noSelfAssign correctly handles literals inside call expressions.
- Changed how noSelfAssign behaves. The rule is not triggered anymore on function calls. Contributed by @ematipico
New features
-
Add noEmptyCharacterClassInRegex rule. The rule reports empty character classes and empty negated character classes in regular expression literals. Contributed by @Conaclos
-
Add noMisleadingInstantiator rule. The rule reports the misleading use of the
new
andconstructor
methods. Contributed by @unvalley -
Add noUselessElse rule.
The rule reportselse
clauses that can be omitted because theirif
branches break.
Contributed by @Conaclos -
Add noUnusedImports rule.
The rule reports unused imports and suggests to remove them.
Contributed by @ConaclosnoUnusedVariables reports also unused imports, but don't suggest their removal.
Once [noUnusedI...
Intellij Plugin v0.0.4
Analyzer
Enhancements
-
Import sorting is safe to apply now, and it will be applied when running
check --apply
instead ofcheck --apply-unsafe
. -
Import sorting now handles Bun imports
bun:<name>
, absolute path imports/<path>
, and Node's subpath imports#<name>
. See our documentation for more details. Contributed by @Conaclos
CLI
Bug fixes
- Fix #319. The command
biome lint
now shows the correct options. Contributed by @ematipico - Fix #312. Running
biome --version
now exits with status code0
instead of1
. Contributed by @nhedger - Fix a bug where the
extends
functionality doesn't carry overorganizeImports.ignore
. Contributed by @ematipico - The CLI now returns the original content when using
stdin
and the original content doesn't change. Contributed by @ematipico
New features
-
Add support for
BIOME_BINARY
environment variable to override the location of the binary. Contributed by @ematipico -
Add option
--indent-width
, and deprecated the option--indent-size
. Contributed by @ematipico -
Add option
--javascript-formatter-indent-width
, and deprecated the option--javascript-formatter-indent-size
. Contributed by @ematipico -
Add option
--json-formatter-indent-width
, and deprecated the option--json-formatter-indent-size
. Contributed by @ematipico -
Add option
--daemon-logs
tobiome rage
. The option is required to view Biome daemon server logs. Contributed by @unvalley -
Add support for logging. By default, Biome doesn't log anything other than diagnostics. Logging can be enabled with the new option
--log-level
:biome format --log-level=info ./src
There are four different levels of logging, from the most verbose to the least verbose:
debug
,info
,warn
anderror
. Here's how anINFO
log will look like:2023-10-05T08:27:01.954727Z INFO Analyze file ./website/src/playground/components/Resizable.tsx at crates/biome_service/src/file_handlers/javascript.rs:298 on biome::worker_5 in Pulling diagnostics with categories: RuleCategories(SYNTAX) in Processes formatting with path: "./website/src/playground/components/Resizable.tsx" in Process check with path: "./website/src/playground/components/Resizable.tsx"
You can customize how the log will look like with a new option
--log-kind
. The supported kinds are:pretty
,compact
andjson
.pretty
is the default logging. Here's how acompact
log will look like:2023-10-05T08:29:04.864247Z INFO biome::worker_2 Process check:Processes linting:Pulling diagnostics: crates/biome_service/src/file_handlers/javascript.rs: Analyze file ./website/src/playground/components/Resizable.tsx path="./website/src/playground/components/Resizable.tsx" path="./website/src/playground/components/Resizable.tsx" categories=RuleCategories(LINT) 2023-10-05T08:29:04.864290Z INFO biome::worker_7 Process check:Processes formatting: crates/biome_service/src/file_handlers/javascript.rs: Format file ./website/src/playground/components/Tabs.tsx path="./website/src/playground/components/Tabs.tsx" path="./website/src/playground/components/Tabs.tsx" 2023-10-05T08:29:04.879332Z INFO biome::worker_2 Process check:Processes formatting:Pulling diagnostics: crates/biome_service/src/file_handlers/javascript.rs: Analyze file ./website/src/playground/components/Resizable.tsx path="./website/src/playground/components/Resizable.tsx" path="./website/src/playground/components/Resizable.tsx" categories=RuleCategories(SYNTAX) 2023-10-05T08:29:04.879383Z INFO biome::worker_2 Process check:Processes formatting: crates/biome_service/src/file_handlers/javascript.rs: Format file ./website/src/playground/components/Resizable.tsx path="./website/src/playground/components/Resizable.tsx" path="./website/src/playground/components/Resizable.tsx"
Enhancements
- Deprecated the environment variable
ROME_BINARY
. UseBIOME_BINARY
instead. Contributed by @ematipico - Biome doesn't check anymore the presence of the
.git
folder when VCS support is enabled. Contributed by @ematipico biome rage
doesn't print the logs of the daemon, usebiome rage --daemon-logs
to print them. Contributed by @unvalley
Configuration
New features
-
Add option
formatter.indentWidth
, and deprecated the optionformatter.indentSize
. Contributed by @ematipico -
Add option
javascript.formatter.indentWidth
, and deprecated the optionjavascript.formatter.indentSize
. Contributed by @ematipico -
Add option
json.formatter.indentWidth
, and deprecated the optionjson.formatter.indentSize
. Contributed by @ematipico -
Add option
include
to multiple sections of the configurationfiles.include
;formatter.include
;linter.include
;organizeImports.include
;
Wheninclude
andignore
are both specified,ignore
takes precedence overinclude
-
Add option
overrides
, where users can modify the behaviour of the tools for certain files or paths.For example, it's possible to modify the formatter
lineWidth
, and evenquoteStyle
for certain files that are included in glob pathgenerated/**
:{ "formatter": { "lineWidth": 100 }, "overrides": [ { "include": ["generated/**"], "formatter": { "lineWidth": 160 }, "javascript": { "formatter": { "quoteStyle": "single" } } } ] }
Or, you can disable certain rules for certain path, and disable the linter for other paths:
{ "linter": { "enabled": true, "rules": { "recommended": true } }, "overrides": [ { "include": ["lib/**"], "linter": { "rules": { "suspicious": { "noDebugger": "off" } } } }, { "include": ["shims/**"], "linter": { "enabled": false } } ] }
Bug fixes
- Fix #343,
extends
was incorrectly applied to thebiome.json
file. Contributed by @ematipico
Editors
Bug fixes
-
Fix #404. Biome intellij plugin now works on Windows. Contributed by @victor-teles
-
Fix #402. Biome
format
on intellij plugin now recognize biome.json. Contributed by @victor-teles
Formatter
Enhancements
- Use
OnceCell
for the Memoized memory because that's what theRefCell<Option>
implemented. Contributed by @denbezrukov
Linter
Promoted rules
- complexity/noExcessiveCognitiveComplexity
- complexity/noVoid
- correctness/useExhaustiveDependencies
- correctness/useHookAtTopLevel
- performance/noAccumulatingSpread
- style/useCollapsedElseIf
- suspicious/noConfusingVoidType
- suspicious/noFallthroughSwitchClause
- suspicious/noGlobalIsFinite
- suspicious/noGlobalIsNan
- suspicious/useIsArray
The following rules are now recommended:
Bug fixes
- Fix #243 a false positive case where the incorrect scope was defined for the
infer
type. in rule noUndeclaredVariables. Contributed by @denbezrukov - Fix #322, now noSelfAssign correctly handles literals inside call expressions.
- Changed how noSelfAssign behaves. The rule is not triggered anymore on function calls. Contributed by @ematipico
New features
-
Add noEmptyCharacterClassInRegex rule. The rule reports empty character classes and empty negated character classes in regular expression literals. Contributed by @Conaclos
-
Add noMisleadingInstantiator rule. The rule reports the misleading use of the
new
andconstructor
methods. Contributed by @unvalley -
Add noUselessElse rule.
The rule reportselse
clauses that can be omitted because theirif
branches break.
Contributed by @Conaclos -
Add noUnusedImports rule.
The rule reports unused imports and suggests to remove them.
Contributed by @ConaclosnoUnusedVariables reports also unused imports, but don't suggest their removal.
Once [noUnusedI...
CLI v1.3.0
Analyzer
Enhancements
-
Import sorting is safe to apply now, and it will be applied when running
check --apply
instead ofcheck --apply-unsafe
. -
Import sorting now handles Bun imports
bun:<name>
, absolute path imports/<path>
, and Node's subpath imports#<name>
. See our documentation for more details. Contributed by @Conaclos
CLI
Bug fixes
- Fix #319. The command
biome lint
now shows the correct options. Contributed by @ematipico - Fix #312. Running
biome --version
now exits with status code0
instead of1
. Contributed by @nhedger - Fix a bug where the
extends
functionality doesn't carry overorganizeImports.ignore
. Contributed by @ematipico - The CLI now returns the original content when using
stdin
and the original content doesn't change. Contributed by @ematipico
New features
-
Add support for
BIOME_BINARY
environment variable to override the location of the binary. Contributed by @ematipico -
Add option
--indent-width
, and deprecated the option--indent-size
. Contributed by @ematipico -
Add option
--javascript-formatter-indent-width
, and deprecated the option--javascript-formatter-indent-size
. Contributed by @ematipico -
Add option
--json-formatter-indent-width
, and deprecated the option--json-formatter-indent-size
. Contributed by @ematipico -
Add option
--daemon-logs
tobiome rage
. The option is required to view Biome daemon server logs. Contributed by @unvalley -
Add support for logging. By default, Biome doesn't log anything other than diagnostics. Logging can be enabled with the new option
--log-level
:biome format --log-level=info ./src
There are four different levels of logging, from the most verbose to the least verbose:
debug
,info
,warn
anderror
. Here's how anINFO
log will look like:2023-10-05T08:27:01.954727Z INFO Analyze file ./website/src/playground/components/Resizable.tsx at crates/biome_service/src/file_handlers/javascript.rs:298 on biome::worker_5 in Pulling diagnostics with categories: RuleCategories(SYNTAX) in Processes formatting with path: "./website/src/playground/components/Resizable.tsx" in Process check with path: "./website/src/playground/components/Resizable.tsx"
You can customize how the log will look like with a new option
--log-kind
. The supported kinds are:pretty
,compact
andjson
.pretty
is the default logging. Here's how acompact
log will look like:2023-10-05T08:29:04.864247Z INFO biome::worker_2 Process check:Processes linting:Pulling diagnostics: crates/biome_service/src/file_handlers/javascript.rs: Analyze file ./website/src/playground/components/Resizable.tsx path="./website/src/playground/components/Resizable.tsx" path="./website/src/playground/components/Resizable.tsx" categories=RuleCategories(LINT) 2023-10-05T08:29:04.864290Z INFO biome::worker_7 Process check:Processes formatting: crates/biome_service/src/file_handlers/javascript.rs: Format file ./website/src/playground/components/Tabs.tsx path="./website/src/playground/components/Tabs.tsx" path="./website/src/playground/components/Tabs.tsx" 2023-10-05T08:29:04.879332Z INFO biome::worker_2 Process check:Processes formatting:Pulling diagnostics: crates/biome_service/src/file_handlers/javascript.rs: Analyze file ./website/src/playground/components/Resizable.tsx path="./website/src/playground/components/Resizable.tsx" path="./website/src/playground/components/Resizable.tsx" categories=RuleCategories(SYNTAX) 2023-10-05T08:29:04.879383Z INFO biome::worker_2 Process check:Processes formatting: crates/biome_service/src/file_handlers/javascript.rs: Format file ./website/src/playground/components/Resizable.tsx path="./website/src/playground/components/Resizable.tsx" path="./website/src/playground/components/Resizable.tsx"
Enhancements
- Deprecated the environment variable
ROME_BINARY
. UseBIOME_BINARY
instead. Contributed by @ematipico - Biome doesn't check anymore the presence of the
.git
folder when VCS support is enabled. Contributed by @ematipico biome rage
doesn't print the logs of the daemon, usebiome rage --daemon-logs
to print them. Contributed by @unvalley
Configuration
New features
-
Add option
formatter.indentWidth
, and deprecated the optionformatter.indentSize
. Contributed by @ematipico -
Add option
javascript.formatter.indentWidth
, and deprecated the optionjavascript.formatter.indentSize
. Contributed by @ematipico -
Add option
json.formatter.indentWidth
, and deprecated the optionjson.formatter.indentSize
. Contributed by @ematipico -
Add option
include
to multiple sections of the configurationfiles.include
;formatter.include
;linter.include
;organizeImports.include
;
Wheninclude
andignore
are both specified,ignore
takes precedence overinclude
-
Add option
overrides
, where users can modify the behaviour of the tools for certain files or paths.For example, it's possible to modify the formatter
lineWidth
, and evenquoteStyle
for certain files that are included in glob pathgenerated/**
:{ "formatter": { "lineWidth": 100 }, "overrides": [ { "include": ["generated/**"], "formatter": { "lineWidth": 160 }, "javascript": { "formatter": { "quoteStyle": "single" } } } ] }
Or, you can disable certain rules for certain path, and disable the linter for other paths:
{ "linter": { "enabled": true, "rules": { "recommended": true } }, "overrides": [ { "include": ["lib/**"], "linter": { "rules": { "suspicious": { "noDebugger": "off" } } } }, { "include": ["shims/**"], "linter": { "enabled": false } } ] }
Bug fixes
- Fix #343,
extends
was incorrectly applied to thebiome.json
file. Contributed by @ematipico
Editors
Bug fixes
-
Fix #404. Biome intellij plugin now works on Windows. Contributed by @victor-teles
-
Fix #402. Biome
format
on intellij plugin now recognize biome.json. Contributed by @victor-teles
Formatter
Enhancements
- Use
OnceCell
for the Memoized memory because that's what theRefCell<Option>
implemented. Contributed by @denbezrukov
Linter
Promoted rules
- complexity/noExcessiveCognitiveComplexity
- complexity/noVoid
- correctness/useExhaustiveDependencies
- correctness/useHookAtTopLevel
- performance/noAccumulatingSpread
- style/useCollapsedElseIf
- suspicious/noConfusingVoidType
- suspicious/noFallthroughSwitchClause
- suspicious/noGlobalIsFinite
- suspicious/noGlobalIsNan
- suspicious/useIsArray
The following rules are now recommended:
Bug fixes
- Fix #243 a false positive case where the incorrect scope was defined for the
infer
type. in rule noUndeclaredVariables. Contributed by @denbezrukov - Fix #322, now noSelfAssign correctly handles literals inside call expressions.
- Changed how noSelfAssign behaves. The rule is not triggered anymore on function calls. Contributed by @ematipico
New features
-
Add noEmptyCharacterClassInRegex rule. The rule reports empty character classes and empty negated character classes in regular expression literals. Contributed by @Conaclos
-
Add noMisleadingInstantiator rule. The rule reports the misleading use of the
new
andconstructor
methods. Contributed by @unvalley -
Add noUselessElse rule.
The rule reportselse
clauses that can be omitted because theirif
branches break.
Contributed by @Conaclos -
Add noUnusedImports rule.
The rule reports unused imports and suggests to remove them.
Contributed by @ConaclosnoUnusedVariables reports also unused imports, but don't suggest their removal.
Once [noUnusedI...
VSCode Extension v1.5.20231014
Analyzer
Enhancements
-
Import sorting is safe to apply now, and it will be applied when running
check --apply
instead ofcheck --apply-unsafe
. -
Import sorting now handles Bun imports
bun:<name>
, absolute path imports/<path>
, and Node's subpath imports#<name>
. See our documentation for more details. Contributed by @Conaclos
CLI
Bug fixes
- Fix #319. The command
biome lint
now shows the correct options. Contributed by @ematipico - Fix #312. Running
biome --version
now exits with status code0
instead of1
. Contributed by @nhedger - Fix a bug where the
extends
functionality doesn't carry overorganizeImports.ignore
. Contributed by @ematipico
New features
-
Add support for
BIOME_BINARY
environment variable to override the location of the binary. Contributed by @ematipico -
Add option
--indent-width
, and deprecated the option--indent-size
. Contributed by @ematipico -
Add option
--javascript-formatter-indent-width
, and deprecated the option--javascript-formatter-indent-size
. Contributed by @ematipico -
Add option
--json-formatter-indent-width
, and deprecated the option--json-formatter-indent-size
. Contributed by @ematipico -
Add option
--daemon-logs
tobiome rage
. The option is required to view Biome daemon server logs. Contributed by @unvalley -
Add support for logging. By default, Biome doesn't log anything other than diagnostics. Logging can be enabled with the new option
--log-level
:biome format --log-level=info ./src
There are four different levels of logging, from the most verbose to the least verbose:
debug
,info
,warn
anderror
. Here's how anINFO
log will look like:2023-10-05T08:27:01.954727Z INFO Analyze file ./website/src/playground/components/Resizable.tsx at crates/biome_service/src/file_handlers/javascript.rs:298 on biome::worker_5 in Pulling diagnostics with categories: RuleCategories(SYNTAX) in Processes formatting with path: "./website/src/playground/components/Resizable.tsx" in Process check with path: "./website/src/playground/components/Resizable.tsx"
You can customize how the log will look like with a new option
--log-kind
. The supported kinds are:pretty
,compact
andjson
.pretty
is the default logging. Here's how acompact
log will look like:2023-10-05T08:29:04.864247Z INFO biome::worker_2 Process check:Processes linting:Pulling diagnostics: crates/biome_service/src/file_handlers/javascript.rs: Analyze file ./website/src/playground/components/Resizable.tsx path="./website/src/playground/components/Resizable.tsx" path="./website/src/playground/components/Resizable.tsx" categories=RuleCategories(LINT) 2023-10-05T08:29:04.864290Z INFO biome::worker_7 Process check:Processes formatting: crates/biome_service/src/file_handlers/javascript.rs: Format file ./website/src/playground/components/Tabs.tsx path="./website/src/playground/components/Tabs.tsx" path="./website/src/playground/components/Tabs.tsx" 2023-10-05T08:29:04.879332Z INFO biome::worker_2 Process check:Processes formatting:Pulling diagnostics: crates/biome_service/src/file_handlers/javascript.rs: Analyze file ./website/src/playground/components/Resizable.tsx path="./website/src/playground/components/Resizable.tsx" path="./website/src/playground/components/Resizable.tsx" categories=RuleCategories(SYNTAX) 2023-10-05T08:29:04.879383Z INFO biome::worker_2 Process check:Processes formatting: crates/biome_service/src/file_handlers/javascript.rs: Format file ./website/src/playground/components/Resizable.tsx path="./website/src/playground/components/Resizable.tsx" path="./website/src/playground/components/Resizable.tsx"
Enhancements
- Deprecated the environment variable
ROME_BINARY
. Contributed by @ematipico - Biome doesn't check anymore the presence of the
.git
folder when VCS support is enabled. Contributed by @ematipico
Configuration
New features
- Add option
formatter.indentWidth
, and deprecated the optionformatter.indentSize
. Contributed by @ematipico - Add option
javascript.formatter.indentWidth
, and deprecated the optionjavascript.formatter.indentSize
. Contributed by @ematipico - Add option
json.formatter.indentWidth
, and deprecated the optionjson.formatter.indentSize
. Contributed by @ematipico - Add option
include
to multiple sections of the configurationfiles.include
;formatter.include
;linter.include
;organizeImports.include
;
Wheninclude
andignore
are both specified,ignore
takes precedence overinclude
Bug fixes
- Fix #343,
extends
was incorrectly applied to thebiome.json
file. Contributed by @ematipico
Editors
Bug fixes
-
Fix #404. Biome intellij plugin now works on Windows. Contributed by @victor-teles
-
Fix #402. Biome
format
on intellij plugin now recognize biome.json. Contributed by @victor-teles
Formatter
Enhancements
- Use
OnceCell
for the Memoized memory because that's what theRefCell<Option>
implemented. Contributed by @denbezrukov
JavaScript APIs
Linter
Bug fixes
- Fix #243 a false positive case where the incorrect scope was defined for the
infer
type. in rule noUndeclaredVariables. Contributed by @denbezrukov - Fix #322, now noSelfAssign correctly handles literals inside call expressions.
- Changed how noSelfAssign behaves. The rule is not triggered anymore on function calls. Contributed by @ematipico
New features
-
Add noEmptyCharacterClassInRegex rule. The rule reports empty character classes and empty negated character classes in regular expression literals. Contributed by @Conaclos
-
Add noMisleadingInstantiator rule. The rule reports the misleading use of the
new
andconstructor
methods. Contributed by @unvalley -
Add noUselessElse rule.
The rule reportselse
clauses that can be omitted because theirif
branches break.
Contributed by @Conaclos -
Add noUnusedImports rule.
The rule reports unused imports and suggests to remove them.
Contributed by @ConaclosnoUnusedVariables reports also unused imports, but don't suggest their removal.
Once noUnusedImports stabilized,
noUnusedVariables will not report unused imports. -
Add useShorthandAssign rule.
The rule enforce use of shorthand operators that combine variable assignment and some simple mathematical operations. For example, x = x + 4 can be shortened to x += 4.
Contributed by @victor-teles -
Add useAsConstAssertion rule.
The rule enforce use ofas const
assertion to infer literal types.
Contributed by @unvalley -
Add noMisrefactoredShorthandAssign rule.
The rule reports shorthand assigns when variable appears on both sides. For examplex += x + b
Contributed by @victor-teles
Enhancements
-
The following rules have now safe code fixes:
-
noUnusedLabels no longer reports unbreakable labeled statements. Contributed by @Conaclos
-
noUnusedVariables now reports unused TypeScript's type parameters. Contributed by @Conaclos
Bug fixes
-
Fix #294. noConfusingVoidType no longer reports false positives for return types. Contributed by @b4s36t4
-
Fix #313. noRedundantUseStrict now keeps leading comments.
-
Fix #383. noMultipleSpacesInRegularExpressionLiterals now provides correct code fixes when consecutive spaces are followed by a quantifier. Contributed by @Conaclos
-
Fix #397. useNumericLiterals now provides correct code fixes for signed numbers. Contributed by @Conaclos
-
Fix 452. The linter panicked when it met a malformed regex (a regex not ending with a slash).
-
Fix #104. We now correct...
VSCode Extension v1.5.20231006
Analyzer
Enhancements
- Import sorting is safe to apply now, and it will be applied when running
check --apply
instead ofcheck --apply-unsafe
.
CLI
Bug fixes
- Fix #319. The command
biome lint
now shows the correct options. Contributed by @ematipico - Fix #312. Running
biome --version
now exits with status code0
instead of1
. Contributed by @nhedger - Fix a bug where the
extends
functionality doesn't carry overorganizeImports.ignore
. Contributed by @ematipico
New features
-
Add support for
BIOME_BINARY
environment variable to override the location of the binary. Contributed by @ematipico -
Add option
--indent-width
, and deprecated the option--indent-size
. Contributed by @ematipico -
Add option
--javascript-formatter-indent-width
, and deprecated the option--javascript-formatter-indent-size
. Contributed by @ematipico -
Add option
--json-formatter-indent-width
, and deprecated the option--json-formatter-indent-size
. Contributed by @ematipico -
Add option
--daemon-logs
tobiome rage
. The option is required to view Biome daemon server logs. Contributed by @unvalley -
Add support for logging. By default, Biome doesn't log anything other than diagnostics. Logging can be enabled with the new option
--log-level
:biome format --log-level=info ./src
There are four different levels of logging, from the most verbose to the least verbose:
debug
,info
,warn
anderror
. Here's how anINFO
log will look like:2023-10-05T08:27:01.954727Z INFO Analyze file ./website/src/playground/components/Resizable.tsx at crates/biome_service/src/file_handlers/javascript.rs:298 on biome::worker_5 in Pulling diagnostics with categories: RuleCategories(SYNTAX) in Processes formatting with path: "./website/src/playground/components/Resizable.tsx" in Process check with path: "./website/src/playground/components/Resizable.tsx"
You can customize how the log will look like with a new option
--log-kind
. The supported kinds are:pretty
,compact
andjson
.pretty
is the default logging. Here's how acompact
log will look like:2023-10-05T08:29:04.864247Z INFO biome::worker_2 Process check:Processes linting:Pulling diagnostics: crates/biome_service/src/file_handlers/javascript.rs: Analyze file ./website/src/playground/components/Resizable.tsx path="./website/src/playground/components/Resizable.tsx" path="./website/src/playground/components/Resizable.tsx" categories=RuleCategories(LINT) 2023-10-05T08:29:04.864290Z INFO biome::worker_7 Process check:Processes formatting: crates/biome_service/src/file_handlers/javascript.rs: Format file ./website/src/playground/components/Tabs.tsx path="./website/src/playground/components/Tabs.tsx" path="./website/src/playground/components/Tabs.tsx" 2023-10-05T08:29:04.879332Z INFO biome::worker_2 Process check:Processes formatting:Pulling diagnostics: crates/biome_service/src/file_handlers/javascript.rs: Analyze file ./website/src/playground/components/Resizable.tsx path="./website/src/playground/components/Resizable.tsx" path="./website/src/playground/components/Resizable.tsx" categories=RuleCategories(SYNTAX) 2023-10-05T08:29:04.879383Z INFO biome::worker_2 Process check:Processes formatting: crates/biome_service/src/file_handlers/javascript.rs: Format file ./website/src/playground/components/Resizable.tsx path="./website/src/playground/components/Resizable.tsx" path="./website/src/playground/components/Resizable.tsx"
Enhancements
- Deprecated the environment variable
ROME_BINARY
. Contributed by @ematipico - Biome doesn't check anymore the presence of the
.git
folder when VCS support is enabled. Contributed by @ematipico
Configuration
New features
- Add option
formatter.indentWidth
, and deprecated the optionformatter.indentSize
. Contributed by @ematipico - Add option
javascript.formatter.indentWidth
, and deprecated the optionjavascript.formatter.indentSize
. Contributed by @ematipico - Add option
json.formatter.indentWidth
, and deprecated the optionjson.formatter.indentSize
. Contributed by @ematipico - Add option
include
to multiple sections of the configurationfiles.include
;formatter.include
;linter.include
;organizeImports.include
;
Wheninclude
andignore
are both specified,ignore
takes precedence overinclude
Editors
Bug fixes
-
Fix #404. Biome intellij plugin now works on Windows. Contributed by @victor-teles
-
Fix #402. Biome
format
on intellij plugin now recognize biome.json. Contributed by @victor-teles
Formatter
Enhancements
- Use
OnceCell
for the Memoized memory because that's what theRefCell<Option>
implemented. Contributed by @denbezrukov
JavaScript APIs
Linter
Bug fixes
- Fix #243 a false positive case where the incorrect scope was defined for the
infer
type. in rule noUndeclaredVariables. Contributed by @denbezrukov - Fix #322, now noSelfAssign correctly handles literals inside call expressions.
- Changed how noSelfAssign behaves. The rule is not triggered anymore on function calls. Contributed by @ematipico
New features
-
Add noEmptyCharacterClassInRegex rule. The rule reports empty character classes and empty negated character classes in regular expression literals. Contributed by @Conaclos
-
Add noMisleadingInstantiator rule. The rule reports the misleading use of the
new
andconstructor
methods. Contributed by @unvalley -
Add noUselessElse rule.
The rule reportselse
clauses that can be omitted because theirif
branches break.
Contributed by @Conaclos -
Add noUnusedImports rule.
The rule reports unused imports and suggests to remove them.
Contributed by @ConaclosnoUnusedVariables reports also unused imports, but don't suggest their removal.
Once noUnusedImports stabilized,
noUnusedVariables will not report unused imports. -
Add useShorthandAssign rule.
The rule enforce use of shorthand operators that combine variable assignment and some simple mathematical operations. For example, x = x + 4 can be shortened to x += 4.
Contributed by @victor-teles -
Add useAsConstAssertion rule.
The rule enforce use ofas const
assertion to infer literal types.
Contributed by @unvalley
Enhancements
-
The following rules have now safe code fixes:
-
noUnusedLabels no longer reports unbreakable labeled statements. Contributed by @Conaclos
-
noUnusedVariables now reports unused TypeScript's type parameters. Contributed by @Conaclos
Bug fixes
-
Fix #294. noConfusingVoidType no longer reports false positives for return types. Contributed by @b4s36t4
-
Fix #313. noRedundantUseStrict now keeps leading comments.
-
Fix #383. noMultipleSpacesInRegularExpressionLiterals now provides correct code fixes when consecutive spaces are followed by a quantifier. Contributed by @Conaclos
-
Fix #397. useNumericLiterals now provides correct code fixes for signed numbers. Contributed by @Conaclos
-
Fix 452. The linter panicked when it met a malformed regex (a regex not ending with a slash).
Parser
-
Enhance diagnostic for infer type handling in the parser. The 'infer' keyword can only be utilized within the 'extends' clause of a conditional type. Using it outside of this context will result in an error. Ensure that any type declarations using 'infer' are correctly placed within the conditional type structure to avoid parsing issues. Contributed by @denbezrukov
-
Add support for parsing trailing commas inside JSON files:
{ "json": { "parser": { "allowTrailingCommas": true } } }
Contributed by @nissy-dev
VSCode
What's Changed
Other changes
- chore: improve diagnostic message for `n...
Intellij Plugin v0.0.3
Analyzer
Enhancements
- Import sorting is safe to apply now, and it will be applied when running
check --apply
instead ofcheck --apply-unsafe
.
CLI
Bug fixes
-
Fix #319. The command
biome lint
now shows the correct options. Contributed by @ematipico -
Fix #312. Running
biome --version
now exits with status code0
instead of1
. Contributed by @nhedger
Configuration
Editors
Formatter
Enhancements
- Use
OnceCell
for the Memoized memory because that's what theRefCell<Option>
implemented. Contributed by @denbezrukov
JavaScript APIs
Linter
New features
-
Add noMisleadingInstantiator rule. The rule reports the misleading use of the
new
andconstructor
methods. Contributed by @unvalley -
Add noUselessElse rule.
The rule reportselse
clauses that can be omitted because theirif
branches break.
Contributed by @Conaclos
Enhancements
-
The following rules have now safe code fixes:
Bug fixes
- Fix #294. noConfusingVoidType no longer reports false positives for return types. Contributed by @b4s36t4
Parser
- Enhance diagnostic for infer type handling in the parser. The 'infer' keyword can only be utilized within the 'extends' clause of a conditional type. Using it outside of this context will result in an error. Ensure that any type declarations using 'infer' are correctly placed within the conditional type structure to avoid parsing issues. Contributed by @denbezrukov
VSCode
What's Changed
Other changes
- chore: upgrade prettier to v3 in website/playground by @DerTimonius in #311
- fix(cli): fix ci tests by @denbezrukov in #316
- ci: remove checks in bench workflows by @ematipico in #317
- docs: add recommended rules to the docs by @ematipico in #314
- refactor: rename
rome
tobiome
in js apis by @Vivalldi in #320 - docs: new guide on how to use biome in big projects by @ematipico in #318
- feat: basic class selector parsing by @ematipico in #307
- fix: rome to biome on big-projects page by @unvalley in #324
- fix(website): remove formatter options from biome lint by @unvalley in #325
- fix: code highlighting in playground by @DerTimonius in #328
- Change default complexity by @arendjr in #337
- chore: add governance by @ematipico in #288
- feat(editors/intellij): IntelliJ Platform LSP by @victor-teles in #185
- docs: add homebrew installation instructions by @nhedger in #329
- docs(website): include rule path in rule pages by @Vivalldi in #321
- fix(workflows): Update plugin version must export version by @victor-teles in #347
- fix(workflow): updated artifect name by @victor-teles in #349
- fix(intellij): updated release-lsp env variables by @victor-teles in #356
- docs(governance): fix typos by @nhedger in #357
- chore: remove
atty
by @ematipico in #363 - chore(governance): add lead by @Conaclos in #351
- docs(CONTRIBUTING): add
nhedger
to maintainers by @nhedger in #365 - chore: add unvalley to core contributors team by @unvalley in #371
- fix(workflow/release_lsp): added distributionFile parameter by @victor-teles in #370
- Fix/release lsp workflows by @victor-teles in #376
- fix(workflow/release_lsp): added missing double quotes by @victor-teles in #377
New Contributors
- @DerTimonius made their first contribution in #311
- @b4s36t4 made their first contribution in #309
- @arendjr made their first contribution in #337
Full Changelog: cli/v1.2.2...lsp-intellij/v0.0.3
VSCode Extension v1.4.2
What's Changed
- fix(formatter): suppress
default_constructed_unit_structs
on formatter generated code by @unvalley in #298 - docs: documentation for new configuration fields by @ematipico in #295
Full Changelog: cli/v1.2.1...lsp/v1.4.2