Analyzer
Enhancements
- Implement css suppression action. Contributed by @togami2864
- Add support of comments in
turbo.json
. Contributed by @Netail
CLI
New features
- Add
--graphql-linter-enabled
option, to control whether the linter should enabled or not for GraphQL files. Contributed by @ematipico
Configuration
- Add support for loading configuration from
.editorconfig
files (#1724). Contributed by @dyc3
Configuration supplied in.editorconfig
will be overridden by the configuration inbiome.json
. Support is disabled by default and can be enabled by adding the following to your formatter configuration inbiome.json
:{ "formatter": { "useEditorconfig": true } }
Editors
Formatter
JavaScript APIs
Linter
Enhancements
-
noInvalidUseBeforeDeclaration now reports direct use of an enum member before its declaration.
In the following code,
A
is reported as use before its declaration.enum E { B = A << 1, A = 1, }
Contributed by @Conaclos
-
useFilenamingConvention now supports unicase letters.
unicase letters have a single case: they are neither uppercase nor lowercase.
Biome now accepts filenames in unicase.
For example, the filename안녕하세요
is now accepted.We still reject a name that mixes unicase characters with lowercase or uppercase characters.
For example, the filenameA안녕하세요
is rejected.This change also fixes #3353.
Filenames consisting only of numbers are now accepted.Contributed by @Conaclos
New features
- Add support for GraphQL linting. Contributed by @ematipico
Bug fixes
- Don't request alt text for elements hidden from assistive technologies (#3316). Contributed by @robintown
- Fix [#3149] crashes that occurred when applying the
noUselessFragments
unsafe fixes in certain scenarios. Contributed by @unvalley noExcessiveNestedTestSuites
: Fix another edge case where the rule would alert on heavily nested zod schemas. Contributed by @dyc3
New rules
-
Add nursery/noDynamicNamespaceImportAccess. Contributed by @minht11
-
noUndeclaredVariables n longer report a direct reference to an enum member (#2974).
In the following code, the
A
reference is no longer reported as an undeclared variable.enum E { A = 1, B = A << 1, }
Contributed by @Conaclos
Parser
Bug fixes
- Fix #3287 nested selectors with pseudo-classes. Contributed by @denbezrukov
- Fix #3349 allow CSS multiple ampersand support. Contributed by @denbezrukov
.class {
&& {
color: red;
}
}
What's Changed
Other changes
- feat(graphql_formatter): bootstrap GraphQL formatter by @denbezrukov in #3255
- fix(graphql_parser): parse object value in list by @vohoanglong0107 in #3315
- feat(graphql_formatter): implement BracketSpacing option by @denbezrukov in #3310
- feat(graphql_formatter): format interfaces with comments by @denbezrukov in #3322
- chore: fix typo in diagnostic comment by @polyomino24 in #3321
- feat(graphql_formatter): format StringValue #3319 by @denbezrukov in #3320
- fix(deps): update rust crates by @renovate in #3328
- chore(deps): update rust crate serde_json to 1.0.119 by @renovate in #3327
- chore(deps): update @biomejs packages by @renovate in #3326
- fix(deps): update dependency prettier to v3.3.2 by @renovate in #3329
- chore(deps): update dependency dprint to v0.47.0 by @renovate in #3267
- chore(deps): update pnpm to v9 by @renovate in #3331
- feat(analyzer): expose a method to retrieve a service on demand by @ematipico in #3286
- feat(editorconfig): reenable editorconfig support, add cli flag to disable it by @dyc3 in #3246
- fix(bench): better tracking for graphql benches by @ematipico in #3159
- chore: translate README.md to Hindi by @harshrathod50 in #3332
- chore(deps): update github-actions by @renovate in #3269
- chore: revert some change in the READMEs by @ematipico in #3335
- docs(governance): fix Discord link by @Conaclos in #3336
- feat(analyzer): update internal infra to account different rules by @ematipico in #3275
- test(editorconfig): additional tests for editorconfig support by @dyc3 in #3219
- chore(deps): update rust crate proc-macro2 to 1.0.86 by @renovate in #3268
- chore(graphql_formatter): performance tests by @denbezrukov in #3323
- feat: support eslint config .eslintrc on migrate by @ArvinQi in #3342
- refactor(js_semantic): use u32 for scope id by @Conaclos in #3358
- feat(graphql_analyze): noDuplicatedFields by @vohoanglong0107 in #3308
- chore(deps): update rust crate serde_json to 1.0.120 by @renovate in #3376
- chore(deps): update rust crate serde to 1.0.204 - autoclosed by @renovate in #3375
- chore(deps): update github-actions by @renovate in #3374
- fix(deps): update rust crates by @renovate in #3377
- chore(deps): update @biomejs packages by @renovate in #3371
- chore(deps): update dependency dprint to v0.47.1 by @renovate in #3372
- ci: update GraphQL cli snapshot by @Conaclos in #3381
- ci(repository_dispatch): fix action by @Conaclos in #3384
- refactor(js_semantic): use trimmed range to identify scopes and bindings by @Conaclos in #3385
- refactor(codegen): call kind src function instead by @dyc3 in #3382
- refactor(js_semantic): separate binding and scope nodes by @Conaclos in #3387
- refactor(js_semantic): remove dead code by @Conaclos in #3388
- ci: update macos image by @ematipico in #3390
New Contributors
- @polyomino24 made their first contribution in #3321
- @drdaemos made their first contribution in #3274
- @harshrathod50 made their first contribution in #3332
- @robintown made their first contribution in #3324
- @ArvinQi made their first contribution in #3342
Full Changelog: cli/v1.8.3...cli/v1.8.4-nightly.a579bf7