mirror of
https://github.com/oxc-project/oxc.git
synced 2026-11-04 10:29:58 +00:00
# Oxlint ### 🚀 Features -004647atrack_memory_allocs: Add allocation tracking for linter rules (#28470) (Cam McHenry) -419c1b0linter: Add allow and allowPattern options to react/capitalized-calls (Christian Vuerings) ### 🐛 Bug Fixes -a205cd3linter/eslint/no-control-regex: Detect raw control characters (#28548) (camc314) -7c65777linter/unicorn/prefer-global-this: Align typeof and worker API handling (#28549) (camc314) -987d5f1linter/unicorn/no-invalid-fetch-options: Avoid treating unknown methods as GET (#28547) (camc314) -e234dc8linter/unicorn/no-useless-error-capture-stack-trace: Move to suspicious category (#28545) (camc314) -b3dc411linter/typescript/no-non-null-asserted-nullish-coalescing: Move to suspicious category (#28546) (camc314) -cb64638regular_expression: Reject incomplete Unicode atom escapes (#28448) (Boshen) -c67167elinter: Only run React Compiler rules on files with top-level components or hooks (Boshen) -4c9d5aalinter: Treat Reanimated shared values as ref-like in React Compiler rules (Boshen) -61fe2aflinter/react: Ignore impure calls in async components in react/purity (Rahul Kashyap) -ed7df7dast/estree: Include comments in TS Program span (#28326) (camc314) -31cbe37linter: Make gitlab fingerprints unique per diagnostic (#28307) (camc314) ### ⚡ Performance -bb947dclinter: Skip numeric separator formatting for short integers (#28485) (Cam McHenry) -1043dfalinter: Avoid collecting prefer-const binding identifiers (#28484) (Cam McHenry) -7c93eeflinter: Reduce branches-sharing-code scratch allocations (#28483) (Cam McHenry) -c0065fdlinter: Allocate escape-case replacements only when needed (#28482) (Cam McHenry) -d837414linter: Lazily normalize capitalized-comments text (#28481) (Cam McHenry) -6baaad6linter: Avoid no-var binding identifier allocations (#28480) (Cam McHenry) -882053blinter: Skip read-only parameters in no-param-reassign (#28479) (Cam McHenry) -92deebflinter: Reduce no-unmodified-loop-condition allocations (#28478) (Cam McHenry) -f01d52dlinter: Reduce no-duplicate-case allocations (#28477) (Cam McHenry) -6a72d84linter: Reduce no-dupe-class-members allocations (#28476) (Cam McHenry) -77599eflinter: Reduce no-this-before-super allocations (#28475) (Cam McHenry) -2ea9f58linter/no-dupe-else-if: Use smallvec to reduce allocs (#28474) (Cam McHenry) -69f0204linter/react/rules-of-hooks: Reduce allocs (#28473) (Cam McHenry) -b138c20linter: Reduce allocs in no-dupe-keys (#28472) (Cam McHenry) -6f3e982linter: Avoid operator allocations in no-useless-length-check (#28471) (Cam McHenry) -fd68928react-compiler: Skip passes lint does not need (Yagiz Nizipli) -224f4ddlinter/eslint/sort-keys: Reserve initial capacity for string (#27624) (Cam McHenry) -e4e01a3linter/import/no-cycle: Compare visited modules by absolute resolved path (#27517) (Cam McHenry) -741b29blinter/import/no-cycle: Cache sorted module record snapshots (#27516) (Cam McHenry) -20022bblinter/import/no-cycle: Reuse traversal buffers between imports (#27481) (Cam McHenry) -fd5edb7linter/import/no-cycle: Reuse module records in diagnostic stack (#27480) (Cam McHenry) -73e877clinter/import/no-cycle: Don't allocate paths already seen (#27478) (Cam McHenry) -1515d53linter/react/forward-ref-uses-ref: Narrow forward-ref-uses-ref dispatch (#28367) (Cam McHenry) -ee51c01linter/react/no-string-refs: Narrow AST dispatch (#28366) (Cam McHenry) - bbfd692 linter/react/no-children-pop: Narrow AST dispatch (#28365) (Cam McHenry) -a86158blinter/unicorn/prefer-set-size: Narrow AST dispatch (#28364) (Cam McHenry) -a777fa6linter/eslint/no-iterator: Narrow member dispatch (#28363) (Cam McHenry) -bc5e94dlinter/eslint/no-extra-boolean-cast: Narrow AST dispatch (#28362) (Cam McHenry) -93c6e6dlinter/unicorn/no-useless-fallback-in-spread: Narrow AST dispatch (#28361) (Cam McHenry) -1a1f66elinter/typescript/no-this-alias: Narrow AST dispatch (#28360) (Cam McHenry) -b102a91linter/typescript/no-wrapper-object-types: Index references (#28359) (Cam McHenry) -dbd8a0blinter/eslint/no-unassigned-vars: Batch by declaration (#28358) (Cam McHenry) -1108352linter/typescript/prefer-as-const: Narrow AST dispatch (#28357) (Cam McHenry) -d65531flinter/eslint/no-const-assign: Batch by declaration (#28356) (Cam McHenry) -1ec9991linter/oxc/number-arg-out-of-range: Narrow AST dispatch (#28355) (Cam McHenry) -7a1243elinter/unicorn/no-invalid-fetch-options: Narrow AST dispatch (#28354) (Cam McHenry) -2ab73cclinter/unicorn/no-single-promise-in-promise-methods: Narrow AST dispatch (#28353) (Cam McHenry) -483c4c9linter/eslint/no-compare-neg-zero: Narrow no-compare-neg-zero dispatch (#28352) (Cam McHenry) -56c99c6linter/eslint/no-unsafe-negation: Narrow AST dispatch (#28351) (Cam McHenry) -84d974blinter/unicorn/prefer-string-starts-ends-with: Narrow AST dispatch (#28350) (Cam McHenry) -142ef4funicorn: Narrow no-await-in-promise-methods dispatch (#28349) (Cam McHenry) -a3dc7a2linter/unicorn/no-await-expression-member: Optimize AST dispatch (#28348) (Cam McHenry) -481b638linter/plugins: Create AST nodes with `Object.create` instead of `__proto__` literals (#27816) (Charles Wang) # Oxfmt ### 💥 BREAKING CHANGES -296623doxfmt: [**BREAKING**] Format `parser:html` files by `oxc_formatter_htmlish` (#28273) (Yuji Sugiura) ### 🚀 Features -336b2c1oxfmt: Support html-in-js templates closing a dynamic tag name (#28389) (Yuji Sugiura) -0a42af6formatter_htmlish: Format end tags of omitted `html`, `head` and `body` (#28388) (Yuji Sugiura) -44d8c2bformatter_htmlish: Implement HTML-ish formatter `Html` variant (#28272) (Yuji Sugiura) -36e5ddboxfmt: Add debug span for reading files (#28204) (leaysgur) ### 🐛 Bug Fixes -dbcc358formatter: Keep arrow conditional body parens before a leading `function`/`class` (#28710) (Yuji Sugiura) -fef809aformatter_htmlish: Handle XHTML (#28703) (leaysgur) -f3dd201formatter_htmlish: Keep SVG text under `xml:space="preserve"` as written (#28382) (Yuji Sugiura) -fb3aefaformatter: Keep source parens around html-in-js placeholders past comments (#28381) (Yuji Sugiura) -e738daeformatter: Quote keys added in an HTML event handler with single quotes (#28380) (Yuji Sugiura) -2e7a629oxfmt: Format HTML in a `<script>` body as an embedded part (#28379) (Yuji Sugiura) -f00862bformatter: Keep parens around a generic function type in a type assertion (#28173) (vidigoat) -9ead5c4formatter: Handle `this.b` and `super.b` like `foo.b` (#28200) (leaysgur) -72a54cfformatter: Break parens of `(a + b)[c]` like `(a + b).c` (#28199) (leaysgur) -b8f4f34formatter: Print `x.b` and `x.#b` samely (#28193) (leaysgur) -9ddccb7formatter: Keep parens for private field (#28188) (leaysgur) ### ⚡ Performance -b6f1ac9formatter_markdown: Bump parser to 0.0.4 and skip unread work (#28713) (leaysgur) -633ee96formatter_css: Use `u32` spans (#28708) (leaysgur) -f680ee1formatter_yaml: Use `multiline` flag for flow scalars (#28707) (leaysgur) -ff7c203formatter_css: Avoid repeated scans and allocations in values (#28706) (leaysgur) -7cd46cbformatter_htmlish: Search script end tags by `<` in embedded (#28704) (leaysgur) -46f8efdformatter_graphql: Print block string lines borrowed from the source (#28701) (leaysgur) -dce1485formatter_htmlish: Skip escaping attr values without the chosen quote (#28700) (leaysgur) -e9392c8formatter_core: Search line terminators with memchr (#28699) (leaysgur) -ceb26beformatter_htmlish: Use `char` to escape attr quotes (#28697) (leaysgur) -8239dacparser: Replace dragonbox_ecma with zmij_ecma (#28282) (Boshen) ### 📚 Documentation -303d9e8formatter: Strengthen `start-token-no-double-parens` rationale (#28711) (Yuji Sugiura) -a82ce83oxfmt: Update unclassified divergence (#28685) (Yuji Sugiura) -7f18c20formatter_htmlish: Note `class` and `srcset` are formatted with `embeddedLanguageFormatting: off` (#28465) (Yuji Sugiura) -01ed68aoxfmt,formatter_htmlish,formatter: Clean up behavior comments (#28384) (Yuji Sugiura) -a363c27formatter_css,formatter_yaml: Point parser citations at AGENTS.md (#28466) (Yuji Sugiura) -6586050formatter_core: Document tab width in text width policy (#28393) (leaysgur) -49fbffbformatter_core: Tighten FORMATTER_POLICY (#28206) (leaysgur)
92 lines
2.9 KiB
TOML
92 lines
2.9 KiB
TOML
[package]
|
|
name = "oxlint"
|
|
version = "1.91.0"
|
|
authors.workspace = true
|
|
categories.workspace = true
|
|
edition.workspace = true
|
|
homepage.workspace = true
|
|
keywords.workspace = true
|
|
license.workspace = true
|
|
publish = false
|
|
repository.workspace = true
|
|
rust-version.workspace = true
|
|
description.workspace = true
|
|
|
|
[lints]
|
|
workspace = true
|
|
|
|
[lib]
|
|
crate-type = ["cdylib", "lib"]
|
|
path = "src/lib.rs"
|
|
doctest = false
|
|
|
|
[[bin]]
|
|
name = "oxlint"
|
|
path = "src/main.rs"
|
|
test = false
|
|
doctest = false
|
|
|
|
[dependencies]
|
|
oxc_allocator = { workspace = true, features = ["fixed_size"] }
|
|
oxc_ast = { workspace = true }
|
|
oxc_ast_visit = { workspace = true, features = ["serialize"] }
|
|
oxc_config = { workspace = true }
|
|
oxc_diagnostics = { workspace = true }
|
|
oxc_estree_tokens = { workspace = true }
|
|
oxc_language_server = { workspace = true }
|
|
oxc_linter = { workspace = true }
|
|
oxc_napi = { workspace = true }
|
|
oxc_parser = { workspace = true }
|
|
oxc_semantic = { workspace = true }
|
|
oxc_span = { workspace = true }
|
|
oxc_str = { workspace = true }
|
|
|
|
bpaf = { workspace = true, features = ["autocomplete", "bright-color", "derive"] }
|
|
cow-utils = { workspace = true }
|
|
ignore = { workspace = true, features = ["simd-accel"] }
|
|
napi = { workspace = true, features = ["async"], optional = true }
|
|
tracing = { workspace = true }
|
|
napi-derive = { workspace = true, optional = true }
|
|
rayon = { workspace = true }
|
|
rustc-hash = { workspace = true }
|
|
schemars = { workspace = true }
|
|
serde = { workspace = true, features = ["derive"] }
|
|
serde_json = { workspace = true }
|
|
tempfile = { workspace = true }
|
|
tokio = { workspace = true, features = ["rt-multi-thread", "macros"] }
|
|
tracing-subscriber = { workspace = true, features = [] } # Omit the `regex` feature
|
|
tower-lsp-server = { workspace = true, features = ["url-fluent-uri"] }
|
|
|
|
[target.'cfg(not(any(target_os = "linux", target_os = "freebsd", target_arch = "arm", target_arch = "riscv64", target_family = "wasm")))'.dependencies]
|
|
mimalloc-safe = { workspace = true, optional = true, features = ["skip_collect_on_exit"] }
|
|
|
|
[target.'cfg(all(target_os = "linux", not(target_arch = "arm"), not(target_arch = "aarch64"), not(target_arch = "riscv64")))'.dependencies]
|
|
mimalloc-safe = { workspace = true, optional = true, features = [
|
|
"skip_collect_on_exit",
|
|
"local_dynamic_tls",
|
|
] }
|
|
|
|
[target.'cfg(all(target_os = "linux", target_arch = "aarch64"))'.dependencies]
|
|
mimalloc-safe = { workspace = true, optional = true, features = [
|
|
"skip_collect_on_exit",
|
|
"local_dynamic_tls",
|
|
"no_opt_arch",
|
|
] }
|
|
|
|
[build-dependencies]
|
|
napi-build = { workspace = true }
|
|
|
|
[dev-dependencies]
|
|
insta = { workspace = true }
|
|
lazy-regex = { workspace = true }
|
|
|
|
[features]
|
|
default = ["napi"]
|
|
napi = ["dep:napi", "dep:napi-derive"]
|
|
allocator = ["dep:mimalloc-safe"]
|
|
# For use in NAPI tests.
|
|
# - Enables test reporter.
|
|
# - Sorts file paths before linting if oxlint is run with `--threads 1`.
|
|
testing = ["oxc_linter/force_test_reporter"]
|
|
ruledocs = ["oxc_linter/ruledocs"]
|