chore(deps): update dependency diff to v9#9158
Merged
Merged
Conversation
✅ Deploy Preview for rolldown-rs canceled.
|
|
Review the following changes in direct dependencies. Learn more about Socket for GitHub.
|
renovate
Bot
force-pushed
the
renovate/major-npm-packages
branch
from
April 19, 2026 21:31
4810d31 to
187f2f1
Compare
renovate
Bot
force-pushed
the
renovate/major-npm-packages
branch
from
April 19, 2026 23:58
187f2f1 to
791545c
Compare
shulaoda
disabled auto-merge
April 20, 2026 00:03
Closed
This was referenced Apr 22, 2026
Closed
Merged
shulaoda
added a commit
that referenced
this pull request
Apr 22, 2026
## [1.0.0-rc.17] - 2026-04-22 ### 🐛 Bug Fixes - link: error on missing export between TS modules (#9197) by @IWANABETHATGUY - rolldown_plugin_vite_import_glob: import path should not be affected by absolute base option (#9145) by @kermanx - `this.resolve()` returns null for bare relative paths without importer (#9142) by @Copilot - collect destructured bindings in HMR module exports (#9146) by @h-a-n-a - esbuild-tests: handle 0.28.0 test cases (#9149) by @sapphi-red - plugin/copy-module: honor external resolutions from other plugins (#9139) by @TheAlexLichter - allow undefined in sourcesContent type (#9136) by @jurijzahn8019 - reduce false positives in chunk optimizer circular dependency detection (#9049) by @AlonMiz ### 🚜 Refactor - chunk-optimizer: extract runtime-module placement into rehome_runtime_module (#9163) by @IWANABETHATGUY ### 📚 Documentation - add design doc for sort_modules execution ordering (#9169) by @IWANABETHATGUY - add document for `RenderedModule` (#9147) by @sapphi-red ### ⚡ Performance - rolldown_plugin_vite_import_glob: skip self-import earlier using raw path comparison (#9193) by @shulaoda ### 🧪 Testing - lazy: add `playground/lazy-compilation` (#7974) by @hyf0 ### ⚙️ Miscellaneous Tasks - use app token for release PR (#9198) by @Boshen - upgrade oxc to 0.127.0 (#9194) by @Dunqing - use oxc security action (#9196) by @Boshen - esbuild-tests: remove some tests from ignored list as enum inline is now supported (#9184) by @sapphi-red - deps: update dependency vite-plus to v0.1.19 (#9183) by @renovate[bot] - use vp instead of pnpm in check-wasi-binding-deps (#9182) by @shulaoda - verify wasm32-wasi binding deps match @rolldown/browser before publish (#9162) by @shulaoda - deps: update esbuild for tests to 0.28.0 (#9172) by @sapphi-red - deps: update rollup submodule for tests to v4.60.2 (#9173) by @sapphi-red - deps: update test262 submodule for tests (#9174) by @sapphi-red - sort_modules: fix stale async-entry sort key comment (#9170) by @IWANABETHATGUY - deps: update npm packages (#9157) by @renovate[bot] - deps: update dependency diff to v9 (#9158) by @renovate[bot] - deps: update rust crates (#9156) by @renovate[bot] - run Windows CI on PRs labeled with `ci: windows` (#9153) by @hyf0 - update-test-dependencies: run setup-rust before file changes (#9151) by @sapphi-red - deps: update dependency rust to v1.95.0 (#9140) by @renovate[bot] ### ❤️ New Contributors * @jurijzahn8019 made their first contribution in [#9136](#9136) * @AlonMiz made their first contribution in [#9049](#9049) --------- Co-authored-by: shulaoda <[email protected]>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
^8.0.0→^9.0.0Release Notes
kpdecker/jsdiff (diff)
v9.0.0Compare Source
(All changes part of PR #672.)
ES5 support is dropped.
parsePatchnow usesTextDecoderandUint8Array, which are not available in ES5, and TypeScript is now compiled with the "es6"target. From now on, I intend to freely use any features that are deemed "Widely available" by Baseline. Users who need ES5 support should stick to version 8.C-style quoted strings in filename headers are now properly supported.
When the name of either the old or new file in a patch contains "special characters", both GNU
diffand Git quote the filename in the patch's headers and escape special characters using the same escape sequences that are used in string literals in C, including octal escapes for all non-ASCII characters. Previously, jsdiff had very little support for this;parsePatchwould remove the quotes, and unescape any escaped backslashes, but would not unescape other escape sequences.formatPatch, meanwhile, did not quote or escape special characters at all.Now,
parsePatchparses all the possible escape sequences that GNU diff (or Git) ever output, andformatPatchquotes and escapes filenames containing special characters in the same way GNU diff does.formatPatchnow omits file headers whenoldFileNameornewFileNamein the provided patch object areundefined, regardless of theheaderOptionsparameter. (Previously, it would treat the absence ofoldFileNameornewFileNameas indicating the filename was the word "undefined" and emit headers--- undefined/+++ undefined.)formatPatchno longer outputs trailing tab characters at the end of---/+++headers.Previously, if
formatPatchwas passed a patch object to serialize that had empty strings for theoldHeaderornewHeaderproperty, it would include a trailing tab character after the filename in the---and/or+++file header. Now, this scenario is treated the same as whenoldHeader/newHeaderisundefined- i.e. the trailing tab is omitted.formatPatchno longer mutates its input when serializing a patch containing a hunk where either the old or new content contained zero lines. (Such a hunk occurs only when the hunk has no context lines and represents a pure insertion or pure deletion, which for instance will occur whenever one of the two files being diffed is completely empty.) PreviouslyformatPatchwould provide the correct output but also mutate theoldLinesornewLinesproperty on the hunk, changing the meaning of the underlying patch.Git-style patches are now supported by
parsePatch,formatPatch, andreversePatch.Patches output by
git diffcan include some features that are unlike those output by GNUdiff, and therefore not handled by an ordinary unified diff format parser. An ordinary diff simply describes the differences between the content of two files, but Git diffs can also indicate, via "extended headers", the creation or deletion of (potentially empty) files, indicate that a file was renamed, and contain information about file mode changes. Furthermore, when these changes appear in a diff in the absence of a content change (e.g. when an empty file is created, or a file is renamed without content changes), the patch will contain no associated---/+++file headers nor any hunks.jsdiff previously did not support parsing Git's extended headers, nor hunkless patches. Now
parsePatchparses some of the extended headers, parses hunkless Git patches, and can determine filenames (e.g. from the extended headers) when parsing a patch that includes no---or+++file headers. The additional information conveyed by the extended headers we support is recorded on new fields on the result object returned byparsePatch. SeeisGitand subsequent properties in the docs in the README.md file.formatPatchnow outputs extended headers based on these new Git-specific properties, andreversePatchrespects them as far as possible (with one unavoidable caveat noted in the README.md file).Unpaired file headers now cause
parsePatchto throw.It remains acceptable to have a patch with no file headers whatsoever (e.g. one that begins with a
@@​hunk header on the very first line), but a patch with only a---header or only a+++header is now considered an error.parsePatchis now more tolerant of "trailing garbage"That is: after a patch, or between files/indexes in a patch, it is now acceptable to have arbitrary lines of "garbage" (so long as they unambiguously have no syntactic meaning - e.g. trailing garbage that leads with a
+,-, orand thus is interpretable as part of a hunk still triggers a throw).This means we no longer reject patches output by tools that include extra data in "garbage" lines not understood by generic unified diff parsers. (For example, SVN patches can include "Property changes on:" lines that generic unified diff parsers should discard as garbage; jsdiff previously threw errors when encountering them.)
This change brings jsdiff's behaviour more in line with GNU
patch, which is highly permissive of "garbage".The
oldFileNameandnewFileNamefields ofStructuredPatchare now typed asstring | undefinedinstead ofstring. This type change reflects the (pre-existing) reality thatparsePatchcan produce patches without filenames (e.g. when parsing a patch that simply contains hunks with no file headers).Configuration
📅 Schedule: (in timezone Asia/Shanghai)
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.