Chemio9 is Contributing…
This PR contains the following updates:
Release Notes
posva/pinia-colada (@pinia/colada)
v0.21.1
Bug Fixes
Features
- make ext readonly (8dd595a)
v0.21.0
- refactor!: remove @vue/devtools-api dependencies (9bfd035)
Features
- expose internal utility types (bb3a7d0)
BREAKING CHANGES
- use the native @pinia/colada-devtools. See
https://pinia-colada.esm.dev/guide/installation.html#Pinia-Colada-Devtools
for instructions
unjs/unhead (@unhead/addons)
v2.1.2
🐞 Bug Fixes
- Broken cjs environment - by @harlan-zw (ce989)
View changes on GitHub
unocss/unocss (@unocss/eslint-plugin)
v66.6.0
🚀 Features
- core:
- preset-mini, preset-wind4:
🐞 Bug Fixes
- build: Remove tsconfig paths mapping and adjust bundle config - by @Jungzl and @zyyv in #5052 (55748)
- cli: Avoid clearing cache early to prevent race condition in watch mode - by @zyyv in #5054 (6bf89)
- svelte-scoped: Explicit export of types to prevent node error - by @henrikvilhelmberglund in #5067 (42670)
- vscode: Not use catalog version of
@types/vscode- by @Jungzl in #5034 (54769)
View changes on GitHub
antfu/eslint-plugin-format (eslint-plugin-format)
v1.3.1
🚀 Features
- Cache the dprint context - by @bitbloxhub in #14 (1a53f)
View changes on GitHub
v1.3.0
🚀 Features
- Add support for multiple dprint plugins - by @bitbloxhub in #13 (3eaeb)
View changes on GitHub
v1.2.0
🚀 Features
- Support dprint v4 - by @bitbloxhub in #12 (d12e1)
View changes on GitHub
oxc-project/eslint-plugin-oxlint (eslint-plugin-oxlint)
v1.39.0
No significant changes
View changes on GitHub
v1.38.0
No significant changes
View changes on GitHub
v1.37.0
🐞 Bug Fixes
View changes on GitHub
vuejs/language-tools (vue-tsc)
v3.2.2
language-core
- fix: correct code features on v-bind shorthands of special attributes - Thanks to @KazariEX!
language-plugin-pug
language-service
- feat: strip
=""for boolean props completion edits (#5888) - Thanks to @KazariEX! - fix: avoid duplicate directive modifiers in completion (#5920) - Thanks to @KazariEX!
typescript-plugin
- fix: only forward quick info and suggestion diagnostics for setup bindings (#5892) - Thanks to @KazariEX!
Configuration
📅 Schedule: Branch creation - Between 12:00 AM and 03:59 AM, only on Monday ( * 0-3 * * 1 ) (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
- If you want to rebase/retry this PR, check this box
This PR was generated by Mend Renovate. View the repository job log.
Note: This PR body was truncated due to platform limits.
This PR contains the following updates:
Release Notes
antfu/eslint-config (@antfu/eslint-config)
v6.7.3
🐞 Bug Fixes
View changes on GitHub
v6.7.2
🐞 Bug Fixes
- Update react rules to match
eslint-reactv2 - by @Rel1cx in #795 (6b425) - pnpm: Add ignore for @types/vscode in json-enforce-catalog - by @jinghaihan in #794 (95685)
View changes on GitHub
v6.7.1
🐞 Bug Fixes
View changes on GitHub
v6.7.0
🚀 Features
🐞 Bug Fixes
View changes on GitHub
v6.6.1
🐞 Bug Fixes
View changes on GitHub
v6.6.0
🐞 Bug Fixes
View changes on GitHub
v6.5.1
🐞 Bug Fixes
View changes on GitHub
v6.5.0
🚀 Features
🐞 Bug Fixes
- Spelling of required-scrpts - by @christopher-buss in #785 (26185)
- pnpm: Remove
cleanupUnusedCatalogssetting - by @antfu (f712a)
View changes on GitHub
v6.4.2
🐞 Bug Fixes
View changes on GitHub
v6.4.1
No significant changes
View changes on GitHub
v6.3.0
🚀 Features
🐞 Bug Fixes
- Ts error from
cb29b1a- by @daflyinbed in #782 (b4e49)
View changes on GitHub
posva/pinia-colada (@pinia/colada)
v0.20.0
This release completely changed how useInfiniteQuery() works, the parameters and returned values:
- The
mergeoption has been removed anddatacontains an object withpagesandpageParamsarrays that can be flattened. initialPagehas now been replaced withinitialPageParamloadMorehas been renamedloadNextPagegetNextPageParamis now a required option- Invalidating now works just as with regular queries, which means that you probably want to set
stalevalue higher (or disable it) to avoid refetching multiple pages when an infinite query is invalidated. Also, you might want to setrefetchOn*options tofalse. - It's now possible to have bi-directional navigation
- There is now
hasNextPageandhasPreviousPage
Any feedback on the feature and improvements is welcome!
Here is a complete example of what it looks in action:
<script setup lang="ts">
import { useInfiniteQuery } from '@​pinia/colada'
import { onWatcherCleanup, useTemplateRef, watch } from 'vue'
const {
state: factsPages,
loadNextPage,
asyncStatus,
isDelaying,
hasNextPage,
} = useInfiniteQuery({
key: ['feed'],
query: async ({ pageParam }) => factsApi.get<CatFacts>({ query: { page: pageParam, limit: 10 } }),
initialPageParam: 1,
getNextPageParam(lastPage) {
return lastPage.next_page_url
}
// plugins
retry: 0,
delay: 0,
})
// we only need an array
const facts = computed(() => factPages.value.data?.pages.flat())
const loadMoreEl = useTemplateRef('load-more')
watch(loadMoreEl, (el) => {
if (el) {
const observer = new IntersectionObserver(
(entries) => {
if (entries[0]?.isIntersecting) {
loadNextPage()
}
},
{
rootMargin: '300px',
threshold: [0],
},
)
observer.observe(el)
onWatcherCleanup(() => {
observer.disconnect()
})
}
})
</script>
<template>
<div>
<button :disabled="asyncStatus === 'loading' || isDelaying" @​click="loadMore()">
Load more (or scroll down)
</button>
<template v-if="facts?.length">
<p>We have loaded {{ facts.length }} facts</p>
<details>
<summary>Show raw</summary>
<pre>{{ facts }}</pre>
</details>
<blockquote v-for="fact in facts">
{{ fact }}
</blockquote>
<p v-if="hasNextPage" ref="load-more">Loading more...</p>
</template>
</div>
</template>Bug Fixes
Features
- infinite: add cancelRefetch (16de801)
- infinite: maxPages (7639145)
- nextPage works (d011030)
- throwOnError in infiniteQuery (5010b11)
0.19.1 (2025-12-17)
Features
- initialDataUpdatedAt (e16ff61), closes #298
- warns if the user extends in create instead of ext (d71a890), closes #442
v0.19.1
Features
- initialDataUpdatedAt (e16ff61), closes #298
- warns if the user extends in create instead of ext (d71a890), closes #442
v0.19.0
Bug Fixes
- use global options for mutations (0f3a56c)
Features
- types: usemutationoptionswithdefaults (67ea7a6)
BREAKING CHANGES
- Mutations id are now just an incremented number that starts at 1. There is no longer a
$nappended to keys for mutations and mutations without a key do not have an artificial key anymore. This is because initially the cache map was a more complex type but with it being a simple Map, there is no point in complexifying the keys. As a result themutationCache.get()now takes the id of the mutation whilegetEntries()work the same. Theexactfilter has also been removed as mutations are, by nature, meant to be called multiple times.
0.18.1 (2025-12-11)
Bug Fixes
Features
0.18.0 (2025-12-02)
⚠ BREAKING CHANGES
- While technically a fix, this is a breaking change if
you were relying on an external signal that aborts within thequery.
It used to not set the state by just being an AbortError DomException
and now it will become an error. This behavior is more correct as we
don't want to ignore aborted signals that are external. Each fetch
creates an AbortController and passes the signal toquerywhich is
aborted (without a reason) if any other method of the store fetches
again. This is done to avoid using an outdated request.
Bug Fixes
- query: preserve any external AbortError (0cdf7b9)
0.17.9 (2025-11-24)
Features
- export mutation cache (892049f)
- expose mutation cache (7f6316f)
- warn wrong useMutationcache usage (211911d)
0.17.8 (2025-11-07)
Bug Fixes
- allow passing extra options to defineQueryOptions (597597f)
- types: allow interfaces in keys (19ab616), closes #420
0.17.7 (2025-10-30)
Bug Fixes
Performance Improvements
- avoid watched on enabled (30439c0)
0.17.6 (2025-09-25)
Bug Fixes
- Improve type of
DefineQueryOptions(#388) (22297f0) - make type inference of DefineQueryOptions.placeholderData correct (#343) (7da95dd)
0.17.5 (2025-09-11)
Features
0.17.4 (2025-09-09)
Bug Fixes
0.17.3 (2025-09-01)
Features
0.17.2 (2025-08-25)
Features
- expose internal method to plugins (740e1ce)
Bug Fixes
- allow initial fetch with refetchOnMount false and placeholderData (#350) (e9b9972)
- always propagate errors (9268b37), closes #371
0.17.1 (2025-06-13)
Bug Fixes
0.17.0 (2025-06-03)
⚠ BREAKING CHANGES
- replace
EntryNodeKeywithEntryKey - types: The
EntryKeyTaggedtype now has multiple type params and an array is no longer assignable to it. This is necessary to correctly infer the types forTDataandTDataInitialand if you were manually usingEntryKeyTagged, you will either need to cast arrays to it or useEntryKeyinstead. In most cases this should not affect you. This makes types stricter and also disallows setting a query data toundefined. If you were doingqueryCache.setQueryData(key, undefined), usequeryCache.setEntryStateinstead.
Features
- add a queryCache.get method to a typed entry (2f7db57)
- add error to tagged keys (7ad07c4)
- useQueryState (e1e84eb), closes #23
Bug Fixes
- types: avoid incorrect undefined from tagged keys (9358619)
- types: make options parameter optional in types (#224) (20bca79)
Code Refactoring
- remove deprecated
EntryNodeKey(6c7d15b)
0.16.1 (2025-05-22)
Bug Fixes
0.16.0 (2025-05-21)
This is the biggest release to date! Many bug fixes, typed keys, a lighter and faster build!
⚠ BREAKING CHANGES
- query:
queryCache.invalidateQueries()now accepts a second parameter to control whether to refetch or not active queries. It can be set to'all'to force fetch all queries. This replaces the existing behavior of passingactive: null(can be removed now) which wasn't actually working. You shouldn't be negatively affected by this change as it wasn't working previously. - The internal cache structure has been refactored to be simpler, faster and smaller. Keys now support deeply nested objects and partially matches them when filtering (e.g.
queryCache.getEntries()). To achieve this, the hydrated version of the cache has changed.serializeTreeMaphas been removed butserializeQueryCache(which should be preferred) has been kept.EntryNodeKeyandTreeMapNode(internals) have been removed.EntryNodeKeywas juststring | number.toCacheKeyhas been adapted and now returns a plain string rather than an array. This also fixedqueryCache.getEntries(['1'])actually returning entries defined with a numeric key ([1]). The type forkeyis now stricter to ensure everything works well at the type level, you might notice it doesn't allowundefinedas a value (except in objects), this is intended as the serialized version (JSON) transforms it nonull, and will not match in the cache if used, if you want an nullish value, usenull. The documentation has been updated to reflect this - types: If you built a plugin, you will have to rename the type params of generics like
UseQueryEntryExtensionsfromTResulttoTData. Otherwise, this change won't affect you.
Features
- allow deeply nested structured keys (59227a8), closes #149
- query: allow dynamic typed keys (0053deb)
- query: allow for typed query keys (5068a52)
- queryCache.setQueriesData (4818d3e)
- types: explicit types for useInfiniteQuery (5eb9e3b)
- types: stricter keys (02f0269)
Bug Fixes
- avoid fetch with initialData (d1eb4c2)
- query: gc entries created through dynamic useQuery in defineQuery (90d5d83)
- query: invalidate inactive queries too (cf5a790), closes #287
- query: restore reactivity after unmounting defineQuery (dc2315a), closes #290
- types: make key types stricter (9669605)
Reverts
- Revert "refactor: use external interface for QueryCache" (d6befc4)
Code Refactoring
- types: rename
TResultinto TData (09338a2)
0.15.3 (2025-05-06)
Bug Fixes
- correctly handle refetchOn* when false (262c090)
0.15.2 (2025-05-03)
Bug Fixes
0.15.1 (2025-04-26)
Bug Fixes
- support node 18 (3466bdf)
0.15.0 (2025-04-18)
⚠ BREAKING CHANGES
- mutations: mutations are now created each time they are invoked. This
change will only affect users directly creating entries with the mutation store
(which should be avoided except in very advanced cases). Given the new
structure of mutation entries and the fact that they are recreated for each
mutation in order to keep a history of mutations, the new process simplifies
things and reduces bundle size. The actionscreateandensurein the
mutation store are now simpler and take less arguments (many were redundant).
Alongside these changes, the mutation store has fixed many subtle bugs.
Features
- add gcTime option for global mutations (2850167)
- add mutation id (8c8edd5)
- hmr: refetch on component change (56aad7a)
- mutations: simplify the entry creation in the mutation store (a96a8ff)
- untrack mutation entries (6b65f19)
Bug Fixes
- an entry with no options is stale (3f59d6c)
- defineQuery: avoid pausing still active (fe00447), closes #246
- mutations: create entries for each individual mutation (3def820)
- query: avoid deleting children of gced queries (5ec6dcc)
- setQueryData sets the status and trigger gc if possible (8137fbd)
- types: allow tuples in keys (f8e8087)
- types: infer initial data in setEntryState (0a94887)
Reverts
- Revert "refactor: deprecate onMutate in favor of onBeforeMutate" (02add4a). This change never actually made it, it's here for the trace.
0.14.2 (2025-03-26)
Features
Bug Fixes
0.14.1 (2025-03-18)
Bug Fixes
- types: allow extending global query options (28acdd0)
0.14.0 (2025-03-18)
This version introduces codemods to automate migrations 🎉. Try them out with:
pnpm --package=@​ast-grep/cli dlx ast-grep scan -r node_modules/@​pinia/colada/codemods/rules/migration-0-13-to-0-14.yaml -i srcYou can also globally install ast-grep and run:
ast-grep scan -r node_modules/@​pinia/colada/codemods/rules/migration-0-13-to-0-14.yaml -i srcRemember to commit changes before running the codemods.
⚠ BREAKING CHANGES
-
Every global query (
useQuery()anddefineQuery())
option passed toPiniaColadahas been moved to its own option
queryOptions:app.use(PiniaColada, { plugins: [], - gcTime: 20_000, + queryOptions: { + gcTime: 20_000, + }, })You can also use the new codemods to automatically migrate this.
-
types: This changes allows for Pinia Colada global options to
auto complete but it also requires you to use pass an options object to
app.use(PiniaColada, {}). This is just for typing reasons (it could be
a limitation of Vue) but the same old code actually works.-app.use(PiniaColada) +app.use(PiniaColada, {})
-
Replace
serializewithserializeTreeMap -
Removed
reviveTreeMap(not needed) -
Removed internal
createdQueryEntry
Features
- add codemods for migrations (1a2d552)
- allow global placeholderData (a98528a), closes #216
- allow invalidating all queries no matter their active status (a64f674)
- allow nullish filters (aadd11d)
Bug Fixes
- avoid cancels to change the status (138857c), closes #210
- avoid unnecessary triggerCache (a3494a0)
- initialize the infinite query pages (9efb7d4)
- types: correctly type PiniaColada Vue plugin (f01326f)
- types: placeholderData does not guarantee data (aed71c1), closes #217
Performance Improvements
- inline filter fn (2aa1254)
Code Refactoring
0.13.8 (2025-03-09)
Features
- add more actions to the mutation cache (a38595c)
- pass previous placeholderData if present (a576093), closes #197
0.13.7 (2025-03-04)
Bug Fixes
- queryCache should not invalidate query when it disabled (#204) (e12f98c)
- warn: avoid repeated queries warn (0fbe29a), closes #192
0.13.6 (2025-02-12)
Features
- add devtools (43912aa)
Bug Fixes
- apply multiple filters to getEntries (da5b00c)
0.13.5 (2025-02-06)
Features
- add experimental useInfiniteQuery (0a958e6)
Bug Fixes
- avoid clearing timeouts early (bf7ef2f)
- correctly track new define queries when switching pages (f9eeec1)
- make the cache watchable (cf30e68)
- trigger updates on untrack (91e497a)
0.13.4 (2025-01-31)
Features
0.13.3 (2025-01-14)
Bug Fixes
- query: always use
placeholderData(4c6a3f7), closes #154 - query: avoid creating entries after unmounting (e2ff278), closes #155
0.13.2 (2025-01-03)
Bug Fixes
0.13.1 (2024-12-20)
Bug Fixes
0.13.0 (2024-11-26)
⚠ BREAKING CHANGES
- types: placeholderData no longer allows returning
null, onlyundefined. This won't affect most use cases and enables better type inference.
Features
0.12.1 (2024-11-09)
Bug Fixes
0.12.0 (2024-11-06)
⚠ BREAKING CHANGES
transformErrorwas never fully implemented so they are being removed and might come back if they is a real-word use case for them- If you were using the
delayLoadingRefutil, use the@pinia/colada-plugin-delayinstead. - Renaming
ErrortodefaultErrorallows to differentiate the property from the existing global Error class. Upgrading should be straightforward.
Features
- add initial delay plugin (42c8760)
- add track and untrack actions for plugins (8902ba3)
- allow dynamic values for auto refetches (63d2fd0)
- allow extending useQuery return (ef06628)
- expose more types (4447d6d)
- plugins: pass scope for added variables (a3b666f)
- work without the plugin (696f88e)
Bug Fixes
- avoid broken reactivity in defineQuery (4c48abc)
- dedupe pinia colada (6ace8e8)
- keep data if signal is aborted (de5cde5)
- pass onMutate context (618312b), closes #95
- remove queryCache from mutation hooks (3f1119a)
- run create in ssr too (1a6fa4a)
- ssr: throw on error in query (58b7f69)
- upgrade to new cache format (03e1683)
Code Refactoring
- query: remove unused transformError and setup options (de0cb48)
- remove delayLoadingRef helper in favor of the plugins (4c9b4cb)
- rename the global
Errorproperty inTypesConfigto (0021426)
0.11.1 (2024-10-28)
Features
Bug Fixes
- allow gcTime to never be set (4714b9a)
- eagerly change asyncStatus on cancel (b2f1349)
- staleTime of 0 always refreshes (66ef9ec)
0.11.0 (2024-10-25)
⚠ BREAKING CHANGES
- mutations: This wasn't needed as instead, one can use
useQueryCache()outside. It could be added back if needed but it's
more pragmatic to start without it. - query: The
queryCache.cancelQuery()is renamed to
queryCache.cancel()to better match the other functions naming. A new
functionqueryCache.cancelQueries()is added to actually cancel one or
multiple queries instead of just one. - plugins: In plugins,
cacheis renamed toqueryCachefor
consistency. - This makes it clearer that
queryCacheis the result
ofuseQueryCache().
Features
- add mutation store (#47) (7954f83)
- hmr: warn against bugs (7bb44a0)
- nuxt: add auto imports (964bce2)
- nuxt: support colada.options (57a0430)
- predicate in filter (2fc62b7)
- query: add cancelQueries (a374ee2)
- run defined mutations in effect scope (86ff5ed)
Bug Fixes
- nuxt: plugins (fd95add)
Performance Improvements
- tree shake unused stores (e0ede7e)
Code Refactoring
- mutations: Remove
queryCachefrom the context (d9c2509) - plugins: rename
cachetoqueryCache(c97639b) - rename
cachestoqueryCache(e514d33)
0.10.0 (2024-10-04)
⚠ BREAKING CHANGES
- This change is mainly to simplify migration from
TanStack Query. - caches.invalidateQueries only fetches active queries
- The
keysoption that automatically invalidate keys
has been renamed toinvalidateKeysand moved to a plugin. This is in
practice not needed. It's just an opinionated convenience that can be
replaced by directly invalidating queries in the cache with the
onSettled()hook inuseMutation():
const { mutate } = useMutation({
onSettled({ caches, vars: { id } }) {
caches.invalidateQueries({ key: ['contacts-search'] })
caches.invalidateQueries({ key: ['contacts', id] })
},
mutation: (contact) => patchContact(contact),
})Features
- caches.invalidateQueries only fetches active queries ([e8d9088](https://redirect.github
Configuration
📅 Schedule: Branch creation - Between 12:00 AM and 03:59 AM, only on Monday ( * 0-3 * * 1 ) (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
- If you want to rebase/retry this PR, check this box
This PR was generated by Mend Renovate. View the repository job log.
The development environment is not configured with a backend proxy, and the base URL is for temporary testing.
Coming soon: The Renovate bot (GitHub App) will be renamed to Mend. PRs from Renovate will soon appear from 'Mend'. Learn more here.
This PR contains the following updates:
Release Notes
unjs/unhead (@unhead/addons)
v2.0.17
No significant changes
View changes on GitHub
v2.0.16
No significant changes
View changes on GitHub
v2.0.15
🐞 Bug Fixes
- NPM Trusted Publishing - by @harlan-zw (a5d9f)
- ssr: Broken
extractUnheadInputFromHtmlregex - by @harlan-zw (e23db)
🏎 Performance
- Walker based
transformHtmlTemplate- by @harlan-zw in #581 (37fc9)
View changes on GitHub
oxc-project/eslint-plugin-oxlint (eslint-plugin-oxlint)
v1.16.0
No significant changes
View changes on GitHub
v1.15.0
No significant changes
View changes on GitHub
oxc-project/oxc (oxlint)
v1.16.0: oxlint v1.16.0
[1.16.0] - 2025-09-16
🚀 Features
97c8d06linter: Addpreserve-caught-errorrule (#13748) (孔辉)8c19b18linter/exhaustive-deps: Implement fixer for dep in global scope (#13783) (camc314)06bce8flinter/exhaustive-deps: Implement fixer for missing dep (#13782) (camc314)a8675f4linter: Add eslint/class-methods-use-this rule (#12977) (Peter Cardenas)db33196parser: Adds typescript rule for empty argument list (#13730) (Karan Kiri)2751193linter: Addeslint/no-useless-computed-keyrule (#13428) (yefan)9a205d1regex-parser: Parse simpleTemplateLiterals(#13265) (Sysix)
🐛 Bug Fixes
a2c91cdlinter: Droprulesto allow mutable access toctx_hostinrun_external_rules(#13832) (camc314)3af1e5dlinter/no-unsafe-declaration-merging: Always mark first span as primary (#13830) (camc314)1c43c7clinter: Keep message when merging composite fixes (#13827) (camc314)26af302linter/exhaustive-deps: Check stable value is on lhs of assignment expr (#13815) (camc314)4bc12d0linter/exhaustive-deps: Remove impossible comparison with parent kind (#13814) (camc314)12baf5elinter/exhaustive-deps: Respect primary span when identifying disable directive location (#13781) (camc314)fa7400alinter/no-undef: False positive withargumentsin functions (#13763) (camc314)50e6e3ceditor: Restrict servers paths foroxc.path.server(#13740) (Sysix)b45077deditor: Strip leading slash for bin path on windows (#13738) (Sysix)8fa6227editor: Don't allowoxc.path.serverfor untrusted workspaces (#13734) (Sysix)56da114linter/react/jsx-handler-names: Do not detect the function name within the inline-function's body block (#13456) (Takuji Shimokawa)b2bc5b4linter/react-perf/jsx-no-new-object-as-prop: Skip as/satisfies exprs (#13718) (camc314)ab51394raw_transfer: Disable layout assertions on some 32-bit platforms (#13716) (overlookmotel)09428f6linter/plugins: Remove outdated comment (#13691) (overlookmotel)a294721linter/plugins: Exit early if JS plugins enabled on unsupported platforms (#13689) (overlookmotel)68a2280linter/plugins: More graceful exit for--experimental-js-pluginsCLI option (#13688) (overlookmotel)
🚜 Refactor
395d40dlinter: Derive inmpls forPartialEq,Eqover manual ones (#13828) (camc314)8e4cd8flinter/func-names: Userun_onceover looping over all nodes (#13798) (camc314)7f4e2feeslint/func-names: Clean up implementation and improve documentation (#13601) (Antoine Zanardi)137896alanguage_server: Split options for linting and formatting (#13627) (Sysix)7346099linter: Moveoxlintapplication code into separate module (#13745) (overlookmotel)6dd4107linter: Remove#[cfg(test)]attributes fromtestermodule (#13714) (overlookmotel)c40c6eflinter/plugins: Directory for JS plugins-related code (#13701) (overlookmotel)a0022c1linter/plugins: Improve error messages for JS plugins (#13699) (overlookmotel)1fd993fnapi/oxlint: Renamenapi/oxlint2tonapi/oxlint(#13682) (overlookmotel)
⚡ Performance
90c8286linter: Detect node types fromlet..elsestatements (#13690) (camchenry)08c05dfsemantic: Make CFG construction a compile-time feature (#13678) (Boshen)
🎨 Styling
🧪 Testing
18a1145linter: Add debug assertions for skipping rules (#13724) (camc314)cb080delinter/no-unused-vars: Add test for non ASCII chars in JSX components (#13820) (camc314)b6eba27linter/no-undef: Add more test cases forarguments(#13764) (camc314)fb2d087linter: Set CWD for tests (#13722) (overlookmotel)
💼 Other
v1.15.0: oxlint v1.15.0
🚀 Features
b20b56dlinter: Addvue/no-multiple-slot-argsrule (#13579) (Sysix)aafe08clinter: Addvue/define-emits-declarationrule (#13567) (Sysix)2ed5059linter: Addvue/define-props-declarationrule (#13566) (Sysix)a718c23linter: Addvue/valid-define-propsrule (#13565) (Sysix)75a673eeditor: Support relative path foroxc.path.server(#13542) (Sysix)4af886blinter: Addunicorn/no-array-reverserule (#13530) (yefan)
🐛 Bug Fixes
fb9d0f4language_server: Don't resend diagnostic on save, whentypeAwareis disabled and run is onType (#13604) (YongSeok Jang (장용석))2f36350editor: Add notice for a possible restart when fixingfilename-case(#13557) (Sysix)e17fccclinter: UpdateRuleRunnerimpl after merge (#13642) (camc314)3d27c5blinter/no-unused-private-class-members: False positive with spread expr (#13634) (yefan)8314ed5linter/tsgolint: Correct comment (#13589) (camc314)198243bsemantic: Dont parse@as jsdoc tags inside quotes (#13571) (Gwenn Le Bihan)89084d7linter/custom-plugins: Enforce exact matching for disable directives (#13538) (Copilot)277c5e1linter: Outputeslint-plugin-vuefor vue diagnostics (#13564) (Sysix)34d3cderust: Fix clippy issues (#13540) (Boshen)5fccafclinter:unicorn/prefer-array-flat-mapignoreReact.Children(#13534) (Sysix)7e78e39linter: Don't panic when parsing regex with multiple parentheses (#13524) (Sysix)0d867b1linter: Skip running tsgolint when no files need type aware linting (#13502) (Copilot)b677376language_server: Include the diagnostic of the other linter (#13490) (Sysix)e87d7bdlinter: Parse regex insidenew RegExp()with parentheses (#13448) (Sysix)5990f17linter: Changetypescript/no-confusing-void-expressionto pedantic (#13473) (Boshen)
🚜 Refactor
7775c21linter/plugins: Removeoxlint2Cargo feature (#13648) (overlookmotel)8f37e88linter: Update tsgolint payload (#13547) (camchenry)2d53203linter/plugins: Movetokiousage fromoxc_lintertonapi/oxlint2(#13647) (overlookmotel)6cd6be2linter: Add--experimental-js-pluginsCLI arg (#13658) (overlookmotel)476729blinter: SimplifyRuleRunnertrait definition (#13637) (camchenry)2f02ac6linter/plugins: Removedisable_oxlint2Cargo feature (#13626) (overlookmotel)ff9e4fblinter/plugins: Use fixed-size allocators whenExternalLinterexists (#13623) (overlookmotel)f9bff64linter_codegen: Improve code style for collecting nodes (#13636) (camchenry)babbacaall: Removepubfrom modules with no exports (#13618) (overlookmotel)91759c6linter/plugins: Only useRawTransferFileSystemif JS plugins registered (#13599) (overlookmotel)118020clinter/plugins: DiscardExternalLinterif no JS plugins registered (#13598) (overlookmotel)8d30bcelinter/tsgolint: Report an error if the tsgolint exe could not be found (#13590) (camc314)bccc276eslint/for-direction: Clean up implementation and improve documentation (#13532) (Antoine Zanardi)1425da2eslint/default-case-last: Simplify default case last check in switch statement (#13529) (Antoine Zanardi)d245376oxlint: Remove unusedrunnermodule (#13561) (camc314)53f2fc1eslint/default-case: Simplify implementation and enhance readability (#13430) (Antoine Zanardi)6f15060eslint/block-scoped-var: Clean up implementation and improve documentation (#13417) (Antoine Zanardi)671e0fdlanguage_server: Only store one instance of a diagnostic (#13514) (Sysix)1b425d6eslint/default-case-last: Simplify implementation and enhance readability (#13515) (Antoine Zanardi)e4bbbceeslint/default-param-last: Simplify implementation and enhance readability (#13516) (Antoine Zanardi)e0396fdlinter: Removestaticlifetime from disable directives function argument (#13492) (camc314)
📚 Documentation
eb1f167linter: Note which rules require type info to run on rule page (#13675) (camc314)e66f93blinter: Fix backtick formatting in no-return-wrap (#13633) (camc314)
⚡ Performance
e6a25e7linter: Remove unnecessaryshould_runcheck (#13639) (camchenry)f6a9687linter: Store rules by AST type in a boxed array (#13578) (overlookmotel)b81f081linter: Reduce indirection (#13574) (overlookmotel)a744afflinter: Skip rules that do not have any relevant node types (#13138) (camchenry)
🎨 Styling
🧪 Testing
pnpm/pnpm (pnpm)
v10.17.0
Minor Changes
-
The
minimumReleaseAgeExcludesetting now supports patterns. For instance:minimumReleaseAge: 1440 minimumReleaseAgeExclude: - "@​eslint/*"
Related PR: #9984.
Patch Changes
- Don't ignore the
minimumReleaseAgecheck, when the package is requested by exact version and the packument is loaded from cache #9978. - When
minimumReleaseAgeis set and the active version under a dist-tag is not mature enough, do not downgrade to a prerelease version in case the original version wasn't a prerelease one #9979.
v10.16.1
Patch Changes
- The full metadata cache should be stored not at the same location as the abbreviated metadata. This fixes a bug where pnpm was loading the abbreviated metadata from cache and couldn't find the "time" field as a result #9963.
- Forcibly disable ANSI color codes when generating patch diff #9914.
v10.16.0
Minor Changes
-
There have been several incidents recently where popular packages were successfully attacked. To reduce the risk of installing a compromised version, we are introducing a new setting that delays the installation of newly released dependencies. In most cases, such attacks are discovered quickly and the malicious versions are removed from the registry within an hour.
The new setting is called
minimumReleaseAge. It specifies the number of minutes that must pass after a version is published before pnpm will install it. For example, settingminimumReleaseAge: 1440ensures that only packages released at least one day ago can be installed.If you set
minimumReleaseAgebut need to disable this restriction for certain dependencies, you can list them under theminimumReleaseAgeExcludesetting. For instance, with the following configuration pnpm will always install the latest version of webpack, regardless of its release time:minimumReleaseAgeExclude: - webpack
Related issue: #9921.
-
Added support for
finders#9946.In the past,
pnpm listandpnpm whycould only search for dependencies by name (and optionally version). For example:pnpm why minimistprints the chain of dependencies to any installed instance of
minimist:verdaccio 5.20.1 ├─┬ handlebars 4.7.7 │ └── minimist 1.2.8 └─┬ mv 2.1.1 └─┬ mkdirp 0.5.6 └── minimist 1.2.8What if we want to search by other properties of a dependency, not just its name? For instance, find all packages that have
react@17in their peer dependencies?This is now possible with "finder functions". Finder functions can be declared in
.pnpmfile.cjsand invoked with the--find-by=<function name>flag when runningpnpm listorpnpm why.Let's say we want to find any dependencies that have React 17 in peer dependencies. We can add this finder to our
.pnpmfile.cjs:module.exports = { finders: { react17: (ctx) => { return ctx.readManifest().peerDependencies?.react === "^17.0.0"; }, }, };
Now we can use this finder function by running:
pnpm why --find-by=react17pnpm will find all dependencies that have this React in peer dependencies and print their exact locations in the dependency graph.
@​apollo/client 4.0.4 ├── @​graphql-typed-document-node/core 3.2.0 └── graphql-tag 2.12.6It is also possible to print out some additional information in the output by returning a string from the finder. For example, with the following finder:
module.exports = { finders: { react17: (ctx) => { const manifest = ctx.readManifest(); if (manifest.peerDependencies?.react === "^17.0.0") { return `license: ${manifest.license}`; } return false; }, }, };
Every matched package will also print out the license from its
package.json:@​apollo/client 4.0.4 ├── @​graphql-typed-document-node/core 3.2.0 │ license: MIT └── graphql-tag 2.12.6 license: MIT
Patch Changes
- Fix deprecation warning printed when executing pnpm with Node.js 24 #9529.
- Throw an error if
nodeVersionis not set to an exact semver version #9934. pnpm publishshould be able to publish a.tar.gzfile #9927.- Canceling a running process with Ctrl-C should make
pnpm runreturn a non-zero exit code #9626.
vitejs/vite (vite)
v7.1.6
Bug Fixes
- deps: update all non-major dependencies (#20773) (88af2ae)
- esbuild: inject esbuild helper functions with minified
$variables correctly (#20761) (7e8e004) - fallback terser to main thread when nameCache is provided (#20750) (a679a64)
- types: strict env typings fail when
skipLibCheckisfalse(#20755) (cc54e29)
Miscellaneous Chores
vuejs/devtools (vite-plugin-vue-devtools)
v8.0.2
🐞 Bug Fixes
- Remove vulnerable unmaintained ip package - by @segevfiner and @webfansplz in #830 (f64d3)
View changes on GitHub
vuejs/language-tools (vue-tsc)
v3.0.7
Bug Fixes
- fix(vscode): show welcome page only when opening a Vue file
- fix(language-core): generate slot parameters in the same way as interpolation (#5618) - Thanks to @KazariEX!
- fix(language-core): do not generate variables for builtin directives - Thanks to @KazariEX!
Other Changes
- docs(vscode): add descriptions for premium feature configurations (#5612) - Thanks to @KazariEX!
- refactor(typescript-plugin): explicitly request parameters (#5623)
- chore(lint): enable
@typescript-eslint/no-unnecessary-condition(#5630) - refactor(language-server): reimplement Reactivity Visualization in typescript plugin (#5632)
- refactor(language-server): parsing interpolations in extension client (#5633)
- refactor(vscode): reimplement Focus Mode base on folding ranges (#5634)
- chore(vscode): disable Focus Mode by default (#5578)
- refactor(vscode): set delay of reactivity visualization updates to 250ms - Thanks to @KazariEX!
Configuration
📅 Schedule: Branch creation - Between 12:00 AM and 03:59 AM, only on Monday ( * 0-3 * * 1 ) (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
- If you want to rebase/retry this PR, check this box
This PR was generated by Mend Renovate. View the repository job log.
This PR contains the following updates:
Release Notes
antfu/eslint-config (@antfu/eslint-config)
v5.3.0
🐞 Bug Fixes
- Use ecmaVersion 'latest' per eslint's docs recommendation. fixes support for import attributes - by @romansp in #756 (2031b)
View changes on GitHub
v5.2.2
🚀 Features
View changes on GitHub
unocss/unocss (@unocss/eslint-plugin)
v66.5.1
🐞 Bug Fixes
- preset-web-fonts: Handle errors during web fonts preflight fetch - by @luoling8192 in #4912 (c4098)
- transformer-directives: Implicitly :where() selector in apply - by @Jungzl in #4913 (b7ba8)
View changes on GitHub
v66.5.0
🚀 Features
- core: Enhance raw css utils parse with apply variants - by @zyyv in #4889 (e91d1)
- preset-web-fonts: Add fetch option to LocalFontProcessor - by @runyasak in #4894 (dda90)
🐞 Bug Fixes
- autocomplete:
- eslint:
- Disallow extra properties in rule options - by @andreww2012 in #4873 (89243)
- playground:
- preset-typography:
- preset-web-fonts:
- preset-wind4:
- Exclude
containerskey in theme preflight close #4870 - by @zyyv in #4870 (84c69) space÷aligned with tw4 - by @Jungzl in #4879 (56e58)- Negative variant for
scalerule - by @Jungzl in #4881 (c8863) box-shadow&text-shadow&drop-shadowaligned with tw4 - by @Jungzl in #4888 (4e6c2)
- Exclude
- svelte-scoped:
- transformer-directives:
🏎 Performance
- core: Cache rule index to reduce query index - by @lghuahua and @zyyv in #4892 (48ea5)
View changes on GitHub
oxc-project/eslint-plugin-oxlint (eslint-plugin-oxlint)
v1.14.0
No significant changes
View changes on GitHub
oxc-project/oxc (oxlint)
v1.14.0
🚀 Features
7fc4aefnpm/oxlint: 'oxlint-tsgolint': '>=0.1.4' (Boshen)
pnpm/pnpm (pnpm)
v10.15.1
Patch Changes
- Fix
.pnp.cjscrash when importing subpath #9904. - When resolving peer dependencies, pnpm looks whether the peer dependency is present in the root workspace project's dependencies. This change makes it so that the peer dependency is correctly resolved even from aliased npm-hosted dependencies or other types of dependencies #9913.
unplugin/unplugin-auto-import (unplugin-auto-import)
v20.1.0
🚀 Features
- Add support for
rolldown- by @Asim-Tahir in #586 (125a2) - dts: Introduce the
dtsModeto control the behavior of generating dts file - by @noootwo in #549 (2d375)
🐞 Bug Fixes
- Dirs hot reload without wildcards - by @ilyaliao in #588 (533d4)
View changes on GitHub
vitejs/vite (vite)
v7.1.5
Bug Fixes
- apply
fs.strictcheck to HTML files (#20736) (14015d7) - deps: update all non-major dependencies (#20732) (122bfba)
- upgrade sirv to 3.0.2 (#20735) (09f2b52)
v7.1.4
Bug Fixes
- add missing awaits (#20697) (79d10ed)
- deps: update all non-major dependencies (#20676) (5a274b2)
- deps: update all non-major dependencies (#20709) (0401feb)
- pass rollup watch options when building in watch mode (#20674) (f367453)
Miscellaneous Chores
Code Refactoring
vuejs/core (vue)
v3.5.21
Bug Fixes
- compiler-core: force dynamic slots when slot referencing scope vars (#9427) (99d54b2), closes #9380
- compiler-sfc: check lang before attempt to compile script (#13508) (55922ff), closes #8368
- compiler-sfc: support
${configDir}in paths for TypeScript 5.5+ (#13491) (8696e34), closes #13484 - compiler-sfc: support global augments with named exports (#13789) (35da3c6)
- custom-element: prevent defineCustomElement from mutating the options object (#13791) (e322436)
- hmr: prevent
__VUE_HMR_RUNTIME__from being overwritten by vue runtime in 3rd-party libraries (#13817) (1392734), closes vitejs/vite-plugin-vue#644 - hmr: prevent update unmounting component during HMR reload (#13815) (ef20b86), closes vitejs/vite-plugin-vue#599
- runtime-core: disable tracking block in h function (#8213) (8f6b505), closes #6913
- runtime-core: use separate emits caches for components and mixins (#11661) (15fc75f)
- Suspence: handle Suspense + KeepAlive HMR updating edge case (#13076) (5d75a17), closes #13075
- Teleport: hydrate disabled Teleport with undefined target (#11235) (00978f7), closes #11230
- templateRef: prevent unnecessary set ref on dynamic ref change or component unmount (#12642) (93ba107), closes #12639
- watch: use maximum depth for duplicates (#13434) (f2699a5)
Performance Improvements
Configuration
📅 Schedule: Branch creation - Between 12:00 AM and 03:59 AM, only on Monday ( * 0-3 * * 1 ) (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
- If you want to rebase/retry this PR, check this box
This PR was generated by Mend Renovate. View the repository job log.
Last fetched: | Scheduled refresh: Every Saturday
See Customizing GitHub Activity Pages to configure your own
Inspired by prs.atinux.com