1adbfc3eda6ca0bf78a3900d9256fb23e11a26a2
All checks were successful
CD / Release (push) Successful in 53s
This PR contains the following updates:
| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
| [@types/conventional-commits-parser](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/conventional-commits-parser) ([source](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/conventional-commits-parser)) | [`5.0.1` -> `5.0.2`](https://renovatebot.com/diffs/npm/@types%2fconventional-commits-parser/5.0.1/5.0.2) |  |  |
| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node) ([source](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node)) | [`24.10.0` -> `24.10.2`](https://renovatebot.com/diffs/npm/@types%2fnode/24.10.0/24.10.2) |  |  |
| [esbuild](https://github.com/evanw/esbuild) | [`0.27.0` -> `0.27.1`](https://renovatebot.com/diffs/npm/esbuild/0.27.0/0.27.1) |  |  |
| [jest](https://jestjs.io/) ([source](https://github.com/jestjs/jest/tree/HEAD/packages/jest)) | [`30.0.5` -> `30.2.0`](https://renovatebot.com/diffs/npm/jest/30.0.5/30.2.0) |  |  |
| [prettier](https://prettier.io) ([source](https://github.com/prettier/prettier)) | [`3.6.2` -> `3.7.4`](https://renovatebot.com/diffs/npm/prettier/3.6.2/3.7.4) |  |  |
| [ts-jest](https://kulshekhar.github.io/ts-jest) ([source](https://github.com/kulshekhar/ts-jest)) | [`29.4.5` -> `29.4.6`](https://renovatebot.com/diffs/npm/ts-jest/29.4.5/29.4.6) |  |  |
| [typescript](https://www.typescriptlang.org/) ([source](https://github.com/microsoft/TypeScript)) | [`5.9.2` -> `5.9.3`](https://renovatebot.com/diffs/npm/typescript/5.9.2/5.9.3) |  |  |
---
### Release Notes
<details>
<summary>evanw/esbuild (esbuild)</summary>
### [`v0.27.1`](https://github.com/evanw/esbuild/blob/HEAD/CHANGELOG.md#0271)
[Compare Source](https://github.com/evanw/esbuild/compare/v0.27.0...v0.27.1)
- Fix bundler bug with `var` nested inside `if` ([#​4348](https://github.com/evanw/esbuild/issues/4348))
This release fixes a bug with the bundler that happens when importing an ES module using `require` (which causes it to be wrapped) and there's a top-level `var` inside an `if` statement without being wrapped in a `{ ... }` block (and a few other conditions). The bundling transform needed to hoist these `var` declarations outside of the lazy ES module wrapper for correctness. See the issue for details.
- Fix minifier bug with `for` inside `try` inside label ([#​4351](https://github.com/evanw/esbuild/issues/4351))
This fixes an old regression from [version v0.21.4](https://github.com/evanw/esbuild/releases/v0.21.4). Some code was introduced to move the label inside the `try` statement to address a problem with transforming labeled `for await` loops to avoid the `await` (the transformation involves converting the `for await` loop into a `for` loop and wrapping it in a `try` statement). However, it introduces problems for cross-compiled JVM code that uses all three of these features heavily. This release restricts this transform to only apply to `for` loops that esbuild itself generates internally as part of the `for await` transform. Here is an example of some affected code:
```js
// Original code
d: {
e: {
try {
while (1) { break d }
} catch { break e; }
}
}
// Old output (with --minify)
a:try{e:for(;;)break a}catch{break e}
// New output (with --minify)
a:e:try{for(;;)break a}catch{break e}
```
- Inline IIFEs containing a single expression ([#​4354](https://github.com/evanw/esbuild/issues/4354))
Previously inlining of IIFEs (immediately-invoked function expressions) only worked if the body contained a single `return` statement. Now it should also work if the body contains a single expression statement instead:
```js
// Original code
const foo = () => {
const cb = () => {
console.log(x())
}
return cb()
}
// Old output (with --minify)
const foo=()=>(()=>{console.log(x())})();
// New output (with --minify)
const foo=()=>{console.log(x())};
```
- The minifier now strips empty `finally` clauses ([#​4353](https://github.com/evanw/esbuild/issues/4353))
This improvement means that `finally` clauses containing dead code can potentially cause the associated `try` statement to be removed from the output entirely in minified builds:
```js
// Original code
function foo(callback) {
if (DEBUG) stack.push(callback.name);
try {
callback();
} finally {
if (DEBUG) stack.pop();
}
}
// Old output (with --minify --define:DEBUG=false)
function foo(a){try{a()}finally{}}
// New output (with --minify --define:DEBUG=false)
function foo(a){a()}
```
- Allow tree-shaking of the `Symbol` constructor
With this release, calling `Symbol` is now considered to be side-effect free when the argument is known to be a primitive value. This means esbuild can now tree-shake module-level symbol variables:
```js
// Original code
const a = Symbol('foo')
const b = Symbol(bar)
// Old output (with --tree-shaking=true)
const a = Symbol("foo");
const b = Symbol(bar);
// New output (with --tree-shaking=true)
const b = Symbol(bar);
```
</details>
<details>
<summary>jestjs/jest (jest)</summary>
### [`v30.2.0`](https://github.com/jestjs/jest/blob/HEAD/CHANGELOG.md#3020)
[Compare Source](https://github.com/jestjs/jest/compare/v30.1.3...v30.2.0)
##### Chore & Maintenance
- `[*]` Update example repo for testing React Native projects ([#​15832](https://github.com/jestjs/jest/pull/15832))
- `[*]` Update `jest-watch-typeahead` to v3 ([#​15830](https://github.com/jestjs/jest/pull/15830))
### [`v30.1.3`](https://github.com/jestjs/jest/blob/HEAD/CHANGELOG.md#3013)
[Compare Source](https://github.com/jestjs/jest/compare/v30.1.2...v30.1.3)
##### Fixes
- Fix `unstable_mockModule` with `node:` prefixed core modules.
### [`v30.1.2`](https://github.com/jestjs/jest/blob/HEAD/CHANGELOG.md#3012)
[Compare Source](https://github.com/jestjs/jest/compare/v30.1.1...v30.1.2)
##### Fixes
- `[jest-snapshot-utils]` Correct snapshot header regexp to work with newline across OSes ([#​15803](https://github.com/jestjs/jest/pull/15803))
### [`v30.1.1`](https://github.com/jestjs/jest/blob/HEAD/CHANGELOG.md#3011)
[Compare Source](https://github.com/jestjs/jest/compare/v30.1.0...v30.1.1)
##### Fixes
- `[jest-snapshot-utils]` Fix deprecated goo.gl snapshot warning not handling Windows end-of-line sequences ([#​15800](https://github.com/jestjs/jest/pull/15800))
- `[jest-snapshot-utils]` Improve messaging about goo.gl snapshot link change ([#​15821](https://github.com/jestjs/jest/pull/15821))
### [`v30.1.0`](https://github.com/jestjs/jest/blob/HEAD/CHANGELOG.md#3010)
[Compare Source](https://github.com/jestjs/jest/compare/v30.0.5...v30.1.0)
</details>
<details>
<summary>prettier/prettier (prettier)</summary>
### [`v3.7.4`](https://github.com/prettier/prettier/blob/HEAD/CHANGELOG.md#374)
[Compare Source](https://github.com/prettier/prettier/compare/3.7.3...3.7.4)
[diff](https://github.com/prettier/prettier/compare/3.7.3...3.7.4)
##### LWC: Avoid quote around interpolations ([#​18383](https://github.com/prettier/prettier/pull/18383) by [@​kovsu](https://github.com/kovsu))
<!-- prettier-ignore -->
```html
<!-- Input -->
<div foo={bar}> </div>
<!-- Prettier 3.7.3 (--embedded-language-formatting off) -->
<div foo="{bar}"></div>
<!-- Prettier 3.7.4 (--embedded-language-formatting off) -->
<div foo={bar}></div>
```
##### TypeScript: Fix comment inside union type gets duplicated ([#​18393](https://github.com/prettier/prettier/pull/18393) by [@​fisker](https://github.com/fisker))
<!-- prettier-ignore -->
```tsx
// Input
type Foo = (/** comment */ a | b) | c;
// Prettier 3.7.3
type Foo = /** comment */ (/** comment */ a | b) | c;
// Prettier 3.7.4
type Foo = /** comment */ (a | b) | c;
```
##### TypeScript: Fix unstable comment print in union type comments ([#​18395](https://github.com/prettier/prettier/pull/18395) by [@​fisker](https://github.com/fisker))
<!-- prettier-ignore -->
```tsx
// Input
type X = (A | B) & (
// comment
A | B
);
// Prettier 3.7.3 (first format)
type X = (A | B) &
(// comment
A | B);
// Prettier 3.7.3 (second format)
type X = (
| A
| B // comment
) &
(A | B);
// Prettier 3.7.4
type X = (A | B) &
// comment
(A | B);
```
### [`v3.7.3`](https://github.com/prettier/prettier/blob/HEAD/CHANGELOG.md#373)
[Compare Source](https://github.com/prettier/prettier/compare/3.7.2...3.7.3)
[diff](https://github.com/prettier/prettier/compare/3.7.2...3.7.3)
##### API: Fix `prettier.getFileInfo()` change that breaks VSCode extension ([#​18375](https://github.com/prettier/prettier/pull/18375) by [@​fisker](https://github.com/fisker))
An internal refactor accidentally broke the VSCode extension plugin loading.
### [`v3.7.2`](https://github.com/prettier/prettier/blob/HEAD/CHANGELOG.md#372)
[Compare Source](https://github.com/prettier/prettier/compare/3.7.1...3.7.2)
[diff](https://github.com/prettier/prettier/compare/3.7.1...3.7.2)
##### JavaScript: Fix string print when switching quotes ([#​18351](https://github.com/prettier/prettier/pull/18351) by [@​fisker](https://github.com/fisker))
<!-- prettier-ignore -->
```jsx
// Input
console.log("A descriptor\\'s .kind must be \"method\" or \"field\".")
// Prettier 3.7.1
console.log('A descriptor\\'s .kind must be "method" or "field".');
// Prettier 3.7.2
console.log('A descriptor\\\'s .kind must be "method" or "field".');
```
##### JavaScript: Preserve quote for embedded HTML attribute values ([#​18352](https://github.com/prettier/prettier/pull/18352) by [@​kovsu](https://github.com/kovsu))
<!-- prettier-ignore -->
```tsx
// Input
const html = /* HTML */ ` <div class="${styles.banner}"></div> `;
// Prettier 3.7.1
const html = /* HTML */ ` <div class=${styles.banner}></div> `;
// Prettier 3.7.2
const html = /* HTML */ ` <div class="${styles.banner}"></div> `;
```
##### TypeScript: Fix comment in empty type literal ([#​18364](https://github.com/prettier/prettier/pull/18364) by [@​fisker](https://github.com/fisker))
<!-- prettier-ignore -->
```tsx
// Input
export type XXX = {
// tbd
};
// Prettier 3.7.1
export type XXX = { // tbd };
// Prettier 3.7.2
export type XXX = {
// tbd
};
```
### [`v3.7.1`](https://github.com/prettier/prettier/blob/HEAD/CHANGELOG.md#371)
[Compare Source](https://github.com/prettier/prettier/compare/3.7.0...3.7.1)
[diff](https://github.com/prettier/prettier/compare/3.7.0...3.7.1)
##### API: Fix performance regression in doc printer ([#​18342](https://github.com/prettier/prettier/pull/18342) by [@​fisker](https://github.com/fisker))
Prettier 3.7.0 can be very slow when formatting big files, the regression has been fixed.
### [`v3.7.0`](https://github.com/prettier/prettier/blob/HEAD/CHANGELOG.md#370)
[Compare Source](https://github.com/prettier/prettier/compare/3.6.2...3.7.0)
[diff](https://github.com/prettier/prettier/compare/3.6.2...3.7.0)
🔗 [Release Notes](https://prettier.io/blog/2025/11/27/3.7.0)
</details>
<details>
<summary>kulshekhar/ts-jest (ts-jest)</summary>
### [`v29.4.6`](https://github.com/kulshekhar/ts-jest/blob/HEAD/CHANGELOG.md#2946-2025-12-01)
[Compare Source](https://github.com/kulshekhar/ts-jest/compare/v29.4.5...v29.4.6)
##### Bug Fixes
- log hybrid module as warning instead of failing tests ([#​5144](https://github.com/kulshekhar/ts-jest/issues/5144)) ([528d37c](528d37c125)), closes [#​5130](https://github.com/kulshekhar/ts-jest/issues/5130)
</details>
<details>
<summary>microsoft/TypeScript (typescript)</summary>
### [`v5.9.3`](https://github.com/microsoft/TypeScript/releases/tag/v5.9.3): TypeScript 5.9.3
[Compare Source](https://github.com/microsoft/TypeScript/compare/v5.9.2...v5.9.3)
Note: this tag was recreated to point at the correct commit. The npm package contained the correct content.
For release notes, check out the [release announcement](https://devblogs.microsoft.com/typescript/announcing-typescript-5-9/)
- [fixed issues query for Typescript 5.9.0 (Beta)](https://github.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\&q=milestone%3A%22TypeScript+5.9.0%22+is%3Aclosed+).
- [fixed issues query for Typescript 5.9.1 (RC)](https://github.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\&q=milestone%3A%22TypeScript+5.9.1%22+is%3Aclosed+).
- *No specific changes for TypeScript 5.9.2 (Stable)*
- [fixed issues query for Typescript 5.9.3 (Stable)](https://github.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\&q=milestone%3A%22TypeScript+5.9.3%22+is%3Aclosed+).
Downloads are available on:
- [npm](https://www.npmjs.com/package/typescript)
</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.
👻 **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 [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi4yNi4xMSIsInVwZGF0ZWRJblZlciI6IjQyLjM3LjEiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbXX0=-->
Reviewed-on: https://gitea.t000-n.de/t.behrendt/conventional-semantic-git-tag-increment/pulls/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>
Conventional Semantic Git Tag Increment
A GitHub Action that automatically increments semantic version tags based on conventional commit messages.
Doesn't assume that you are using any special packaging software, etc. It just relies on Git having tags and commit messages.
Usage
Basic workflow
name: Auto-tag
on:
push:
branches: [main]
jobs:
tag:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: tbehrendt/conventional-semantic-git-tag-increment@v1
id: tag
with:
token: ${{ secrets.GITHUB_TOKEN }}
- name: Create and push tag
run: |
git tag ${{ steps.tag.outputs.new-tag }}
git push origin ${{ steps.tag.outputs.new-tag }}
With custom last tag
- uses: tbehrendt/conventional-semantic-git-tag-increment@v1
with:
last-tag: "v2.1.0"
token: ${{ secrets.GITHUB_TOKEN }}
With prerelease tags
- uses: tbehrendt/conventional-semantic-git-tag-increment@v1
with:
prerelease: "true"
token: ${{ secrets.GITHUB_TOKEN }}
Examples
| Commit Message | Current Tag | New Tag | Reason |
|---|---|---|---|
feat: add user authentication |
v1.0.0 |
v1.1.0 |
New feature |
fix: resolve login bug |
v1.1.0 |
v1.1.1 |
Bug fix |
feat!: change API response format |
v1.1.1 |
v2.0.0 |
Breaking change |
docs: update README |
v2.0.0 |
v2.0.1 |
Documentation update |
Prerelease Examples
| Commit Message | Current Tag | New Tag (prerelease) | Reason |
|---|---|---|---|
feat: add user authentication |
v1.0.0 |
1.1.0-rc-abc123 |
New feature |
fix: resolve login bug |
v1.1.0 |
1.1.1-rc-def456 |
Bug fix |
Inputs
last-tag(optional): Starting tag to increment from. If not provided, uses the latest tag in the repository.token(required): GitHub token for repository access. Use${{ github.token }}for public repos or a PAT for private repos.prerelease(optional): Whether to create a prerelease tag with-rc-<github.sha>suffix. Defaults tofalse.max-tags(optional): Maximum number of tags to fetch when looking for the latest non-pre-release tag. Defaults to50.
Outputs
new-tag: The incremented semantic version tag (e.g.,1.2.3or1.2.3-rc-abc123for prerelease)
Languages
TypeScript
99.1%
JavaScript
0.9%