Analyzer
Bug fixes
- Fix CSS parser case error,
@-moz-document url-prefix(https://example.com)
and@-moz-document domain(example.com)
are now valid. Contributed by @eryue0220 - Fix #4258, where fixed css parse error with @-moz-document url-prefix(). Contributed by @eryue0220
Linter
New features
-
Add noUselessUndefined. Contributed by @unvalley
-
useFilenamingConvention accepts a new option
match
(#4105).You can now validate filenames with a regular expression.
For instance, you can allow filenames to start with%
:{ "linter": { "rules": { "style": { "useFilenamingConvention": { "level": "warn", "options": { "match": "%?(.+?)[.](.+)", "filenameCases": ["camelCase"] } } } } } }
If the regular expression captures strings, the first capture is considered to be the name of the file, and the second one to be the extensions (dot-separated values).
The name of the file and the extensions are checked againstfilenameCases
.
Given the previous configuration, the filename%index.d.ts
is valid because the first captureindex
is incamelCase
and the second captured.ts
include dot-separated values inlowercase
.
On the other hand,%Index.d.ts
is not valid because the first captureIndex
is inPascalCase
.Note that specifying
match
disallows any exceptions that are handled by the rule by default.
For example, the previous configuration doesn't allow filenames to be prefixed with underscores,
a period or a plus sign.
You need to include them in the regular expression if you still want to allow these exceptions.Contributed by @Conaclos
-
useFilenamingConvention and useNamingConvention
match
options now accept case-insensitive and case-sensitive groups.By default, the regular expression in
match
is case-sensitive.
You can now make it case-insensitive by using a case-insensitive group(?i:)
.
For example, the regular expression(?i:a)
matchesa
andA
.Contributed by @Conaclos
Parser
Bug fixes
-
Fix #4317, setter parameter can contain a trailing comma, the following example will now parsed correctly:
export class DummyClass { set input( value: string, ) {} }
Contributed by @fireairforce
-
Fix #3836, css parser allow multiple semicolons after a declaration, the following example will now parsed correctly:
.foo { color: red;; }
Contributed by @fireairforce
What's Changed
Other changes
- refactor(contributing): update Releasing section by @Conaclos in #4325
- feat(format/grit): add logic for formatting with separators and other predicates by @branberry in #4327
- build: upgrade to rust 1.82.0 by @unvalley in #4341
- chore(deps): update rust crate anyhow to 1.0.90 by @renovate in #4348
- feat: flag to suppress existing diagnostics by @anthonyshew in #4008
- feat(lint/noPrototypeBuiltins): add code fix action and cover scenarios from
prefer-object-has-own
by @kaioduarte in #3997 - chore(deps): update rust:1.81.0 docker digest to 7b7f7ae by @renovate in #4344
- chore(deps): update @biomejs packages by @renovate in #4345
- chore(deps): update dependency dprint to v0.47.4 by @renovate in #4346
- chore(deps): update pnpm to v9.12.2 by @renovate in #4347
- chore(deps): update rust crate serde_json to 1.0.132 by @renovate in #4351
- feat(organize_import): utilities for ordering import sources by @Conaclos in #4313
- docs(useAtIndex): fix typo chatAt -> charAt by @GeniusTimo in #4363
- feat(organize_import): move legacy code to a deidicated module an dintroduce restricted globs by @Conaclos in #4357
New Contributors
- @GeniusTimo made their first contribution in #4363
Full Changelog: cli/v1.9.4...cli/v1.9.5-nightly.92879ae