You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
#29597a1e207 Thanks @stipsan! - Add outDir: "${configDir}/dist" to the recommended preset
Emitting to dist is already the default in @sanity/pkg-utils and tsdown, but every repo extending these presets had to repeat it in their own tsconfig. Since ${configDir} resolves to the directory of the tsconfig that extends the preset, output now lands in the dist folder next to your package.json by default, and the manual declaration can be removed:
#3029b50944c Thanks @stipsan! - Relax the tsdown peer dependency from an exact pin (0.22.5) to a range (^0.22.5), so newer tsdown patch releases like 0.22.7 no longer trigger unresolved peer dependency warnings on install.
#3027a16513b Thanks @stipsan! - Only enable devExports: true by default when the project package manager is detected as pnpm, preventing npm and other package managers from publishing source-only exports.
#3017e73018a Thanks @stipsan! - feat: expose tsdown's top-level target option, passed through as-is like format, dts and define. It downlevels JS syntax for the given runtimes and doubles as the default CSS syntax lowering target when vanillaExtract is enabled
#3017e73018a Thanks @stipsan! - feat: the vanillaExtract option is now powered by @sanity/vanilla-extract-tsdown-plugin instead of @vanilla-extract/rollup-plugin, so enabling it no longer pulls rollup (a peer dependency of the rollup plugin) into tsdown projects. The alpha vanillaExtract options are now modeled after the css options of @tsdown/css: extract.name is now fileName, browserslist is now the esbuild-style target (defaulting to tsdown's top-level target when it includes browsers, then @sanity/browserslist-config), extract.compatMode is now inject: {nodeCompat: true} (the default here - inject: true injects a plain relative CSS import instead), and CSS sourcemaps (extract.sourcemap) are no longer emitted, aligned with @tsdown/css. The cwd, esbuildOptions and unstable_injectFilescopes options have been removed
#3017e73018a Thanks @stipsan! - feat: forward tsdown's exports option with the Sanity defaults documented on PackageOptions (enabled: 'local-only' and devExports: true), applied with tsdown's mergeConfig semantics: an object deep-merges over the defaults, while any other value (false, a bare CI condition) replaces them. The tsconfig option no longer defaults to 'tsconfig.json' and is forwarded as-is, since tsdown auto-detects the project tsconfig. Options that aren't exposed on PackageOptions can be customized by merging over the returned config with tsdown's mergeConfig, now documented in the README
#3021acf844f Thanks @stipsan! - Rely on tsdown's default hashed chunk filenames ([name]-[hash].<ext>) instead of setting hash: false and emitting shared chunks into _chunks-es, _chunks-cjs and _chunks-dts folders.
The hash suffix keeps a shared (non-entry) chunk from ever taking an entry's filename, which is what the _chunks-* folders were guarding against: code shared between two entries forms a chunk that rolldown may name after one of the entries (e.g. theme), and without the hash the d.ts output could hand the entry's theme.d.ts filename to the chunk - which exports everything under minified aliases - breaking every named import from that entry with TS2460 (see sanity-io/ui#2262). Entries keep their stable, unhashed filenames, so public import paths are unaffected; only the internal chunk filenames change (e.g. _chunks-es/theme.js becomes theme-CYP9-xTb.js).
Opting out of the hashing is possible by merging {hash: false} over the returned config with tsdown's mergeConfig (at the risk of reintroducing the filename collision on multi-entry packages, unless outputOptions.chunkFileNames keeps chunks away from the entries).
Patch Changes
#301899bd418 Thanks @stipsan! - Remove outputOptions.hoistTransitiveImports: false, the option is not implemented in rolldown and has no effect
#29789caf824 Thanks @stipsan! - feat: support TypeScript 7 (the Go-native compiler), require TypeScript 6 or later
BREAKING: the typescript peer dependency range is now 6.x || 7.x — TypeScript 5.x is no longer supported. TypeScript 7 is not required yet, but 6.0 is the new minimum.
The classic JS compiler API (used for parsing tsconfig.json and the api-extractor dts pipeline) is now always loaded from the official @typescript/typescript6 compat package (a regular dependency), since TypeScript 7 no longer ships it. The installed typescript peer no longer affects that pipeline.
dts: 'rolldown' upgrades to rolldown-plugin-dts 0.27.x: with typescript v7 installed, type generation automatically uses the Go-native compiler (tsgo) from the typescript package itself, without needing @typescript/native-preview. With v6, the previous behavior is unchanged (tsgo is opt-in via the tsgo option or @typescript/native-preview in devDependencies, and tsgo: false still opts out).
#2967b5d524e Thanks @stipsan! - Emit shared (non-entry) chunks into _chunks-es, _chunks-cjs and _chunks-dts folders, following the same naming convention as @sanity/pkg-utils, instead of placing them at the root of dist next to the entries.
A chunk could otherwise take an entry's filename: code shared between two entries forms a chunk that rolldown may name after one of the entries (e.g. theme). The JS output deduplicates such filename collisions in favor of the entry, but the d.ts output could resolve them the other way around, handing the entry's .d.ts filename to the chunk - which exports everything under minified aliases like buildTheme as x - so every named import from that entry failed to type-check with TS2460 (see sanity-io/ui#2262). With chunks emitted into their own folders they can never collide with entry filenames.
#2961c32c11d Thanks @stipsan! - Add dts and define options, passed through to tsdown as-is.
The dts option customizes how .d.ts files are generated, for example to use tsgo for type generation (the same feature as the tsgo option in @sanity/pkg-utils, requires @typescript/native-preview to be installed):
#2937cfa9845 Thanks @stipsan! - feat: add the vanillaExtract option known from @sanity/pkg-utils
Enables @vanilla-extract/rollup-plugin to extract CSS from .css.ts files into a separate file that is optimized with lightningcss. Like in @sanity/pkg-utils, the compat mode (on by default) automatically injects the self-referential import "<pkg>/bundle.css" into the entry chunk, emits a no-op bundle.css.js shim (plus bundle.css.d.ts) for runtimes that cannot import .css files, and writes the conditional "./bundle.css" export (browser/style → the real CSS, node/default → the shim) to package.json.
The feature is fully opt-in: neither @vanilla-extract/rollup-plugin nor the CSS toolchain (lightningcss, browserslist) is loaded unless vanillaExtract is enabled.
It runs babel-plugin-react-compiler on the source files before they are bundled, so published components are memoized automatically. Pass an object instead of true to configure the compiler with the same options as babel-plugin-react-compiler (e.g. reactCompiler: {target: '18'}). Requires babel-plugin-react-compiler to be installed.
It applies the styled-components transform (adding displayName for better debugging, componentId to avoid SSR hydration mismatches, and minifying the CSS in tagged template literals) with the same defaults as @sanity/pkg-utils. Unlike @sanity/pkg-utils it doesn't require installing babel-plugin-styled-components, as it uses oxc's native port of the babel plugin. Pass an object instead of true to customize the transform with the same options as babel-plugin-styled-components.
Tree-shaking no longer sets the equivalent of moduleSideEffects: 'no-external' and instead relies on the bundler's default (moduleSideEffects: true). Previously, binding-less side-effect imports of external package subpaths — e.g. import 'react-time-ago/locale/en' — were stripped from the output, breaking consumers that depended on those side effects. package.jsonsideEffects fields are still honored for bundled modules, so dead-code elimination is unaffected.
Global sequence.concurrent: true with top-level test(..., { concurrent: false }) + depreacte sequential test API and options - by @hi-ogawa, Codex and @sheremet-va in #10196(2847d)
web-worker: Support MessagePort objects referenced inside postMessage data - by @whitphx and Claude Opus 4.6 (1M context) in #9927 and #10124(7ad7d)
Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.
This PR includes no changesets
When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types
Next steps: Take a moment to review the security alert above. Review
the linked package source code to understand the potential risk. Ensure the
package is not malicious before proceeding. If you're unsure how to proceed,
reach out to your security team or ask the Socket team for help at
support@socket.dev.
Suggestion: Packages should not obfuscate their code. Consider not using packages with obfuscated code.
Mark the package as acceptable risk. To ignore this alert only
in this pull request, reply with the comment
@SocketSecurity ignore npm/@emnapi/runtime@1.11.1. You can
also ignore all packages with @SocketSecurity ignore-all.
To ignore an alert for all future pull requests, use Socket's Dashboard to
change the triage state of this alert.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
^0.6.0→^0.7.0^2.30.0→^2.31.0^2.1.0→^2.2.02.2.1^0.5.8→^0.14.20.19.0(+6)^24.12.2→^24.13.3^4.1.2→^4.1.10^0.44.0→^0.59.0^1.59.0→^1.74.0^0.20.0→^0.24.04f9cc66→84c30a84d2d3a0→a311e91^0.21.7→^0.22.70.22.8^0.28.18→^0.28.20^4.1.2→^4.1.10Release Notes
changesets/changesets (@changesets/changelog-github)
v0.7.0Compare Source
Minor Changes
94578cfThanks @Kauhsa! - AddeddisableThanksoptionsanity-io/pkg-utils (@sanity/tsconfig)
v2.2.0Compare Source
Minor Changes
#2959
7a1e207Thanks @stipsan! - AddoutDir: "${configDir}/dist"to therecommendedpresetEmitting to
distis already the default in@sanity/pkg-utilsandtsdown, but every repo extending these presets had to repeat it in their own tsconfig. Since${configDir}resolves to the directory of the tsconfig that extends the preset, output now lands in thedistfolder next to yourpackage.jsonby default, and the manual declaration can be removed:{ "extends": "@​sanity/tsconfig/strictest", - "compilerOptions": { - "outDir": "${configDir}/dist" - } }sanity-io/pkg-utils (@sanity/tsdown-config)
v0.14.2Compare Source
Patch Changes
#3026
04a6206Thanks @squiggler-app! - fix(deps): update dependency tsdown to ^0.22.7Updated dependencies [
04a6206]:v0.14.1Compare Source
Patch Changes
#3029
b50944cThanks @stipsan! - Relax thetsdownpeer dependency from an exact pin (0.22.5) to a range (^0.22.5), so newertsdownpatch releases like0.22.7no longer trigger unresolved peer dependency warnings on install.#3027
a16513bThanks @stipsan! - Only enabledevExports: trueby default when the project package manager is detected as pnpm, preventing npm and other package managers from publishing source-only exports.v0.14.0Compare Source
Minor Changes
#3017
e73018aThanks @stipsan! - feat: expose tsdown's top-leveltargetoption, passed through as-is likeformat,dtsanddefine. It downlevels JS syntax for the given runtimes and doubles as the default CSS syntax lowering target whenvanillaExtractis enabled#3017
e73018aThanks @stipsan! - feat: thevanillaExtractoption is now powered by@sanity/vanilla-extract-tsdown-plugininstead of@vanilla-extract/rollup-plugin, so enabling it no longer pullsrollup(a peer dependency of the rollup plugin) into tsdown projects. The alphavanillaExtractoptions are now modeled after thecssoptions of@tsdown/css:extract.nameis nowfileName,browserslistis now the esbuild-styletarget(defaulting to tsdown's top-leveltargetwhen it includes browsers, then@sanity/browserslist-config),extract.compatModeis nowinject: {nodeCompat: true}(the default here -inject: trueinjects a plain relative CSS import instead), and CSS sourcemaps (extract.sourcemap) are no longer emitted, aligned with@tsdown/css. Thecwd,esbuildOptionsandunstable_injectFilescopesoptions have been removed#3017
e73018aThanks @stipsan! - feat: forward tsdown'sexportsoption with the Sanity defaults documented onPackageOptions(enabled: 'local-only'anddevExports: true), applied with tsdown'smergeConfigsemantics: an object deep-merges over the defaults, while any other value (false, a bare CI condition) replaces them. Thetsconfigoption no longer defaults to'tsconfig.json'and is forwarded as-is, since tsdown auto-detects the project tsconfig. Options that aren't exposed onPackageOptionscan be customized by merging over the returned config with tsdown'smergeConfig, now documented in the README#3021
acf844fThanks @stipsan! - Rely on tsdown's default hashed chunk filenames ([name]-[hash].<ext>) instead of settinghash: falseand emitting shared chunks into_chunks-es,_chunks-cjsand_chunks-dtsfolders.The hash suffix keeps a shared (non-entry) chunk from ever taking an entry's filename, which is what the
_chunks-*folders were guarding against: code shared between two entries forms a chunk that rolldown may name after one of the entries (e.g.theme), and without the hash the d.ts output could hand the entry'stheme.d.tsfilename to the chunk - which exports everything under minified aliases - breaking every named import from that entry withTS2460(see sanity-io/ui#2262). Entries keep their stable, unhashed filenames, so public import paths are unaffected; only the internal chunk filenames change (e.g._chunks-es/theme.jsbecomestheme-CYP9-xTb.js).Opting out of the hashing is possible by merging
{hash: false}over the returned config with tsdown'smergeConfig(at the risk of reintroducing the filename collision on multi-entry packages, unlessoutputOptions.chunkFileNameskeeps chunks away from the entries).Patch Changes
#3018
99bd418Thanks @stipsan! - RemoveoutputOptions.hoistTransitiveImports: false, the option is not implemented in rolldown and has no effectUpdated dependencies [
e73018a]:v0.13.1Compare Source
Patch Changes
#3008
abd8c07Thanks @squiggler-app! - fix(deps): update dependency @vanilla-extract/rollup-plugin to ^1.5.4#3015
d619032Thanks @squiggler-app! - fix(deps): update dependency tsdown to v0.22.5v0.13.0Compare Source
Minor Changes
#2978
9caf824Thanks @stipsan! - feat: support TypeScript 7 (the Go-native compiler), require TypeScript 6 or laterBREAKING: the
typescriptpeer dependency range is now6.x || 7.x— TypeScript 5.x is no longer supported. TypeScript 7 is not required yet, but 6.0 is the new minimum.tsconfig.jsonand theapi-extractordts pipeline) is now always loaded from the official@typescript/typescript6compat package (a regular dependency), since TypeScript 7 no longer ships it. The installedtypescriptpeer no longer affects that pipeline.dts: 'rolldown'upgrades torolldown-plugin-dts0.27.x: withtypescriptv7 installed, type generation automatically uses the Go-native compiler (tsgo) from thetypescriptpackage itself, without needing@typescript/native-preview. With v6, the previous behavior is unchanged (tsgois opt-in via thetsgooption or@typescript/native-previewindevDependencies, andtsgo: falsestill opts out).v0.12.1Compare Source
Patch Changes
#2979
cc771d2Thanks @squiggler-app! - fix(deps): update dependency vitest to ^4.1.10#2987
9fe5a25Thanks @squiggler-app! - fix(deps): update dependency tsdown to v0.22.3#2990
f067d9aThanks @squiggler-app! - fix(deps): update dependency browserslist to ^4.28.5v0.12.0Compare Source
Minor Changes
#2967
b5d524eThanks @stipsan! - Emit shared (non-entry) chunks into_chunks-es,_chunks-cjsand_chunks-dtsfolders, following the same naming convention as@sanity/pkg-utils, instead of placing them at the root ofdistnext to the entries.A chunk could otherwise take an entry's filename: code shared between two entries forms a chunk that rolldown may name after one of the entries (e.g.
theme). The JS output deduplicates such filename collisions in favor of the entry, but the d.ts output could resolve them the other way around, handing the entry's.d.tsfilename to the chunk - which exports everything under minified aliases likebuildTheme as x- so every named import from that entry failed to type-check withTS2460(see sanity-io/ui#2262). With chunks emitted into their own folders they can never collide with entry filenames.v0.11.0Compare Source
Minor Changes
#2961
c32c11dThanks @stipsan! - Adddtsanddefineoptions, passed through totsdownas-is.The
dtsoption customizes how.d.tsfiles are generated, for example to usetsgofor type generation (the same feature as thetsgooption in@sanity/pkg-utils, requires@typescript/native-previewto be installed):The
defineoption replaces global identifiers with constant expressions at build time (the same feature as thedefineoption in@sanity/pkg-utils):v0.10.0Compare Source
Minor Changes
#2937
cfa9845Thanks @stipsan! - feat: add thevanillaExtractoption known from@sanity/pkg-utilsEnables
@vanilla-extract/rollup-pluginto extract CSS from.css.tsfiles into a separate file that is optimized withlightningcss. Like in@sanity/pkg-utils, the compat mode (on by default) automatically injects the self-referentialimport "<pkg>/bundle.css"into the entry chunk, emits a no-opbundle.css.jsshim (plusbundle.css.d.ts) for runtimes that cannot import.cssfiles, and writes the conditional"./bundle.css"export (browser/style→ the real CSS,node/default→ the shim) topackage.json.The feature is fully opt-in: neither
@vanilla-extract/rollup-pluginnor the CSS toolchain (lightningcss,browserslist) is loaded unlessvanillaExtractis enabled.v0.9.0Compare Source
Minor Changes
#2954
ec35d61Thanks @stipsan! - AddreactCompileroption, the same feature asbabel: {reactCompiler: true}in@sanity/pkg-utils.It runs
babel-plugin-react-compileron the source files before they are bundled, so published components are memoized automatically. Pass an object instead oftrueto configure the compiler with the same options asbabel-plugin-react-compiler(e.g.reactCompiler: {target: '18'}). Requiresbabel-plugin-react-compilerto be installed.v0.8.0Compare Source
Minor Changes
#2953
fd85068Thanks @stipsan! - AddstyledComponentsoption, the same feature asbabel: {styledComponents: true}in@sanity/pkg-utils.It applies the
styled-componentstransform (addingdisplayNamefor better debugging,componentIdto avoid SSR hydration mismatches, and minifying the CSS in tagged template literals) with the same defaults as@sanity/pkg-utils. Unlike@sanity/pkg-utilsit doesn't require installingbabel-plugin-styled-components, as it uses oxc's native port of the babel plugin. Pass an object instead oftrueto customize the transform with the same options asbabel-plugin-styled-components.v0.7.3Compare Source
Patch Changes
#2934
d6cfe32Thanks @stipsan! - fix: preserve side-effect-only imports of external packagesTree-shaking no longer sets the equivalent of
moduleSideEffects: 'no-external'and instead relies on the bundler's default (moduleSideEffects: true). Previously, binding-less side-effect imports of external package subpaths — e.g.import 'react-time-ago/locale/en'— were stripped from the output, breaking consumers that depended on those side effects.package.jsonsideEffectsfields are still honored for bundled modules, so dead-code elimination is unaffected.v0.7.2Compare Source
Patch Changes
#2828
66b1028Thanks @renovate! - fix(deps): update dependency tsdown to v0.22.2Updated dependencies [
66b1028]:v0.7.1Compare Source
Patch Changes
#2810
370f616Thanks @renovate! - fix(deps): update dependency tsdown to v0.22.1Updated dependencies [
370f616]:v0.7.0Compare Source
Minor Changes
92c6121Thanks @copilot-swe-agent! - feat(deps): Upgrade tsdown peer dependency to 0.22.xPatch Changes
60f10ad]:v0.6.1Compare Source
Patch Changes
#2755
a2246f5Thanks @renovate! - fix(deps): update dependency tsdown to v0.21.10Updated dependencies [
a2246f5]:v0.6.0Compare Source
Minor Changes
a630af5Thanks @copilot-swe-agent! - Upgradetsdownpeer dependency from0.20.xto0.21.xPatch Changes
vitest-dev/vitest (@vitest/coverage-v8)
v4.1.10Compare Source
🐞 Bug Fixes
View changes on GitHub
v4.1.9Compare Source
🐞 Bug Fixes
importOriginalwith optimizer and query import [backport to v4] - by Hiroshi Ogawa, David Harris, Codexand Vladimir in #10546 (a5180)View changes on GitHub
v4.1.8Compare Source
🐞 Bug Fixes
cdpAPI whenallowWrite/allowExec: false[backport to v4] - by @hi-ogawa and Codex in #10450 (e4067)View changes on GitHub
v4.1.7Compare Source
🐞 Bug Fixes
View changes on GitHub
v4.1.6Compare Source
🐞 Bug Fixes
ToMatchScreenshotResolvePath- by @macarie and @sheremet-va in #10138 (31882)sequence.concurrent: truewith top-leveltest(..., { concurrent: false })+ depreactesequentialtest API and options - by @hi-ogawa, Codex and @sheremet-va in #10196 (2847d)🏎 Performance
View changes on GitHub
v4.1.5Compare Source
🚀 Experimental Features
instrumenteroption - by @BartWaardenburg and @AriPerkkio in #10119 (0e0ff)🐞 Bug Fixes
vi.defineHelpercalled as object method - by @hi-ogawa in #10163 (122c2)agentreporter tominimal- by @sheremet-va in #10157 (663b9)View changes on GitHub
v4.1.4Compare Source
🚀 Features
skipFullif agent detected - by @hi-ogawa in #10018 (53757)assertionas a public field - by @sheremet-va in #10095 (a120e)🐞 Bug Fixes
expect(..., message)consistent as error message prefix - by @hi-ogawa and Codex in #10068 (a1b5f)View changes on GitHub
oxc-project/oxc (oxfmt)
v0.59.0Compare Source
🐛 Bug Fixes
415fe1eoxfmt: Error on ignorePatterns that cannot match files outside the config directory (#24286) (leaysgur)v0.58.0Compare Source
v0.57.0Compare Source
v0.56.0Compare Source
v0.55.0Compare Source
🚀 Features
9a2788blinter/unicorn: Implementprefer-export-fromrule (#22935) (AliceLanniste)v0.54.0Compare Source
📚 Documentation
dadafe3oxlint, oxfmt: Mention migrate skills in npm READMEs (#22965) (Boshen)f88961aoxfmt: Annotate each config option with supported languages (#22953) (leaysgur)v0.53.0Compare Source
v0.52.0Compare Source
🚀 Features
16b8058oxfmt: Supportvite-plus/resolveConfigfor vite.config.ts (#22454) (leaysgur)v0.51.0Compare Source
v0.50.0Compare Source
🐛 Bug Fixes
43b9978formatter/sort_imports: Treat subpath imports as internal (#22440) (leaysgur)v0.49.0Compare Source
🚀 Features
6e8e818oxfmt: Experimental .svelte support (#21700) (leaysgur)v0.48.0Compare Source
v0.47.0Compare Source
v0.46.0Compare Source
v0.45.0Compare Source
🐛 Bug Fixes
50c389boxfmt: Support.editorconfigquote_type(#20989) (leaysgur)oxc-project/oxc (oxlint)
v1.74.0Compare Source
🚀 Features
0433a83linter/eslint/no-inner-declarations: Addnamespacesoption (#24044) (Boshen)🐛 Bug Fixes
8337835linter: Error onignorePatternsthat cannot match files aoutside the config directory (#24341) (leaysgur)2ce5a33linter: ResolveignorePatternsrelative to the config dir (#24339) (leaysgur)⚡ Performance
7f80caclinter/vue/prop-name-casing: PrecompileignorePropsregex pattern (#24413) (connorshea)6272051linter/typescript/no-require-imports: Compile allow patterns once (#24417) (connorshea)33805b9linter/jsdoc/require-param: Compile checkTypesPattern regex once (#24420) (connorshea)v1.73.0Compare Source
🚀 Features
a2c97f3linter/unicorn: Implementexplicit-timer-delayrule (#23612) (Mikhail Baev)85735cblinter/unicorn: Implementno-confusing-array-withrule (#23638) (Shekhucb4fbb9linter/eslint: Implement no-unreachable-loop rule (#23975) (Todor Andonov)dc32112linter/eslint/no-constant-binary-expression: Check relational comparisons (#24088) (camc314)d963967linter/unicorn/no-array-sort: AddallowAfterSpreadoption (#24043) (Boshen)0a75682linter: Add per-rule timings for type-aware linting (#22488) (camchenry)743e222linter/react: AdddisallowedValuesoption forforbid-dom-propsrule (#23970) (Mikhail Baev)🐛 Bug Fixes
bdb51c7linter/jest/prefer-ending-with-an-expect: Validate config patterns (#24122) (camc314)45d607dlinter/react/forbid-component-props: Make allow/disallow lists optional in schema (#24024) (Boshen)v1.72.0Compare Source
🚀 Features
1c8f50clinter: Add schema foreslint/no-restricted-import(#23642) (Sysix)🐛 Bug Fixes
742be36refactor/node/handle-callback-err: Reject invalid regex config (#23740) (camc314)v1.71.0Compare Source
🚀 Features
0dc2405linter: Add schema foreslint/no-restricted-properties(#23619) (Sysix)b638d0elinter: Add schema fornode/callback-return(#23615) (Sysix)eb8bedclinter: Add schema forimport/extensions(#23557) (WaterWhisperer)46f3625linter: Implement node/no-sync rule (#23589) (fujitani sora)b01739alinter: Add schema forunicorn/numeric-separators-style(#23554) (Mikhail Baev)68afd2alinter/node: Implementno-mixed-requiresrule (#23539) (fujitani sora)a421215linter: Add schema foreslint/prefer-destructuring(#23410) (WaterWhisperer)84438belinter/jsdoc: Added missing options torequire-param-description([#23416](https://redirect.github.com/oxc-project/oxc/isConfiguration
📅 Schedule: (UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
This PR has been generated by Mend Renovate using a curated preset maintained by
. View repository job log here