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://github.com/vitest-dev/vitest/tree/main/packages/coverage-v8#readme) ([source](https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8)) | [`4.0.16` → `4.0.17`](https://renovatebot.com/diffs/npm/@vitest%2fcoverage-v8/4.0.16/4.0.17) |  |  | | [vitest](https://vitest.dev) ([source](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest)) | [`4.0.16` → `4.0.17`](https://renovatebot.com/diffs/npm/vitest/4.0.16/4.0.17) |  |  | --- ### Release Notes <details> <summary>vitest-dev/vitest (@​vitest/coverage-v8)</summary> ### [`v4.0.17`](https://github.com/vitest-dev/vitest/releases/tag/v4.0.17) [Compare Source](https://github.com/vitest-dev/vitest/compare/v4.0.16...v4.0.17) ##### 🚀 Experimental Features - Support openTelemetry for browser mode - by [@​hi-ogawa](https://github.com/hi-ogawa) in [#​9180](https://github.com/vitest-dev/vitest/issues/9180) [<samp>(1ec3a)</samp>](https://github.com/vitest-dev/vitest/commit/1ec3a8b68) - Support TRACEPARENT and TRACESTATE environment variables for OpenTelemetry context propagation - by [@​Copilot](https://github.com/Copilot), **hi-ogawa** and [@​hi-ogawa](https://github.com/hi-ogawa) in [#​9295](https://github.com/vitest-dev/vitest/issues/9295) [<samp>(876cb)</samp>](https://github.com/vitest-dev/vitest/commit/876cb84c2) ##### 🐞 Bug Fixes - Improve asymmetric matcher diff readability by unwrapping container matchers - by [@​Copilot](https://github.com/Copilot), **sheremet-va**, **hi-ogawa** and [@​hi-ogawa](https://github.com/hi-ogawa) in [#​9330](https://github.com/vitest-dev/vitest/issues/9330) [<samp>(b2ec7)</samp>](https://github.com/vitest-dev/vitest/commit/b2ec724a8) - Improve runner error when importing outside of test context - by [@​sheremet-va](https://github.com/sheremet-va) in [#​9335](https://github.com/vitest-dev/vitest/issues/9335) [<samp>(2dd3d)</samp>](https://github.com/vitest-dev/vitest/commit/2dd3dd839) - Replace crypto.randomUUID to allow insecure environments (fix [#​9](https://github.com/vitest-dev/vitest/issues/9)… - by [@​plusgut](https://github.com/plusgut) in [#​9339](https://github.com/vitest-dev/vitest/issues/9339) and [#​9](https://github.com/vitest-dev/vitest/issues/9) [<samp>(e6a3f)</samp>](https://github.com/vitest-dev/vitest/commit/e6a3f8cc7) - Handle null options in `addEventHandler` [#​9371](https://github.com/vitest-dev/vitest/issues/9371) - by [@​ThibautMarechal](https://github.com/ThibautMarechal) in [#​9372](https://github.com/vitest-dev/vitest/issues/9372) and [#​9371](https://github.com/vitest-dev/vitest/issues/9371) [<samp>(40841)</samp>](https://github.com/vitest-dev/vitest/commit/40841ff00) - Typo in browser.provider error - by [@​deammer](https://github.com/deammer) in [#​9394](https://github.com/vitest-dev/vitest/issues/9394) [<samp>(4b67f)</samp>](https://github.com/vitest-dev/vitest/commit/4b67fc25a) - **browser**: - Fix `process.env` and `import.meta.env` defines in inline project - by [@​hi-ogawa](https://github.com/hi-ogawa) in [#​9239](https://github.com/vitest-dev/vitest/issues/9239) [<samp>(b70c9)</samp>](https://github.com/vitest-dev/vitest/commit/b70c96121) - Fix upload File instance - by [@​hi-ogawa](https://github.com/hi-ogawa) in [#​9294](https://github.com/vitest-dev/vitest/issues/9294) [<samp>(b6778)</samp>](https://github.com/vitest-dev/vitest/commit/b67788c69) - Fix invalid project token for artifacts assets - by [@​hi-ogawa](https://github.com/hi-ogawa) in [#​9321](https://github.com/vitest-dev/vitest/issues/9321) [<samp>(caa7d)</samp>](https://github.com/vitest-dev/vitest/commit/caa7d73d4) - Log `ErrorEvent.message` when unhandled `ErrorEvent.error` is null - by [@​hi-ogawa](https://github.com/hi-ogawa) in [#​9322](https://github.com/vitest-dev/vitest/issues/9322) [<samp>(5d84e)</samp>](https://github.com/vitest-dev/vitest/commit/5d84eeb91) - Support `fileParallelism` on an instance - by [@​sheremet-va](https://github.com/sheremet-va) in [#​9328](https://github.com/vitest-dev/vitest/issues/9328) [<samp>(15006)</samp>](https://github.com/vitest-dev/vitest/commit/150065459) - **coverage**: - Remove unnecessary `istanbul-lib-source-maps` usage - by [@​AriPerkkio](https://github.com/AriPerkkio) in [#​9344](https://github.com/vitest-dev/vitest/issues/9344) [<samp>(b0940)</samp>](https://github.com/vitest-dev/vitest/commit/b09405375) - Apply patch from [istanbuljs/istanbuljs#837](https://github.com/istanbuljs/istanbuljs/issues/837) - by [@​AriPerkkio](https://github.com/AriPerkkio) and **sapphi-red** in [#​9413](https://github.com/vitest-dev/vitest/issues/9413) and [#​837](https://github.com/vitest-dev/vitest/issues/837) [<samp>(e05ce)</samp>](https://github.com/vitest-dev/vitest/commit/e05cedbf4) - **fsModuleCache**: - Don't store importers in cache - by [@​sheremet-va](https://github.com/sheremet-va) in [#​9422](https://github.com/vitest-dev/vitest/issues/9422) [<samp>(75136)</samp>](https://github.com/vitest-dev/vitest/commit/751364eec) - Add importers alongside importedModules - by [@​sheremet-va](https://github.com/sheremet-va) in [#​9423](https://github.com/vitest-dev/vitest/issues/9423) [<samp>(59f92)</samp>](https://github.com/vitest-dev/vitest/commit/59f92d403) - **mocker**: - Fix mock transform with class - by [@​hi-ogawa](https://github.com/hi-ogawa) in [#​9421](https://github.com/vitest-dev/vitest/issues/9421) [<samp>(d390e)</samp>](https://github.com/vitest-dev/vitest/commit/d390eb527) - **pool**: - Validate environment options when reusing the worker - by [@​sheremet-va](https://github.com/sheremet-va) in [#​9349](https://github.com/vitest-dev/vitest/issues/9349) [<samp>(a8a88)</samp>](https://github.com/vitest-dev/vitest/commit/a8a8836e3) - Handle worker start failures gracefully - by [@​AriPerkkio](https://github.com/AriPerkkio) in [#​9337](https://github.com/vitest-dev/vitest/issues/9337) [<samp>(200da)</samp>](https://github.com/vitest-dev/vitest/commit/200dadb32) - **reporter**: - Report test module if it failed to run - by [@​sheremet-va](https://github.com/sheremet-va) in [#​9272](https://github.com/vitest-dev/vitest/issues/9272) [<samp>(c7888)</samp>](https://github.com/vitest-dev/vitest/commit/c78882985) - **runner**: - Respect nested test.only within describe.only - by [@​Ujjwaljain16](https://github.com/Ujjwaljain16) in [#​9021](https://github.com/vitest-dev/vitest/issues/9021) and [#​9213](https://github.com/vitest-dev/vitest/issues/9213) [<samp>(55d5d)</samp>](https://github.com/vitest-dev/vitest/commit/55d5dad69) - **typecheck**: - Improve error message when tsc outputs help text - by [@​Ujjwaljain16](https://github.com/Ujjwaljain16) in [#​9214](https://github.com/vitest-dev/vitest/issues/9214) [<samp>(7b10a)</samp>](https://github.com/vitest-dev/vitest/commit/7b10ab4cd) - **ui**: - Detect gzip by magic numbers instead of Content-Type header in html reporter - by [@​Copilot](https://github.com/Copilot), **hi-ogawa** and [@​hi-ogawa](https://github.com/hi-ogawa) in [#​9278](https://github.com/vitest-dev/vitest/issues/9278) [<samp>(dd033)</samp>](https://github.com/vitest-dev/vitest/commit/dd0331632) - **webdriverio**: - Fall back to WebDriver Classic [#​9244](https://github.com/vitest-dev/vitest/issues/9244) - by [@​JustasMonkev](https://github.com/JustasMonkev) in [#​9373](https://github.com/vitest-dev/vitest/issues/9373) and [#​9244](https://github.com/vitest-dev/vitest/issues/9244) [<samp>(c23dd)</samp>](https://github.com/vitest-dev/vitest/commit/c23dd11bd) ##### [View changes on GitHub](https://github.com/vitest-dev/vitest/compare/v4.0.16...v4.0.17) </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 these updates 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:eyJjcmVhdGVkSW5WZXIiOiI0Mi43MS40IiwidXBkYXRlZEluVmVyIjoiNDIuNzEuNCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiQXV0b21hdGlvbiJdfQ==--> Reviewed-on: https://git.horstenkamp.eu/Screeps/screeps-deploy-action/pulls/63 Co-authored-by: Renovate Bot <renovate@horstenkamp.eu> Co-committed-by: Renovate Bot <renovate@horstenkamp.eu>
screeps-deploy-action
Introduction
This GitHub Action facilitates the uploading of code to a Screeps server. It's designed to automate the process of deploying JavaScript code to your Screeps account, ensuring that your game logic is consistently and efficiently updated. Prerequisites
A Screeps account with an access token.
A GitHub or Gitea repository with your Screeps code.
Usage
To use this action, you need to set it up in your workflow .yml file located in the .github/workflows directory of your repository.
Inputs
protocol: The protocol to use (default: https).hostname: The hostname of the Screeps server (default: screeps.com).port: The port to use (default: 443).path: The path for the API (default: /).token: Authentication token for Screeps.username: Username for Screeps account (used if no token is provided).password: Password for Screeps account (used if no token is provided).prefix: Directory prefix for file paths.pattern: Glob pattern to match files (default: *.js).branch: Branch in Screeps to which the code will be uploaded (default: default).git-replace: Overwrite "{{gitRef}}", "{{gitHash}}" and "{{deployTime}}" values in files matching the pattern.
Example Workflow
Create a .yml file (e.g., screeps-deploy.yml) in your repository's .github/workflows directory or .gitea/workflows directory:
name: Deploy to Screeps
on: [push]
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Upload to Screeps
uses: Screeps/screeps-deploy-action@main
with:
token: ${{ secrets.SCREEPS_TOKEN }}
pattern: '**/*.js'
branch: 'default'
git-replace: /some_options.js
In this example:
- The action runs on every push to the repository.
- It checks out your code.
- Then, it uses the "Upload to Screeps" action to deploy the code to your Screeps account.
- You need to set SCREEPS_TOKEN in your repository secrets.
Advanced Usage
Please note that you can easily filter your deployment branches in the push action. Multiple deploy steps or jobs are recomended for mulitple deployments.
Development & Build
This project includes a build step to prepare the action for use.
Why a Build Step?
We use a build step to compile the JavaScript code and its dependencies into a single, self-contained file (dist/index.js). This approach is chosen for the following reasons:
- Zero-configuration at Runtime: By bundling everything, the action runner doesn't need to run
npm install, which speeds up the action execution. - Reliability: It guarantees that the exact versions of dependencies tested during development are used in the action, avoiding potential issues with version updates or missing packages.
- Standard Practice: This is a recommended practice for JavaScript-based GitHub/Gitea Actions.
The Tool: @vercel/ncc
We chose @vercel/ncc as the compiler because:
- It is designed specifically for compiling Node.js modules into a single file.
- It handles native dependencies and dynamic requires intelligently.
- It is zero-config, making the setup simple and maintainable.
How to Build
If you modify index.js or change dependencies, you must rebuild the project before committing:
npm install
npm run build
This will update the dist/index.js file, which should be committed to the repository.
Cross-Platform Compatibility
To ensure this action runs on all platforms (including ARM devices like Raspberry Pi), we explicitly exclude optional native dependencies (utf-8-validate and bufferutil) from the build. This forces the underlying ws library to use its pure JavaScript fallback implementation.
Build Protocol
| Metric | Status / Value |
|---|---|
| Last Build | Saturday, December 27, 2025 |
| Build Tool | @vercel/ncc |
| Target Runtime | Node.js 20 |
| Artifact | dist/index.js (Self-contained) |
| Native Binaries | None (Excluded for cross-platform support) |
| Compatibility | Linux (x64/ARM), Windows, macOS |
| Build Status | ✅ Success |