Update dependency replace-in-file to v9 #324

Open
renovate-bot wants to merge 1 commit from renovate/replace-in-file-9.x into develop
Collaborator

This PR contains the following updates:

Package Type Update Change
replace-in-file devDependencies major ^8.4.0^9.0.0

Release Notes

adamreisnz/replace-in-file (replace-in-file)

v9.0.0

Compare Source

The package now requires Node 22.12.0 or higher, as Node 18 and Node 20 have reached end of life. If you need support for older versions of Node, please use version 8.x.x.

Breaking changes
  • Node 22.12.0 or higher is now required (dependencies yargs@18 and chalk@6 require it)
  • Strings passed to from are now only converted to a regular expression if they both start and end with a slash (e.g. "/cat/g"), as documented. Previously, plain strings that merely ended in a slash and optional flag characters (e.g. "assets/img" or "foo/") were silently converted to regular expressions as well.
New features
  • Added a streaming option for processing large files with bounded memory usage. Files are streamed through Node streams instead of being read into memory in full, with matches found across chunk boundaries. This also enables processing of files larger than the maximum string size supported by Node.js (about 500MB), which previously failed outright. Regex matches are guaranteed up to a configurable maxMatchLength window (default 1024 characters); plain string values are always matched exactly. Streaming is available for asynchronous replacement via the API (streaming: true) and in the CLI via --streaming. See the README for details and constraints.
Other changes
  • The codebase has been converted to TypeScript. Type definitions are now generated from the source code instead of being maintained by hand, fixing several inaccuracies in the previous type definitions:
    • The types incorrectly declared a default export and a replaceInFile.replaceInFileSync namespace API, both of which were removed from the runtime in 8.0.0
    • processFile and processFileSync were missing from the types
    • The cwd, verbose, quiet, fs and fsSync options were missing from the config type
  • The package now ships compiled output from the dist folder, and an exports map has been added. Deep imports into package internals (e.g. replace-in-file/src/...) are no longer possible
  • Upgraded all dependencies, including chalk to 6.x
  • The repository now uses pnpm as its package manager

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 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.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Mend Renovate CLI.

This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [replace-in-file](https://github.com/adamreisnz/replace-in-file) | devDependencies | major | [`^8.4.0` → `^9.0.0`](https://renovatebot.com/diffs/npm/replace-in-file/8.4.0/9.0.0) | --- ### Release Notes <details> <summary>adamreisnz/replace-in-file (replace-in-file)</summary> ### [`v9.0.0`](https://github.com/adamreisnz/replace-in-file/blob/HEAD/CHANGELOG.md#900) [Compare Source](https://github.com/adamreisnz/replace-in-file/compare/v8.4.0...v9.0.0) The package now requires Node 22.12.0 or higher, as Node 18 and Node 20 have reached end of life. If you need support for older versions of Node, please use version 8.x.x. ##### Breaking changes - Node 22.12.0 or higher is now required (dependencies `yargs@18` and `chalk@6` require it) - Strings passed to `from` are now only converted to a regular expression if they both start and end with a slash (e.g. `"/cat/g"`), as documented. Previously, plain strings that merely ended in a slash and optional flag characters (e.g. `"assets/img"` or `"foo/"`) were silently converted to regular expressions as well. ##### New features - Added a `streaming` option for processing large files with bounded memory usage. Files are streamed through Node streams instead of being read into memory in full, with matches found across chunk boundaries. This also enables processing of files larger than the maximum string size supported by Node.js (about 500MB), which previously failed outright. Regex matches are guaranteed up to a configurable `maxMatchLength` window (default `1024` characters); plain string values are always matched exactly. Streaming is available for asynchronous replacement via the API (`streaming: true`) and in the CLI via `--streaming`. See the README for details and constraints. ##### Other changes - The codebase has been converted to TypeScript. Type definitions are now generated from the source code instead of being maintained by hand, fixing several inaccuracies in the previous type definitions: - The types incorrectly declared a default export and a `replaceInFile.replaceInFileSync` namespace API, both of which were removed from the runtime in 8.0.0 - `processFile` and `processFileSync` were missing from the types - The `cwd`, `verbose`, `quiet`, `fs` and `fsSync` options were missing from the config type - The package now ships compiled output from the `dist` folder, and an `exports` map has been added. Deep imports into package internals (e.g. `replace-in-file/src/...`) are no longer possible - Upgraded all dependencies, including chalk to 6.x - The repository now uses pnpm as its package manager </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 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate CLI](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0NC42LjAiLCJ1cGRhdGVkSW5WZXIiOiI0NC42LjAiLCJ0YXJnZXRCcmFuY2giOiJkZXZlbG9wIiwibGFiZWxzIjpbXX0=-->
Update dependency replace-in-file to v9
All checks were successful
Build and Deploy Website / Build Website (push) Has been skipped
Build and Deploy Website / Deploy Website (push) Has been skipped
Build and Deploy Website / Build Dev Website (push) Successful in 1m44s
Build and Deploy Website / Deploy Dev Website (push) Has been skipped
c11063e849
All checks were successful
Build and Deploy Website / Build Website (push) Has been skipped
Build and Deploy Website / Deploy Website (push) Has been skipped
Build and Deploy Website / Build Dev Website (push) Successful in 1m44s
Build and Deploy Website / Deploy Dev Website (push) Has been skipped
This pull request can be merged automatically.
You are not authorized to merge this pull request.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin renovate/replace-in-file-9.x:renovate/replace-in-file-9.x
git switch renovate/replace-in-file-9.x

Merge

Merge the changes and update on Forgejo.

Warning: The "Autodetect manual merge" setting is not enabled for this repository, you will have to mark this pull request as manually merged afterwards.

git switch develop
git merge --no-ff renovate/replace-in-file-9.x
git switch renovate/replace-in-file-9.x
git rebase develop
git switch develop
git merge --ff-only renovate/replace-in-file-9.x
git switch renovate/replace-in-file-9.x
git rebase develop
git switch develop
git merge --no-ff renovate/replace-in-file-9.x
git switch develop
git merge --squash renovate/replace-in-file-9.x
git switch develop
git merge --ff-only renovate/replace-in-file-9.x
git switch develop
git merge renovate/replace-in-file-9.x
git push origin develop
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
samuel-p/sp-codes.de!324
No description provided.