Compare commits

..

31 Commits

Author SHA1 Message Date
renovate-bot a366444ba0 chore(deps): update all non-major dependencies (#64)
CD / Release (push) Successful in 3s
This PR contains the following updates:

| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
| [oxfmt](https://oxc.rs/docs/guide/usage/formatter) ([source](https://github.com/oxc-project/oxc/tree/HEAD/npm/oxfmt)) | [`0.60.0` → `0.61.0`](https://renovatebot.com/diffs/npm/oxfmt/0.60.0/0.61.0) | ![age](https://developer.mend.io/api/mc/badges/age/npm/oxfmt/0.61.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/oxfmt/0.60.0/0.61.0?slim=true) |
| [rolldown](https://rolldown.rs/) ([source](https://github.com/rolldown/rolldown/tree/HEAD/packages/rolldown)) | [`1.2.0` → `1.2.1`](https://renovatebot.com/diffs/npm/rolldown/1.2.0/1.2.1) | ![age](https://developer.mend.io/api/mc/badges/age/npm/rolldown/1.2.1?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/rolldown/1.2.0/1.2.1?slim=true) |

---

### Release Notes

<details>
<summary>oxc-project/oxc (oxfmt)</summary>

### [`v0.61.0`](https://github.com/oxc-project/oxc/compare/oxfmt_v0.60.0...oxfmt_v0.61.0)

[Compare Source](https://github.com/oxc-project/oxc/compare/oxfmt_v0.60.0...oxfmt_v0.61.0)

</details>

<details>
<summary>rolldown/rolldown (rolldown)</summary>

### [`v1.2.1`](https://github.com/rolldown/rolldown/blob/HEAD/CHANGELOG.md#121---2026-07-29)

[Compare Source](https://github.com/rolldown/rolldown/compare/v1.2.0...v1.2.1)

##### 🚀 Features

- dev: support `hotUpdate` hook ([#&#8203;10305](https://github.com/rolldown/rolldown/issues/10305)) by [@&#8203;h-a-n-a](https://github.com/h-a-n-a)
- dev: expose `disableWatcher` through the dev engine bindings ([#&#8203;10474](https://github.com/rolldown/rolldown/issues/10474)) by [@&#8203;shulaoda](https://github.com/shulaoda)
- plugin: surface output-option callbacks in \[PLUGIN\_TIMINGS] ([#&#8203;10411](https://github.com/rolldown/rolldown/issues/10411)) by [@&#8203;IWANABETHATGUY](https://github.com/IWANABETHATGUY)
- `import.meta.ROLLDOWN_FILE_URL_<referenceId>_<urlId>` support to pass context to `resolveFileUrl` hook ([#&#8203;10297](https://github.com/rolldown/rolldown/issues/10297)) by [@&#8203;sapphi-red](https://github.com/sapphi-red)
- dev: skip the HMR update when a module's rebuilt output is unchanged ([#&#8203;10333](https://github.com/rolldown/rolldown/issues/10333)) by [@&#8203;h-a-n-a](https://github.com/h-a-n-a)
- code-splitting: wrap strict execution order modules on demand ([#&#8203;10104](https://github.com/rolldown/rolldown/issues/10104)) by [@&#8203;hyfdev](https://github.com/hyfdev)
- support `import.meta.ROLLDOWN_FILE_URL_*` ([#&#8203;10296](https://github.com/rolldown/rolldown/issues/10296)) by [@&#8203;sapphi-red](https://github.com/sapphi-red)
- implement `resolveFileUrl` plugin hook ([#&#8203;10291](https://github.com/rolldown/rolldown/issues/10291)) by [@&#8203;sapphi-red](https://github.com/sapphi-red)
- magic-string: support storeName on overwrite/update ([#&#8203;10312](https://github.com/rolldown/rolldown/issues/10312)) by [@&#8203;IWANABETHATGUY](https://github.com/IWANABETHATGUY)

##### 🐛 Bug Fixes

- external: keep `__toESM` when the importing module is tree-shaken ([#&#8203;10516](https://github.com/rolldown/rolldown/issues/10516)) by [@&#8203;IWANABETHATGUY](https://github.com/IWANABETHATGUY)
- dev: resolve re-exports from externals through a real import ([#&#8203;10489](https://github.com/rolldown/rolldown/issues/10489)) by [@&#8203;tbvjaos510](https://github.com/tbvjaos510)
- code-splitting: route CJS barrel initialization per consumer ([#&#8203;10488](https://github.com/rolldown/rolldown/issues/10488)) by [@&#8203;hyfdev](https://github.com/hyfdev)
- error: align filename-pattern diagnostics with Rollup's wording ([#&#8203;10501](https://github.com/rolldown/rolldown/issues/10501)) by [@&#8203;IWANABETHATGUY](https://github.com/IWANABETHATGUY)
- plugin: validate emitted prebuilt-chunk file names ([#&#8203;10399](https://github.com/rolldown/rolldown/issues/10399)) by [@&#8203;IWANABETHATGUY](https://github.com/IWANABETHATGUY)
- code-splitting: point a two-argument dynamic import at the chunk that holds the module ([#&#8203;10479](https://github.com/rolldown/rolldown/issues/10479)) by [@&#8203;hyfdev](https://github.com/hyfdev)
- common: align is\_path\_fragment with Rollup's isPathFragment ([#&#8203;10398](https://github.com/rolldown/rolldown/issues/10398)) by [@&#8203;IWANABETHATGUY](https://github.com/IWANABETHATGUY)
- code-splitting: never name an internal chunk export `then` ([#&#8203;10480](https://github.com/rolldown/rolldown/issues/10480)) by [@&#8203;hyfdev](https://github.com/hyfdev)
- code-splitting: avoid creating call-site-triggered entry facades ([#&#8203;10485](https://github.com/rolldown/rolldown/issues/10485)) by [@&#8203;hyfdev](https://github.com/hyfdev)
- code-splitting: collect top-level eager order reasons in every strict build ([#&#8203;10463](https://github.com/rolldown/rolldown/issues/10463)) by [@&#8203;hyfdev](https://github.com/hyfdev)
- code-splitting: let a cross-chunk dynamic importer carry the order trigger ([#&#8203;10456](https://github.com/rolldown/rolldown/issues/10456)) by [@&#8203;hyfdev](https://github.com/hyfdev)
- code-splitting: avoid the dynamic-entry facade when the same-chunk collapse carries the trigger ([#&#8203;10433](https://github.com/rolldown/rolldown/issues/10433)) by [@&#8203;hyfdev](https://github.com/hyfdev)
- binding: forward resolveId options.kind to callable builtin plugins ([#&#8203;10440](https://github.com/rolldown/rolldown/issues/10440)) by [@&#8203;martijnwalraven](https://github.com/martijnwalraven)
- dev: keep the export name of `export * as ns from` ([#&#8203;10476](https://github.com/rolldown/rolldown/issues/10476)) by [@&#8203;tbvjaos510](https://github.com/tbvjaos510)
- code-splitting: only split an entry facade when something else can load its chunk ([#&#8203;10441](https://github.com/rolldown/rolldown/issues/10441)) by [@&#8203;hyfdev](https://github.com/hyfdev)
- code-splitting: fold the runtime chunk back after order lowering ([#&#8203;10414](https://github.com/rolldown/rolldown/issues/10414)) by [@&#8203;hyfdev](https://github.com/hyfdev)
- runtime: don't leave default undefined for cjs that fakes \_\_esModule ([#&#8203;10453](https://github.com/rolldown/rolldown/issues/10453)) by [@&#8203;IWANABETHATGUY](https://github.com/IWANABETHATGUY)
- import-glob: escape generated string literals ([#&#8203;10438](https://github.com/rolldown/rolldown/issues/10438)) by [@&#8203;shantanuraj](https://github.com/shantanuraj)
- preserve-modules: don't assume every chunk mirrors a module ([#&#8203;10442](https://github.com/rolldown/rolldown/issues/10442)) by [@&#8203;hyfdev](https://github.com/hyfdev)
- filter: treat missing hook inputs as non-matches, not panics ([#&#8203;10443](https://github.com/rolldown/rolldown/issues/10443)) by [@&#8203;IWANABETHATGUY](https://github.com/IWANABETHATGUY)
- code-splitting: keep CommonJS modules wrapped under strict execution order ([#&#8203;10405](https://github.com/rolldown/rolldown/issues/10405)) by [@&#8203;hyfdev](https://github.com/hyfdev)
- code-splitting: align dynamicImports metadata with the rewritten import() specifier ([#&#8203;10430](https://github.com/rolldown/rolldown/issues/10430)) by [@&#8203;hyfdev](https://github.com/hyfdev)
- dev: skip user plugin hooks for ?rolldown-lazy proxy modules ([#&#8203;10426](https://github.com/rolldown/rolldown/issues/10426)) by [@&#8203;unknownjedi](https://github.com/unknownjedi)
- treeshake: preserve side-effect-free spread arguments in manual-pure chains ([#&#8203;10432](https://github.com/rolldown/rolldown/issues/10432)) by [@&#8203;IWANABETHATGUY](https://github.com/IWANABETHATGUY)
- treeshake: preserve eagerly evaluated child effects of manual pure chains ([#&#8203;10427](https://github.com/rolldown/rolldown/issues/10427)) by [@&#8203;Nic-Polumeyv](https://github.com/Nic-Polumeyv)
- code-splitting: initialize pure definers behind star re-export barrels under strict execution order ([#&#8203;10409](https://github.com/rolldown/rolldown/issues/10409)) by [@&#8203;hyfdev](https://github.com/hyfdev)
- resolveId: reject string `id` filters (must be a RegExp) ([#&#8203;10412](https://github.com/rolldown/rolldown/issues/10412)) by [@&#8203;IWANABETHATGUY](https://github.com/IWANABETHATGUY)
- code-splitting: collect eager order reasons for on-demand wrapping ([#&#8203;10387](https://github.com/rolldown/rolldown/issues/10387)) by [@&#8203;hyfdev](https://github.com/hyfdev)
- rolldown: apply output.paths to CJS export-star of external modules ([#&#8203;10406](https://github.com/rolldown/rolldown/issues/10406)) by [@&#8203;IWANABETHATGUY](https://github.com/IWANABETHATGUY)
- dev: sourcemaps of lazily compiled chunks ([#&#8203;10386](https://github.com/rolldown/rolldown/issues/10386)) by [@&#8203;tbvjaos510](https://github.com/tbvjaos510)
- plugin: validate emitted file names at emitFile time ([#&#8203;10377](https://github.com/rolldown/rolldown/issues/10377)) by [@&#8203;Nic-Polumeyv](https://github.com/Nic-Polumeyv)
- guarantee tokio runtime release when close rejects ([#&#8203;10381](https://github.com/rolldown/rolldown/issues/10381)) by [@&#8203;shulaoda](https://github.com/shulaoda)
- code-splitting: make strict transitive init registration deterministic and constant-time ([#&#8203;10320](https://github.com/rolldown/rolldown/issues/10320)) by [@&#8203;hyfdev](https://github.com/hyfdev)
- pair tokio runtime acquire and release on wasm to prevent premature shutdown ([#&#8203;10363](https://github.com/rolldown/rolldown/issues/10363)) by [@&#8203;shulaoda](https://github.com/shulaoda)
- don't body-demand modules from simulated facade chunk includes ([#&#8203;10351](https://github.com/rolldown/rolldown/issues/10351)) by [@&#8203;IWANABETHATGUY](https://github.com/IWANABETHATGUY)
- tracing: invalid RD\_LOG filter and RD\_LOG\_OUTPUT=json no longer panic ([#&#8203;10343](https://github.com/rolldown/rolldown/issues/10343)) by [@&#8203;Brooooooklyn](https://github.com/Brooooooklyn)
- code-splitting: treat class definition-time global reads as order-sensitive ([#&#8203;10322](https://github.com/rolldown/rolldown/issues/10322)) by [@&#8203;hyfdev](https://github.com/hyfdev)
- code-splitting: deconflict force-included runtime helper statements ([#&#8203;10336](https://github.com/rolldown/rolldown/issues/10336)) by [@&#8203;hyfdev](https://github.com/hyfdev)
- binding: forward all missing parallel JS plugin hooks ([#&#8203;10345](https://github.com/rolldown/rolldown/issues/10345)) by [@&#8203;Brooooooklyn](https://github.com/Brooooooklyn)
- code-splitting: re-derive chunk exec order after the runtime sweep ([#&#8203;10334](https://github.com/rolldown/rolldown/issues/10334)) by [@&#8203;hyfdev](https://github.com/hyfdev)
- types: add undefined to ExistingRawSourceMap optional properties ([#&#8203;10355](https://github.com/rolldown/rolldown/issues/10355)) by [@&#8203;ocavue](https://github.com/ocavue)
- magic-string: validate relocate ranges before rewiring ([#&#8203;10327](https://github.com/rolldown/rolldown/issues/10327)) by [@&#8203;IWANABETHATGUY](https://github.com/IWANABETHATGUY)
- add EMPTY\_IMPORT\_META warning for non-node CJS output ([#&#8203;10222](https://github.com/rolldown/rolldown/issues/10222)) by [@&#8203;sapphi-red](https://github.com/sapphi-red)
- call `resolveFileUrl` in a deterministic order ([#&#8203;10330](https://github.com/rolldown/rolldown/issues/10330)) by [@&#8203;sapphi-red](https://github.com/sapphi-red)
- magic-string: refuse repeated sendMagicString on a consumed instance ([#&#8203;10331](https://github.com/rolldown/rolldown/issues/10331)) by [@&#8203;IWANABETHATGUY](https://github.com/IWANABETHATGUY)
- magic-string: refuse to use a MagicString after sendMagicString consumed it ([#&#8203;10326](https://github.com/rolldown/rolldown/issues/10326)) by [@&#8203;IWANABETHATGUY](https://github.com/IWANABETHATGUY)
- magic-string: reject non-contiguous moves before rewiring the chunk list ([#&#8203;10311](https://github.com/rolldown/rolldown/issues/10311)) by [@&#8203;IWANABETHATGUY](https://github.com/IWANABETHATGUY)
- handle `./foo/bar` glob pattern the same as `foo/bar` ([#&#8203;10313](https://github.com/rolldown/rolldown/issues/10313)) by [@&#8203;sapphi-red](https://github.com/sapphi-red)
- magic-string: throw instead of panicking when append/prepend splits an edited chunk ([#&#8203;10301](https://github.com/rolldown/rolldown/issues/10301)) by [@&#8203;IWANABETHATGUY](https://github.com/IWANABETHATGUY)
- output: skip separator for empty hoisted functions ([#&#8203;10310](https://github.com/rolldown/rolldown/issues/10310)) by [@&#8203;hyfdev](https://github.com/hyfdev)
- magic-string: don't report a change when edits cancel out ([#&#8203;10299](https://github.com/rolldown/rolldown/issues/10299)) by [@&#8203;IWANABETHATGUY](https://github.com/IWANABETHATGUY)
- sourcemap: map wrapped imported callees ([#&#8203;10288](https://github.com/rolldown/rolldown/issues/10288)) by [@&#8203;hyfdev](https://github.com/hyfdev)
- magic-string: count positional inserts at index 0 on an empty source ([#&#8203;10306](https://github.com/rolldown/rolldown/issues/10306)) by [@&#8203;IWANABETHATGUY](https://github.com/IWANABETHATGUY)
- magic-string: return UTF-16 code units from length() ([#&#8203;10295](https://github.com/rolldown/rolldown/issues/10295)) by [@&#8203;IWANABETHATGUY](https://github.com/IWANABETHATGUY)
- output: skip separator for empty import prelude ([#&#8203;10289](https://github.com/rolldown/rolldown/issues/10289)) by [@&#8203;hyfdev](https://github.com/hyfdev)

##### 🚜 Refactor

- dev: make it easier to customize the runtime ([#&#8203;10338](https://github.com/rolldown/rolldown/issues/10338)) by [@&#8203;sapphi-red](https://github.com/sapphi-red)
- code-splitting: declare CJS carrier namespaces initializer-free ([#&#8203;10513](https://github.com/rolldown/rolldown/issues/10513)) by [@&#8203;hyfdev](https://github.com/hyfdev)
- rollup-tests: avoid relying on `NODE_PATH` env var resolution ([#&#8203;10496](https://github.com/rolldown/rolldown/issues/10496)) by [@&#8203;sapphi-red](https://github.com/sapphi-red)
- code-splitting: derive symbol chunk ownership as pass-local link data ([#&#8203;10449](https://github.com/rolldown/rolldown/issues/10449)) by [@&#8203;hyfdev](https://github.com/hyfdev)
- plugin: share asset emission helpers between copy\_module and asset\_module ([#&#8203;10450](https://github.com/rolldown/rolldown/issues/10450)) by [@&#8203;Nic-Polumeyv](https://github.com/Nic-Polumeyv)
- plugin: dedupe hook binding boilerplate ([#&#8203;10428](https://github.com/rolldown/rolldown/issues/10428)) by [@&#8203;Nic-Polumeyv](https://github.com/Nic-Polumeyv)
- plugin: share the oxc parse preamble between import-glob and dynamic-import-vars ([#&#8203;10452](https://github.com/rolldown/rolldown/issues/10452)) by [@&#8203;Nic-Polumeyv](https://github.com/Nic-Polumeyv)
- implement `GetAstBuilder` on visitor/pass types ([#&#8203;10424](https://github.com/rolldown/rolldown/issues/10424)) by [@&#8203;overlookmotel](https://github.com/overlookmotel)
- pass arrays to AST builder methods ([#&#8203;10419](https://github.com/rolldown/rolldown/issues/10419)) by [@&#8203;overlookmotel](https://github.com/overlookmotel)
- shorten AST builder code ([#&#8203;10418](https://github.com/rolldown/rolldown/issues/10418)) by [@&#8203;overlookmotel](https://github.com/overlookmotel)
- centralize final ESM init metadata ([#&#8203;10376](https://github.com/rolldown/rolldown/issues/10376)) by [@&#8203;hyfdev](https://github.com/hyfdev)
- descriptor-based parallel-plugin detection (getParallelPluginInfo) ([#&#8203;10349](https://github.com/rolldown/rolldown/issues/10349)) by [@&#8203;Brooooooklyn](https://github.com/Brooooooklyn)
- remove AstFactory in favor of new\_\* construction traits ([#&#8203;10353](https://github.com/rolldown/rolldown/issues/10353)) by [@&#8203;Boshen](https://github.com/Boshen)
- enable oxc\_ast's `disable_old_builder` feature ([#&#8203;10316](https://github.com/rolldown/rolldown/issues/10316)) by [@&#8203;Boshen](https://github.com/Boshen)

##### 📚 Documentation

- development-guide: update config.json link line reference ([#&#8203;10523](https://github.com/rolldown/rolldown/issues/10523)) by [@&#8203;dogledogle](https://github.com/dogledogle)
- clarify slash normalization for id hook filter ([#&#8203;10511](https://github.com/rolldown/rolldown/issues/10511)) by [@&#8203;sapphi-red](https://github.com/sapphi-red)
- code-splitting: record the thenable-namespace rule ([#&#8203;10502](https://github.com/rolldown/rolldown/issues/10502)) by [@&#8203;hyfdev](https://github.com/hyfdev)
- clarify that `esmExternalRequirePlugin` must own its externals ([#&#8203;10439](https://github.com/rolldown/rolldown/issues/10439)) by [@&#8203;TheAlexLichter](https://github.com/TheAlexLichter)
- add troubleshooting entry for the [@&#8203;rolldown/binding-](https://github.com/rolldown/binding-)... resolution error ([#&#8203;10390](https://github.com/rolldown/rolldown/issues/10390)) by [@&#8203;Nic-Polumeyv](https://github.com/Nic-Polumeyv)
- add Code Splitting API reference category ([#&#8203;10382](https://github.com/rolldown/rolldown/issues/10382)) by [@&#8203;vittorioexp](https://github.com/vittorioexp)

#####  Performance

- use VisitJsMut in JavaScript-only AST passes ([#&#8203;10507](https://github.com/rolldown/rolldown/issues/10507)) by [@&#8203;Boshen](https://github.com/Boshen)
- cache the resolved glob matcher for Id/ImporterId filters ([#&#8203;10410](https://github.com/rolldown/rolldown/issues/10410)) by [@&#8203;IWANABETHATGUY](https://github.com/IWANABETHATGUY)
- scope\_hoisting: remove `alloc` field from `ScopeHoistingFinalizer` ([#&#8203;10425](https://github.com/rolldown/rolldown/issues/10425)) by [@&#8203;overlookmotel](https://github.com/overlookmotel)
- reduce string allocations ([#&#8203;10423](https://github.com/rolldown/rolldown/issues/10423)) by [@&#8203;overlookmotel](https://github.com/overlookmotel)
- hmr: remove unnecessary string allocations ([#&#8203;10422](https://github.com/rolldown/rolldown/issues/10422)) by [@&#8203;overlookmotel](https://github.com/overlookmotel)
- avoid allocating static strings via custom builder methods ([#&#8203;10421](https://github.com/rolldown/rolldown/issues/10421)) by [@&#8203;overlookmotel](https://github.com/overlookmotel)
- pass string literals to AST builder methods ([#&#8203;10420](https://github.com/rolldown/rolldown/issues/10420)) by [@&#8203;overlookmotel](https://github.com/overlookmotel)
- use VisitJs in JavaScript-only AST passes ([#&#8203;10396](https://github.com/rolldown/rolldown/issues/10396)) by [@&#8203;Boshen](https://github.com/Boshen)
- plugin: shrink erased plugin debug vtables ([#&#8203;10370](https://github.com/rolldown/rolldown/issues/10370)) by [@&#8203;Boshen](https://github.com/Boshen)
- reuse normalized path buffers ([#&#8203;10315](https://github.com/rolldown/rolldown/issues/10315)) by [@&#8203;hyfdev](https://github.com/hyfdev)

##### 🧪 Testing

- code-splitting: pin CJS barrel fallback triggers and flag-off equivalence ([#&#8203;10514](https://github.com/rolldown/rolldown/issues/10514)) by [@&#8203;hyfdev](https://github.com/hyfdev)
- plugin: cover chunk fileName, absolute chunk name, and Windows drive names ([#&#8203;10400](https://github.com/rolldown/rolldown/issues/10400)) by [@&#8203;IWANABETHATGUY](https://github.com/IWANABETHATGUY)
- code-splitting: cover a single-chunk dynamic import of a wrapped module ([#&#8203;10505](https://github.com/rolldown/rolldown/issues/10505)) by [@&#8203;hyfdev](https://github.com/hyfdev)
- file: remove the unused .dynamic\_import fixture ([#&#8203;10481](https://github.com/rolldown/rolldown/issues/10481)) by [@&#8203;hyfdev](https://github.com/hyfdev)
- treeshake: reduce manual-pure fixture to a minimal smoke test, move matrix to unit tests ([#&#8203;10436](https://github.com/rolldown/rolldown/issues/10436)) by [@&#8203;IWANABETHATGUY](https://github.com/IWANABETHATGUY)
- dev: run vite playgrounds under bundled dev (test-serve-bundled) ([#&#8203;10434](https://github.com/rolldown/rolldown/issues/10434)) by [@&#8203;h-a-n-a](https://github.com/h-a-n-a)
- stop snapshots from silently hiding user code inside the runtime region ([#&#8203;10431](https://github.com/rolldown/rolldown/issues/10431)) by [@&#8203;hyfdev](https://github.com/hyfdev)
- wasi: add tokio runtime lifecycle regression test ([#&#8203;10379](https://github.com/rolldown/rolldown/issues/10379)) by [@&#8203;shulaoda](https://github.com/shulaoda)
- dev: expect preserved hot.data in hmr-whole-chain-dispose ([#&#8203;10380](https://github.com/rolldown/rolldown/issues/10380)) by [@&#8203;h-a-n-a](https://github.com/h-a-n-a)
- code-splitting: pin flag-off wrapped-esm init emission ([#&#8203;10324](https://github.com/rolldown/rolldown/issues/10324)) by [@&#8203;hyfdev](https://github.com/hyfdev)
- sourcemap: fix Windows-only failures in composition fixtures ([#&#8203;10368](https://github.com/rolldown/rolldown/issues/10368)) by [@&#8203;shulaoda](https://github.com/shulaoda)
- generated-code: mark assert external in symbols\_ns2 for deterministic output ([#&#8203;10339](https://github.com/rolldown/rolldown/issues/10339)) by [@&#8203;hyfdev](https://github.com/hyfdev)
- code-splitting: cover entries-aware strict init cycle ([#&#8203;10307](https://github.com/rolldown/rolldown/issues/10307)) by [@&#8203;hyfdev](https://github.com/hyfdev)
- make `just setup-vite` the only entry point that touches `vite/` ([#&#8203;10332](https://github.com/rolldown/rolldown/issues/10332)) by [@&#8203;shulaoda](https://github.com/shulaoda)
- vite-tests: reuse the shared root vite checkout ([#&#8203;10325](https://github.com/rolldown/rolldown/issues/10325)) by [@&#8203;shulaoda](https://github.com/shulaoda)
- test-dev-server: drop the vite submodule, track rolldown-canary ([#&#8203;10319](https://github.com/rolldown/rolldown/issues/10319)) by [@&#8203;shulaoda](https://github.com/shulaoda)
- vite-tests: track the latest rolldown-canary rebased onto vite main ([#&#8203;10318](https://github.com/rolldown/rolldown/issues/10318)) by [@&#8203;shulaoda](https://github.com/shulaoda)
- unify Vite in vite-test and test-dev-server ([#&#8203;10293](https://github.com/rolldown/rolldown/issues/10293)) by [@&#8203;h-a-n-a](https://github.com/h-a-n-a)

##### ⚙️ Miscellaneous Tasks

- scope the binding artifact download to `bindings-*` ([#&#8203;10525](https://github.com/rolldown/rolldown/issues/10525)) by [@&#8203;shulaoda](https://github.com/shulaoda)
- deps: update napi ([#&#8203;10506](https://github.com/rolldown/rolldown/issues/10506)) by [@&#8203;renovate](https://github.com/renovate)\[bot]
- deps: update rollup submodule for tests to v4.62.3 ([#&#8203;10494](https://github.com/rolldown/rolldown/issues/10494)) by [@&#8203;rolldown-guard](https://github.com/rolldown-guard)\[bot]
- deps: upgrade oxc to 0.142.0 ([#&#8203;10497](https://github.com/rolldown/rolldown/issues/10497)) by [@&#8203;shulaoda](https://github.com/shulaoda)
- deps: update test262 submodule for tests ([#&#8203;10495](https://github.com/rolldown/rolldown/issues/10495)) by [@&#8203;rolldown-guard](https://github.com/rolldown-guard)\[bot]
- deps: update github actions ([#&#8203;10460](https://github.com/rolldown/rolldown/issues/10460)) by [@&#8203;renovate](https://github.com/renovate)\[bot]
- deps: update rust crates ([#&#8203;10462](https://github.com/rolldown/rolldown/issues/10462)) by [@&#8203;renovate](https://github.com/renovate)\[bot]
- deps: update npm packages ([#&#8203;10461](https://github.com/rolldown/rolldown/issues/10461)) by [@&#8203;renovate](https://github.com/renovate)\[bot]
- metric: alert Discord when the metric workflow fails ([#&#8203;10447](https://github.com/rolldown/rolldown/issues/10447)) by [@&#8203;IWANABETHATGUY](https://github.com/IWANABETHATGUY)
- metric: mint a short-lived GitHub App token instead of a PAT ([#&#8203;10446](https://github.com/rolldown/rolldown/issues/10446)) by [@&#8203;IWANABETHATGUY](https://github.com/IWANABETHATGUY)
- repo: repair dangling CLAUDE.md symlink ([#&#8203;10451](https://github.com/rolldown/rolldown/issues/10451)) by [@&#8203;hanayashiki](https://github.com/hanayashiki)
- publint/package-metadata fixes and small correctness fixes ([#&#8203;10344](https://github.com/rolldown/rolldown/issues/10344)) by [@&#8203;Brooooooklyn](https://github.com/Brooooooklyn)
- deps: update dependency vite-plus to v0.2.6 ([#&#8203;10404](https://github.com/rolldown/rolldown/issues/10404)) by [@&#8203;renovate](https://github.com/renovate)\[bot]
- add Semgrep scan workflow ([#&#8203;10395](https://github.com/rolldown/rolldown/issues/10395)) by [@&#8203;Boshen](https://github.com/Boshen)
- enable Windows CI with a PR label ([#&#8203;10375](https://github.com/rolldown/rolldown/issues/10375)) by [@&#8203;hyfdev](https://github.com/hyfdev)
- deps: upgrade oxc to 0.141.0 ([#&#8203;10373](https://github.com/rolldown/rolldown/issues/10373)) by [@&#8203;camc314](https://github.com/camc314)
- deps: update napi ([#&#8203;10369](https://github.com/rolldown/rolldown/issues/10369)) by [@&#8203;renovate](https://github.com/renovate)\[bot]
- deps: update test262 submodule for tests ([#&#8203;10367](https://github.com/rolldown/rolldown/issues/10367)) by [@&#8203;rolldown-guard](https://github.com/rolldown-guard)\[bot]
- deps: update taiki-e/install-action action to v2.83.3 ([#&#8203;10358](https://github.com/rolldown/rolldown/issues/10358)) by [@&#8203;renovate](https://github.com/renovate)\[bot]
- deps: update rust crates ([#&#8203;10357](https://github.com/rolldown/rolldown/issues/10357)) by [@&#8203;renovate](https://github.com/renovate)\[bot]
- deps: update npm packages ([#&#8203;10359](https://github.com/rolldown/rolldown/issues/10359)) by [@&#8203;renovate](https://github.com/renovate)\[bot]
- deps: update rust crate syn to v3 ([#&#8203;10362](https://github.com/rolldown/rolldown/issues/10362)) by [@&#8203;renovate](https://github.com/renovate)\[bot]
- deps: update rust crate oxc\_sourcemap to v8.1.2 ([#&#8203;10356](https://github.com/rolldown/rolldown/issues/10356)) by [@&#8203;renovate](https://github.com/renovate)\[bot]
- deps: update dependency vite-plus to v0.2.5 ([#&#8203;10329](https://github.com/rolldown/rolldown/issues/10329)) by [@&#8203;renovate](https://github.com/renovate)\[bot]
- docs: migrate Netlify redirects to Void config ([#&#8203;10282](https://github.com/rolldown/rolldown/issues/10282)) by [@&#8203;tux-tn](https://github.com/tux-tn)
- deps: update dependency rust to v1.97.1 ([#&#8203;10317](https://github.com/rolldown/rolldown/issues/10317)) by [@&#8203;renovate](https://github.com/renovate)\[bot]
- runtime: remove unused `runtime/index.js` ([#&#8203;10302](https://github.com/rolldown/rolldown/issues/10302)) by [@&#8203;IWANABETHATGUY](https://github.com/IWANABETHATGUY)

##### ❤️ New Contributors

- [@&#8203;dogledogle](https://github.com/dogledogle) made their first contribution in [#&#8203;10523](https://github.com/rolldown/rolldown/pull/10523)
- [@&#8203;tbvjaos510](https://github.com/tbvjaos510) made their first contribution in [#&#8203;10489](https://github.com/rolldown/rolldown/pull/10489)
- [@&#8203;martijnwalraven](https://github.com/martijnwalraven) made their first contribution in [#&#8203;10440](https://github.com/rolldown/rolldown/pull/10440)
- [@&#8203;shantanuraj](https://github.com/shantanuraj) made their first contribution in [#&#8203;10438](https://github.com/rolldown/rolldown/pull/10438)
- [@&#8203;Nic-Polumeyv](https://github.com/Nic-Polumeyv) made their first contribution in [#&#8203;10450](https://github.com/rolldown/rolldown/pull/10450)
- [@&#8203;hanayashiki](https://github.com/hanayashiki) made their first contribution in [#&#8203;10451](https://github.com/rolldown/rolldown/pull/10451)
- [@&#8203;unknownjedi](https://github.com/unknownjedi) made their first contribution in [#&#8203;10426](https://github.com/rolldown/rolldown/pull/10426)
- [@&#8203;vittorioexp](https://github.com/vittorioexp) made their first contribution in [#&#8203;10382](https://github.com/rolldown/rolldown/pull/10382)
- [@&#8203;tux-tn](https://github.com/tux-tn) made their first contribution in [#&#8203;10282](https://github.com/rolldown/rolldown/pull/10282)

</details>

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - At any time (no schedule defined)
- 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](https://github.com/renovatebot/renovate/discussions) if that's undesired.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Mend Renovate](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yNjMuOSIsInVwZGF0ZWRJblZlciI6IjQzLjI2My45IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJkZXBzIiwibnBtIl19-->

Reviewed-on: https://gitea.t000-n.de/t.behrendt/validate-json-by-json-schema-action/pulls/64
Reviewed-by: t.behrendt <2+t.behrendt@noreply.localhost>
Co-authored-by: Renovate Bot <renovate@t00n.de>
Co-committed-by: Renovate Bot <renovate@t00n.de>
2026-08-06 07:14:39 +02:00
renovate-bot 80e43303c6 chore(deps): update all non-major dependencies (#61)
This PR contains the following updates:

| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
| [oxfmt](https://oxc.rs/docs/guide/usage/formatter) ([source](https://github.com/oxc-project/oxc/tree/HEAD/npm/oxfmt)) | [`0.58.0` → `0.60.0`](https://renovatebot.com/diffs/npm/oxfmt/0.58.0/0.60.0) | ![age](https://developer.mend.io/api/mc/badges/age/npm/oxfmt/0.60.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/oxfmt/0.58.0/0.60.0?slim=true) |
| [rolldown](https://rolldown.rs/) ([source](https://github.com/rolldown/rolldown/tree/HEAD/packages/rolldown)) | [`1.1.5` → `1.2.0`](https://renovatebot.com/diffs/npm/rolldown/1.1.5/1.2.0) | ![age](https://developer.mend.io/api/mc/badges/age/npm/rolldown/1.2.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/rolldown/1.1.5/1.2.0?slim=true) |

---

### Release Notes

<details>
<summary>oxc-project/oxc (oxfmt)</summary>

### [`v0.60.0`](https://github.com/oxc-project/oxc/compare/oxfmt_v0.59.0...oxfmt_v0.60.0)

[Compare Source](https://github.com/oxc-project/oxc/compare/oxfmt_v0.59.0...oxfmt_v0.60.0)

### [`v0.59.0`](https://github.com/oxc-project/oxc/blob/HEAD/npm/oxfmt/CHANGELOG.md#0590---2026-07-13)

[Compare Source](https://github.com/oxc-project/oxc/compare/oxfmt_v0.58.0...oxfmt_v0.59.0)

##### 🐛 Bug Fixes

- [`415fe1e`](https://github.com/oxc-project/oxc/commit/415fe1e) oxfmt: Error on ignorePatterns that cannot match files outside the config directory ([#&#8203;24286](https://github.com/oxc-project/oxc/issues/24286)) (leaysgur)

</details>

<details>
<summary>rolldown/rolldown (rolldown)</summary>

### [`v1.2.0`](https://github.com/rolldown/rolldown/blob/HEAD/CHANGELOG.md#120---2026-07-15)

[Compare Source](https://github.com/rolldown/rolldown/compare/v1.1.5...v1.2.0)

##### 🚀 Features

- dev: skip shipping factories for newly imported top-level modules ([#&#8203;10223](https://github.com/rolldown/rolldown/issues/10223)) by [@&#8203;h-a-n-a](https://github.com/h-a-n-a)
- dev: per-client ship map for HMR patch sizing ([#&#8203;10208](https://github.com/rolldown/rolldown/issues/10208)) by [@&#8203;h-a-n-a](https://github.com/h-a-n-a)
- dev: client-side HMR ([#&#8203;10164](https://github.com/rolldown/rolldown/issues/10164)) by [@&#8203;h-a-n-a](https://github.com/h-a-n-a)
- dev: send a full-reload update to clients when a tsconfig changes ([#&#8203;10262](https://github.com/rolldown/rolldown/issues/10262)) by [@&#8203;shulaoda](https://github.com/shulaoda)
- treat `import.meta['url']` and `import.meta['ROLLUP_FILE_URL_*']` as side-effect free ([#&#8203;10267](https://github.com/rolldown/rolldown/issues/10267)) by [@&#8203;sapphi-red](https://github.com/sapphi-red)
- rewrite `import.meta['url']` ([#&#8203;10251](https://github.com/rolldown/rolldown/issues/10251)) by [@&#8203;sapphi-red](https://github.com/sapphi-red)
- add `FILE_NOT_FOUND` error ([#&#8203;10220](https://github.com/rolldown/rolldown/issues/10220)) by [@&#8203;sapphi-red](https://github.com/sapphi-red)
- treat `import.meta.ROLLUP_FILE_URL_*` as side-effect free ([#&#8203;10217](https://github.com/rolldown/rolldown/issues/10217)) by [@&#8203;sapphi-red](https://github.com/sapphi-red)

##### 🐛 Bug Fixes

- sourcemap: preserve unmapped boundaries during composition ([#&#8203;10254](https://github.com/rolldown/rolldown/issues/10254)) by [@&#8203;hyfdev](https://github.com/hyfdev)
- `[format]` in `*FileNames` option for ESM format should be `es` instead of `esm` ([#&#8203;10214](https://github.com/rolldown/rolldown/issues/10214)) by [@&#8203;sapphi-red](https://github.com/sapphi-red)
- sourcemap: preserve coarse mappings during composition ([#&#8203;10249](https://github.com/rolldown/rolldown/issues/10249)) by [@&#8203;hyfdev](https://github.com/hyfdev)
- rolldown\_plugin\_vite\_import\_glob: support tsconfig paths with `import.meta.glob` ([#&#8203;10167](https://github.com/rolldown/rolldown/issues/10167)) by [@&#8203;sapphi-red](https://github.com/sapphi-red)
- dev: clear tsconfig caches for bare full builds ([#&#8203;10276](https://github.com/rolldown/rolldown/issues/10276)) by [@&#8203;shulaoda](https://github.com/shulaoda)
- dev: force a full rebuild when a tsconfig changes ([#&#8203;10261](https://github.com/rolldown/rolldown/issues/10261)) by [@&#8203;shulaoda](https://github.com/shulaoda)
- treat rooted drive-less module ids as absolute in preserveModules naming ([#&#8203;10235](https://github.com/rolldown/rolldown/issues/10235)) by [@&#8203;IWANABETHATGUY](https://github.com/IWANABETHATGUY)
- watch: rebuild when tsconfig files change ([#&#8203;10258](https://github.com/rolldown/rolldown/issues/10258)) by [@&#8203;shulaoda](https://github.com/shulaoda)
- watch: drop tsconfig-merged transform options on each rebuild ([#&#8203;10257](https://github.com/rolldown/rolldown/issues/10257)) by [@&#8203;shulaoda](https://github.com/shulaoda)
- incorrect `EMPTY_IMPORT_META` warning for `import.meta.ROLLUP_FILE_URL_*` for CJS output ([#&#8203;10221](https://github.com/rolldown/rolldown/issues/10221)) by [@&#8203;sapphi-red](https://github.com/sapphi-red)
- deconflict: rename CJS locals shadowing wrapped-ESM namespace objects ([#&#8203;9970](https://github.com/rolldown/rolldown/issues/9970)) by [@&#8203;IWANABETHATGUY](https://github.com/IWANABETHATGUY)
- rolldown: drop the unused runtime module after entry-level external flattening ([#&#8203;10237](https://github.com/rolldown/rolldown/issues/10237)) by [@&#8203;IWANABETHATGUY](https://github.com/IWANABETHATGUY)
- rolldown: re-propagate has\_dynamic\_exports to transitive star importers ([#&#8203;10239](https://github.com/rolldown/rolldown/issues/10239)) by [@&#8203;IWANABETHATGUY](https://github.com/IWANABETHATGUY)
- tree-shaking: tree-shake destructured dynamic import namespace bindings ([#&#8203;10213](https://github.com/rolldown/rolldown/issues/10213)) by [@&#8203;logaretm](https://github.com/logaretm)
- s390x: use json-escape-simd 3.1.1 for big-endian JSON escaping fix ([#&#8203;10211](https://github.com/rolldown/rolldown/issues/10211)) by [@&#8203;satyamg1620](https://github.com/satyamg1620)

##### 🚜 Refactor

- dev: move full-reload to client side ([#&#8203;10207](https://github.com/rolldown/rolldown/issues/10207)) by [@&#8203;h-a-n-a](https://github.com/h-a-n-a)
- readability follow-ups to the ReplaceWith migration ([#&#8203;10286](https://github.com/rolldown/rolldown/issues/10286)) by [@&#8203;IWANABETHATGUY](https://github.com/IWANABETHATGUY)
- replace take\_in-then-write-back with ReplaceWith and by-value moves ([#&#8203;10285](https://github.com/rolldown/rolldown/issues/10285)) by [@&#8203;Boshen](https://github.com/Boshen)
- share the main resolver's cache with the transformer's tsconfig lookups ([#&#8203;10205](https://github.com/rolldown/rolldown/issues/10205)) by [@&#8203;shulaoda](https://github.com/shulaoda)
- rolldown: extract the ns star-external \_\_reExport emission rule into LinkingMetadata ([#&#8203;10238](https://github.com/rolldown/rolldown/issues/10238)) by [@&#8203;IWANABETHATGUY](https://github.com/IWANABETHATGUY)
- rolldown: unify link/generate diagnostics into a Diagnostics accumulator ([#&#8203;10234](https://github.com/rolldown/rolldown/issues/10234)) by [@&#8203;IWANABETHATGUY](https://github.com/IWANABETHATGUY)
- sourcemap\_filenames: drop dead sourcemap-filename plumbing ([#&#8203;10189](https://github.com/rolldown/rolldown/issues/10189)) by [@&#8203;IWANABETHATGUY](https://github.com/IWANABETHATGUY)
- extract external import symbol merging into a method ([#&#8203;10224](https://github.com/rolldown/rolldown/issues/10224)) by [@&#8203;IWANABETHATGUY](https://github.com/IWANABETHATGUY)
- rolldown: skip CJS namespace merging under strict execution order ([#&#8203;10203](https://github.com/rolldown/rolldown/issues/10203)) by [@&#8203;hyfdev](https://github.com/hyfdev)
- resolve the manual tsconfig per file instead of once at startup ([#&#8203;10200](https://github.com/rolldown/rolldown/issues/10200)) by [@&#8203;shulaoda](https://github.com/shulaoda)
- rolldown: route interop ESM init emission through a shared init-target view ([#&#8203;10202](https://github.com/rolldown/rolldown/issues/10202)) by [@&#8203;hyfdev](https://github.com/hyfdev)
- rolldown: collapse vestigial wrap-kind state and share chunk sort helper ([#&#8203;10201](https://github.com/rolldown/rolldown/issues/10201)) by [@&#8203;hyfdev](https://github.com/hyfdev)

##### 📚 Documentation

- show plugin kinds in JSDoc and each hook's description ([#&#8203;10218](https://github.com/rolldown/rolldown/issues/10218)) by [@&#8203;sapphi-red](https://github.com/sapphi-red)
- add an explanation about removing imports from external modules without any messages ([#&#8203;10215](https://github.com/rolldown/rolldown/issues/10215)) by [@&#8203;sapphi-red](https://github.com/sapphi-red)

#####  Performance

- sourcemap: owned merge in SourceJoiner::join (4005->5 allocs/chunk) ([#&#8203;10250](https://github.com/rolldown/rolldown/issues/10250)) by [@&#8203;Boshen](https://github.com/Boshen)
- avoid redundant sourcemap string copies in collapse and minify paths ([#&#8203;10093](https://github.com/rolldown/rolldown/issues/10093)) by [@&#8203;Boshen](https://github.com/Boshen)

##### 🧪 Testing

- code-splitting: establish strict-order review baselines ([#&#8203;10287](https://github.com/rolldown/rolldown/issues/10287)) by [@&#8203;hyfdev](https://github.com/hyfdev)
- dev: add hot API test cases ([#&#8203;10181](https://github.com/rolldown/rolldown/issues/10181)) by [@&#8203;h-a-n-a](https://github.com/h-a-n-a)
- code-splitting: normalize strict execution order variants ([#&#8203;10277](https://github.com/rolldown/rolldown/issues/10277)) by [@&#8203;hyfdev](https://github.com/hyfdev)
- code-splitting: harden strict execution order coverage ([#&#8203;10252](https://github.com/rolldown/rolldown/issues/10252)) by [@&#8203;hyfdev](https://github.com/hyfdev)
- code-splitting: add strict execution order regressions ([#&#8203;10253](https://github.com/rolldown/rolldown/issues/10253)) by [@&#8203;hyfdev](https://github.com/hyfdev)

##### ⚙️ Miscellaneous Tasks

- deps: update github actions ([#&#8203;10241](https://github.com/rolldown/rolldown/issues/10241)) by [@&#8203;renovate](https://github.com/renovate)\[bot]
- deps: update oxc to 0.140.0 ([#&#8203;10274](https://github.com/rolldown/rolldown/issues/10274)) by [@&#8203;shulaoda](https://github.com/shulaoda)
- update Yunfei's GitHub username ([#&#8203;10275](https://github.com/rolldown/rolldown/issues/10275)) by [@&#8203;hyfdev](https://github.com/hyfdev)
- deps: update napi ([#&#8203;10260](https://github.com/rolldown/rolldown/issues/10260)) by [@&#8203;renovate](https://github.com/renovate)\[bot]
- deps: update test262 submodule for tests ([#&#8203;10266](https://github.com/rolldown/rolldown/issues/10266)) by [@&#8203;rolldown-guard](https://github.com/rolldown-guard)\[bot]
- deps: update dependency vite-plus to v0.2.4 ([#&#8203;10256](https://github.com/rolldown/rolldown/issues/10256)) by [@&#8203;renovate](https://github.com/renovate)\[bot]
- deps: update napi ([#&#8203;10240](https://github.com/rolldown/rolldown/issues/10240)) by [@&#8203;renovate](https://github.com/renovate)\[bot]
- deps: update oxc resolver to v11.24.2 ([#&#8203;10245](https://github.com/rolldown/rolldown/issues/10245)) by [@&#8203;renovate](https://github.com/renovate)\[bot]
- deps: update rust crates ([#&#8203;10244](https://github.com/rolldown/rolldown/issues/10244)) by [@&#8203;renovate](https://github.com/renovate)\[bot]
- disable Renovate updates for idna\_adapter ([#&#8203;10248](https://github.com/rolldown/rolldown/issues/10248)) by [@&#8203;shulaoda](https://github.com/shulaoda)
- deps: update oxc resolver to v11.24.1 ([#&#8203;10232](https://github.com/rolldown/rolldown/issues/10232)) by [@&#8203;renovate](https://github.com/renovate)\[bot]
- deps: update rust crate oxc\_sourcemap to v8.1.1 ([#&#8203;10233](https://github.com/rolldown/rolldown/issues/10233)) by [@&#8203;renovate](https://github.com/renovate)\[bot]
- deps: update dependency rolldown-plugin-dts to ^0.27.0 ([#&#8203;10206](https://github.com/rolldown/rolldown/issues/10206)) by [@&#8203;renovate](https://github.com/renovate)\[bot]
- deps: upgrade sugar\_path to v3 ([#&#8203;10230](https://github.com/rolldown/rolldown/issues/10230)) by [@&#8203;hyfdev](https://github.com/hyfdev)
- add `dist-*` to `.gitignore` in sourcemap-filenames/hash-final-content fixture ([#&#8203;10216](https://github.com/rolldown/rolldown/issues/10216)) by [@&#8203;sapphi-red](https://github.com/sapphi-red)
- deps: update dependency rust to v1.97.0 ([#&#8203;10209](https://github.com/rolldown/rolldown/issues/10209)) by [@&#8203;renovate](https://github.com/renovate)\[bot]

##### ❤️ New Contributors

- [@&#8203;satyamg1620](https://github.com/satyamg1620) made their first contribution in [#&#8203;10211](https://github.com/rolldown/rolldown/pull/10211)

</details>

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - At any time (no schedule defined)
- 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](https://github.com/renovatebot/renovate/discussions) if that's undesired.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Mend Renovate](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yNjMuOSIsInVwZGF0ZWRJblZlciI6IjQzLjI2My45IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJkZXBzIiwibnBtIl19-->

Reviewed-on: https://gitea.t000-n.de/t.behrendt/validate-json-by-json-schema-action/pulls/61
Reviewed-by: t.behrendt <2+t.behrendt@noreply.localhost>
Co-authored-by: Renovate Bot <renovate@t00n.de>
Co-committed-by: Renovate Bot <renovate@t00n.de>
2026-07-29 15:40:17 +02:00
renovate-bot de548917c5 chore(deps): update https://gitea.t000-n.de/t.behrendt/actions action to v0.2.12 (#63)
Co-authored-by: Renovate Bot <renovate@t00n.de>
Co-committed-by: Renovate Bot <renovate@t00n.de>
2026-07-28 06:38:03 +02:00
renovate-bot aa471228fe chore(deps): update actions/checkout action to v7.0.1 (#62)
Co-authored-by: Renovate Bot <renovate@t00n.de>
Co-committed-by: Renovate Bot <renovate@t00n.de>
2026-07-28 06:14:25 +02:00
renovate-bot c6419bd084 chore(deps): update actions/setup-node action to v7 (#60)
Co-authored-by: Renovate Bot <renovate@t00n.de>
Co-committed-by: Renovate Bot <renovate@t00n.de>
2026-07-22 06:11:34 +02:00
renovate-bot a2f574acc1 chore(deps): update actions/setup-node action to v6.5.0 (#59)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [actions/setup-node](https://github.com/actions/setup-node) | action | minor | `v6.4.0` → `v6.5.0` |

---

### Release Notes

<details>
<summary>actions/setup-node (actions/setup-node)</summary>

### [`v6.5.0`](https://github.com/actions/setup-node/releases/tag/v6.5.0)

[Compare Source](https://github.com/actions/setup-node/compare/v6.4.0...v6.5.0)

##### What's Changed

- Update [@&#8203;actions/cache](https://github.com/actions/cache) to 5.1.0 and add security overrides for undici and fast-xml-parser by [@&#8203;HarithaVattikuti](https://github.com/HarithaVattikuti) in [#&#8203;1579](https://github.com/actions/setup-node/pull/1579)

**Full Changelog**: <https://github.com/actions/setup-node/compare/v6.4.0...v6.5.0>

</details>

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - At any time (no schedule defined)
- 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.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Mend Renovate](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yNjMuOSIsInVwZGF0ZWRJblZlciI6IjQzLjI2My45IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJhY3Rpb24iLCJkZXBzIl19-->

Reviewed-on: #59
Reviewed-by: t.behrendt <2+t.behrendt@noreply.localhost>
Co-authored-by: Renovate Bot <renovate@t00n.de>
Co-committed-by: Renovate Bot <renovate@t00n.de>
2026-07-21 07:41:41 +02:00
renovate-bot e9d4547d7e chore(deps): update https://gitea.t000-n.de/t.behrendt/actions action to v0.2.11 (#58)
Co-authored-by: Renovate Bot <renovate@t00n.de>
Co-committed-by: Renovate Bot <renovate@t00n.de>
2026-07-19 07:11:09 +02:00
renovate-bot 396e472c0d chore(deps): update actions (#57)
Co-authored-by: Renovate Bot <renovate@t00n.de>
Co-committed-by: Renovate Bot <renovate@t00n.de>
2026-07-19 06:12:38 +02:00
renovate-bot 5f9db435c2 chore(deps): update https://gitea.t000-n.de/t.behrendt/conventional-semantic-git-tag-increment action to v0.1.41 (#56)
Co-authored-by: Renovate Bot <renovate@t00n.de>
Co-committed-by: Renovate Bot <renovate@t00n.de>
2026-07-18 10:43:33 +02:00
renovate-bot 4ef2d7a6cc chore(deps): update https://gitea.t000-n.de/t.behrendt/actions action to v0.2.9 (#55)
Co-authored-by: Renovate Bot <renovate@t00n.de>
Co-committed-by: Renovate Bot <renovate@t00n.de>
2026-07-18 07:34:21 +02:00
renovate-bot c4af91c99f chore(deps): update https://gitea.t000-n.de/t.behrendt/conventional-semantic-git-tag-increment action to v0.1.40 (#54)
Co-authored-by: Renovate Bot <renovate@t00n.de>
Co-committed-by: Renovate Bot <renovate@t00n.de>
2026-07-18 07:09:55 +02:00
renovate-bot 3ec6498da5 chore(deps): update dependency typescript to v7 (#53)
This PR contains the following updates:

| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
| [typescript](https://www.typescriptlang.org/) ([source](https://github.com/microsoft/TypeScript)) | [`6.0.3` → `7.0.2`](https://renovatebot.com/diffs/npm/typescript/6.0.3/7.0.2) | ![age](https://developer.mend.io/api/mc/badges/age/npm/typescript/7.0.2?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/typescript/6.0.3/7.0.2?slim=true) |

---

### Release Notes

<details>
<summary>microsoft/TypeScript (typescript)</summary>

### [`v7.0.2`](https://github.com/microsoft/TypeScript/compare/v6.0.3...2bd066d87f5bafd315be9f40889d0a60b9e58e0b)

[Compare Source](https://github.com/microsoft/TypeScript/compare/v6.0.3...2bd066d87f5bafd315be9f40889d0a60b9e58e0b)

</details>

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - At any time (no schedule defined)
- 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.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Mend Renovate](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yNjMuOSIsInVwZGF0ZWRJblZlciI6IjQzLjI2My45IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJkZXBzIiwibnBtIl19-->

Reviewed-on: #53
Reviewed-by: t.behrendt <2+t.behrendt@noreply.localhost>
Co-authored-by: Renovate Bot <renovate@t00n.de>
Co-committed-by: Renovate Bot <renovate@t00n.de>
2026-07-16 07:27:26 +02:00
renovate-bot 04b5b312ea chore(deps): update all non-major dependencies (#52)
This PR contains the following updates:

| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node) ([source](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node)) | [`24.13.2` → `24.13.3`](https://renovatebot.com/diffs/npm/@types%2fnode/24.13.2/24.13.3) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2fnode/24.13.3?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2fnode/24.13.2/24.13.3?slim=true) |
| [rolldown](https://rolldown.rs/) ([source](https://github.com/rolldown/rolldown/tree/HEAD/packages/rolldown)) | [`1.1.4` → `1.1.5`](https://renovatebot.com/diffs/npm/rolldown/1.1.4/1.1.5) | ![age](https://developer.mend.io/api/mc/badges/age/npm/rolldown/1.1.5?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/rolldown/1.1.4/1.1.5?slim=true) |

---

### Release Notes

<details>
<summary>rolldown/rolldown (rolldown)</summary>

### [`v1.1.5`](https://github.com/rolldown/rolldown/blob/HEAD/CHANGELOG.md#115---2026-07-08)

[Compare Source](https://github.com/rolldown/rolldown/compare/v1.1.4...v1.1.5)

##### 🚀 Features

- detect top-level import-binding reads as execution-order sensitive ([#&#8203;10180](https://github.com/rolldown/rolldown/issues/10180)) by [@&#8203;hyf0](https://github.com/hyf0)
- sourcemap\_filenames: add a sourcemapFileNames option ([#&#8203;9271](https://github.com/rolldown/rolldown/issues/9271)) by [@&#8203;V1OL3TF0X](https://github.com/V1OL3TF0X)
- binding: record plugin hook result kind in tracing spans ([#&#8203;10154](https://github.com/rolldown/rolldown/issues/10154)) by [@&#8203;IWANABETHATGUY](https://github.com/IWANABETHATGUY)
- linking: skip side-effect-free modules in per-entry reachability ([#&#8203;10111](https://github.com/rolldown/rolldown/issues/10111)) by [@&#8203;IWANABETHATGUY](https://github.com/IWANABETHATGUY)
- improve error message for unresolved virtual imports ([#&#8203;10156](https://github.com/rolldown/rolldown/issues/10156)) by [@&#8203;sapphi-red](https://github.com/sapphi-red)
- add descriptive metadata to plugin API ([#&#8203;10106](https://github.com/rolldown/rolldown/issues/10106)) by [@&#8203;sapphi-red](https://github.com/sapphi-red)
- add `--configLoader=native` option ([#&#8203;10118](https://github.com/rolldown/rolldown/issues/10118)) by [@&#8203;sapphi-red](https://github.com/sapphi-red)

##### 🐛 Bug Fixes

- improve invalid annotation warnings ([#&#8203;10185](https://github.com/rolldown/rolldown/issues/10185)) by [@&#8203;hyf0](https://github.com/hyf0)
- keep deduplicated asset filenames stable once they can be observed ([#&#8203;10191](https://github.com/rolldown/rolldown/issues/10191)) by [@&#8203;shulaoda](https://github.com/shulaoda)
- sourcemap\_filenames: use public option name in pattern errors ([#&#8203;10188](https://github.com/rolldown/rolldown/issues/10188)) by [@&#8203;IWANABETHATGUY](https://github.com/IWANABETHATGUY)
- sourcemap\_filenames: hash prepared sourcemap content ([#&#8203;10178](https://github.com/rolldown/rolldown/issues/10178)) by [@&#8203;hyf0](https://github.com/hyf0)
- tree-shake unused circular declarators exported via export list ([#&#8203;10166](https://github.com/rolldown/rolldown/issues/10166)) by [@&#8203;IWANABETHATGUY](https://github.com/IWANABETHATGUY)
- dev: don't panic when an HMR rebuild hits an unresolved import ([#&#8203;10162](https://github.com/rolldown/rolldown/issues/10162)) by [@&#8203;shulaoda](https://github.com/shulaoda)
- propagate errors from output.globals function ([#&#8203;9880](https://github.com/rolldown/rolldown/issues/9880)) by [@&#8203;shulaoda](https://github.com/shulaoda)
- dev: revert cache mutations when a partial scan fails ([#&#8203;10110](https://github.com/rolldown/rolldown/issues/10110)) by [@&#8203;shulaoda](https://github.com/shulaoda)
- dev: update importer relationships of cached modules in incremental build ([#&#8203;10107](https://github.com/rolldown/rolldown/issues/10107)) by [@&#8203;shulaoda](https://github.com/shulaoda)
- hmr: fall back to full reload when a changed module is not registered as executed ([#&#8203;10132](https://github.com/rolldown/rolldown/issues/10132)) by [@&#8203;shulaoda](https://github.com/shulaoda)
- chunk-optimizer: follow entry facade edges in runtime placement cycle check ([#&#8203;10101](https://github.com/rolldown/rolldown/issues/10101)) by [@&#8203;hyf0](https://github.com/hyf0)
- dev: ignore watcher events after close ([#&#8203;10113](https://github.com/rolldown/rolldown/issues/10113)) by [@&#8203;hyf0](https://github.com/hyf0)
- emit async wrapper for TLA modules under onDemandWrapping ([#&#8203;10086](https://github.com/rolldown/rolldown/issues/10086)) by [@&#8203;IWANABETHATGUY](https://github.com/IWANABETHATGUY)
- gate sideEffects:false modules' side effects on body demand ([#&#8203;10080](https://github.com/rolldown/rolldown/issues/10080)) by [@&#8203;IWANABETHATGUY](https://github.com/IWANABETHATGUY)
- rolldown\_plugin\_vite\_resolve: return empty object for `browser: false` mapped modules ([#&#8203;10082](https://github.com/rolldown/rolldown/issues/10082)) by [@&#8203;sapphi-red](https://github.com/sapphi-red)
- reset the word-boundary state on newline in Hires::Boundary sourcemaps ([#&#8203;10025](https://github.com/rolldown/rolldown/issues/10025)) by [@&#8203;shulaoda](https://github.com/shulaoda)
- trim an emptied chunk's outro/intro instead of skipping past it ([#&#8203;10029](https://github.com/rolldown/rolldown/issues/10029)) by [@&#8203;shulaoda](https://github.com/shulaoda)
- test each edited chunk's own start against indent exclude ranges ([#&#8203;10026](https://github.com/rolldown/rolldown/issues/10026)) by [@&#8203;shulaoda](https://github.com/shulaoda)
- preserve sourcemap mappings for indented lines when a CJS module shares the chunk ([#&#8203;10074](https://github.com/rolldown/rolldown/issues/10074)) by [@&#8203;hyf0](https://github.com/hyf0)

##### 🚜 Refactor

- separate tree-shaking side effects from execution order sensitivity ([#&#8203;10168](https://github.com/rolldown/rolldown/issues/10168)) by [@&#8203;hyf0](https://github.com/hyf0)
- type construct\_vite\_preload\_call to take an ObjectPattern ([#&#8203;10135](https://github.com/rolldown/rolldown/issues/10135)) by [@&#8203;shulaoda](https://github.com/shulaoda)
- treeshake: single-source the own-export classification shared with the lazy-barrel loader ([#&#8203;10098](https://github.com/rolldown/rolldown/issues/10098)) by [@&#8203;IWANABETHATGUY](https://github.com/IWANABETHATGUY)
- dev: reuse Vite's bundledDev server ([#&#8203;10081](https://github.com/rolldown/rolldown/issues/10081)) by [@&#8203;h-a-n-a](https://github.com/h-a-n-a)
- clippy: ban std HashMap/HashSet in favour of FxHashMap/FxHashSet ([#&#8203;10108](https://github.com/rolldown/rolldown/issues/10108)) by [@&#8203;Boshen](https://github.com/Boshen)
- treeshake: make body demand a second module bit instead of a stmt multimap ([#&#8203;10097](https://github.com/rolldown/rolldown/issues/10097)) by [@&#8203;IWANABETHATGUY](https://github.com/IWANABETHATGUY)
- seal used\_symbol\_refs by construction after its last writer ([#&#8203;10091](https://github.com/rolldown/rolldown/issues/10091)) by [@&#8203;hyf0](https://github.com/hyf0)
- treeshake: replace inclusion mutual recursion with a worklist engine ([#&#8203;10096](https://github.com/rolldown/rolldown/issues/10096)) by [@&#8203;IWANABETHATGUY](https://github.com/IWANABETHATGUY)
- treeshake: split include\_statements.rs into focused modules ([#&#8203;10095](https://github.com/rolldown/rolldown/issues/10095)) by [@&#8203;IWANABETHATGUY](https://github.com/IWANABETHATGUY)
- drop redundant is\_user\_defined filter on partitioned entries ([#&#8203;10050](https://github.com/rolldown/rolldown/issues/10050)) by [@&#8203;shulaoda](https://github.com/shulaoda)
- project the retained export interface out of used\_symbol\_refs ([#&#8203;10089](https://github.com/rolldown/rolldown/issues/10089)) by [@&#8203;hyf0](https://github.com/hyf0)
- track used external symbols separately from used\_symbol\_refs ([#&#8203;10088](https://github.com/rolldown/rolldown/issues/10088)) by [@&#8203;hyf0](https://github.com/hyf0)
- make module namespace inclusion an explicit linking metadata field ([#&#8203;10087](https://github.com/rolldown/rolldown/issues/10087)) by [@&#8203;hyf0](https://github.com/hyf0)
- rename statement evaluation metadata ([#&#8203;10078](https://github.com/rolldown/rolldown/issues/10078)) by [@&#8203;hyf0](https://github.com/hyf0)

##### 📚 Documentation

- virtual modules user-facing id convention ([#&#8203;10155](https://github.com/rolldown/rolldown/issues/10155)) by [@&#8203;sapphi-red](https://github.com/sapphi-red)
- cli: clarify disabling boolean/object flags like codeSplitting ([#&#8203;10153](https://github.com/rolldown/rolldown/issues/10153)) by [@&#8203;IWANABETHATGUY](https://github.com/IWANABETHATGUY)
- chore: remove Vite+ alpha banner ([#&#8203;10105](https://github.com/rolldown/rolldown/issues/10105)) by [@&#8203;mdong1909](https://github.com/mdong1909)
- write down the used\_symbol\_refs contract ([#&#8203;10090](https://github.com/rolldown/rolldown/issues/10090)) by [@&#8203;hyf0](https://github.com/hyf0)
- dev/lazy: update design and implementation ([#&#8203;10079](https://github.com/rolldown/rolldown/issues/10079)) by [@&#8203;h-a-n-a](https://github.com/h-a-n-a)

#####  Performance

- ast\_scanner: stop order-sensitivity checks once a module is flagged ([#&#8203;10190](https://github.com/rolldown/rolldown/issues/10190)) by [@&#8203;IWANABETHATGUY](https://github.com/IWANABETHATGUY)
- return impl ExactSizeIterator from slice-backed accessors ([#&#8203;10133](https://github.com/rolldown/rolldown/issues/10133)) by [@&#8203;Boshen](https://github.com/Boshen)
- binding: box dev and watcher napi futures ([#&#8203;10103](https://github.com/rolldown/rolldown/issues/10103)) by [@&#8203;Boshen](https://github.com/Boshen)

##### 🧪 Testing

- move string\_wizard replace unit tests to the JS magic-string suite ([#&#8203;10176](https://github.com/rolldown/rolldown/issues/10176)) by [@&#8203;IWANABETHATGUY](https://github.com/IWANABETHATGUY)
- dev: assert incremental scan state matches a fresh full build after each HMR step ([#&#8203;10115](https://github.com/rolldown/rolldown/issues/10115)) by [@&#8203;shulaoda](https://github.com/shulaoda)
- dev: restore runtime assertions of delete\_file\_not\_used\_anymore ([#&#8203;10112](https://github.com/rolldown/rolldown/issues/10112)) by [@&#8203;shulaoda](https://github.com/shulaoda)
- dev: fix flaky dev server tests in CI ([#&#8203;10152](https://github.com/rolldown/rolldown/issues/10152)) by [@&#8203;h-a-n-a](https://github.com/h-a-n-a)
- add regression test for [#&#8203;10099](https://github.com/rolldown/rolldown/issues/10099) (lazyBarrel drops default-import binding but keeps its property reads) ([#&#8203;10109](https://github.com/rolldown/rolldown/issues/10109)) by [@&#8203;IWANABETHATGUY](https://github.com/IWANABETHATGUY)

##### ⚙️ Miscellaneous Tasks

- deploy website to Void via GitHub OIDC ([#&#8203;10192](https://github.com/rolldown/rolldown/issues/10192)) by [@&#8203;Boshen](https://github.com/Boshen)
- deps: update oxc to 0.139.0 ([#&#8203;10161](https://github.com/rolldown/rolldown/issues/10161)) by [@&#8203;shulaoda](https://github.com/shulaoda)
- deps: update test262 submodule for tests ([#&#8203;10160](https://github.com/rolldown/rolldown/issues/10160)) by [@&#8203;rolldown-guard](https://github.com/rolldown-guard)\[bot]
- rolldown\_plugin\_utils: remove dead asset-url and css scaffolding ([#&#8203;10131](https://github.com/rolldown/rolldown/issues/10131)) by [@&#8203;shulaoda](https://github.com/shulaoda)
- deps: revert vite-plus to v0.2.1 ([#&#8203;10148](https://github.com/rolldown/rolldown/issues/10148)) by [@&#8203;shulaoda](https://github.com/shulaoda)
- deps: update github actions ([#&#8203;10141](https://github.com/rolldown/rolldown/issues/10141)) by [@&#8203;renovate](https://github.com/renovate)\[bot]
- deps: update dependency rust to v1.96.1 ([#&#8203;10145](https://github.com/rolldown/rolldown/issues/10145)) by [@&#8203;renovate](https://github.com/renovate)\[bot]
- deps: update npm packages ([#&#8203;10142](https://github.com/rolldown/rolldown/issues/10142)) by [@&#8203;renovate](https://github.com/renovate)\[bot]
- deps: update rust crates ([#&#8203;10143](https://github.com/rolldown/rolldown/issues/10143)) by [@&#8203;renovate](https://github.com/renovate)\[bot]
- deps: update napi to v3.10.3 ([#&#8203;10121](https://github.com/rolldown/rolldown/issues/10121)) by [@&#8203;renovate](https://github.com/renovate)\[bot]
- rolldown\_utils: remove unused time module ([#&#8203;10138](https://github.com/rolldown/rolldown/issues/10138)) by [@&#8203;shulaoda](https://github.com/shulaoda)
- remove dead CopyModulePlugin::is\_active method ([#&#8203;10129](https://github.com/rolldown/rolldown/issues/10129)) by [@&#8203;shulaoda](https://github.com/shulaoda)
- remove dead LazyCompilationContext::is\_lazy\_module method ([#&#8203;10128](https://github.com/rolldown/rolldown/issues/10128)) by [@&#8203;shulaoda](https://github.com/shulaoda)
- remove dead BuildDiagnostic::downcast\_ref method ([#&#8203;10127](https://github.com/rolldown/rolldown/issues/10127)) by [@&#8203;shulaoda](https://github.com/shulaoda)
- deps: update dependency vite-plus to v0.2.2 ([#&#8203;10084](https://github.com/rolldown/rolldown/issues/10084)) by [@&#8203;renovate](https://github.com/renovate)\[bot]
- deps: update rust crate oxc\_sourcemap to v8.1.0 ([#&#8203;10122](https://github.com/rolldown/rolldown/issues/10122)) by [@&#8203;renovate](https://github.com/renovate)\[bot]
- deps: update crate-ci/typos action to v1.48.0 ([#&#8203;10124](https://github.com/rolldown/rolldown/issues/10124)) by [@&#8203;renovate](https://github.com/renovate)\[bot]
- enable more clippy restriction lints ([#&#8203;10114](https://github.com/rolldown/rolldown/issues/10114)) by [@&#8203;Boshen](https://github.com/Boshen)
- deps: update rust dependencies ([#&#8203;10100](https://github.com/rolldown/rolldown/issues/10100)) by [@&#8203;Boshen](https://github.com/Boshen)
- deps: update oxc resolver to v11.23.0 ([#&#8203;10083](https://github.com/rolldown/rolldown/issues/10083)) by [@&#8203;renovate](https://github.com/renovate)\[bot]

##### ◀️ Revert

- Revert "chore(deps): revert vite-plus to v0.2.1" ([#&#8203;10157](https://github.com/rolldown/rolldown/issues/10157)) by [@&#8203;h-a-n-a](https://github.com/h-a-n-a)
- "fix(hmr): fall back to full reload when a changed module is not registered as executed ([#&#8203;10132](https://github.com/rolldown/rolldown/issues/10132))" ([#&#8203;10151](https://github.com/rolldown/rolldown/issues/10151)) by [@&#8203;shulaoda](https://github.com/shulaoda)

##### ❤️ New Contributors

- [@&#8203;V1OL3TF0X](https://github.com/V1OL3TF0X) made their first contribution in [#&#8203;9271](https://github.com/rolldown/rolldown/pull/9271)

</details>

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - At any time (no schedule defined)
- 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](https://github.com/renovatebot/renovate/discussions) if that's undesired.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Mend Renovate](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yMzMuNCIsInVwZGF0ZWRJblZlciI6IjQzLjI2My45IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJkZXBzIiwibnBtIl19-->

Reviewed-on: https://gitea.t000-n.de/t.behrendt/validate-json-by-json-schema-action/pulls/52
Reviewed-by: t.behrendt <2+t.behrendt@noreply.localhost>
Co-authored-by: Renovate Bot <renovate@t00n.de>
Co-committed-by: Renovate Bot <renovate@t00n.de>
2026-07-15 16:41:49 +02:00
t.behrendt 20a2188ee2 ci: create release on dist changes (#51)
Reviewed-on: #51
Co-authored-by: t.behrendt <t.behrendt@t00n.de>
Co-committed-by: t.behrendt <t.behrendt@t00n.de>
2026-07-14 07:31:11 +02:00
renovate-bot 7b3ec98d69 chore(deps): update all non-major dependencies (#50)
This PR contains the following updates:

| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
| [@vitest/coverage-v8](https://vitest.dev/guide/coverage) ([source](https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8)) | [`4.1.9` → `4.1.10`](https://renovatebot.com/diffs/npm/@vitest%2fcoverage-v8/4.1.9/4.1.10) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@vitest%2fcoverage-v8/4.1.10?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@vitest%2fcoverage-v8/4.1.9/4.1.10?slim=true) |
| [oxfmt](https://oxc.rs/docs/guide/usage/formatter) ([source](https://github.com/oxc-project/oxc/tree/HEAD/npm/oxfmt)) | [`0.56.0` → `0.58.0`](https://renovatebot.com/diffs/npm/oxfmt/0.56.0/0.58.0) | ![age](https://developer.mend.io/api/mc/badges/age/npm/oxfmt/0.58.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/oxfmt/0.56.0/0.58.0?slim=true) |
| [rolldown](https://rolldown.rs/) ([source](https://github.com/rolldown/rolldown/tree/HEAD/packages/rolldown)) | [`1.1.3` → `1.1.4`](https://renovatebot.com/diffs/npm/rolldown/1.1.3/1.1.4) | ![age](https://developer.mend.io/api/mc/badges/age/npm/rolldown/1.1.4?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/rolldown/1.1.3/1.1.4?slim=true) |
| [vitest](https://vitest.dev) ([source](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest)) | [`4.1.9` → `4.1.10`](https://renovatebot.com/diffs/npm/vitest/4.1.9/4.1.10) | ![age](https://developer.mend.io/api/mc/badges/age/npm/vitest/4.1.10?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vitest/4.1.9/4.1.10?slim=true) |

---

### Release Notes

<details>
<summary>vitest-dev/vitest (@&#8203;vitest/coverage-v8)</summary>

### [`v4.1.10`](https://github.com/vitest-dev/vitest/releases/tag/v4.1.10)

[Compare Source](https://github.com/vitest-dev/vitest/compare/v4.1.9...v4.1.10)

#####    🐞 Bug Fixes

- **browser**: Check fs access in builtin commands \[backport to v4]  -  by [@&#8203;hi-ogawa](https://github.com/hi-ogawa), **Hiroshi Ogawa** and **OpenCode (claude-opus-4-8)** in [#&#8203;10680](https://github.com/vitest-dev/vitest/issues/10680) [<samp>(5c18d)</samp>](https://github.com/vitest-dev/vitest/commit/5c18dd267)
- **vm**: Fix external module resolve error with deps optimizer query for encoded URI \[backport to v4]  -  by [@&#8203;SveLil](https://github.com/SveLil) and [@&#8203;hi-ogawa](https://github.com/hi-ogawa) in [#&#8203;10661](https://github.com/vitest-dev/vitest/issues/10661) [<samp>(bae52)</samp>](https://github.com/vitest-dev/vitest/commit/bae52b511)

#####     [View changes on GitHub](https://github.com/vitest-dev/vitest/compare/v4.1.9...v4.1.10)

</details>

<details>
<summary>oxc-project/oxc (oxfmt)</summary>

### [`v0.58.0`](https://github.com/oxc-project/oxc/compare/oxfmt_v0.57.0...oxfmt_v0.58.0)

[Compare Source](https://github.com/oxc-project/oxc/compare/oxfmt_v0.57.0...oxfmt_v0.58.0)

### [`v0.57.0`](https://github.com/oxc-project/oxc/compare/oxfmt_v0.56.0...oxfmt_v0.57.0)

[Compare Source](https://github.com/oxc-project/oxc/compare/oxfmt_v0.56.0...oxfmt_v0.57.0)

</details>

<details>
<summary>rolldown/rolldown (rolldown)</summary>

### [`v1.1.4`](https://github.com/rolldown/rolldown/blob/HEAD/CHANGELOG.md#114---2026-07-01)

[Compare Source](https://github.com/rolldown/rolldown/compare/v1.1.3...v1.1.4)

##### 🚀 Features

- disable `experimental.lazyBarrel` by default ([#&#8203;10071](https://github.com/rolldown/rolldown/issues/10071)) by [@&#8203;shulaoda](https://github.com/shulaoda)

##### 🐛 Bug Fixes

- dev: disable lazy barrel in dev mode ([#&#8203;10060](https://github.com/rolldown/rolldown/issues/10060)) by [@&#8203;shulaoda](https://github.com/shulaoda)
- generate: keep full JSON interface under preserveModules namespa… ([#&#8203;10056](https://github.com/rolldown/rolldown/issues/10056)) by [@&#8203;IWANABETHATGUY](https://github.com/IWANABETHATGUY)
- check finalize\_other\_specifiers in its own Debug attribute ([#&#8203;10032](https://github.com/rolldown/rolldown/issues/10032)) by [@&#8203;shulaoda](https://github.com/shulaoda)
- serialize the KeepAssign unused minify option as "keep\_assign" ([#&#8203;10031](https://github.com/rolldown/rolldown/issues/10031)) by [@&#8203;shulaoda](https://github.com/shulaoda)
- keep fragments after the newline fragment in MagicString::last\_line ([#&#8203;10023](https://github.com/rolldown/rolldown/issues/10023)) by [@&#8203;shulaoda](https://github.com/shulaoda)
- generate: undeclared JSON named exports under preserveModules ([#&#8203;10020](https://github.com/rolldown/rolldown/issues/10020)) ([#&#8203;10027](https://github.com/rolldown/rolldown/issues/10027)) by [@&#8203;IWANABETHATGUY](https://github.com/IWANABETHATGUY)
- deconflict: rename CJS-wrapped locals that shadow chunk-root bindings ([#&#8203;9921](https://github.com/rolldown/rolldown/issues/9921)) by [@&#8203;IWANABETHATGUY](https://github.com/IWANABETHATGUY)
- rolldown: keep entry facade when a shared chunk holds another entry's module ([#&#8203;9997](https://github.com/rolldown/rolldown/issues/9997)) by [@&#8203;hyf0](https://github.com/hyf0)
- treeshake: also bail JSON default split when the object escapes ([#&#8203;9996](https://github.com/rolldown/rolldown/issues/9996)) by [@&#8203;IWANABETHATGUY](https://github.com/IWANABETHATGUY)
- don't classify await in a strict-mode function as top-level await ([#&#8203;9987](https://github.com/rolldown/rolldown/issues/9987)) by [@&#8203;shulaoda](https://github.com/shulaoda)
- avoid spurious leading newline in addon hooks (banner/footer/intro/outro) ([#&#8203;9989](https://github.com/rolldown/rolldown/issues/9989)) by [@&#8203;shulaoda](https://github.com/shulaoda)
- handle JSON default mutation bailouts ([#&#8203;9972](https://github.com/rolldown/rolldown/issues/9972)) by [@&#8203;TheAlexLichter](https://github.com/TheAlexLichter)
- plugin: make lazy hook metadata enumerable ([#&#8203;9991](https://github.com/rolldown/rolldown/issues/9991)) by [@&#8203;TheAlexLichter](https://github.com/TheAlexLichter)
- dev: make init errors in lazy-compiled modules catchable ([#&#8203;9981](https://github.com/rolldown/rolldown/issues/9981)) by [@&#8203;h-a-n-a](https://github.com/h-a-n-a)
- treeshake: keep computed-key side effects on namespace member access ([#&#8203;9986](https://github.com/rolldown/rolldown/issues/9986)) by [@&#8203;shulaoda](https://github.com/shulaoda)
- binding: validate replace plugin delimiters length instead of panicking ([#&#8203;9984](https://github.com/rolldown/rolldown/issues/9984)) by [@&#8203;shulaoda](https://github.com/shulaoda)
- reconstruct nested rest patterns in into\_expression ([#&#8203;9980](https://github.com/rolldown/rolldown/issues/9980)) by [@&#8203;IWANABETHATGUY](https://github.com/IWANABETHATGUY)
- reconstruct rest patterns as spread in into\_expression ([#&#8203;9976](https://github.com/rolldown/rolldown/issues/9976)) by [@&#8203;shulaoda](https://github.com/shulaoda)
- preserve export keyword on multi-declarator exports under keepNames ([#&#8203;9974](https://github.com/rolldown/rolldown/issues/9974)) by [@&#8203;shulaoda](https://github.com/shulaoda)
- deterministically keep the shortest name for deduplicated assets ([#&#8203;9948](https://github.com/rolldown/rolldown/issues/9948)) by [@&#8203;x1024](https://github.com/x1024)
- treeshake: apply @&#8203;**NO\_SIDE\_EFFECTS** to cross-chunk namespace calls ([#&#8203;9960](https://github.com/rolldown/rolldown/issues/9960)) by [@&#8203;IWANABETHATGUY](https://github.com/IWANABETHATGUY)

##### 🚜 Refactor

- drop redundant program scope enter/leave in finalizer ([#&#8203;10049](https://github.com/rolldown/rolldown/issues/10049)) by [@&#8203;shulaoda](https://github.com/shulaoda)
- deconflict: extract collect\_chunk\_scope\_captured\_names ([#&#8203;10006](https://github.com/rolldown/rolldown/issues/10006)) by [@&#8203;IWANABETHATGUY](https://github.com/IWANABETHATGUY)
- unify pre-scan multi-declarator split into one decision site ([#&#8203;9982](https://github.com/rolldown/rolldown/issues/9982)) by [@&#8203;IWANABETHATGUY](https://github.com/IWANABETHATGUY)
- common: return bool from SymbolRef::is\_not\_reassigned ([#&#8203;9962](https://github.com/rolldown/rolldown/issues/9962)) by [@&#8203;IWANABETHATGUY](https://github.com/IWANABETHATGUY)

##### 📚 Documentation

- rolldown: remove outdated comment for removing parenthesized expression ([#&#8203;10062](https://github.com/rolldown/rolldown/issues/10062)) by [@&#8203;Dunqing](https://github.com/Dunqing)
- use GitHub-flavored alert for Etiquette note in contribution guide ([#&#8203;10012](https://github.com/rolldown/rolldown/issues/10012)) by [@&#8203;IWANABETHATGUY](https://github.com/IWANABETHATGUY)
- replace: explain the delimiters left and right boundaries ([#&#8203;9985](https://github.com/rolldown/rolldown/issues/9985)) by [@&#8203;shulaoda](https://github.com/shulaoda)
- ast-mutation: remove stale Address Use section after pre-scan refactor ([#&#8203;9983](https://github.com/rolldown/rolldown/issues/9983)) by [@&#8203;IWANABETHATGUY](https://github.com/IWANABETHATGUY)
- remove fathom ([#&#8203;9968](https://github.com/rolldown/rolldown/issues/9968)) by [@&#8203;mdong1909](https://github.com/mdong1909)
- contribution-guide: code-format main branch references ([#&#8203;9966](https://github.com/rolldown/rolldown/issues/9966)) by [@&#8203;IWANABETHATGUY](https://github.com/IWANABETHATGUY)
- contribution-guide: fix stale REPL note and tidy wording ([#&#8203;9957](https://github.com/rolldown/rolldown/issues/9957)) by [@&#8203;hyf0](https://github.com/hyf0)
- contribution-guide: clarify when to discuss before opening a PR ([#&#8203;9955](https://github.com/rolldown/rolldown/issues/9955)) by [@&#8203;hyf0](https://github.com/hyf0)

#####  Performance

- disable preserve\_parens across all parse paths ([#&#8203;10057](https://github.com/rolldown/rolldown/issues/10057)) by [@&#8203;Dunqing](https://github.com/Dunqing)
- common: inline declared\_symbols with SmallVec ([#&#8203;9920](https://github.com/rolldown/rolldown/issues/9920)) by [@&#8203;IWANABETHATGUY](https://github.com/IWANABETHATGUY)
- common: pack TaggedSymbolRef into 8 bytes ([#&#8203;9919](https://github.com/rolldown/rolldown/issues/9919)) by [@&#8203;IWANABETHATGUY](https://github.com/IWANABETHATGUY)
- sourcemap: skip newline scan on the no-sourcemap join fast path ([#&#8203;9936](https://github.com/rolldown/rolldown/issues/9936)) by [@&#8203;Boshen](https://github.com/Boshen)

##### 🧪 Testing

- dev: error in lazy module should be catchable ([#&#8203;9975](https://github.com/rolldown/rolldown/issues/9975)) by [@&#8203;sapphi-red](https://github.com/sapphi-red)
- dev: reject unknown lazy compile modules ([#&#8203;9969](https://github.com/rolldown/rolldown/issues/9969)) by [@&#8203;sapphi-red](https://github.com/sapphi-red)

##### ⚙️ Miscellaneous Tasks

- deps: update actions/cache action to v6 ([#&#8203;10001](https://github.com/rolldown/rolldown/issues/10001)) by [@&#8203;renovate](https://github.com/renovate)\[bot]
- trigger vite ecosystem-ci from PR comments ([#&#8203;10058](https://github.com/rolldown/rolldown/issues/10058)) by [@&#8203;shulaoda](https://github.com/shulaoda)
- deps: update napi to v3.10.0 ([#&#8203;10063](https://github.com/rolldown/rolldown/issues/10063)) by [@&#8203;renovate](https://github.com/renovate)\[bot]
- remove unused From impl for RolldownLabelSpan ([#&#8203;10055](https://github.com/rolldown/rolldown/issues/10055)) by [@&#8203;shulaoda](https://github.com/shulaoda)
- remove dead Diagnostic::with\_kind method ([#&#8203;10054](https://github.com/rolldown/rolldown/issues/10054)) by [@&#8203;shulaoda](https://github.com/shulaoda)
- remove unused StatementExt methods ([#&#8203;10053](https://github.com/rolldown/rolldown/issues/10053)) by [@&#8203;shulaoda](https://github.com/shulaoda)
- remove unused ExpressionExt methods ([#&#8203;10052](https://github.com/rolldown/rolldown/issues/10052)) by [@&#8203;shulaoda](https://github.com/shulaoda)
- remove commented-out re\_export\_all\_names field ([#&#8203;10051](https://github.com/rolldown/rolldown/issues/10051)) by [@&#8203;shulaoda](https://github.com/shulaoda)
- deps: update pnpm to v11.9.0 ([#&#8203;10047](https://github.com/rolldown/rolldown/issues/10047)) by [@&#8203;renovate](https://github.com/renovate)\[bot]
- remove the unused BindingGenerateHmrPatchReturn napi type ([#&#8203;10034](https://github.com/rolldown/rolldown/issues/10034)) by [@&#8203;shulaoda](https://github.com/shulaoda)
- remove the dead inline\_entry\_chunk\_wrapping scaffolding ([#&#8203;10037](https://github.com/rolldown/rolldown/issues/10037)) by [@&#8203;shulaoda](https://github.com/shulaoda)
- deps: bump oxc\_resolver to 11.22.0 ([#&#8203;10045](https://github.com/rolldown/rolldown/issues/10045)) by [@&#8203;Boshen](https://github.com/Boshen)
- remove never-constructed MatchImportKind::\_Ignore variant ([#&#8203;10041](https://github.com/rolldown/rolldown/issues/10041)) by [@&#8203;shulaoda](https://github.com/shulaoda)
- remove the unused ScheduledBuild napi struct ([#&#8203;10033](https://github.com/rolldown/rolldown/issues/10033)) by [@&#8203;shulaoda](https://github.com/shulaoda)
- remove dead compute\_hmr\_update\_single method ([#&#8203;10040](https://github.com/rolldown/rolldown/issues/10040)) by [@&#8203;shulaoda](https://github.com/shulaoda)
- drop the redundant visited.insert in manual code splitting ([#&#8203;10038](https://github.com/rolldown/rolldown/issues/10038)) by [@&#8203;shulaoda](https://github.com/shulaoda)
- remove the dead output\_assets vector in render\_chunk\_to\_assets ([#&#8203;10036](https://github.com/rolldown/rolldown/issues/10036)) by [@&#8203;shulaoda](https://github.com/shulaoda)
- remove the unused From<String>/Display impls for BindingLogLevel ([#&#8203;10035](https://github.com/rolldown/rolldown/issues/10035)) by [@&#8203;shulaoda](https://github.com/shulaoda)
- deps: upgrade oxc to 0.138.0 and migrate to per-type AST construction ([#&#8203;10018](https://github.com/rolldown/rolldown/issues/10018)) by [@&#8203;shulaoda](https://github.com/shulaoda)
- deps: update rust crates ([#&#8203;9911](https://github.com/rolldown/rolldown/issues/9911)) by [@&#8203;renovate](https://github.com/renovate)\[bot]
- deps: update test262 submodule for tests ([#&#8203;10016](https://github.com/rolldown/rolldown/issues/10016)) by [@&#8203;rolldown-guard](https://github.com/rolldown-guard)\[bot]
- deps: update github actions ([#&#8203;9999](https://github.com/rolldown/rolldown/issues/9999)) by [@&#8203;renovate](https://github.com/renovate)\[bot]
- deps: update npm packages ([#&#8203;10000](https://github.com/rolldown/rolldown/issues/10000)) by [@&#8203;renovate](https://github.com/renovate)\[bot]

##### ◀️ Revert

- "fix(plugin): make lazy hook metadata enumerable ([#&#8203;9991](https://github.com/rolldown/rolldown/issues/9991))" ([#&#8203;10005](https://github.com/rolldown/rolldown/issues/10005)) by [@&#8203;shulaoda](https://github.com/shulaoda)

##### ❤️ New Contributors

- [@&#8203;x1024](https://github.com/x1024) made their first contribution in [#&#8203;9948](https://github.com/rolldown/rolldown/pull/9948)

</details>

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - At any time (no schedule defined)
- 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](undefined) if that's undesired.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Mend Renovate](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yMzMuNCIsInVwZGF0ZWRJblZlciI6IjQzLjIzMy40IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJkZXBzIiwibnBtIl19-->

Reviewed-on: https://gitea.t000-n.de/t.behrendt/validate-json-by-json-schema-action/pulls/50
Reviewed-by: t.behrendt <2+t.behrendt@noreply.localhost>
Co-authored-by: Renovate Bot <renovate@t00n.de>
Co-committed-by: Renovate Bot <renovate@t00n.de>
2026-07-14 07:15:26 +02:00
renovate-bot 081cf28d81 chore(deps): update actions/cache action to v6 (#48)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [actions/cache](https://github.com/actions/cache) | action | major | `v5.1.0` → `v6.1.0` |

---

### Release Notes

<details>
<summary>actions/cache (actions/cache)</summary>

### [`v6.1.0`](https://github.com/actions/cache/releases/tag/v6.1.0)

[Compare Source](https://github.com/actions/cache/compare/v6.0.0...v6.1.0)

##### What's Changed

- Bump [@&#8203;actions/cache](https://github.com/actions/cache) to v6.1.0 - handle read-only cache access by [@&#8203;jasongin](https://github.com/jasongin) in [#&#8203;1768](https://github.com/actions/cache/pull/1768)

**Full Changelog**: <https://github.com/actions/cache/compare/v6...v6.1.0>

### [`v6.0.0`](https://github.com/actions/cache/releases/tag/v6.0.0)

[Compare Source](https://github.com/actions/cache/compare/v6.0.0...v6.0.0)

##### What's Changed

- Update packages, migrate to ESM by [@&#8203;Samirat](https://github.com/Samirat) in [#&#8203;1760](https://github.com/actions/cache/pull/1760)

**Full Changelog**: <https://github.com/actions/cache/compare/v5...v6.0.0>

### [`v6`](https://github.com/actions/cache/compare/v5.1.0...v6.0.0)

[Compare Source](https://github.com/actions/cache/compare/v5.1.0...v6.0.0)

</details>

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - At any time (no schedule defined)
- 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.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Mend Renovate](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yMzMuNCIsInVwZGF0ZWRJblZlciI6IjQzLjIzMy40IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJhY3Rpb24iLCJkZXBzIl19-->

Reviewed-on: #48
Reviewed-by: t.behrendt <2+t.behrendt@noreply.localhost>
Co-authored-by: Renovate Bot <renovate@t00n.de>
Co-committed-by: Renovate Bot <renovate@t00n.de>
2026-07-04 08:47:07 +02:00
renovate-bot 4c97522b0f chore(deps): update actions (#49)
Co-authored-by: Renovate Bot <renovate@t00n.de>
Co-committed-by: Renovate Bot <renovate@t00n.de>
2026-07-03 22:26:52 +02:00
t.behrendt 30070f7f9c refactor: to node action (#47)
CD / Release (push) Successful in 33s
Refactoring the action from a composite to Node action. This change improves security through pinning of packages as well as better test-ability and error handling.

Reviewed-on: #47
Co-authored-by: Timo Behrendt <t.behrendt@t00n.de>
Co-committed-by: Timo Behrendt <t.behrendt@t00n.de>
2026-06-27 14:00:15 +02:00
renovate-bot 3730a56a77 chore(deps): update https://gitea.t000-n.de/t.behrendt/actions action to v0.2.8 (#46)
Co-authored-by: Renovate Bot <renovate@t00n.de>
Co-committed-by: Renovate Bot <renovate@t00n.de>
2026-06-26 06:12:17 +02:00
renovate-bot e790aebac3 chore(deps): update actions/checkout action to v7 (#45)
Co-authored-by: Renovate Bot <renovate@t00n.de>
Co-committed-by: Renovate Bot <renovate@t00n.de>
2026-06-25 20:26:38 +02:00
renovate-bot 0b4b5fb319 chore(deps): update https://gitea.t000-n.de/t.behrendt/actions action to v0.2.7 (#44)
Co-authored-by: Renovate Bot <renovate@t00n.de>
Co-committed-by: Renovate Bot <renovate@t00n.de>
2026-06-21 17:32:00 +02:00
renovate-bot e785907b2b chore(deps): update https://gitea.t000-n.de/t.behrendt/conventional-semantic-git-tag-increment action to v0.1.39 (#43)
Co-authored-by: Renovate Bot <renovate@t00n.de>
Co-committed-by: Renovate Bot <renovate@t00n.de>
2026-06-21 17:30:39 +02:00
renovate-bot 26c2bb0a79 chore(deps): update https://gitea.t000-n.de/t.behrendt/actions action to v0.2.6 (#42)
Co-authored-by: Renovate Bot <renovate@t00n.de>
Co-committed-by: Renovate Bot <renovate@t00n.de>
2026-06-21 17:20:58 +02:00
renovate-bot 07c599b06b chore(deps): update actions/checkout action to v6.0.3 (#41)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [actions/checkout](https://github.com/actions/checkout) | action | patch | `v6.0.2` → `v6.0.3` |

---

### Release Notes

<details>
<summary>actions/checkout (actions/checkout)</summary>

### [`v6.0.3`](https://github.com/actions/checkout/blob/HEAD/CHANGELOG.md#v603)

[Compare Source](https://github.com/actions/checkout/compare/v6.0.2...v6.0.3)

- Fix checkout init for SHA-256 repositories by [@&#8203;yaananth](https://github.com/yaananth) in [#&#8203;2439](https://github.com/actions/checkout/pull/2439)
- fix: expand merge commit SHA regex and add SHA-256 test cases by [@&#8203;yaananth](https://github.com/yaananth) in [#&#8203;2414](https://github.com/actions/checkout/pull/2414)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), 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.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My41LjQiLCJ1cGRhdGVkSW5WZXIiOiI0My41LjQiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbImFjdGlvbiIsImRlcHMiXX0=-->

Reviewed-on: #41
Reviewed-by: t.behrendt <2+t.behrendt@noreply.localhost>
Co-authored-by: Renovate Bot <renovate@t00n.de>
Co-committed-by: Renovate Bot <renovate@t00n.de>
2026-06-12 11:34:14 +02:00
renovate-bot 04b5ff2c14 chore(deps): update https://gitea.t000-n.de/t.behrendt/conventional-semantic-git-tag-increment action to v0.1.35 (#40)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [https://gitea.t000-n.de/t.behrendt/conventional-semantic-git-tag-increment](https://gitea.t000-n.de/t.behrendt/conventional-semantic-git-tag-increment) | action | patch | `0.1.32` → `0.1.35` |

---

### Release Notes

<details>
<summary>t.behrendt/conventional-semantic-git-tag-increment (https://gitea.t000-n.de/t.behrendt/conventional-semantic-git-tag-increment)</summary>

### [`v0.1.35`](https://gitea.t000-n.de/t.behrendt/conventional-semantic-git-tag-increment/compare/0.1.34...0.1.35)

[Compare Source](https://gitea.t000-n.de/t.behrendt/conventional-semantic-git-tag-increment/compare/0.1.34...0.1.35)

### [`v0.1.34`](https://gitea.t000-n.de/t.behrendt/conventional-semantic-git-tag-increment/compare/0.1.33...0.1.34)

[Compare Source](https://gitea.t000-n.de/t.behrendt/conventional-semantic-git-tag-increment/compare/0.1.33...0.1.34)

### [`v0.1.33`](https://gitea.t000-n.de/t.behrendt/conventional-semantic-git-tag-increment/compare/0.1.32...0.1.33)

[Compare Source](https://gitea.t000-n.de/t.behrendt/conventional-semantic-git-tag-increment/compare/0.1.32...0.1.33)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), 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.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My41LjQiLCJ1cGRhdGVkSW5WZXIiOiI0My41LjQiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbImFjdGlvbiIsImRlcHMiXX0=-->

Reviewed-on: #40
Reviewed-by: t.behrendt <2+t.behrendt@noreply.localhost>
Co-authored-by: Renovate Bot <renovate@t00n.de>
Co-committed-by: Renovate Bot <renovate@t00n.de>
2026-06-08 19:53:34 +02:00
renovate-bot 6bf2c1355a chore(deps): update actions/setup-node action to v6.4.0 (#39)
CD / Release (push) Successful in 5s
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [actions/setup-node](https://github.com/actions/setup-node) | action | minor | `v6.3.0` → `v6.4.0` |

---

### Release Notes

<details>
<summary>actions/setup-node (actions/setup-node)</summary>

### [`v6.4.0`](https://github.com/actions/setup-node/releases/tag/v6.4.0)

[Compare Source](https://github.com/actions/setup-node/compare/v6.3.0...v6.4.0)

#### What's Changed

##### Dependency updates:

- Upgrade [@&#8203;actions](https://github.com/actions) dependencies by [@&#8203;Copilot](https://github.com/Copilot) in [#&#8203;1525](https://github.com/actions/setup-node/pull/1525)
- Update Node.js versions in versions.yml and bump package to v6.4.0  by [@&#8203;priya-kinthali](https://github.com/priya-kinthali) in [#&#8203;1533](https://github.com/actions/setup-node/pull/1533)

#### New Contributors

- [@&#8203;Copilot](https://github.com/Copilot) made their first contribution in [#&#8203;1525](https://github.com/actions/setup-node/pull/1525)

**Full Changelog**: <https://github.com/actions/setup-node/compare/v6...v6.4.0>

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), 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.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My41LjQiLCJ1cGRhdGVkSW5WZXIiOiI0My41LjQiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbImFjdGlvbiIsImRlcHMiXX0=-->

Reviewed-on: #39
Reviewed-by: t.behrendt <t.behrendt@noreply.localhost>
Co-authored-by: Renovate Bot <renovate@t00n.de>
Co-committed-by: Renovate Bot <renovate@t00n.de>
2026-05-07 13:02:49 +02:00
renovate-bot 0c625523f5 chore(deps): update https://gitea.t000-n.de/t.behrendt/actions action to v0.2.4 (#38)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [https://gitea.t000-n.de/t.behrendt/actions](https://gitea.t000-n.de/t.behrendt/actions) | action | patch | `0.2.2` → `0.2.4` |

---

### Release Notes

<details>
<summary>t.behrendt/actions (https://gitea.t000-n.de/t.behrendt/actions)</summary>

### [`v0.2.4`](https://gitea.t000-n.de/t.behrendt/actions/compare/0.2.3...0.2.4)

[Compare Source](https://gitea.t000-n.de/t.behrendt/actions/compare/0.2.3...0.2.4)

### [`v0.2.3`](https://gitea.t000-n.de/t.behrendt/actions/compare/0.2.2...0.2.3)

[Compare Source](https://gitea.t000-n.de/t.behrendt/actions/compare/0.2.2...0.2.3)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), 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.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My41LjQiLCJ1cGRhdGVkSW5WZXIiOiI0My41LjQiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbImFjdGlvbiIsImRlcHMiXX0=-->

Reviewed-on: #38
Reviewed-by: t.behrendt <t.behrendt@noreply.localhost>
Co-authored-by: Renovate Bot <renovate@t00n.de>
Co-committed-by: Renovate Bot <renovate@t00n.de>
2026-05-07 13:02:35 +02:00
renovate-bot 4b9360b451 chore(deps): update https://gitea.t000-n.de/t.behrendt/conventional-semantic-git-tag-increment action to v0.1.32 (#37)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [https://gitea.t000-n.de/t.behrendt/conventional-semantic-git-tag-increment](https://gitea.t000-n.de/t.behrendt/conventional-semantic-git-tag-increment) | action | patch | `0.1.30` → `0.1.32` |

---

### Release Notes

<details>
<summary>t.behrendt/conventional-semantic-git-tag-increment (https://gitea.t000-n.de/t.behrendt/conventional-semantic-git-tag-increment)</summary>

### [`v0.1.32`](https://gitea.t000-n.de/t.behrendt/conventional-semantic-git-tag-increment/compare/0.1.31...0.1.32)

[Compare Source](https://gitea.t000-n.de/t.behrendt/conventional-semantic-git-tag-increment/compare/0.1.31...0.1.32)

### [`v0.1.31`](https://gitea.t000-n.de/t.behrendt/conventional-semantic-git-tag-increment/compare/0.1.30...0.1.31)

[Compare Source](https://gitea.t000-n.de/t.behrendt/conventional-semantic-git-tag-increment/compare/0.1.30...0.1.31)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), 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.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My41LjQiLCJ1cGRhdGVkSW5WZXIiOiI0My41LjQiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbImFjdGlvbiIsImRlcHMiXX0=-->

Reviewed-on: #37
Reviewed-by: t.behrendt <t.behrendt@noreply.localhost>
Co-authored-by: Renovate Bot <renovate@t00n.de>
Co-committed-by: Renovate Bot <renovate@t00n.de>
2026-04-28 17:00:39 +02:00
renovate-bot d4f1827b60 chore(deps): update https://gitea.t000-n.de/t.behrendt/actions action to v0.2.2 (#34)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [https://gitea.t000-n.de/t.behrendt/actions](https://gitea.t000-n.de/t.behrendt/actions) | action | patch | `0.2.1` → `0.2.2` |

---

### Release Notes

<details>
<summary>t.behrendt/actions (https://gitea.t000-n.de/t.behrendt/actions)</summary>

### [`v0.2.2`](https://gitea.t000-n.de/t.behrendt/actions/compare/0.2.1...0.2.2)

[Compare Source](https://gitea.t000-n.de/t.behrendt/actions/compare/0.2.1...0.2.2)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), 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.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My41LjQiLCJ1cGRhdGVkSW5WZXIiOiI0My41LjQiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbImFjdGlvbiIsImRlcHMiXX0=-->

Reviewed-on: #34
Reviewed-by: t.behrendt <t.behrendt@noreply.localhost>
Co-authored-by: Renovate Bot <renovate@t00n.de>
Co-committed-by: Renovate Bot <renovate@t00n.de>
2026-03-27 19:06:05 +01:00
renovate-bot 05f411803c chore(deps): update https://gitea.t000-n.de/t.behrendt/conventional-semantic-git-tag-increment action to v0.1.30 (#35)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [https://gitea.t000-n.de/t.behrendt/conventional-semantic-git-tag-increment](https://gitea.t000-n.de/t.behrendt/conventional-semantic-git-tag-increment) | action | patch | `0.1.29` → `0.1.30` |

---

### Release Notes

<details>
<summary>t.behrendt/conventional-semantic-git-tag-increment (https://gitea.t000-n.de/t.behrendt/conventional-semantic-git-tag-increment)</summary>

### [`v0.1.30`](https://gitea.t000-n.de/t.behrendt/conventional-semantic-git-tag-increment/compare/0.1.29...0.1.30)

[Compare Source](https://gitea.t000-n.de/t.behrendt/conventional-semantic-git-tag-increment/compare/0.1.29...0.1.30)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), 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.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My41LjQiLCJ1cGRhdGVkSW5WZXIiOiI0My41LjQiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbImFjdGlvbiIsImRlcHMiXX0=-->

Reviewed-on: #35
Reviewed-by: t.behrendt <t.behrendt@noreply.localhost>
Co-authored-by: Renovate Bot <renovate@t00n.de>
Co-committed-by: Renovate Bot <renovate@t00n.de>
2026-03-27 19:05:55 +01:00
t.behrendt ab27892312 chore: disable tas (#36)
Reviewed-on: #36
Co-authored-by: Timo Behrendt <t.behrendt@t00n.de>
Co-committed-by: Timo Behrendt <t.behrendt@t00n.de>
2026-03-26 20:39:18 +01:00
22 changed files with 25216 additions and 212 deletions
+8
View File
@@ -0,0 +1,8 @@
[*]
end_of_line = lf
insert_final_newline = true
indent_style = space
indent_size = 2
charset = utf-8
trim_trailing_whitespace = true
max_line_length = 80
+4 -3
View File
@@ -6,6 +6,7 @@ on:
- main
paths:
- action.yml
- dist/**
workflow_dispatch:
jobs:
@@ -13,14 +14,14 @@ jobs:
name: Release
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
fetch-depth: 0
- name: Increment tag
id: tag
uses: https://gitea.t000-n.de/t.behrendt/conventional-semantic-git-tag-increment@41b7e04221df8a033bec841d40a097b76e5f67ff # 0.1.29
uses: https://gitea.t000-n.de/t.behrendt/conventional-semantic-git-tag-increment@3ab82e6aa1db388a34562f5ce6eedb598651d916 # 0.1.42
with:
token: ${{ secrets.GITEA_TOKEN }}
- uses: https://gitea.t000-n.de/t.behrendt/actions/release-git-tag@3925c92fc33f3d2bc87d28d21ab691b7e6dd6cdf # 0.2.1
- uses: https://gitea.t000-n.de/t.behrendt/actions/release-git-tag@3f772d0a80a510b0f06762be110276c9c8a7b7b8 # 0.2.12
with:
tag: ${{ steps.tag.outputs.new-tag }}
+55 -2
View File
@@ -8,8 +8,61 @@ jobs:
name: Dry-Run
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Validate JSON
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- name: Validate Renovate Config
uses: ./
with:
json-file: renovate.json
test:
name: Test
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
with:
node-version-file: .nvmrc
- name: Cache dependencies
id: cache-deps
uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0
with:
path: |
node_modules
key: ${{ runner.os }}-npm-${{ hashFiles('package-lock.json') }}
- name: Install dependencies
if: steps.cache-deps.outputs.cache-hit != 'true'
run: npm ci
- name: Typecheck
run: npm run typecheck
- name: Format code
run: npm run format:check
- name: Run test
run: npm run test
check-dist:
name: Check Dist
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
with:
node-version-file: .nvmrc
- name: Cache dependencies
id: cache-deps
uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0
with:
path: |
node_modules
key: ${{ runner.os }}-npm-${{ hashFiles('package-lock.json') }}
- name: Install dependencies
if: steps.cache-deps.outputs.cache-hit != 'true'
run: npm ci
- run: mv dist dist_orig
- run: npm run build
- run: |
original_hash=$(sha256sum dist_orig/index.js | cut -d' ' -f1)
new_hash=$(sha256sum dist/index.js | cut -d' ' -f1)
if [ "$original_hash" != "$new_hash" ]; then
echo "Build is not up to date. Original hash: $original_hash, new hash: $new_hash"
exit 1
fi
+4 -4
View File
@@ -8,15 +8,15 @@ jobs:
name: Release
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
fetch-depth: 0
- name: Increment tag
id: tag
uses: https://gitea.t000-n.de/t.behrendt/conventional-semantic-git-tag-increment@41b7e04221df8a033bec841d40a097b76e5f67ff # 0.1.29
uses: https://gitea.t000-n.de/t.behrendt/conventional-semantic-git-tag-increment@3ab82e6aa1db388a34562f5ce6eedb598651d916 # 0.1.42
with:
token: ${{ secrets.GITEA_TOKEN }}
prerelease: true
- uses: https://gitea.t000-n.de/t.behrendt/actions/release-git-tag@3925c92fc33f3d2bc87d28d21ab691b7e6dd6cdf # 0.2.1
- uses: https://gitea.t000-n.de/t.behrendt/actions/release-git-tag@3f772d0a80a510b0f06762be110276c9c8a7b7b8 # 0.2.12
with:
tag: ${{ steps.tag.outputs.new-tag }}
tag: ${{ steps.tag.outputs.new-tag }}
-31
View File
@@ -1,31 +0,0 @@
name: Run TAS
on:
pull_request:
workflow_dispatch:
inputs:
branch:
description: "The branch to run TAS on"
required: true
default: "main"
schedule:
- cron: "0 6 * * 5"
jobs:
run-tas:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- uses: https://gitea.t000-n.de/t.behrendt/trivy-actions/setup-trivy@a6508d695d7bb6137f14372392d5c312c98225cf # 1.4.7
- uses: https://gitea.t000-n.de/t.behrendt/trivy-actions/setup-db@a6508d695d7bb6137f14372392d5c312c98225cf # 1.4.7
- env:
TRIVY_CACHE_DIR: ${{ runner.temp }}/trivy
run: |
trivy config --cache-dir "$TRIVY_CACHE_DIR" --exit-code 0 --format sarif --output sarif.json .
- uses: https://gitea.t000-n.de/t.behrendt/tas-actions/tas-upload-sarif@5e1031a9eff4a83fc17d0893332ad896386c082f # 0.0.3
with:
tas-base-url: ${{ vars.TAS_BASE_URL }}
sarif-file: sarif.json
owner: t.behrendt
repo: validate-json-by-json-schema-action
branch: ${{ inputs.branch || github.head_ref || 'main' }}
+1 -137
View File
@@ -1,138 +1,2 @@
# ---> Node
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
lerna-debug.log*
.pnpm-debug.log*
# Diagnostic reports (https://nodejs.org/api/report.html)
report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
# Runtime data
pids
*.pid
*.seed
*.pid.lock
# Directory for instrumented libs generated by jscoverage/JSCover
lib-cov
# Coverage directory used by tools like istanbul
node_modules
coverage
*.lcov
# nyc test coverage
.nyc_output
# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
.grunt
# Bower dependency directory (https://bower.io/)
bower_components
# node-waf configuration
.lock-wscript
# Compiled binary addons (https://nodejs.org/api/addons.html)
build/Release
# Dependency directories
node_modules/
jspm_packages/
# Snowpack dependency directory (https://snowpack.dev/)
web_modules/
# TypeScript cache
*.tsbuildinfo
# Optional npm cache directory
.npm
# Optional eslint cache
.eslintcache
# Optional stylelint cache
.stylelintcache
# Microbundle cache
.rpt2_cache/
.rts2_cache_cjs/
.rts2_cache_es/
.rts2_cache_umd/
# Optional REPL history
.node_repl_history
# Output of 'npm pack'
*.tgz
# Yarn Integrity file
.yarn-integrity
# dotenv environment variable files
.env
.env.development.local
.env.test.local
.env.production.local
.env.local
# parcel-bundler cache (https://parceljs.org/)
.cache
.parcel-cache
# Next.js build output
.next
out
# Nuxt.js build / generate output
.nuxt
dist
# Gatsby files
.cache/
# Comment in the public line in if your project uses Gatsby and not Next.js
# https://nextjs.org/blog/next-9-1#public-directory-support
# public
# vuepress build output
.vuepress/dist
# vuepress v2.x temp and cache directory
.temp
.cache
# vitepress build output
**/.vitepress/dist
# vitepress cache directory
**/.vitepress/cache
# Docusaurus cache and generated files
.docusaurus
# Serverless directories
.serverless/
# FuseBox cache
.fusebox/
# DynamoDB Local files
.dynamodb/
# TernJS port file
.tern-port
# Stores VSCode versions used for testing VSCode extensions
.vscode-test
# yarn v2
.yarn/cache
.yarn/unplugged
.yarn/build-state.yml
.yarn/install-state.gz
.pnp.*
+1
View File
@@ -0,0 +1 @@
min-release-age=7
+2
View File
@@ -0,0 +1,2 @@
24
+4
View File
@@ -0,0 +1,4 @@
{
"$schema": "./node_modules/oxfmt/configuration_schema.json",
"ignorePatterns": ["dist/**", "node_modules/**", "coverage/**"]
}
+9 -9
View File
@@ -2,17 +2,17 @@ MIT License
Copyright (c) 2025 t.behrendt
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and
associated documentation files (the "Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and
associated documentation files (the "Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the
following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial
The above copyright notice and this permission notice shall be included in all copies or substantial
portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO
EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO
EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
USE OR OTHER DEALINGS IN THE SOFTWARE.
+2 -23
View File
@@ -8,26 +8,5 @@ inputs:
required: true
runs:
using: "composite"
steps:
- uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0
with:
node-version: "latest"
- name: Extract schema
shell: bash
run: |
schema=$(jq -r '.["$schema"]' < ${{ inputs.json-file }})
if [ -n "$schema" ]; then
curl -s $schema > schema.json
else
echo "No schema found"
exit 0
fi
- name: Update the schema to the latest version
shell: bash
run: |
npx ajv-cli migrate -s schema.json -o schema.json
- name: Validate JSON
shell: bash
run: |
npx ajv-cli validate -s schema.json -d ${{ inputs.json-file }} --strict=false
using: "node24"
main: "dist/index.js"
+22077
View File
File diff suppressed because one or more lines are too long
+2817
View File
File diff suppressed because it is too large Load Diff
+25
View File
@@ -0,0 +1,25 @@
{
"name": "validate-json-by-json-schema-action",
"version": "1.0.0",
"type": "commonjs",
"main": "src/index.ts",
"scripts": {
"test": "vitest --config vitext.config.ts",
"format": "oxfmt",
"format:check": "oxfmt --check",
"build": "rolldown -c",
"typecheck": "tsc --noEmit"
},
"dependencies": {
"@actions/core": "3.0.1",
"ajv": "8.20.0"
},
"devDependencies": {
"@types/node": "24.13.3",
"@vitest/coverage-v8": "4.1.10",
"oxfmt": "0.61.0",
"rolldown": "1.2.1",
"typescript": "7.0.2",
"vitest": "4.1.10"
}
}
+8 -3
View File
@@ -1,7 +1,12 @@
{
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
"extends": [
"local>t.behrendt/renovate-configs:common",
"local>t.behrendt/renovate-configs:action"
]
"local>t.behrendt/renovate-configs:action",
"local>t.behrendt/renovate-configs:bun-npm"
],
"postUpgradeTasks": {
"commands": ["npm ci", "npm run build"],
"fileFilters": ["dist/**"],
"executionMode": "update"
}
}
+11
View File
@@ -0,0 +1,11 @@
import { defineConfig } from "rolldown";
export default defineConfig({
input: "src/index.ts",
platform: "node",
tsconfig: "./tsconfig.json",
output: {
file: "dist/index.js",
format: "cjs",
},
});
+3
View File
@@ -0,0 +1,3 @@
import { run } from "./main";
run();
+18
View File
@@ -0,0 +1,18 @@
import * as core from "@actions/core";
import { readFileSync } from "node:fs";
import { validateJson } from "./validation";
export async function run(): Promise<void> {
try {
const jsonFilePath = core.getInput("json-file");
core.info(`Validating JSON file: ${jsonFilePath}`);
const json = readFileSync(jsonFilePath, "utf8");
await validateJson(json);
core.info("JSON file is valid");
} catch (error) {
core.setFailed(`Error validating JSON file: ${error}`);
}
}
+109
View File
@@ -0,0 +1,109 @@
import { beforeEach, describe, expect, it, vi } from "vitest";
import { validateJson } from "./validation";
global.fetch = vi.fn();
const validSchema = JSON.stringify({
$id: "https://t00n.de/schema.json",
title:
"JSON schema for Renovate 43.244.4 config files (https://renovatebot.com/)",
$schema: "http://json-schema.org/draft-07/schema#",
type: "object",
properties: {
$schema: {
type: "string",
},
name: {
type: "string",
},
},
required: ["name"],
additionalProperties: false,
});
describe("validateJson()", () => {
beforeEach(() => {
vi.clearAllMocks();
});
it("throws an error if the JSON file is not valid JSON", async () => {
const jsonFile = {
despiteThisBeingValidJson: "toString() breaks it, making it invalid",
}.toString();
await expect(validateJson(jsonFile)).rejects.toThrow(
'"[object Object]" is not valid JSON',
);
});
it("throws an error if the JSON file does not contain a $schema property", async () => {
const jsonFile = JSON.stringify({
validJson: true,
});
await expect(validateJson(jsonFile)).rejects.toThrow(
"No schema found in JSON file.",
);
});
it("throws an error if the schema cannot be fetched", async () => {
vi.mocked(fetch).mockRejectedValue(new Error("Failed to fetch schema"));
const jsonFile = JSON.stringify({ $schema: "http://t00n.de/404.json" });
await expect(validateJson(jsonFile)).rejects.toThrow(
"Failed to fetch schema",
);
});
it("throws an error if the schema file is not valid", async () => {
vi.mocked(fetch).mockResolvedValue(
// @ts-expect-error - mock response
{
ok: true,
text: async () =>
({
despiteThisBeingValidJson:
"toString() breaks it, making it invalid",
}).toString(),
},
);
const jsonFile = JSON.stringify({
$schema: "https://json-schema.org/draft-07/schema",
});
await expect(validateJson(jsonFile)).rejects.toThrow(
'"[object Object]" is not valid JSON',
);
});
it("throws an error if the JSON file does not match the schema", async () => {
vi.mocked(fetch).mockResolvedValue(
// @ts-expect-error - mock response
{
ok: true,
text: async () => validSchema,
},
);
const jsonFile = JSON.stringify({
$schema: "https://json-schema.org/draft-07/schema",
notTheExpectedField: 42,
});
await expect(validateJson(jsonFile)).rejects.toThrow(
"JSON file is not valid: No errors",
);
});
it("does not throw an error if the JSON file is valid", async () => {
vi.mocked(fetch).mockResolvedValue(
// @ts-expect-error - mock response
{
ok: true,
text: async () => validSchema,
},
);
const jsonFile = JSON.stringify({
$schema: "https://t00n.de/schema.json",
name: "John Doe",
});
await expect(validateJson(jsonFile)).resolves.toBeUndefined();
});
});
+25
View File
@@ -0,0 +1,25 @@
import Ajv from "ajv";
export const validateJson = async (jsonFileContent: string): Promise<void> => {
const jsonObject = JSON.parse(jsonFileContent);
const schema = jsonObject["$schema"];
if (!schema) {
throw new Error("No schema found in JSON file.");
}
const schemaUrl = new URL(schema);
const schemaContent = await fetch(schemaUrl.toString());
const schemaText = await schemaContent.text();
const schemaObject = JSON.parse(schemaText);
const validator = new Ajv({
strict: false,
});
const validate = validator.compile(schemaObject);
const isValid = validate(jsonObject);
if (!isValid) {
throw new Error(`JSON file is not valid: ${validator.errorsText()}`);
}
};
+22
View File
@@ -0,0 +1,22 @@
{
"compilerOptions": {
"target": "ES2022",
"module": "commonjs",
"lib": ["ES2022"],
"types": ["node"],
"strict": true,
"esModuleInterop": true,
"skipLibCheck": true,
"forceConsistentCasingInFileNames": true,
"removeComments": false,
"noImplicitAny": true,
"noImplicitReturns": true,
"noImplicitThis": true,
"noUnusedLocals": true,
"noUnusedParameters": true,
"exactOptionalPropertyTypes": true,
"noImplicitOverride": true
},
"include": ["src/**/*"],
"exclude": ["node_modules", "dist", "**/*.test.ts", "**/*.spec.ts"]
}
+11
View File
@@ -0,0 +1,11 @@
import { defineConfig } from "vitest/config";
export default defineConfig({
test: {
coverage: {
enabled: true,
provider: "v8",
reporter: ["lcov"],
},
},
});