Commit Graph

1375 Commits

Author SHA1 Message Date
sapphi-red 5c7fad2321 ci(tasks/minsize): add minsize diff visualization (#24677)
Adds the diff like `just minifier-diff` to the CI result to make it easier to understand the `just minsize` diff in the pull requests.

An example output is https://github.com/oxc-project/oxc/actions/runs/29693438768/attempts/1#summary-88210053065
<details>

# Minify Output Diff
## antd.js
```diff
--- target/minifier/main/antd.js	2026-07-19 15:45:14.567913776 +0000
+++ target/minifier/pr/antd.js	2026-07-19 15:44:57.950702662 +0000
@@ -8586,7 +8586,7 @@
 			}
 			function getParagraphBasicProps(hasAvatar, hasTitle) {
 				var basicProps = {};
-				return (!hasAvatar || !hasTitle) && (basicProps.width = "61%"), !hasAvatar && hasTitle ? basicProps.rows = 3 : basicProps.rows = 2, basicProps;
+				return (!hasAvatar || !hasTitle) && (basicProps.width = "61%"), basicProps.rows = !hasAvatar && hasTitle ? 3 : 2, basicProps;
 			}
 			var Skeleton = function(props) {
 				return react__WEBPACK_IMPORTED_MODULE_3__.createElement(_config_provider__WEBPACK_IMPORTED_MODULE_7__.a, null, function(_ref) {
@@ -9587,9 +9587,9 @@
 				var currentFilters = {};
 				return filterStates.forEach(function(_ref3) {
 					var key = _ref3.key, filteredKeys = _ref3.filteredKeys, column = _ref3.column, filters = column.filters;
-					column.filterDropdown ? currentFilters[key] = filteredKeys || null : Array.isArray(filteredKeys) ? currentFilters[key] = flattenKeys(filters).filter(function(originKey) {
+					currentFilters[key] = column.filterDropdown ? filteredKeys || null : Array.isArray(filteredKeys) ? flattenKeys(filters).filter(function(originKey) {
 						return filteredKeys.includes(String(originKey));
-					}) : currentFilters[key] = null;
+					}) : null;
 				}), currentFilters;
 			}
 			function getFilterData(data, filterStates) {
@@ -37254,13 +37254,13 @@
 				var old = getOffset(elem), originalStyle = {};
 				for (var key in offset) if (offset.hasOwnProperty(key)) {
 					var dir = getOffsetDirection(key, option), preset = key === "left" ? presetH : presetV, off = originalOffset[key] - old[key];
-					dir === key ? originalStyle[dir] = preset + off : originalStyle[dir] = preset - off;
+					originalStyle[dir] = dir === key ? preset + off : preset - off;
 				}
 				css(elem, originalStyle), forceRelayout(elem), ("left" in offset || "top" in offset) && setTransitionProperty(elem, originalTransition);
 				var ret = {};
 				for (var _key in offset) if (offset.hasOwnProperty(_key)) {
 					var _dir = getOffsetDirection(_key, option), _off = offset[_key] - originalOffset[_key];
-					_key === _dir ? ret[_dir] = originalStyle[_dir] + _off : ret[_dir] = originalStyle[_dir] - _off;
+					ret[_dir] = _key === _dir ? originalStyle[_dir] + _off : originalStyle[_dir] - _off;
 				}
 				css(elem, ret);
 			}
@@ -37568,7 +37568,7 @@
 				var mq = "", features = Object.keys(obj);
 				return features.forEach(function(feature, index) {
 					var value = obj[feature];
-					feature = camel2hyphen(feature), isDimension(feature) && typeof value == "number" && (value += "px"), value === !0 ? mq += feature : value === !1 ? mq += "not " + feature : mq += "(" + feature + ": " + value + ")", index < features.length - 1 && (mq += " and ");
+					feature = camel2hyphen(feature), isDimension(feature) && typeof value == "number" && (value += "px"), mq += value === !0 ? feature : value === !1 ? "not " + feature : "(" + feature + ": " + value + ")", index < features.length - 1 && (mq += " and ");
 				}), mq;
 			};
 			module.exports = function(query) {
@@ -40943,9 +40943,9 @@
 			};
 			function useForm(form) {
 				var formRef = react__WEBPACK_IMPORTED_MODULE_5__.useRef(), _React$useState = react__WEBPACK_IMPORTED_MODULE_5__.useState({}), forceUpdate = (0, _babel_runtime_helpers_esm_slicedToArray__WEBPACK_IMPORTED_MODULE_0__.a)(_React$useState, 2)[1];
-				return formRef.current || (form ? formRef.current = form : formRef.current = new FormStore(function() {
+				return formRef.current ||= form || new FormStore(function() {
 					forceUpdate({});
-				}).getForm()), [formRef.current];
+				}).getForm(), [formRef.current];
 			}
 			__webpack_exports__.a = useForm;
 		}),
@@ -47828,7 +47828,7 @@
 						_this.setState({ focused: !1 }), onBlur && onBlur();
 					}, _this.onKeyDown = function(event) {
 						var keyCode = event.keyCode, _this$props = _this.props, count = _this$props.count, allowHalf = _this$props.allowHalf, onKeyDown = _this$props.onKeyDown, reverse = _this$props.direction === "rtl", value = _this.state.value;
-						keyCode === rc_util_es_KeyCode__WEBPACK_IMPORTED_MODULE_9__.a.RIGHT && value < count && !reverse ? (allowHalf ? value += .5 : value += 1, _this.changeValue(value), event.preventDefault()) : keyCode === rc_util_es_KeyCode__WEBPACK_IMPORTED_MODULE_9__.a.LEFT && value > 0 && !reverse || keyCode === rc_util_es_KeyCode__WEBPACK_IMPORTED_MODULE_9__.a.RIGHT && value > 0 && reverse ? (allowHalf ? value -= .5 : --value, _this.changeValue(value), event.preventDefault()) : keyCode === rc_util_es_KeyCode__WEBPACK_IMPORTED_MODULE_9__.a.LEFT && value < count && reverse && (allowHalf ? value += .5 : value += 1, _this.changeValue(value), event.preventDefault()), onKeyDown && onKeyDown(event);
+						keyCode === rc_util_es_KeyCode__WEBPACK_IMPORTED_MODULE_9__.a.RIGHT && value < count && !reverse ? (value += allowHalf ? .5 : 1, _this.changeValue(value), event.preventDefault()) : keyCode === rc_util_es_KeyCode__WEBPACK_IMPORTED_MODULE_9__.a.LEFT && value > 0 && !reverse || keyCode === rc_util_es_KeyCode__WEBPACK_IMPORTED_MODULE_9__.a.RIGHT && value > 0 && reverse ? (allowHalf ? value -= .5 : --value, _this.changeValue(value), event.preventDefault()) : keyCode === rc_util_es_KeyCode__WEBPACK_IMPORTED_MODULE_9__.a.LEFT && value < count && reverse && (value += allowHalf ? .5 : 1, _this.changeValue(value), event.preventDefault()), onKeyDown && onKeyDown(event);
 					}, _this.saveRef = function(index) {
 						return function(node) {
 							_this.stars[index] = node;
@@ -50644,7 +50644,7 @@
 								icons,
 								onStepClick: onChange && _this2.onStepClick
 							}, child.props);
-							return status === "error" && index === current - 1 && (childProps.className = `${prefixCls}-next-error`), child.props.status || (stepNumber === current ? childProps.status = status : stepNumber < current ? childProps.status = "finish" : childProps.status = "wait"), childProps.active = stepNumber === current, (0, react__WEBPACK_IMPORTED_MODULE_7__.cloneElement)(child, childProps);
+							return status === "error" && index === current - 1 && (childProps.className = `${prefixCls}-next-error`), child.props.status || (childProps.status = stepNumber === current ? status : stepNumber < current ? "finish" : "wait"), childProps.active = stepNumber === current, (0, react__WEBPACK_IMPORTED_MODULE_7__.cloneElement)(child, childProps);
 						}));
 					}
 				}]), Steps;
```
## bundle.min.js
```diff
--- target/minifier/main/bundle.min.js	2026-07-19 15:45:13.523842233 +0000
+++ target/minifier/pr/bundle.min.js	2026-07-19 15:44:56.934623354 +0000
@@ -8339,7 +8339,7 @@
 			if (typeof global_defs == "object") for (var key in global_defs) key[0] === "@" && HOP(global_defs, key) && (global_defs[key.slice(1)] = parse(global_defs[key], { expression: !0 }));
 			this.options.inline === !0 && (this.options.inline = 3);
 			var pure_funcs = this.options.pure_funcs;
-			typeof pure_funcs == "function" ? this.pure_funcs = pure_funcs : this.pure_funcs = pure_funcs ? function(node) {
+			this.pure_funcs = typeof pure_funcs == "function" ? pure_funcs : pure_funcs ? function(node) {
 				return !pure_funcs.includes(node.expression.print_to_string());
 			} : return_true;
 			var top_retain = this.options.top_retain;
@@ -10476,7 +10476,7 @@
 		}), "ecma" in program) {
 			program.ecma != (program.ecma | 0) && fatal("ERROR: ecma must be an integer");
 			let ecma = program.ecma | 0;
-			ecma > 5 && ecma < 2015 ? options.ecma = ecma + 2009 : options.ecma = ecma;
+			options.ecma = ecma > 5 && ecma < 2015 ? ecma + 2009 : ecma;
 		}
 		if (program.format || program.beautify) {
 			let chosenOption = program.format || program.beautify;
```
## echarts.js
```diff
--- target/minifier/main/echarts.js	2026-07-19 15:45:14.151885372 +0000
+++ target/minifier/pr/echarts.js	2026-07-19 15:44:57.478665838 +0000
@@ -2270,7 +2270,7 @@
 	function lift(color, level) {
 		var colorArr = parse(color);
 		if (colorArr) {
-			for (var i = 0; i < 3; i++) level < 0 ? colorArr[i] = colorArr[i] * (1 - level) | 0 : colorArr[i] = (255 - colorArr[i]) * level + colorArr[i] | 0, colorArr[i] > 255 ? colorArr[i] = 255 : colorArr[i] < 0 && (colorArr[i] = 0);
+			for (var i = 0; i < 3; i++) colorArr[i] = level < 0 ? colorArr[i] * (1 - level) | 0 : (255 - colorArr[i]) * level + colorArr[i] | 0, colorArr[i] > 255 ? colorArr[i] = 255 : colorArr[i] < 0 && (colorArr[i] = 0);
 			return stringify(colorArr, colorArr.length === 4 ? "rgba" : "rgb");
 		}
 	}
@@ -2925,7 +2925,7 @@
 			if (textEl && (!textEl.ignore || forceUpdate)) {
 				this.textConfig ||= {};
 				var textConfig = this.textConfig, isLocal = textConfig.local, attachedTransform = textEl.attachedTransform, textAlign = void 0, textVerticalAlign = void 0, textStyleChanged = !1;
-				isLocal ? attachedTransform.parent = this : attachedTransform.parent = null;
+				attachedTransform.parent = isLocal ? this : null;
 				var innerOrigin = !1;
 				if (attachedTransform.x = textEl.x, attachedTransform.y = textEl.y, attachedTransform.originX = textEl.originX, attachedTransform.originY = textEl.originY, attachedTransform.rotation = textEl.rotation, attachedTransform.scaleX = textEl.scaleX, attachedTransform.scaleY = textEl.scaleY, textConfig.position != null) {
 					var layoutRect = tmpBoundingRect;
```
## react.development.js
```diff
--- target/minifier/main/react.development.js	2026-07-19 15:45:13.271824892 +0000
+++ target/minifier/pr/react.development.js	2026-07-19 15:44:56.738607943 +0000
@@ -773,7 +773,7 @@
 			var info = "";
 			(type === void 0 || typeof type == "object" && type && Object.keys(type).length === 0) && (info += " You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.");
 			var sourceInfo = getSourceInfoErrorAddendumForProps(props);
-			sourceInfo ? info += sourceInfo : info += getDeclarationErrorAddendum();
+			info += sourceInfo || getDeclarationErrorAddendum();
 			var typeString;
 			type === null ? typeString = "null" : Array.isArray(type) ? typeString = "array" : type !== void 0 && type.$$typeof === REACT_ELEMENT_TYPE ? (typeString = "<" + (getComponentName(type.type) || "Unknown") + " />", info = " Did you accidentally export a JSX literal instead of a component?") : typeString = typeof type, error("React.createElement: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s", typeString, info);
 		}
```
## three.js
```diff
--- target/minifier/main/three.js	2026-07-19 15:45:13.659851593 +0000
+++ target/minifier/pr/three.js	2026-07-19 15:44:57.022630264 +0000
@@ -2570,7 +2570,7 @@
 			return this.index;
 		},
 		setIndex: function(index) {
-			return Array.isArray(index) ? this.index = new (arrayMax(index) > 65535 ? Uint32BufferAttribute : Uint16BufferAttribute)(index, 1) : this.index = index, this;
+			return this.index = Array.isArray(index) ? new (arrayMax(index) > 65535 ? Uint32BufferAttribute : Uint16BufferAttribute)(index, 1) : index, this;
 		},
 		getAttribute: function(name) {
 			return this.attributes[name];
@@ -5688,7 +5688,7 @@
 				var cachedMaterial = materialsForVariant[keyB];
 				cachedMaterial === void 0 && (cachedMaterial = result.clone(), materialsForVariant[keyB] = cachedMaterial), result = cachedMaterial;
 			}
-			return result.visible = material.visible, result.wireframe = material.wireframe, type === VSMShadowMap ? result.side = material.shadowSide === null ? material.side : material.shadowSide : result.side = material.shadowSide === null ? shadowSide[material.side] : material.shadowSide, result.clipShadows = material.clipShadows, result.clippingPlanes = material.clippingPlanes, result.clipIntersection = material.clipIntersection, result.wireframeLinewidth = material.wireframeLinewidth, result.linewidth = material.linewidth, light.isPointLight === !0 && result.isMeshDistanceMaterial === !0 && (result.referencePosition.setFromMatrixPosition(light.matrixWorld), result.nearDistance = shadowCameraNear, result.farDistance = shadowCameraFar), result;
+			return result.visible = material.visible, result.wireframe = material.wireframe, result.side = type === VSMShadowMap ? material.shadowSide === null ? material.side : material.shadowSide : material.shadowSide === null ? shadowSide[material.side] : material.shadowSide, result.clipShadows = material.clipShadows, result.clippingPlanes = material.clippingPlanes, result.clipIntersection = material.clipIntersection, result.wireframeLinewidth = material.wireframeLinewidth, result.linewidth = material.linewidth, light.isPointLight === !0 && result.isMeshDistanceMaterial === !0 && (result.referencePosition.setFromMatrixPosition(light.matrixWorld), result.nearDistance = shadowCameraNear, result.farDistance = shadowCameraFar), result;
 		}
 		function renderObject(object, camera, shadowCamera, light, type) {
 			if (object.visible !== !1) {
@@ -6123,7 +6123,7 @@
 		function uploadCubeTexture(textureProperties, texture, slot) {
 			if (texture.image.length === 6) {
 				initTexture(textureProperties, texture), state.activeTexture(33984 + slot), state.bindTexture(34067, textureProperties.__webglTexture), _gl.pixelStorei(37440, texture.flipY);
-				for (var isCompressed = texture && (texture.isCompressedTexture || texture.image[0].isCompressedTexture), isDataTexture = texture.image[0] && texture.image[0].isDataTexture, cubeImage = [], i = 0; i < 6; i++) !isCompressed && !isDataTexture ? cubeImage[i] = resizeImage(texture.image[i], !1, !0, maxCubemapSize) : cubeImage[i] = isDataTexture ? texture.image[i].image : texture.image[i];
+				for (var isCompressed = texture && (texture.isCompressedTexture || texture.image[0].isCompressedTexture), isDataTexture = texture.image[0] && texture.image[0].isDataTexture, cubeImage = [], i = 0; i < 6; i++) cubeImage[i] = !isCompressed && !isDataTexture ? resizeImage(texture.image[i], !1, !0, maxCubemapSize) : isDataTexture ? texture.image[i].image : texture.image[i];
 				var image = cubeImage[0], supportsMips = isPowerOfTwo(image) || isWebGL2, glFormat = utils.convert(texture.format), glType = utils.convert(texture.type), glInternalFormat = getInternalFormat(texture.internalFormat, glFormat, glType);
 				setTextureParameters(34067, texture, supportsMips);
 				var mipmaps;
@@ -12898,7 +12898,7 @@
 			return time;
 		}, _proto._setEndings = function(atStart, atEnd, pingPong) {
 			var settings = this._interpolantSettings;
-			pingPong ? (settings.endingStart = ZeroSlopeEnding, settings.endingEnd = ZeroSlopeEnding) : (atStart ? settings.endingStart = this.zeroSlopeAtStart ? ZeroSlopeEnding : ZeroCurvatureEnding : settings.endingStart = WrapAroundEnding, atEnd ? settings.endingEnd = this.zeroSlopeAtEnd ? ZeroSlopeEnding : ZeroCurvatureEnding : settings.endingEnd = WrapAroundEnding);
+			pingPong ? (settings.endingStart = ZeroSlopeEnding, settings.endingEnd = ZeroSlopeEnding) : (settings.endingStart = atStart ? this.zeroSlopeAtStart ? ZeroSlopeEnding : ZeroCurvatureEnding : WrapAroundEnding, settings.endingEnd = atEnd ? this.zeroSlopeAtEnd ? ZeroSlopeEnding : ZeroCurvatureEnding : WrapAroundEnding);
 		}, _proto._scheduleFading = function(duration, weightNow, weightThen) {
 			var mixer = this._mixer, now = mixer.time, interpolant = this._weightInterpolant;
 			interpolant === null && (interpolant = mixer._lendControlInterpolant(), this._weightInterpolant = interpolant);
```
## typescript.js
```diff
--- target/minifier/main/typescript.js	2026-07-19 15:45:15.411971187 +0000
+++ target/minifier/pr/typescript.js	2026-07-19 15:44:58.822770193 +0000
@@ -66551,7 +66551,7 @@
 			if (lineContent = ts.trimStringEnd(lineContent), lineContent = lineContent.replace(/\t/g, " "), context += indent + formatColorAndReset(ts.padLeft(i + 1 + "", gutterWidth), gutterStyleSequence) + gutterSeparator, context += lineContent + host.getNewLine(), context += indent + formatColorAndReset(ts.padLeft("", gutterWidth), gutterStyleSequence) + gutterSeparator, context += squiggleColor, i === firstLine) {
 				var lastCharForLine = i === lastLine ? lastLineChar : void 0;
 				context += lineContent.slice(0, firstLineChar).replace(/\S/g, " "), context += lineContent.slice(firstLineChar, lastCharForLine).replace(/./g, "~");
-			} else i === lastLine ? context += lineContent.slice(0, lastLineChar).replace(/./g, "~") : context += lineContent.replace(/./g, "~");
+			} else context += i === lastLine ? lineContent.slice(0, lastLineChar).replace(/./g, "~") : lineContent.replace(/./g, "~");
 			context += resetEscapeSequence;
 		}
 		return context;
```
## victory.js
```diff
--- target/minifier/main/victory.js	2026-07-19 15:45:13.875866457 +0000
+++ target/minifier/pr/victory.js	2026-07-19 15:44:57.186643058 +0000
@@ -22683,10 +22683,10 @@
 				return eventHandlersArray.reduce(function(localHandlers, finalHandlers) {
 					return lodash_forOwn__WEBPACK_IMPORTED_MODULE_5___default()(localHandlers, function(localHandler, eventName) {
 						var existingHandler = finalHandlers[eventName];
-						existingHandler ? finalHandlers[eventName] = function() {
+						finalHandlers[eventName] = existingHandler ? function() {
 							var existingMutations = ensureArray(existingHandler.apply(void 0, arguments)), localMutations = ensureArray(localHandler.apply(void 0, arguments));
 							return existingMutations.concat(localMutations);
-						} : finalHandlers[eventName] = localHandler;
+						} : localHandler;
 					}), finalHandlers;
 				});
 			}, combineDefaultEvents = function(defaultEvents) {
```
## vue.js
```diff
--- target/minifier/main/vue.js	2026-07-19 15:45:13.327828746 +0000
+++ target/minifier/pr/vue.js	2026-07-19 15:44:56.794612345 +0000
@@ -1269,7 +1269,7 @@
 	function lifecycleMixin(Vue) {
 		Vue.prototype._update = function(vnode, hydrating) {
 			var vm = this, prevEl = vm.$el, prevVnode = vm._vnode, restoreActiveInstance = setActiveInstance(vm);
-			vm._vnode = vnode, prevVnode ? vm.$el = vm.__patch__(prevVnode, vnode) : vm.$el = vm.__patch__(vm.$el, vnode, hydrating, !1), restoreActiveInstance(), prevEl && (prevEl.__vue__ = null), vm.$el && (vm.$el.__vue__ = vm), vm.$vnode && vm.$parent && vm.$vnode === vm.$parent._vnode && (vm.$parent.$el = vm.$el);
+			vm._vnode = vnode, vm.$el = prevVnode ? vm.__patch__(prevVnode, vnode) : vm.__patch__(vm.$el, vnode, hydrating, !1), restoreActiveInstance(), prevEl && (prevEl.__vue__ = null), vm.$el && (vm.$el.__vue__ = vm), vm.$vnode && vm.$parent && vm.$vnode === vm.$parent._vnode && (vm.$parent.$el = vm.$el);
 		}, Vue.prototype.$forceUpdate = function() {
 			var vm = this;
 			vm._watcher && vm._watcher.update();
@@ -2263,7 +2263,7 @@
 		}, range);
 		modifiers !== emptyObject && (newHandler.modifiers = modifiers);
 		var handlers = events[name];
-		Array.isArray(handlers) ? important ? handlers.unshift(newHandler) : handlers.push(newHandler) : handlers ? events[name] = important ? [newHandler, handlers] : [handlers, newHandler] : events[name] = newHandler, el.plain = !1;
+		Array.isArray(handlers) ? important ? handlers.unshift(newHandler) : handlers.push(newHandler) : events[name] = handlers ? important ? [newHandler, handlers] : [handlers, newHandler] : newHandler, el.plain = !1;
 	}
 	function getRawBindingAttr(el, name) {
 		return el.rawAttrsMap[":" + name] || el.rawAttrsMap["v-bind:" + name] || el.rawAttrsMap[name];
```

</details>
2026-07-20 03:26:04 +00:00
renovate[bot] 77cd11dff6 chore(deps): update github actions (#24680)
This PR contains the following updates:

| Package | Type | Update | Change | Pending |
|---|---|---|---|---|
|
[namespacelabs/nscloud-cache-action](https://redirect.github.com/namespacelabs/nscloud-cache-action)
| action | patch | `v1.6.0` → `v1.6.1` | |
|
[taiki-e/install-action](https://redirect.github.com/taiki-e/install-action)
| action | patch | `v2.83.0` → `v2.83.3` | `v2.83.4` |

---

### Release Notes

<details>
<summary>namespacelabs/nscloud-cache-action
(namespacelabs/nscloud-cache-action)</summary>

###
[`v1.6.1`](https://redirect.github.com/namespacelabs/nscloud-cache-action/releases/tag/v1.6.1)

[Compare
Source](https://redirect.github.com/namespacelabs/nscloud-cache-action/compare/v1.6.0...v1.6.1)

#### What's Changed

- Bump the minor-actions-dependencies group across 1 directory with 6
updates by
[@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot] in
[#&#8203;154](https://redirect.github.com/namespacelabs/nscloud-cache-action/pull/154)
- Remove Tuist cache mode test by
[@&#8203;rcrowe](https://redirect.github.com/rcrowe) in
[#&#8203;156](https://redirect.github.com/namespacelabs/nscloud-cache-action/pull/156)
- Bump the minor-npm-dependencies group across 1 directory with 9
updates by
[@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot] in
[#&#8203;155](https://redirect.github.com/namespacelabs/nscloud-cache-action/pull/155)

**Full Changelog**:
<https://github.com/namespacelabs/nscloud-cache-action/compare/v1...v1.6.1>

</details>

<details>
<summary>taiki-e/install-action (taiki-e/install-action)</summary>

###
[`v2.83.3`](https://redirect.github.com/taiki-e/install-action/releases/tag/v2.83.3):
2.83.3

[Compare
Source](https://redirect.github.com/taiki-e/install-action/compare/v2.83.2...v2.83.3)

- Update `release-plz@latest` to 0.3.160.

- Update `prek@latest` to 0.4.9.

- Update `mise@latest` to 2026.7.6.

- Update `dprint@latest` to 0.55.2.

- Update `cargo-dinghy@latest` to 0.8.5.

- Update `cargo-binstall@latest` to 1.21.0.

- Update `biome@latest` to 2.5.4.

###
[`v2.83.2`](https://redirect.github.com/taiki-e/install-action/releases/tag/v2.83.2):
2.83.2

[Compare
Source](https://redirect.github.com/taiki-e/install-action/compare/v2.83.1...v2.83.2)

- Update `parse-dockerfile@latest` to 0.1.8.

- Update `mise@latest` to 2026.7.5.

- Update `just@latest` to 1.56.0.

- Update `gungraun-runner@latest` to 0.19.4.

- Update `cargo-neat@latest` to 0.4.1.

###
[`v2.83.1`](https://redirect.github.com/taiki-e/install-action/releases/tag/v2.83.1):
2.83.1

[Compare
Source](https://redirect.github.com/taiki-e/install-action/compare/v2.83.0...v2.83.1)

- Update `rclone@latest` to 1.74.4.

- Update `mise@latest` to 2026.7.4.

- Update `cargo-deny@latest` to 0.20.2.

</details>

---

### Configuration

📅 **Schedule**: (in timezone Asia/Shanghai)

- Branch creation
  - "before 10am on monday"
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Enabled.

♻ **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://redirect.github.com/renovatebot/renovate/discussions) if
that's undesired.

---

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

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/oxc-project/oxc).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yNjUuMSIsInVwZGF0ZWRJblZlciI6IjQzLjI2NS4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-19 18:07:02 +01:00
Boshen d174661221 ci(benchmark): add CodSpeed memory measurement for pipeline benchmarks (#24559)
Adds CodSpeed's [Memory Instrument](https://codspeed.io/docs/instruments/memory) for the `pipeline` benchmarks: peak memory, total allocated bytes, allocation count, and a memory timeline per benchmark case, tracked with baseline comparison on PRs alongside the existing CPU simulation runs.

## Changes

- `generate-benchmark-matrix.js`: entry construction is factored into a `buildMatrixEntries()` helper used by all five construction sites. All entries now carry an explicit `mode`: `simulation` for every component, `simulation,memory` for `pipeline` — so the pipeline job runs both instruments and inherits the existing changed-file affection logic.
- `benchmark.yml`: the action's `mode:` input comes from the matrix. Job names and count are unchanged.

No build-step changes needed: `cargo-codspeed` maps memory mode to the same `analysis` build the workflow already stages (`MeasurementMode::Memory` → `BuildMode::Analysis`), and the pinned action v4.18.5 supports memory mode (added in v4.17.0) including comma-separated multi-mode runs.

Notes:

- The first memory numbers on this PR will have no baseline; comparisons start after the post-merge main run.
- Memory metrics reflect the bench crate's deliberate `NeverGrowInPlaceAllocator` worst-case realloc behavior — consistent run-to-run, which is what matters for regression tracking.

AI Disclosure: This was generated with Claude Code, Fable 5. It has been tested and reviewed by me for correctness.
2026-07-15 16:12:52 +00:00
Dunqing 4279ecaa7c chore(coverage): update stale test262 runtime snapshot (#24528)
#24463 moved the test262 pin from `de8e621c` to `d1d583db` but did not regenerate `tasks/coverage/snapshots/runtime.snap`, which still records the old sha. The runtime suite doesn't run in repo CI, so nothing caught it; monitor-oxc's Test262 job has been aborting on the snapshot sha guard ("Repository … is outdated for runtime.snap. Please run `just submodules`") on every run since 2026-07-13.

Two changes:

1. Regenerated the snapshot with `UPDATE_SNAPSHOT=1 cargo coverage runtime` against the pinned checkout: 17306/18277 (94.69%) passing, matching what monitor-oxc measures on main. The list changes are upstream test262 churn — two new `eval-code` global-function-init failures, and the async-arrow `forbidden-ext` block that no longer exists upstream.

2. Fixed the root cause of the staleness: the `update_submodules` workflow runs `just coverage`, whose default task skips the runtime suite, so `runtime.snap` was never regenerated on automated pin bumps. The workflow now runs `cargo coverage runtime` explicitly (it already sets up Node).

This PR was assisted by Claude.
2026-07-15 01:43:09 +00:00
Boshen fd0700cc26 chore(repo): normalize funding metadata
Remove personal sponsorship targets from selected funding files and direct sponsorship to the Oxc Open Collective only.
2026-07-14 14:39:00 +08:00
oxc-guard[bot] 17cb5c13c5 chore(submodules): update submodule SHAs to latest commits (#24463)
Updates submodule dependencies to their latest commits.

## Changes

- test262: `de8e621` → `d1d583d`
- babel: `1fb0b77` → `c86e9e4`
- TypeScript: `7964e22` → `637d574`
- estree-conformance: `6514ad7` → `e8fd120`


This PR is automatically generated by the [update_submodules
workflow](https://github.com/oxc-project/oxc/blob/main/.github/workflows/update_submodules.yml).

Co-authored-by: oxc-guard[bot] <276638029+oxc-guard[bot]@users.noreply.github.com>
2026-07-13 14:24:36 +01:00
Boshen 1e4e0cb754 chore(ci): remove global npm upgrade in release workflows (#24425)
Publishing across all release workflows is done exclusively via `pnpm publish` (directly, or through `publish-if-needed.sh` and `check-npm-packages.js`). Trusted publishing (OIDC) support therefore depends on the pnpm version, not the global npm CLI, so the `npm install -g npm@latest` step was dead weight.

Removed all 5 occurrences of:

```yaml
- run: npm install -g npm@latest # For trusted publishing support
```

from:

- `.github/workflows/reusable_release_napi.yml`
- `.github/workflows/release_types.yml`
- `.github/workflows/release_runtime.yml`
- `.github/workflows/release_apps.yml` (2 occurrences)

The `id-token: write` permission that actually enables trusted publishing is untouched.
2026-07-13 00:38:16 +00:00
leaysgur 0fac7fe935 chore(prettier_conformance): update prettier to 3.9.5 (#24423) 2026-07-13 00:13:32 +00:00
renovate[bot] 1ef07a1f5b chore(deps): update github actions (#24410)
This PR contains the following updates:

| Package | Type | Update | Change | Pending |
|---|---|---|---|---|
| [CodSpeedHQ/action](https://redirect.github.com/CodSpeedHQ/action) |
action | patch | `v4.18.1` → `v4.18.5` | |
| [actions/labeler](https://redirect.github.com/actions/labeler) |
action | minor | `v6.1.0` → `v6.2.0` | |
|
[taiki-e/install-action](https://redirect.github.com/taiki-e/install-action)
| action | minor | `v2.82.7` → `v2.83.0` | `v2.83.2` (+1) |

---

### Release Notes

<details>
<summary>CodSpeedHQ/action (CodSpeedHQ/action)</summary>

###
[`v4.18.5`](https://redirect.github.com/CodSpeedHQ/action/releases/tag/v4.18.5)

[Compare
Source](https://redirect.github.com/CodSpeedHQ/action/compare/v4.18.4...v4.18.5)

#### Release Notes

##### <!-- 10 -->💼 Other

- Bump pinned valgrind-codspeed to
[3.26.0-0codspeed6](https://redirect.github.com/CodSpeedHQ/valgrind-codspeed/releases/tag/3.26.0-0codspeed6)
([#&#8203;448](https://redirect.github.com/CodSpeedHQ/action/issues/448))
by [@&#8203;adriencaccia](https://redirect.github.com/adriencaccia) in
[#&#8203;448](https://redirect.github.com/CodSpeedHQ/runner/pull/448)
- fix: hangs on ARM64 due to atomics by
[@&#8203;not-matthias](https://redirect.github.com/not-matthias) in
[CodSpeedHQ/valgrind-codspeed#23](https://redirect.github.com/CodSpeedHQ/valgrind-codspeed/pull/23)
- fix(aspacem): raise amd64 managed address ceiling to 1 TiB by
[@&#8203;not-matthias](https://redirect.github.com/not-matthias) in
[CodSpeedHQ/valgrind-codspeed#22](https://redirect.github.com/CodSpeedHQ/valgrind-codspeed/pull/22)

#### Install codspeed-runner 4.18.4

##### Install prebuilt binaries via shell script

```sh
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/CodSpeedHQ/codspeed/releases/download/v4.18.4/codspeed-runner-installer.sh | sh
```

#### Download codspeed-runner 4.18.4

| File | Platform | Checksum |
|
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------
| ------------------- |
-------------------------------------------------------------------------------------------------------------------------------------
|
|
[codspeed-runner-aarch64-apple-darwin.tar.gz](https://redirect.github.com/CodSpeedHQ/codspeed/releases/download/v4.18.4/codspeed-runner-aarch64-apple-darwin.tar.gz)
| Apple Silicon macOS |
[checksum](https://redirect.github.com/CodSpeedHQ/codspeed/releases/download/v4.18.4/codspeed-runner-aarch64-apple-darwin.tar.gz.sha256)
|
|
[codspeed-runner-aarch64-unknown-linux-musl.tar.gz](https://redirect.github.com/CodSpeedHQ/codspeed/releases/download/v4.18.4/codspeed-runner-aarch64-unknown-linux-musl.tar.gz)
| ARM64 MUSL Linux |
[checksum](https://redirect.github.com/CodSpeedHQ/codspeed/releases/download/v4.18.4/codspeed-runner-aarch64-unknown-linux-musl.tar.gz.sha256)
|
|
[codspeed-runner-x86\_64-unknown-linux-musl.tar.gz](https://redirect.github.com/CodSpeedHQ/codspeed/releases/download/v4.18.4/codspeed-runner-x86_64-unknown-linux-musl.tar.gz)
| x64 MUSL Linux |
[checksum](https://redirect.github.com/CodSpeedHQ/codspeed/releases/download/v4.18.4/codspeed-runner-x86_64-unknown-linux-musl.tar.gz.sha256)
|

**Full Runner Changelog**:
<https://github.com/CodSpeedHQ/codspeed/blob/main/CHANGELOG.md>

**Full Changelog**:
<https://github.com/CodSpeedHQ/action/compare/v4.18.4...v4.18.5>

###
[`v4.18.4`](https://redirect.github.com/CodSpeedHQ/action/releases/tag/v4.18.4)

[Compare
Source](https://redirect.github.com/CodSpeedHQ/action/compare/v4.18.2...v4.18.4)

#### What's Changed

- fix 4.18.3 runner hash –
[`bf19f56`](https://redirect.github.com/CodSpeedHQ/action/commit/bf19f56fe8857e83e4343138c1a927e56f666e3b)
by [@&#8203;adriencaccia](https://redirect.github.com/adriencaccia)

**Full Changelog**:
<https://github.com/CodSpeedHQ/action/compare/v4.18.3...v4.18.4>

###
[`v4.18.2`](https://redirect.github.com/CodSpeedHQ/action/releases/tag/v4.18.2)

[Compare
Source](https://redirect.github.com/CodSpeedHQ/action/compare/v4.18.1...v4.18.2)

#### Release Notes

##### <!-- 1 -->🐛 Bug Fixes

- Source forwarded env below memtrack's capability boundary by
[@&#8203;not-matthias](https://redirect.github.com/not-matthias) in
[#&#8203;439](https://redirect.github.com/CodSpeedHQ/runner/pull/439)

##### <!-- 7 -->⚙️ Internals

- chore: bump runner version to 4.18.2 by
[@&#8203;github-actions](https://redirect.github.com/github-actions)\[bot]
in [#&#8203;219](https://redirect.github.com/CodSpeedHQ/action/pull/219)

#### Install codspeed-runner 4.18.2

##### Install prebuilt binaries via shell script

```sh
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/CodSpeedHQ/codspeed/releases/download/v4.18.2/codspeed-runner-installer.sh | sh
```

#### Download codspeed-runner 4.18.2

| File | Platform | Checksum |
|
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------
| ------------------- |
-------------------------------------------------------------------------------------------------------------------------------------
|
|
[codspeed-runner-aarch64-apple-darwin.tar.gz](https://redirect.github.com/CodSpeedHQ/codspeed/releases/download/v4.18.2/codspeed-runner-aarch64-apple-darwin.tar.gz)
| Apple Silicon macOS |
[checksum](https://redirect.github.com/CodSpeedHQ/codspeed/releases/download/v4.18.2/codspeed-runner-aarch64-apple-darwin.tar.gz.sha256)
|
|
[codspeed-runner-aarch64-unknown-linux-musl.tar.gz](https://redirect.github.com/CodSpeedHQ/codspeed/releases/download/v4.18.2/codspeed-runner-aarch64-unknown-linux-musl.tar.gz)
| ARM64 MUSL Linux |
[checksum](https://redirect.github.com/CodSpeedHQ/codspeed/releases/download/v4.18.2/codspeed-runner-aarch64-unknown-linux-musl.tar.gz.sha256)
|
|
[codspeed-runner-x86\_64-unknown-linux-musl.tar.gz](https://redirect.github.com/CodSpeedHQ/codspeed/releases/download/v4.18.2/codspeed-runner-x86_64-unknown-linux-musl.tar.gz)
| x64 MUSL Linux |
[checksum](https://redirect.github.com/CodSpeedHQ/codspeed/releases/download/v4.18.2/codspeed-runner-x86_64-unknown-linux-musl.tar.gz.sha256)
|

**Full Runner Changelog**:
<https://github.com/CodSpeedHQ/codspeed/blob/main/CHANGELOG.md>

**Full Changelog**:
<https://github.com/CodSpeedHQ/action/compare/v4.18.1...v4.18.2>

</details>

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

###
[`v6.2.0`](https://redirect.github.com/actions/labeler/releases/tag/v6.2.0)

[Compare
Source](https://redirect.github.com/actions/labeler/compare/v6.1.0...v6.2.0)

#### What's Changed

##### Bug Fix

- Improve PR number validation and warning messages in input handling by
[@&#8203;chiranjib-swain](https://redirect.github.com/chiranjib-swain)
in [#&#8203;939](https://redirect.github.com/actions/labeler/pull/939)

##### Dependency Updates

- Bump js-yaml to 4.2.0, apply npm audit fix, and add undici override by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[#&#8203;943](https://redirect.github.com/actions/labeler/pull/943)
- Bump
[@&#8203;typescript-eslint/eslint-plugin](https://redirect.github.com/typescript-eslint/eslint-plugin)
from 8.59.1 to 8.61.1 by
[@&#8203;dependabot](https://redirect.github.com/dependabot) in
[#&#8203;942](https://redirect.github.com/actions/labeler/pull/942)

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

</details>

<details>
<summary>taiki-e/install-action (taiki-e/install-action)</summary>

###
[`v2.83.0`](https://redirect.github.com/taiki-e/install-action/releases/tag/v2.83.0):
2.83.0

[Compare
Source](https://redirect.github.com/taiki-e/install-action/compare/v2.82.11...v2.83.0)

- Support `cargo-about`.
([#&#8203;1924](https://redirect.github.com/taiki-e/install-action/pull/1924),
thanks [@&#8203;ruffsl](https://redirect.github.com/ruffsl))

- Update `uv@latest` to 0.11.28.

- Update `martin@latest` to 1.12.0.

- Update `kingfisher@latest` to 1.106.0.

- Update `biome@latest` to 2.5.3.

###
[`v2.82.11`](https://redirect.github.com/taiki-e/install-action/releases/tag/v2.82.11):
2.82.11

[Compare
Source](https://redirect.github.com/taiki-e/install-action/compare/v2.82.10...v2.82.11)

- Update `wasm-tools@latest` to 1.253.0.

- Update `uv@latest` to 0.11.27.

- Update `mise@latest` to 2026.7.2.

- Update `mdbook@latest` to 0.5.4.

###
[`v2.82.10`](https://redirect.github.com/taiki-e/install-action/releases/tag/v2.82.10):
2.82.10

[Compare
Source](https://redirect.github.com/taiki-e/install-action/compare/v2.82.9...v2.82.10)

- Update `tombi@latest` to 1.2.0.

- Update `cargo-nextest@latest` to 0.9.140.

###
[`v2.82.9`](https://redirect.github.com/taiki-e/install-action/releases/tag/v2.82.9):
2.82.9

[Compare
Source](https://redirect.github.com/taiki-e/install-action/compare/v2.82.8...v2.82.9)

- Update `vacuum@latest` to 0.29.9.

- Update `prek@latest` to 0.4.8.

- Update `cargo-tarpaulin@latest` to 0.37.0.

- Update `cargo-leptos@latest` to 0.3.7.

###
[`v2.82.8`](https://redirect.github.com/taiki-e/install-action/releases/tag/v2.82.8):
2.82.8

[Compare
Source](https://redirect.github.com/taiki-e/install-action/compare/v2.82.7...v2.82.8)

- Update `vacuum@latest` to 0.29.8.

- Update `uv@latest` to 0.11.26.

- Update `typos@latest` to 1.48.0.

- Update `trivy@latest` to 0.72.0.

- Update `tombi@latest` to 1.1.7.

- Update `prek@latest` to 0.4.6.

- Update `mise@latest` to 2026.7.0.

- Update `just@latest` to 1.55.1.

- Update `biome@latest` to 2.5.2.

</details>

---

### Configuration

📅 **Schedule**: (in timezone Asia/Shanghai)

- Branch creation
  - "before 10am on monday"
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config
help](https://redirect.github.com/renovatebot/renovate/discussions) if
that's undesired.

---

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

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/oxc-project/oxc).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yNTkuMiIsInVwZGF0ZWRJblZlciI6IjQzLjI1OS4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-12 22:03:57 +01:00
Boshen 18da3a2f91 chore(ci): use CARGO_BUILD_WARNINGS=deny instead of clippy -D warnings (#24344)
Rust 1.97 stabilized [`build.warnings`](https://blog.rust-lang.org/2026/07/09/Rust-1.97.0/#cargo-support-for-denying-warnings) / `CARGO_BUILD_WARNINGS`, which denies warnings at the cargo level instead of via clippy args.

Unlike `-D warnings`, the env var is not part of the build fingerprint, so `just lint`, plain `cargo lint`, and rust-analyzer now share one check cache instead of re-linting the workspace whenever the flags alternate. Cached warnings are still replayed and denied, so warm caches leave no enforcement hole.

Verified on cargo 1.97: clippy-only lints are denied (exit 101) despite the cargo reference only mentioning "rustc lints", and denial fires from a fully cached run. The justfile recipe exports the variable via a just parameter (cross-platform, and overridable with `just lint warn`).

rustdoc keeps `RUSTDOCFLAGS='-D warnings'` — `build.warnings` does not cover rustdoc lints.
2026-07-10 08:33:52 +00:00
Bart Langelaan 042222fbe5 fix(tasks/lint-rules): pin ESLint to v9 (#24278)
The `lint_rules` task is currently broken. See:
https://github.com/oxc-project/oxc/actions/workflows/lint_rules.yml

This fixes the task by reverting to eslint v9.

Co-authored-by: Cameron <cameron.clark@hey.com>
2026-07-08 11:53:57 +01:00
Boshen c824f5ff2a ci(lint): run release-mode clippy on main only, without --all-targets (#24242)
The Lint job is one of the two slowest jobs on PR CI (median 3m29s, p90 4m48s over the last 31 runs), and the `dev-no-debug-assertions` clippy pass accounts for roughly half of its clippy time — every core-crate commit re-checks ~60 crates twice, once per profile.

That pass exists to catch lints which only fire with `debug_assertions` off (e.g. #8539, the motivation for adding it in #8541). This failure class is rare (~4 occurrences in the project's history) and a post-merge failure on main pinpoints the culprit commit, so run it on `main` pushes only — the same trade already made for the mac/windows/32-bit/big-endian test jobs.

Also drop `--all-targets` from this pass (calling `cargo clippy` directly, since the `cargo lint` alias bakes it in): test/bench code is never built in release mode with `-D warnings`, and skipping it avoids re-checking `oxc_linter`'s inline rule tests a second time. The `#[cfg(debug_assertions)]` sites in the workspace are almost entirely in lib code.

Expected PR lint job time: ~3m30s → ~1m45s median.

🤖 Generated with [Claude Code](https://claude.com/claude-code)
2026-07-07 09:42:09 +00:00
leaysgur dad42879c7 chore(ci): run measurement jobs when Cargo.lock or rust-toolchain changes (#24199)
### Summary

The include-mode filter in `check-changes.js` short-circuits to "skip" when no changed files are under `crates/`, so it never reaches the cargo tree dependency check for `Cargo.lock`-only dependency updates or `rust-toolchain.toml` bumps. Conformance, Minsize, Allocations, and Linter timings are all gated on this filter.

This is how #24192 (`num-bigint` 0.4.6 → 0.5.1) landed with a stale parser allocation snapshot: the update changed BigInt-literal parsing allocation counts, the Allocations job never re-measured on main, and the mismatch surfaced on an unrelated PR (#24098). The snapshot itself is fixed in #24198.

This PR treats `Cargo.lock` and `rust-toolchain.toml` changes as affecting every crate, so measurement jobs always re-run on dependency and toolchain updates. The cost is that renovate dependency PRs now run these four jobs; dependency updates are exactly the class of change that can shift measured behavior, so that is the intended behavior. Exclude-mode and paths-only jobs are unaffected (exclude mode already runs on such changes by construction).

### Trade-off

For Conformance specifically this closes a correctness gap, not just a snapshot-staleness one: a dependency update that changes parser/transformer behavior currently skips conformance entirely.

🤖 Generated with [Claude Code](https://claude.com/claude-code)
2026-07-06 07:49:06 +00:00
leaysgur 2e241c154f chore(ci): updatelabeler.yml (#24210) 2026-07-06 07:42:56 +00:00
leaysgur 1a3bd5a3ce chore(prettier_conformance): update prettier to 3.9.4 (#24200)
https://github.com/prettier/prettier/compare/3.9.1...3.9.4
2026-07-06 02:00:30 +00:00
renovate[bot] a6e3a0582e chore(deps): update dorny/paths-filter action to v4.0.2 (#24194)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [dorny/paths-filter](https://redirect.github.com/dorny/paths-filter) |
action | patch | `v4.0.1` → `v4.0.2` |

---

### Release Notes

<details>
<summary>dorny/paths-filter (dorny/paths-filter)</summary>

###
[`v4.0.2`](https://redirect.github.com/dorny/paths-filter/blob/HEAD/CHANGELOG.md#v402)

[Compare
Source](https://redirect.github.com/dorny/paths-filter/compare/v4.0.1...v4.0.2)

- [Work around git dubious ownership errors in container
jobs](https://redirect.github.com/dorny/paths-filter/pull/317)
- [Use rev-parse instead of branch --show-current for older git
compat](https://redirect.github.com/dorny/paths-filter/pull/303)
- [Fix warning
message](https://redirect.github.com/dorny/paths-filter/pull/282)

</details>

---

### Configuration

📅 **Schedule**: (in timezone Asia/Shanghai)

- Branch creation
  - "before 10am on monday"
- Automerge
  - At any time (no schedule defined)

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

---

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

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/oxc-project/oxc).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yNDIuMiIsInVwZGF0ZWRJblZlciI6IjQzLjI0Mi4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-06 00:53:46 +00:00
renovate[bot] 8853f144e5 chore(deps): update github actions (#24188)
This PR contains the following updates:

| Package | Type | Update | Change | Pending |
|---|---|---|---|---|
|
[namespacelabs/nscloud-cache-action](https://redirect.github.com/namespacelabs/nscloud-cache-action)
| action | minor | `v1.4.3` → `v1.6.0` | |
|
[taiki-e/install-action](https://redirect.github.com/taiki-e/install-action)
| action | patch | `v2.82.4` → `v2.82.7` | `v2.82.9` (+1) |

---

> [!WARNING]
> Some dependencies could not be looked up. Check the warning logs for
more information.

---

### Release Notes

<details>
<summary>namespacelabs/nscloud-cache-action
(namespacelabs/nscloud-cache-action)</summary>

###
[`v1.6.0`](https://redirect.github.com/namespacelabs/nscloud-cache-action/releases/tag/v1.6.0)

[Compare
Source](https://redirect.github.com/namespacelabs/nscloud-cache-action/compare/v1.5.0...v1.6.0)

##### What's Changed

- Remove unused Unix-only helpers from utils by
[@&#8203;rcrowe](https://redirect.github.com/rcrowe) in
[#&#8203;148](https://redirect.github.com/namespacelabs/nscloud-cache-action/pull/148)
- Validate cache links on Windows runners by
[@&#8203;rcrowe](https://redirect.github.com/rcrowe) in
[#&#8203;149](https://redirect.github.com/namespacelabs/nscloud-cache-action/pull/149)
- Early Windows support -> Bump actions-toolkit to v0.4.0, fix
Dependabot & patch security advisories by
[@&#8203;rcrowe](https://redirect.github.com/rcrowe) in
[#&#8203;150](https://redirect.github.com/namespacelabs/nscloud-cache-action/pull/150)

**Full Changelog**:
<https://github.com/namespacelabs/nscloud-cache-action/compare/v1...v1.6.0>

###
[`v1.5.0`](https://redirect.github.com/namespacelabs/nscloud-cache-action/releases/tag/v1.5.0)

[Compare
Source](https://redirect.github.com/namespacelabs/nscloud-cache-action/compare/v1.4.3...v1.5.0)

##### What's Changed

- Bump pnpm/action-setup from 5.0.0 to 6.0.3 in the
major-actions-dependencies group across 1 directory by
[@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot] in
[#&#8203;127](https://redirect.github.com/namespacelabs/nscloud-cache-action/pull/127)
- Bump the minor-npm-dependencies group across 1 directory with 8
updates by
[@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot] in
[#&#8203;130](https://redirect.github.com/namespacelabs/nscloud-cache-action/pull/130)
- ci: add --verbose to cargo invocations by
[@&#8203;annervisser](https://redirect.github.com/annervisser) in
[#&#8203;117](https://redirect.github.com/namespacelabs/nscloud-cache-action/pull/117)
- Bump the minor-actions-dependencies group with 5 updates by
[@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot] in
[#&#8203;133](https://redirect.github.com/namespacelabs/nscloud-cache-action/pull/133)
- Bump eslint-plugin-n from 17.24.0 to 18.0.1 by
[@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot] in
[#&#8203;132](https://redirect.github.com/namespacelabs/nscloud-cache-action/pull/132)
- fix(ci): pin astral-sh/setup-uv to a valid v7 SHA by
[@&#8203;rcrowe](https://redirect.github.com/rcrowe) in
[#&#8203;134](https://redirect.github.com/namespacelabs/nscloud-cache-action/pull/134)
- ci: matrix pnpm versions to cover v11 by
[@&#8203;rcrowe](https://redirect.github.com/rcrowe) in
[#&#8203;131](https://redirect.github.com/namespacelabs/nscloud-cache-action/pull/131)
- Bump the major-actions-dependencies group across 1 directory with 2
updates by
[@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot] in
[#&#8203;142](https://redirect.github.com/namespacelabs/nscloud-cache-action/pull/142)
- Bump the minor-actions-dependencies group across 1 directory with 7
updates by
[@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot] in
[#&#8203;145](https://redirect.github.com/namespacelabs/nscloud-cache-action/pull/145)
- Bump the minor-npm-dependencies group across 1 directory with 9
updates by
[@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot] in
[#&#8203;144](https://redirect.github.com/namespacelabs/nscloud-cache-action/pull/144)
- Pass spacectl binPath explicitly instead of relying on PATH by
[@&#8203;rcrowe](https://redirect.github.com/rcrowe) in
[#&#8203;146](https://redirect.github.com/namespacelabs/nscloud-cache-action/pull/146)
- ci: add tuist cache mode test by
[@&#8203;rcrowe](https://redirect.github.com/rcrowe) in
[#&#8203;147](https://redirect.github.com/namespacelabs/nscloud-cache-action/pull/147)

**Full Changelog**:
<https://github.com/namespacelabs/nscloud-cache-action/compare/v1...v1.5.0>

</details>

<details>
<summary>taiki-e/install-action (taiki-e/install-action)</summary>

###
[`v2.82.7`](https://redirect.github.com/taiki-e/install-action/releases/tag/v2.82.7):
2.82.7

[Compare
Source](https://redirect.github.com/taiki-e/install-action/compare/v2.82.6...v2.82.7)

- Update `tombi@latest` to 1.1.6.

- Update `kingfisher@latest` to 1.105.0.

- Update `gungraun-runner@latest` to 0.19.3.

- Update `editorconfig-checker@latest` to 3.8.0.

- Update `dprint@latest` to 0.55.1.

- Update `cargo-tarpaulin@latest` to 0.36.0.

###
[`v2.82.6`](https://redirect.github.com/taiki-e/install-action/releases/tag/v2.82.6):
2.82.6

[Compare
Source](https://redirect.github.com/taiki-e/install-action/compare/v2.82.5...v2.82.6)

- Update `vacuum@latest` to 0.29.7.

- Update `uv@latest` to 0.11.25.

- Update `syft@latest` to 1.46.0.

- Update `dprint@latest` to 0.55.0.

- Update `cargo-auditable@latest` to 0.7.5.

###
[`v2.82.5`](https://redirect.github.com/taiki-e/install-action/releases/tag/v2.82.5):
2.82.5

[Compare
Source](https://redirect.github.com/taiki-e/install-action/compare/v2.82.4...v2.82.5)

- Update `wasmtime@latest` to 46.0.1.

- Update `wasm-bindgen@latest` to 0.2.126.

- Update `vacuum@latest` to 0.29.6.

- Update `mise@latest` to 2026.6.14.

- Update `cargo-rdme@latest` to 2.1.0.

</details>

---

### Configuration

📅 **Schedule**: (in timezone Asia/Shanghai)

- Branch creation
  - "before 10am on monday"
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config
help](https://redirect.github.com/renovatebot/renovate/discussions) if
that's undesired.

---

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

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/oxc-project/oxc).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yNDIuMiIsInVwZGF0ZWRJblZlciI6IjQzLjI0Mi4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-05 18:19:19 +01:00
camchenry a685927916 feat(ci): add lint timings tracking (#24162)
Adds linter call count tracking to provide some durable evidence of call count reductions. This does not include the actual rule timings so that it is consistent across machines.
2026-07-04 17:43:39 +00:00
renovate[bot] 01cf262d7e chore(deps): update crate-ci/typos action to v1.48.0 (#24141)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [crate-ci/typos](https://redirect.github.com/crate-ci/typos) | action
| minor | `v1.47.2` → `v1.48.0` |

---

### Release Notes

<details>
<summary>crate-ci/typos (crate-ci/typos)</summary>

###
[`v1.48.0`](https://redirect.github.com/crate-ci/typos/releases/tag/v1.48.0)

[Compare
Source](https://redirect.github.com/crate-ci/typos/compare/v1.47.2...v1.48.0)

#### \[1.48.0] - 2026-06-30

##### Features

- Updated the dictionary with the [June
2026](https://redirect.github.com/crate-ci/typos/issues/1562) changes

</details>

---

### Configuration

📅 **Schedule**: (in timezone Asia/Shanghai)

- Branch creation
  - At any time (no schedule defined)
- Automerge
  - At any time (no schedule defined)

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

---

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

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/oxc-project/oxc).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yNDIuMiIsInVwZGF0ZWRJblZlciI6IjQzLjI0Mi4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Cameron Clark <cameron.clark@hey.com>
2026-07-04 12:47:23 +01:00
leaysgur b389dd3df9 chore(prettier_conformance): update prettier to 3.9.1 (#23930)
Part of #23923

Updated diffs should be handled in later PRs.
2026-07-03 07:12:06 +00:00
leaysgur 47008d88b6 fix(ci): regenerate transform_conformance snapshots (#24103)
In #24078, the snapshot generation was missed, which caused the CI to fail on all subsequent PRs.

Also fixes typo in CI trigger, which should prevent this. 🙈
2026-07-03 06:38:43 +00:00
overlookmotel e94b6cde71 refactor(ast_macros): calculate which enums are fieldless in ast_tools (#23957)
Move work from `#[ast]` macro into `ast_tools`. Calculate whether an enum is fieldless or not in `ast_tools` and pass that info to `#[ast]` macro via an `EnumDetails` struct. This avoids having to iterate over all variants of each enum in the macro.

This is preferable because `ast_tools` runs only after changes to AST, whereas the macro code runs every time `oxc_ast` crate is compiled.
2026-06-30 15:45:38 +01:00
leaysgur eba0cf5e5a fix(ci): ensure CI run with formatter crates update (#23926)
Newly added formatters were missing from CI trigger.
2026-06-29 05:57:12 +00:00
leaysgur 32674e279e chore(ci): update CODEOWNERS (#23925)
- Added new formatters
- Update shared crates
2026-06-29 05:29:40 +00:00
renovate[bot] eedf4c7360 chore(deps): update github actions (#23905)
This PR contains the following updates:

| Package | Type | Update | Change | Pending |
|---|---|---|---|---|
| [CodSpeedHQ/action](https://redirect.github.com/CodSpeedHQ/action) |
action | minor | `v4.17.6` → `v4.18.1` | |
|
[cross-platform-actions/action](https://redirect.github.com/cross-platform-actions/action)
| action | minor | `v1.2.0` → `v1.3.0` | |
|
[oxc-project/security-action](https://redirect.github.com/oxc-project/security-action)
| action | patch | `v1.0.7` → `v1.0.8` | |
|
[taiki-e/install-action](https://redirect.github.com/taiki-e/install-action)
| action | patch | `v2.82.0` → `v2.82.4` | `v2.82.5` |

---

### Release Notes

<details>
<summary>CodSpeedHQ/action (CodSpeedHQ/action)</summary>

###
[`v4.18.1`](https://redirect.github.com/CodSpeedHQ/action/releases/tag/v4.18.1)

[Compare
Source](https://redirect.github.com/CodSpeedHQ/action/compare/v4.18.0...v4.18.1)

#### Release Notes

##### <!-- 0 -->🚀 Features

- Bump go-runner to 1.2.1 by
[@&#8203;adriencaccia](https://redirect.github.com/adriencaccia) in
[#&#8203;421](https://redirect.github.com/CodSpeedHQ/runner/pull/421)

#### Install codspeed-runner 4.18.1

##### Install prebuilt binaries via shell script

```sh
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/CodSpeedHQ/codspeed/releases/download/v4.18.1/codspeed-runner-installer.sh | sh
```

#### Download codspeed-runner 4.18.1

| File | Platform | Checksum |
|
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------
| ------------------- |
-------------------------------------------------------------------------------------------------------------------------------------
|
|
[codspeed-runner-aarch64-apple-darwin.tar.gz](https://redirect.github.com/CodSpeedHQ/codspeed/releases/download/v4.18.1/codspeed-runner-aarch64-apple-darwin.tar.gz)
| Apple Silicon macOS |
[checksum](https://redirect.github.com/CodSpeedHQ/codspeed/releases/download/v4.18.1/codspeed-runner-aarch64-apple-darwin.tar.gz.sha256)
|
|
[codspeed-runner-aarch64-unknown-linux-musl.tar.gz](https://redirect.github.com/CodSpeedHQ/codspeed/releases/download/v4.18.1/codspeed-runner-aarch64-unknown-linux-musl.tar.gz)
| ARM64 MUSL Linux |
[checksum](https://redirect.github.com/CodSpeedHQ/codspeed/releases/download/v4.18.1/codspeed-runner-aarch64-unknown-linux-musl.tar.gz.sha256)
|
|
[codspeed-runner-x86\_64-unknown-linux-musl.tar.gz](https://redirect.github.com/CodSpeedHQ/codspeed/releases/download/v4.18.1/codspeed-runner-x86_64-unknown-linux-musl.tar.gz)
| x64 MUSL Linux |
[checksum](https://redirect.github.com/CodSpeedHQ/codspeed/releases/download/v4.18.1/codspeed-runner-x86_64-unknown-linux-musl.tar.gz.sha256)
|

**Full Runner Changelog**:
<https://github.com/CodSpeedHQ/codspeed/blob/main/CHANGELOG.md>

###
[`v4.18.0`](https://redirect.github.com/CodSpeedHQ/action/releases/tag/v4.18.0)

[Compare
Source](https://redirect.github.com/CodSpeedHQ/action/compare/v4.17.6...v4.18.0)

#### Release Notes

##### <!-- 0 -->🚀 Features

- Bump valgrind-codspeed to 3.26.0-0codspeed4
- Bump samply by
[@&#8203;GuillaumeLagrange](https://redirect.github.com/GuillaumeLagrange)
in [#&#8203;415](https://redirect.github.com/CodSpeedHQ/runner/pull/415)
- Set env var to have node dump inlining information by
[@&#8203;GuillaumeLagrange](https://redirect.github.com/GuillaumeLagrange)
- Change isolation logic to include samply and non root fallback by
[@&#8203;GuillaumeLagrange](https://redirect.github.com/GuillaumeLagrange)
- Add experimental --cycle-estimation flag by
[@&#8203;not-matthias](https://redirect.github.com/not-matthias) in
[#&#8203;412](https://redirect.github.com/CodSpeedHQ/runner/pull/412)
- Make samply-codspeed a submodule rather than git rev with cargo by
[@&#8203;GuillaumeLagrange](https://redirect.github.com/GuillaumeLagrange)
in [#&#8203;416](https://redirect.github.com/CodSpeedHQ/runner/pull/416)

##### <!-- 1 -->🐛 Bug Fixes

- Honor locally-installed valgrind on non-apt systems by
[@&#8203;not-matthias](https://redirect.github.com/not-matthias) in
[#&#8203;414](https://redirect.github.com/CodSpeedHQ/runner/pull/414)

#### Install codspeed-runner 4.18.0

##### Install prebuilt binaries via shell script

```sh
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/CodSpeedHQ/codspeed/releases/download/v4.18.0/codspeed-runner-installer.sh | sh
```

#### Download codspeed-runner 4.18.0

| File | Platform | Checksum |
|
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------
| ------------------- |
-------------------------------------------------------------------------------------------------------------------------------------
|
|
[codspeed-runner-aarch64-apple-darwin.tar.gz](https://redirect.github.com/CodSpeedHQ/codspeed/releases/download/v4.18.0/codspeed-runner-aarch64-apple-darwin.tar.gz)
| Apple Silicon macOS |
[checksum](https://redirect.github.com/CodSpeedHQ/codspeed/releases/download/v4.18.0/codspeed-runner-aarch64-apple-darwin.tar.gz.sha256)
|
|
[codspeed-runner-aarch64-unknown-linux-musl.tar.gz](https://redirect.github.com/CodSpeedHQ/codspeed/releases/download/v4.18.0/codspeed-runner-aarch64-unknown-linux-musl.tar.gz)
| ARM64 MUSL Linux |
[checksum](https://redirect.github.com/CodSpeedHQ/codspeed/releases/download/v4.18.0/codspeed-runner-aarch64-unknown-linux-musl.tar.gz.sha256)
|
|
[codspeed-runner-x86\_64-unknown-linux-musl.tar.gz](https://redirect.github.com/CodSpeedHQ/codspeed/releases/download/v4.18.0/codspeed-runner-x86_64-unknown-linux-musl.tar.gz)
| x64 MUSL Linux |
[checksum](https://redirect.github.com/CodSpeedHQ/codspeed/releases/download/v4.18.0/codspeed-runner-x86_64-unknown-linux-musl.tar.gz.sha256)
|

**Full Runner Changelog**:
<https://github.com/CodSpeedHQ/codspeed/blob/main/CHANGELOG.md>

</details>

<details>
<summary>cross-platform-actions/action
(cross-platform-actions/action)</summary>

###
[`v1.3.0`](https://redirect.github.com/cross-platform-actions/action/releases/tag/v1.3.0):
Cross Platform Action 1.3.0

[Compare
Source](https://redirect.github.com/cross-platform-actions/action/compare/v1.2.0...v1.3.0)

##### Added

- Add support for FreeBSD 15.1
([#&#8203;153](https://redirect.github.com/cross-platform-actions/action/issues/153))
- Add a `--environment-variables` post-flag to the `cpa.sh` custom shell
for
forwarding additional environment variables to the VM on a per-step
basis,
  without having to declare them on the `Start VM` step via the
  `environment_variables` input

([#&#8203;145](https://redirect.github.com/cross-platform-actions/action/issues/145)):

  ```yaml
  - name: Run a command with extra environment variables
    shell: cpa.sh {0} --environment-variables MY_ENV1 MY_ENV2
    env:
      MY_ENV1: value1
      MY_ENV2: value2
    run: echo "$MY_ENV1 $MY_ENV2"
  ```

</details>

<details>
<summary>oxc-project/security-action
(oxc-project/security-action)</summary>

###
[`v1.0.8`](https://redirect.github.com/oxc-project/security-action/compare/v1.0.7...v1.0.8)

[Compare
Source](https://redirect.github.com/oxc-project/security-action/compare/v1.0.7...v1.0.8)

</details>

<details>
<summary>taiki-e/install-action (taiki-e/install-action)</summary>

###
[`v2.82.4`](https://redirect.github.com/taiki-e/install-action/releases/tag/v2.82.4):
2.82.4

[Compare
Source](https://redirect.github.com/taiki-e/install-action/compare/v2.82.3...v2.82.4)

- Update `uv@latest` to 0.11.24.

- Update `mise@latest` to 2026.6.13.

- Update `just@latest` to 1.54.0.

- Update `biome@latest` to 2.5.1.

###
[`v2.82.3`](https://redirect.github.com/taiki-e/install-action/releases/tag/v2.82.3):
2.82.3

[Compare
Source](https://redirect.github.com/taiki-e/install-action/compare/v2.82.2...v2.82.3)

- Update `zizmor@latest` to 1.26.1.

- Update `wasmtime@latest` to 46.0.0.

- Update `tombi@latest` to 1.1.5.

- Update `mise@latest` to 2026.6.12.

- Update `kingfisher@latest` to 1.104.0.

- Update `cargo-tarpaulin@latest` to 0.35.5.

- Update `cargo-nextest@latest` to 0.9.138.

- Update `cargo-crap@latest` to 0.3.0.

- Update `cargo-binstall@latest` to 1.20.1.

- Update `cargo-rdme@latest` to 2.0.1.

###
[`v2.82.2`](https://redirect.github.com/taiki-e/install-action/releases/tag/v2.82.2):
2.82.2

[Compare
Source](https://redirect.github.com/taiki-e/install-action/compare/v2.82.1...v2.82.2)

- Update `xh@latest` to 0.26.1.

- Update `uv@latest` to 0.11.23.

- Update `trivy@latest` to 0.71.2.

- Update `sccache@latest` to 0.16.0.

###
[`v2.82.1`](https://redirect.github.com/taiki-e/install-action/releases/tag/v2.82.1):
2.82.1

[Compare
Source](https://redirect.github.com/taiki-e/install-action/compare/v2.82.0...v2.82.1)

- Update `vacuum@latest` to 0.29.4.

- Update `uv@latest` to 0.11.22.

- Update `osv-scanner@latest` to 2.4.0.

- Update `mise@latest` to 2026.6.11.

- Update `martin@latest` to 1.11.0.

- Update `just@latest` to 1.53.0.

- Update `cargo-zigbuild@latest` to 0.23.0.

</details>

---

### Configuration

📅 **Schedule**: (in timezone Asia/Shanghai)

- Branch creation
  - "before 10am on monday"
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Enabled.

♻ **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://redirect.github.com/renovatebot/renovate/discussions) if
that's undesired.

---

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

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/oxc-project/oxc).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yNDIuMiIsInVwZGF0ZWRJblZlciI6IjQzLjI0Mi4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-28 20:52:19 +01:00
Boshen 529152d222 chore(deps): bump cargo-shear to 1.13.1 (#23808)
Bumps the cargo-shear setup pin to 1.13.1.
2026-06-27 23:24:00 +08:00
Boshen 1139adad7d ci(workflows): remove graphite branch ignores (#23816)
Removes the graphite-base branch ignore from pull request workflows.
2026-06-26 17:40:01 +08:00
Boshen a4bb89801a chore(ci): remove Copilot setup workflow (#23806)
Removes `.github/workflows/copilot-setup-steps.yml` from the repository.
2026-06-26 15:27:59 +08:00
renovate[bot] 575e8b7f7f chore(deps): update github actions (#23687)
This PR contains the following updates:

| Package | Type | Update | Change | Pending |
|---|---|---|---|---|
| [CodSpeedHQ/action](https://redirect.github.com/CodSpeedHQ/action) |
action | patch | `v4.17.5` → `v4.17.6` | |
|
[rust-lang/crates-io-auth-action](https://redirect.github.com/rust-lang/crates-io-auth-action)
| action | patch | `v1.0.4` → `v1.0.5` | |
|
[taiki-e/install-action](https://redirect.github.com/taiki-e/install-action)
| action | minor | `v2.81.10` → `v2.82.0` | `v2.82.2` (+1) |

---

### Release Notes

<details>
<summary>CodSpeedHQ/action (CodSpeedHQ/action)</summary>

###
[`v4.17.6`](https://redirect.github.com/CodSpeedHQ/action/releases/tag/v4.17.6)

[Compare
Source](https://redirect.github.com/CodSpeedHQ/action/compare/v4.17.5...v4.17.6)

#### Release Notes

##### <!-- 0 -->🚀 Features

- feat: skip hash check error when installing pre-release by
[@&#8203;GuillaumeLagrange](https://redirect.github.com/GuillaumeLagrange)
in [#&#8203;215](https://redirect.github.com/CodSpeedHQ/action/pull/215)
- Show memtrack capability status in setup status by
[@&#8203;not-matthias](https://redirect.github.com/not-matthias)
- Run memtrack sudo-less via file capabilities by
[@&#8203;not-matthias](https://redirect.github.com/not-matthias)
- Use extra events when using samply on linux by
[@&#8203;GuillaumeLagrange](https://redirect.github.com/GuillaumeLagrange)
in [#&#8203;404](https://redirect.github.com/CodSpeedHQ/runner/pull/404)
- Update `PerfEvent` to also support samply format by
[@&#8203;GuillaumeLagrange](https://redirect.github.com/GuillaumeLagrange)
- Use isolation for with samply by
[@&#8203;GuillaumeLagrange](https://redirect.github.com/GuillaumeLagrange)
- Make eh\_frame\_hdr optional in unwind data (V4) by
[@&#8203;not-matthias](https://redirect.github.com/not-matthias)

##### <!-- 1 -->🐛 Bug Fixes

- Keep rolling buffer off during executor setup by
[@&#8203;not-matthias](https://redirect.github.com/not-matthias) in
[#&#8203;411](https://redirect.github.com/CodSpeedHQ/runner/pull/411)
- Gate memory executor behind Linux target by
[@&#8203;not-matthias](https://redirect.github.com/not-matthias)
- Enable tracking when running without IPC by
[@&#8203;not-matthias](https://redirect.github.com/not-matthias)
- Tolerate RLIMIT\_MEMLOCK EPERM on modern kernels by
[@&#8203;not-matthias](https://redirect.github.com/not-matthias)
- Install libc6-dbg during valgrind setup by
[@&#8203;not-matthias](https://redirect.github.com/not-matthias) in
[#&#8203;394](https://redirect.github.com/CodSpeedHQ/runner/pull/394)
- Skip rustup-wrapped proxy in trace-children by
[@&#8203;not-matthias](https://redirect.github.com/not-matthias) in
[#&#8203;405](https://redirect.github.com/CodSpeedHQ/runner/pull/405)
- Retry streamed uploads on transient failures by
[@&#8203;not-matthias](https://redirect.github.com/not-matthias) in
[#&#8203;399](https://redirect.github.com/CodSpeedHQ/runner/pull/399)
- Extract unwind data for binaries without eh\_frame\_hdr by
[@&#8203;not-matthias](https://redirect.github.com/not-matthias)

##### <!-- 10 -->💼 Other

- Drop OpenSSL, move TLS stack to rustls
([#&#8203;406](https://redirect.github.com/CodSpeedHQ/action/issues/406))
by [@&#8203;art049](https://redirect.github.com/art049) in
[#&#8203;406](https://redirect.github.com/CodSpeedHQ/runner/pull/406)

##### <!-- 2 -->🏗️ Refactor

- Split executor privilege granting into grant\_privileges by
[@&#8203;not-matthias](https://redirect.github.com/not-matthias)

##### <!-- 3 -->📚 Documentation

- Add unwind data version changelog by
[@&#8203;not-matthias](https://redirect.github.com/not-matthias) in
[#&#8203;393](https://redirect.github.com/CodSpeedHQ/runner/pull/393)

##### <!-- 7 -->⚙️ Internals

- chore: bump runner version to 4.17.6 by
[@&#8203;github-actions](https://redirect.github.com/github-actions)\[bot]
in [#&#8203;216](https://redirect.github.com/CodSpeedHQ/action/pull/216)
- Grant memtrack file capabilities before memory tests by
[@&#8203;not-matthias](https://redirect.github.com/not-matthias) in
[#&#8203;407](https://redirect.github.com/CodSpeedHQ/runner/pull/407)
- Bump samply to support additional events by
[@&#8203;GuillaumeLagrange](https://redirect.github.com/GuillaumeLagrange)
- Add helper script to use local versions of samply and framehop easily
by
[@&#8203;GuillaumeLagrange](https://redirect.github.com/GuillaumeLagrange)

#### Install codspeed-runner 4.17.6

##### Install prebuilt binaries via shell script

```sh
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/CodSpeedHQ/codspeed/releases/download/v4.17.6/codspeed-runner-installer.sh | sh
```

#### Download codspeed-runner 4.17.6

| File | Platform | Checksum |
|
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------
| ------------------- |
-------------------------------------------------------------------------------------------------------------------------------------
|
|
[codspeed-runner-aarch64-apple-darwin.tar.gz](https://redirect.github.com/CodSpeedHQ/codspeed/releases/download/v4.17.6/codspeed-runner-aarch64-apple-darwin.tar.gz)
| Apple Silicon macOS |
[checksum](https://redirect.github.com/CodSpeedHQ/codspeed/releases/download/v4.17.6/codspeed-runner-aarch64-apple-darwin.tar.gz.sha256)
|
|
[codspeed-runner-aarch64-unknown-linux-musl.tar.gz](https://redirect.github.com/CodSpeedHQ/codspeed/releases/download/v4.17.6/codspeed-runner-aarch64-unknown-linux-musl.tar.gz)
| ARM64 MUSL Linux |
[checksum](https://redirect.github.com/CodSpeedHQ/codspeed/releases/download/v4.17.6/codspeed-runner-aarch64-unknown-linux-musl.tar.gz.sha256)
|
|
[codspeed-runner-x86\_64-unknown-linux-musl.tar.gz](https://redirect.github.com/CodSpeedHQ/codspeed/releases/download/v4.17.6/codspeed-runner-x86_64-unknown-linux-musl.tar.gz)
| x64 MUSL Linux |
[checksum](https://redirect.github.com/CodSpeedHQ/codspeed/releases/download/v4.17.6/codspeed-runner-x86_64-unknown-linux-musl.tar.gz.sha256)
|

**Full Runner Changelog**:
<https://github.com/CodSpeedHQ/codspeed/blob/main/CHANGELOG.md>

**Full Changelog**:
<https://github.com/CodSpeedHQ/action/compare/v4.17.5...v4.17.6>

</details>

<details>
<summary>rust-lang/crates-io-auth-action
(rust-lang/crates-io-auth-action)</summary>

###
[`v1.0.5`](https://redirect.github.com/rust-lang/crates-io-auth-action/releases/tag/v1.0.5)

[Compare
Source](https://redirect.github.com/rust-lang/crates-io-auth-action/compare/v1.0.4...v1.0.5)

#### What's Changed

- update to tsdown 0.22 by
[@&#8203;marcoieni](https://redirect.github.com/marcoieni) in
[#&#8203;239](https://redirect.github.com/rust-lang/crates-io-auth-action/pull/239)
and
[#&#8203;254](https://redirect.github.com/rust-lang/crates-io-auth-action/pull/254)
- update to typescript 6 by
[@&#8203;marcoieni](https://redirect.github.com/marcoieni) in
[#&#8203;256](https://redirect.github.com/rust-lang/crates-io-auth-action/pull/256)
- other dependency updates

#### Internal changes

- renovate: rename updateTypes field by
[@&#8203;marcoieni](https://redirect.github.com/marcoieni) in
[#&#8203;219](https://redirect.github.com/rust-lang/crates-io-auth-action/pull/219)
- renovate: don't raise individual PRs for crates non breaking changes
by [@&#8203;marcoieni](https://redirect.github.com/marcoieni) in
[#&#8203;220](https://redirect.github.com/rust-lang/crates-io-auth-action/pull/220)
- use rust-lang renovate preset by
[@&#8203;marcoieni](https://redirect.github.com/marcoieni) in
[#&#8203;235](https://redirect.github.com/rust-lang/crates-io-auth-action/pull/235)
- ci(links): accept 403 as success by
[@&#8203;marcoieni](https://redirect.github.com/marcoieni) in
[#&#8203;263](https://redirect.github.com/rust-lang/crates-io-auth-action/pull/263)

**Full Changelog**:
<https://github.com/rust-lang/crates-io-auth-action/compare/v1.0.4...v1.0.5>

</details>

<details>
<summary>taiki-e/install-action (taiki-e/install-action)</summary>

###
[`v2.82.0`](https://redirect.github.com/taiki-e/install-action/releases/tag/v2.82.0):
2.82.0

[Compare
Source](https://redirect.github.com/taiki-e/install-action/compare/v2.81.11...v2.82.0)

- Support `cargo-vet`.
([#&#8203;1908](https://redirect.github.com/taiki-e/install-action/pull/1908),
thanks [@&#8203;jakewimmer](https://redirect.github.com/jakewimmer))

- Support `cargo-crap`.
([#&#8203;1905](https://redirect.github.com/taiki-e/install-action/pull/1905),
thanks
[@&#8203;BartoszCiesla](https://redirect.github.com/BartoszCiesla))

- Support `cargo-leptos`.
([#&#8203;1903](https://redirect.github.com/taiki-e/install-action/pull/1903),
thanks [@&#8203;404Simon](https://redirect.github.com/404Simon))

- Update `kingfisher@latest` to 1.103.0.

- Update `cargo-xwin@latest` to 0.23.0.

- Update `wasmtime@latest` to 45.0.2.

- Update `cargo-deny@latest` to 0.19.9.

- Update `prek@latest` to 0.4.5.

- Update `trivy@latest` to 0.71.1.

- Update `mise@latest` to 2026.6.10.

###
[`v2.81.11`](https://redirect.github.com/taiki-e/install-action/releases/tag/v2.81.11):
2.81.11

[Compare
Source](https://redirect.github.com/taiki-e/install-action/compare/v2.81.10...v2.81.11)

- Update `wasm-tools@latest` to 1.252.0.

- Update `wasm-bindgen@latest` to 0.2.125.

- Update `uv@latest` to 0.11.21.

- Update `protoc@latest` to 3.35.1.

- Update `mise@latest` to 2026.6.9.

- Update `jaq@latest` to 3.1.0.

- Update `cargo-insta@latest` to 1.48.0.

- Update `biome@latest` to 2.5.0.

</details>

---

### Configuration

📅 **Schedule**: (in timezone Asia/Shanghai)

- Branch creation
  - "before 10am on monday"
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config
help](https://redirect.github.com/renovatebot/renovate/discussions) if
that's undesired.

---

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

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/oxc-project/oxc).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yMzEuMSIsInVwZGF0ZWRJblZlciI6IjQzLjIzMS4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-22 01:10:36 +00:00
renovate[bot] 908908b1bb chore(deps): update github actions to v7 (#23691)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [actions/checkout](https://redirect.github.com/actions/checkout) |
action | major | `v6.0.3` → `v7.0.0` |

---

### Release Notes

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

###
[`v7.0.0`](https://redirect.github.com/actions/checkout/blob/HEAD/CHANGELOG.md#v700)

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

- Block checking out fork PR for pull\_request\_target and workflow\_run
by [@&#8203;aiqiaoy](https://redirect.github.com/aiqiaoy) in
[#&#8203;2454](https://redirect.github.com/actions/checkout/pull/2454)
- Bump actions/publish-immutable-action from 0.0.3 to 0.0.4 in the
minor-actions-dependencies group across 1 directory by
[@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot] in
[#&#8203;2458](https://redirect.github.com/actions/checkout/pull/2458)
- Bump flatted from 3.3.1 to 3.4.2 by
[@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot] in
[#&#8203;2460](https://redirect.github.com/actions/checkout/pull/2460)
- Bump js-yaml from 4.1.0 to 4.2.0 by
[@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot] in
[#&#8203;2461](https://redirect.github.com/actions/checkout/pull/2461)
- Bump [@&#8203;actions/core](https://redirect.github.com/actions/core)
and
[@&#8203;actions/tool-cache](https://redirect.github.com/actions/tool-cache)
and Remove uuid by
[@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot] in
[#&#8203;2459](https://redirect.github.com/actions/checkout/pull/2459)
- upgrade module to esm and update dependencies by
[@&#8203;aiqiaoy](https://redirect.github.com/aiqiaoy) in
[#&#8203;2463](https://redirect.github.com/actions/checkout/pull/2463)
- Bump the minor-npm-dependencies group across 1 directory with 3
updates by
[@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot] in
[#&#8203;2462](https://redirect.github.com/actions/checkout/pull/2462)

</details>

---

### Configuration

📅 **Schedule**: (in timezone Asia/Shanghai)

- Branch creation
  - "before 10am on monday"
- Automerge
  - At any time (no schedule defined)

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

---

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

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/oxc-project/oxc).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yMzEuMSIsInVwZGF0ZWRJblZlciI6IjQzLjIzMS4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-22 07:17:08 +08:00
Boshen 9465cb853f chore(ci): assign CODEOWNERS across crates, apps, and tasks (#23657)
Reworks `.github/CODEOWNERS` to assign ownership by area. Only the
exceptions are listed explicitly; everything else falls through to the
default owner @Boshen.

## Explicit ownership

- **Linter → @camc314**: `oxc_linter`, `oxc_config`,
`oxc_language_server` (+ @sysix), `apps/oxlint`, `npm/oxlint*`, linter
tasks, and the repo's `oxlintrc.json`.
- **Formatter → @leaysgur**: `oxc_formatter{,_core,_json}`, `oxc_jsdoc`,
`oxc_regular_expression`, `apps/oxfmt`, `npm/oxfmt`, formatter tasks,
and the repo's `oxfmtrc.jsonc`.
- **Transformer / Minifier / Semantic → @dunqing**:
`oxc_transformer{,_plugins}`, `oxc_minifier`, `oxc_mangler`,
`oxc_semantic`, `oxc_isolated_declarations`, `oxc_ecmascript`,
`oxc_cfg`, `oxc_compat`, `oxc_codegen`, `oxc_napi`,
`napi/{transform,minify}`, `npm/runtime`, and transform/minify tasks.
- **Core infrastructure crates → @overlookmotel**: `oxc_allocator`,
`oxc_data_structures`, `oxc_traverse`, `oxc_ast{,_macros,_visit}`,
`oxc_macros`, `oxc_span`, `oxc_str`, `oxc_syntax`,
`oxc_estree{,_tokens}`, `npm/oxc-types`, and the AST/memory tasks.
- **Shared app tooling**: `apps/shared` → @camc314 @leaysgur.

## Falls through to the default (@Boshen)

Everything not listed above, including: parser (`crates/oxc_parser`,
`napi/parser`), umbrella crates (`crates/oxc`,
`crates/oxc_react_compiler`), `crates/oxc_diagnostics`, CI/release
config, `.github`, build/dev toolchain configs, and project
documentation.
2026-06-20 13:03:22 +08:00
oxc-guard 9e72aa0312 chore(submodules): update submodule SHAs to latest commits (#23451)
Updates submodule dependencies to their latest commits.

## Changes

- test262: `05bb032` → `de8e621`
- babel: `2688fbd` → `1fb0b77`
- TypeScript: `7539c04` → `7964e22`
- estree-conformance: `ca42c3d` → `6514ad7`

This PR is automatically generated by the [update_submodules workflow](https://github.com/oxc-project/oxc/blob/main/.github/workflows/update_submodules.yml).
2026-06-15 14:31:01 +00:00
camc314 1d33959abd fix(ci/lint-rules): peer deps issues with lint-rules (#23415) 2026-06-14 18:15:56 +00:00
renovate[bot] c1fd179fae chore(deps): update github actions (#23411)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [CodSpeedHQ/action](https://redirect.github.com/CodSpeedHQ/action) |
action | patch | `v4.17.0` → `v4.17.5` |
|
[oxc-project/setup-node](https://redirect.github.com/oxc-project/setup-node)
| action | patch | `v1.3.0` → `v1.3.1` |
|
[taiki-e/install-action](https://redirect.github.com/taiki-e/install-action)
| action | patch | `v2.81.4` → `v2.81.10` |

---

### Release Notes

<details>
<summary>CodSpeedHQ/action (CodSpeedHQ/action)</summary>

###
[`v4.17.5`](https://redirect.github.com/CodSpeedHQ/action/releases/tag/v4.17.5)

[Compare
Source](https://redirect.github.com/CodSpeedHQ/action/compare/v4.17.0...v4.17.5)

#### Release Notes

This release bundles all runner changes from `4.17.1` through `4.17.5`.

##### <!-- 0 -->🚀 Features

- Add optional `mode` arg to target setup by
[@&#8203;fargito](https://redirect.github.com/fargito) in
[#&#8203;397](https://redirect.github.com/CodSpeedHQ/runner/pull/397)
- Restore DYLD\_INSERT\_LIBRARIES from SAMPLY\_ alias by
[@&#8203;not-matthias](https://redirect.github.com/not-matthias)
- Bump valgrind-codspeed to 3.26.0-0codspeed3 by
[@&#8203;adriencaccia](https://redirect.github.com/adriencaccia)

##### <!-- 1 -->🐛 Bug Fixes

- Purge inherited mappings on execve to fix unknown symbols
([#&#8203;392](https://redirect.github.com/CodSpeedHQ/action/issues/392))
by
[@&#8203;GuillaumeLagrange](https://redirect.github.com/GuillaumeLagrange)
in [#&#8203;392](https://redirect.github.com/CodSpeedHQ/runner/pull/392)
- Use %p in log file path to avoid multi-process overwrite by
[@&#8203;not-matthias](https://redirect.github.com/not-matthias) in
[#&#8203;381](https://redirect.github.com/CodSpeedHQ/runner/pull/381)
- Compare codspeed iteration of installed valgrind by
[@&#8203;not-matthias](https://redirect.github.com/not-matthias)

##### <!-- 10 -->💼 Other

- Enable set -u to match go.sh by
[@&#8203;not-matthias](https://redirect.github.com/not-matthias) in
[#&#8203;389](https://redirect.github.com/CodSpeedHQ/runner/pull/389)

##### <!-- 2 -->🏗️ Refactor

- Parse codspeed iteration from version string by
[@&#8203;not-matthias](https://redirect.github.com/not-matthias)

##### <!-- 7 -->⚙️ Internals

- Bump samply by
[@&#8203;not-matthias](https://redirect.github.com/not-matthias)
- Bump samply to fix sigkill by
[@&#8203;not-matthias](https://redirect.github.com/not-matthias) in
[#&#8203;386](https://redirect.github.com/CodSpeedHQ/runner/pull/386)
- Log detected valgrind version by
[@&#8203;not-matthias](https://redirect.github.com/not-matthias) in
[#&#8203;390](https://redirect.github.com/CodSpeedHQ/runner/pull/390)
- Bump samply-codspeed to disable jit classification and add
fp-anchoring to unwinding
([#&#8203;382](https://redirect.github.com/CodSpeedHQ/action/issues/382))
by
[@&#8203;GuillaumeLagrange](https://redirect.github.com/GuillaumeLagrange)
in [#&#8203;382](https://redirect.github.com/CodSpeedHQ/runner/pull/382)

#### Install codspeed-runner 4.17.5

##### Install prebuilt binaries via shell script

```sh
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/CodSpeedHQ/codspeed/releases/download/v4.17.5/codspeed-runner-installer.sh | sh
```

#### Download codspeed-runner 4.17.5

| File | Platform | Checksum |
|
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------
| ------------------- |
-------------------------------------------------------------------------------------------------------------------------------------
|
|
[codspeed-runner-aarch64-apple-darwin.tar.gz](https://redirect.github.com/CodSpeedHQ/codspeed/releases/download/v4.17.5/codspeed-runner-aarch64-apple-darwin.tar.gz)
| Apple Silicon macOS |
[checksum](https://redirect.github.com/CodSpeedHQ/codspeed/releases/download/v4.17.5/codspeed-runner-aarch64-apple-darwin.tar.gz.sha256)
|
|
[codspeed-runner-aarch64-unknown-linux-musl.tar.gz](https://redirect.github.com/CodSpeedHQ/codspeed/releases/download/v4.17.5/codspeed-runner-aarch64-unknown-linux-musl.tar.gz)
| ARM64 MUSL Linux |
[checksum](https://redirect.github.com/CodSpeedHQ/codspeed/releases/download/v4.17.5/codspeed-runner-aarch64-unknown-linux-musl.tar.gz.sha256)
|
|
[codspeed-runner-x86\_64-unknown-linux-musl.tar.gz](https://redirect.github.com/CodSpeedHQ/codspeed/releases/download/v4.17.5/codspeed-runner-x86_64-unknown-linux-musl.tar.gz)
| x64 MUSL Linux |
[checksum](https://redirect.github.com/CodSpeedHQ/codspeed/releases/download/v4.17.5/codspeed-runner-x86_64-unknown-linux-musl.tar.gz.sha256)
|

**Full Runner Changelog**:
<https://github.com/CodSpeedHQ/codspeed/blob/main/CHANGELOG.md>

**Full Changelog**:
<https://github.com/CodSpeedHQ/action/compare/v4.17.0...v4.17.5>

</details>

<details>
<summary>oxc-project/setup-node (oxc-project/setup-node)</summary>

###
[`v1.3.1`](https://redirect.github.com/oxc-project/setup-node/compare/v1.3.0...v1.3.1)

[Compare
Source](https://redirect.github.com/oxc-project/setup-node/compare/v1.3.0...v1.3.1)

</details>

<details>
<summary>taiki-e/install-action (taiki-e/install-action)</summary>

###
[`v2.81.10`](https://redirect.github.com/taiki-e/install-action/releases/tag/v2.81.10):
2.81.10

[Compare
Source](https://redirect.github.com/taiki-e/install-action/compare/v2.81.9...v2.81.10)

- Update `tombi@latest` to 1.1.3.

- Update `release-plz@latest` to 0.3.159.

- Update `cosign@latest` to 3.1.1.

###
[`v2.81.9`](https://redirect.github.com/taiki-e/install-action/releases/tag/v2.81.9):
2.81.9

[Compare
Source](https://redirect.github.com/taiki-e/install-action/compare/v2.81.8...v2.81.9)

- Update `wasm-bindgen@latest` to 0.2.123.

- Update `tombi@latest` to 1.1.2.

- Update `parse-changelog@latest` to 0.6.17.

- Update `just@latest` to 1.52.0.

- Update `gungraun-runner@latest` to 0.19.2.

- Update `cargo-binstall@latest` to 1.20.0.

###
[`v2.81.8`](https://redirect.github.com/taiki-e/install-action/releases/tag/v2.81.8):
2.81.8

[Compare
Source](https://redirect.github.com/taiki-e/install-action/compare/v2.81.7...v2.81.8)

- Update `vacuum@latest` to 0.29.2.

- Update `parse-dockerfile@latest` to 0.1.7.

- Update `mise@latest` to 2026.6.1.

- Update `cargo-shear@latest` to 1.13.1.

###
[`v2.81.7`](https://redirect.github.com/taiki-e/install-action/releases/tag/v2.81.7):
2.81.7

[Compare
Source](https://redirect.github.com/taiki-e/install-action/compare/v2.81.6...v2.81.7)

- Update `wasmtime@latest` to 45.0.1.

- Update `vacuum@latest` to 0.29.1.

- Update `syft@latest` to 1.45.1.

- Update `rclone@latest` to 1.74.3.

- Update `cargo-audit@latest` to 0.22.2.

###
[`v2.81.6`](https://redirect.github.com/taiki-e/install-action/releases/tag/v2.81.6):
2.81.6

[Compare
Source](https://redirect.github.com/taiki-e/install-action/compare/v2.81.5...v2.81.6)

- Update `prek@latest` to 0.4.4.

- Update `cargo-shear@latest` to 1.13.0.

###
[`v2.81.5`](https://redirect.github.com/taiki-e/install-action/releases/tag/v2.81.5):
2.81.5

[Compare
Source](https://redirect.github.com/taiki-e/install-action/compare/v2.81.4...v2.81.5)

- Update `vacuum@latest` to 0.29.0.

- Update `uv@latest` to 0.11.19.

- Update `typos@latest` to 1.47.2.

- Update `mise@latest` to 2026.6.0.

</details>

---

### Configuration

📅 **Schedule**: (in timezone Asia/Shanghai)

- Branch creation
  - "before 10am on monday"
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config
help](https://redirect.github.com/renovatebot/renovate/discussions) if
that's undesired.

---

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

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/oxc-project/oxc).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yMTkuMCIsInVwZGF0ZWRJblZlciI6IjQzLjIxOS4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-14 19:00:19 +01:00
leaysgur 4503faa630 chore(oxfmt): update prettier@3.8.4 (#23312)
> https://github.com/prettier/prettier/releases/tag/3.8.4

Only fixes bug in markdown.
2026-06-12 02:30:03 +00:00
overlookmotel 79cd905cd5 ci(miri): run doctests under Miri (#23259)
Running Miri on doctests was disabled in #11092. Unclear what oddity in the version of Rust nightly we were running at the time caused it not to work, but it now seems to be fixed, so we can re-enable the doctests now.

This is what caught the memory leaks in doc comment examples which were fixed in #23257.
2026-06-11 00:16:47 +00:00
overlookmotel b77ca6f323 ci(miri): run Miri with strict provenance enabled (#23258)
I had always understood that Miri ran its checks under strict provenance rules by default, but apparently not. Enable strict provenance in Miri in CI.
2026-06-11 00:16:46 +00:00
camc314 146241b03f fix(ci): exclude generated oxlint config from CODEOWNERS (#23230)
This excludes the generated oxlint config from @overlookmotel ownership because it is updated by linter config changes and creates very noisy review requests.
2026-06-10 11:57:35 +00:00
oxc-guard b4f9cb9d8c chore(submodules): update submodule SHAs to latest commits (#23118)
Updates submodule dependencies to their latest commits.

## Changes

- test262: `7e115f4` → `05bb032`
- babel: `d9fe348` → `2688fbd`
- TypeScript: `e5509e2` → `7539c04`
- estree-conformance: `faf089d` → `ca42c3d`

This PR is automatically generated by the [update_submodules workflow](https://github.com/oxc-project/oxc/blob/main/.github/workflows/update_submodules.yml).
2026-06-08 14:49:36 +00:00
Boshen b846ab2d9a feat(react_compiler): integrate the Rust port of the React Compiler (#22942)
Closes https://github.com/oxc-project/oxc/issues/10048

Integrates the Rust port of the React Compiler ([facebook/react#36173](https://github.com/facebook/react/pull/36173)) into oxc.

## Notes (resolved)

- Published crates can't reference Git URLs, so using this from Rolldown needs the React Compiler crates on crates.io. ✅ Published as a fork at https://crates.io/crates/forked_react_compiler; this PR depends on those `forked_react_compiler*` crates so people can get earlier access.
- The React Compiler crates had no license field. ✅ The published fork carries `license = "MIT"` (per the React repo's MIT license), so Cargo Deny and Security Analysis pass.

## Benchmark

**Wall-clock overhead vs plain transform** (release `transformSync`, same `jsx: automatic`, toggling only `reactCompiler`):

| fixture | without | with | overhead |
| --- | --- | --- | --- |
| RadixUIAdoptionSection.jsx (2.5 KiB) | 0.03 ms | 1.81 ms | +1.8 ms |
| excalidraw `App.tsx` (406 KiB) | 4.09 ms | 14.49 ms | +10.4 ms (3.5×) |

So roughly a fixed ~1.8 ms floor per file plus a per-size cost — about **3.5× the transform time** on a large real-world component.

## Binary size

Linking the React Compiler pulls the whole compiler pipeline (HIR, lowering, inference, SSA, optimization, reactive scopes, validation) plus the oxc⇄Babel AST conversion into the binding. Release build of the napi transform addon (`transform.darwin-arm64.node`, `--release`, stripped), darwin-arm64:

| build | size |
| --- | --- |
| baseline (`main`) | 3.51 MiB |
| with React Compiler | 8.66 MiB |
| **delta** | **+5.14 MiB (+146%, 2.46×)** |
2026-06-08 13:32:56 +00:00
camc314 291dd124f4 fix(ci): exclude generated oxlint config from plugin label (#23093)
This updates the `A-linter-plugins` label rule so changes to the generated oxlint package config no longer trigger the plugin-area label.

The old matcher used `apps/oxlint/src-js/**`, which also caught `apps/oxlint/src-js/package/config.generated.ts`. This splits that coverage into root `src-js` files, non-package subdirectories, and package files except `config.generated.ts`, keeping the rest of the existing plugin/test/conformance coverage intact.
2026-06-07 18:47:42 +00:00
renovate[bot] 07c39f7e99 chore(deps): update github actions (#23088)
This PR contains the following updates:

| Package | Type | Update | Change | Pending |
|---|---|---|---|---|
| [CodSpeedHQ/action](https://redirect.github.com/CodSpeedHQ/action) |
action | minor | `v4.15.1` → `v4.17.0` | |
| [actions/checkout](https://redirect.github.com/actions/checkout) |
action | patch | `v6.0.2` → `v6.0.3` | |
|
[cross-platform-actions/action](https://redirect.github.com/cross-platform-actions/action)
| action | minor | `v1.1.0` → `v1.2.0` | |
|
[taiki-e/install-action](https://redirect.github.com/taiki-e/install-action)
| action | minor | `v2.79.12` → `v2.81.4` | `v2.81.7` (+2) |

---

### Release Notes

<details>
<summary>CodSpeedHQ/action (CodSpeedHQ/action)</summary>

###
[`v4.17.0`](https://redirect.github.com/CodSpeedHQ/action/releases/tag/v4.17.0)

[Compare
Source](https://redirect.github.com/CodSpeedHQ/action/compare/v4.15.1...v4.17.0)

#### Release Notes

##### <!-- 0 -->🚀 Features

- Configure samply symbol resolution env vars by
[@&#8203;not-matthias](https://redirect.github.com/not-matthias)
- Add CODSPEED\_WALLTIME\_PROFILER override by
[@&#8203;not-matthias](https://redirect.github.com/not-matthias)
- Make benchmark isolation profiler-driven by
[@&#8203;not-matthias](https://redirect.github.com/not-matthias)
- Add profile-based auth configuration
([#&#8203;366](https://redirect.github.com/CodSpeedHQ/action/issues/366))
by [@&#8203;art049](https://redirect.github.com/art049) in
[#&#8203;366](https://redirect.github.com/CodSpeedHQ/runner/pull/366)
- Bump instrument-hooks to not use stubs on macos
([#&#8203;373](https://redirect.github.com/CodSpeedHQ/action/issues/373))
by
[@&#8203;GuillaumeLagrange](https://redirect.github.com/GuillaumeLagrange)
in [#&#8203;373](https://redirect.github.com/CodSpeedHQ/runner/pull/373)
- Pin codspeed-go-runner installer downloads with sha256 verification by
[@&#8203;art049](https://redirect.github.com/art049) in
[#&#8203;362](https://redirect.github.com/CodSpeedHQ/runner/pull/362)
- Pin downloaded binaries with sha256 verification by
[@&#8203;art049](https://redirect.github.com/art049)
- Search NixOS debug info path by
[@&#8203;not-matthias](https://redirect.github.com/not-matthias) in
[#&#8203;354](https://redirect.github.com/CodSpeedHQ/runner/pull/354)
- Inherit process mapping on forks by
[@&#8203;GuillaumeLagrange](https://redirect.github.com/GuillaumeLagrange)
- Bundle samply via library crate by
[@&#8203;not-matthias](https://redirect.github.com/not-matthias)
- Add samply profiler for macOS by
[@&#8203;not-matthias](https://redirect.github.com/not-matthias)
- Rename CODSPEED\_PERF\_ENABLED to CODSPEED\_PROFILER\_ENABLED by
[@&#8203;not-matthias](https://redirect.github.com/not-matthias)
- Add Profiler trait abstraction by
[@&#8203;not-matthias](https://redirect.github.com/not-matthias)
- Restore cursor on ctrl c by
[@&#8203;GuillaumeLagrange](https://redirect.github.com/GuillaumeLagrange)
in [#&#8203;341](https://redirect.github.com/CodSpeedHQ/runner/pull/341)
- Validate tokens and repository access up front by
[@&#8203;GuillaumeLagrange](https://redirect.github.com/GuillaumeLagrange)

##### <!-- 1 -->🐛 Bug Fixes

- Use introspected env for memory executor by
[@&#8203;GuillaumeLagrange](https://redirect.github.com/GuillaumeLagrange)
- Misleading DCE advice in setup-harness
([#&#8203;350](https://redirect.github.com/CodSpeedHQ/action/issues/350))
by [@&#8203;SuperMuel](https://redirect.github.com/SuperMuel) in
[#&#8203;350](https://redirect.github.com/CodSpeedHQ/runner/pull/350)
- Flush rolling buffer when executor errors by
[@&#8203;not-matthias](https://redirect.github.com/not-matthias) in
[#&#8203;352](https://redirect.github.com/CodSpeedHQ/runner/pull/352)
- Use brew-installed bash for samply on macOS by
[@&#8203;not-matthias](https://redirect.github.com/not-matthias) in
[#&#8203;347](https://redirect.github.com/CodSpeedHQ/runner/pull/347)
- Keep old name aliases to for deserialization purposes by
[@&#8203;GuillaumeLagrange](https://redirect.github.com/GuillaumeLagrange)
in [#&#8203;345](https://redirect.github.com/CodSpeedHQ/runner/pull/345)
- Handle malformed token from backend better by
[@&#8203;GuillaumeLagrange](https://redirect.github.com/GuillaumeLagrange)
- Disable PYTHON\_PERF\_JIT\_SUPPORT on macOS by
[@&#8203;not-matthias](https://redirect.github.com/not-matthias)
- Use mach\_absolute\_time for FIFO timestamps on macOS by
[@&#8203;not-matthias](https://redirect.github.com/not-matthias)
- Use O\_RDWR to open FIFOs on all Unix platforms by
[@&#8203;not-matthias](https://redirect.github.com/not-matthias)

##### <!-- 10 -->💼 Other

- Select profiler via typed CLI arg by
[@&#8203;GuillaumeLagrange](https://redirect.github.com/GuillaumeLagrange)
in [#&#8203;379](https://redirect.github.com/CodSpeedHQ/runner/pull/379)
- Bump workspace dependencies
([#&#8203;370](https://redirect.github.com/CodSpeedHQ/action/issues/370))
by [@&#8203;art049](https://redirect.github.com/art049) in
[#&#8203;370](https://redirect.github.com/CodSpeedHQ/runner/pull/370)
- Make api\_client the single source of truth for the auth token by
[@&#8203;GuillaumeLagrange](https://redirect.github.com/GuillaumeLagrange)
- Bump gql\_client to partial-data fork by
[@&#8203;GuillaumeLagrange](https://redirect.github.com/GuillaumeLagrange)

##### <!-- 2 -->🏗️ Refactor

- Centralize internal re-exec via
InternalCommands::get\_command\_builder by
[@&#8203;not-matthias](https://redirect.github.com/not-matthias) in
[#&#8203;338](https://redirect.github.com/CodSpeedHQ/runner/pull/338)
- Rename Benchmark FIFO commands/markers to Profiler/Round by
[@&#8203;not-matthias](https://redirect.github.com/not-matthias)
- Rename Profiler::wrap to wrap\_command by
[@&#8203;not-matthias](https://redirect.github.com/not-matthias)
- Share Linux profiler sysctl setup by
[@&#8203;not-matthias](https://redirect.github.com/not-matthias)
- Port PerfRunner to Profiler trait by
[@&#8203;not-matthias](https://redirect.github.com/not-matthias)
- Rename PerfMetadata to WalltimeMetadata by
[@&#8203;not-matthias](https://redirect.github.com/not-matthias)
- Move perf module under profiler/ by
[@&#8203;not-matthias](https://redirect.github.com/not-matthias)
- Rename FifoCommand::PingPerf to PingProfiler by
[@&#8203;not-matthias](https://redirect.github.com/not-matthias)
- Rename IntegrationMode::Perf to Walltime by
[@&#8203;not-matthias](https://redirect.github.com/not-matthias)

##### <!-- 6 -->🧪 Testing

- Update valgrind snapshot tests by
[@&#8203;adriencaccia](https://redirect.github.com/adriencaccia)

##### <!-- 7 -->⚙️ Internals

- Add taplo config file by
[@&#8203;GuillaumeLagrange](https://redirect.github.com/GuillaumeLagrange)
in [#&#8203;363](https://redirect.github.com/CodSpeedHQ/runner/pull/363)
- Bump samply fork to use framehop-codspeed by
[@&#8203;not-matthias](https://redirect.github.com/not-matthias)
- Add retry to sha256 tests to prevent transient failures by
[@&#8203;GuillaumeLagrange](https://redirect.github.com/GuillaumeLagrange)
in [#&#8203;375](https://redirect.github.com/CodSpeedHQ/runner/pull/375)
- Update setarch command arguments to use long options
([#&#8203;304](https://redirect.github.com/CodSpeedHQ/action/issues/304))
by [@&#8203;xtqqczze](https://redirect.github.com/xtqqczze) in
[#&#8203;304](https://redirect.github.com/CodSpeedHQ/runner/pull/304)
- Bump valgrind-codspeed to 3.26.0-0codspeed2
- Fix macOS rustup cache corruption in install-rust action by
[@&#8203;GuillaumeLagrange](https://redirect.github.com/GuillaumeLagrange)
in [#&#8203;357](https://redirect.github.com/CodSpeedHQ/runner/pull/357)
- Give each bpf-tests shard its own cache key by
[@&#8203;not-matthias](https://redirect.github.com/not-matthias) in
[#&#8203;358](https://redirect.github.com/CodSpeedHQ/runner/pull/358)
- Shard bpf-tests by integration test binary by
[@&#8203;not-matthias](https://redirect.github.com/not-matthias)
- Use rustup show instead of toolchain install by
[@&#8203;GuillaumeLagrange](https://redirect.github.com/GuillaumeLagrange)
in [#&#8203;349](https://redirect.github.com/CodSpeedHQ/runner/pull/349)
- Disable profiler in macos-basic-run-test by
[@&#8203;not-matthias](https://redirect.github.com/not-matthias)
- Upload the basic run to validate auth of integration test by
[@&#8203;GuillaumeLagrange](https://redirect.github.com/GuillaumeLagrange)
- Move samply fork from AvalancheHQ to CodSpeedHQ by
[@&#8203;not-matthias](https://redirect.github.com/not-matthias)
- Remove the cursor hiding by
[@&#8203;GuillaumeLagrange](https://redirect.github.com/GuillaumeLagrange)

#### Install codspeed-runner 4.17.0

##### Install prebuilt binaries via shell script

```sh
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/CodSpeedHQ/codspeed/releases/download/v4.17.0/codspeed-runner-installer.sh | sh
```

#### Download codspeed-runner 4.17.0

| File | Platform | Checksum |
|
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------
| ------------------- |
-------------------------------------------------------------------------------------------------------------------------------------
|
|
[codspeed-runner-aarch64-apple-darwin.tar.gz](https://redirect.github.com/CodSpeedHQ/codspeed/releases/download/v4.17.0/codspeed-runner-aarch64-apple-darwin.tar.gz)
| Apple Silicon macOS |
[checksum](https://redirect.github.com/CodSpeedHQ/codspeed/releases/download/v4.17.0/codspeed-runner-aarch64-apple-darwin.tar.gz.sha256)
|
|
[codspeed-runner-aarch64-unknown-linux-musl.tar.gz](https://redirect.github.com/CodSpeedHQ/codspeed/releases/download/v4.17.0/codspeed-runner-aarch64-unknown-linux-musl.tar.gz)
| ARM64 MUSL Linux |
[checksum](https://redirect.github.com/CodSpeedHQ/codspeed/releases/download/v4.17.0/codspeed-runner-aarch64-unknown-linux-musl.tar.gz.sha256)
|
|
[codspeed-runner-x86\_64-unknown-linux-musl.tar.gz](https://redirect.github.com/CodSpeedHQ/codspeed/releases/download/v4.17.0/codspeed-runner-x86_64-unknown-linux-musl.tar.gz)
| x64 MUSL Linux |
[checksum](https://redirect.github.com/CodSpeedHQ/codspeed/releases/download/v4.17.0/codspeed-runner-x86_64-unknown-linux-musl.tar.gz.sha256)
|

**Full Runner Changelog**:
<https://github.com/CodSpeedHQ/codspeed/blob/main/CHANGELOG.md>

**Full Changelog**:
<https://github.com/CodSpeedHQ/action/compare/v4.15.1...v4.17.0>

</details>

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

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

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

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

</details>

<details>
<summary>cross-platform-actions/action
(cross-platform-actions/action)</summary>

###
[`v1.2.0`](https://redirect.github.com/cross-platform-actions/action/releases/tag/v1.2.0):
Cross Platform Action 1.2.0

[Compare
Source](https://redirect.github.com/cross-platform-actions/action/compare/v1.1.0...v1.2.0)

##### Added

- Add support for OpenBSD 7.9
([#&#8203;144](https://redirect.github.com/cross-platform-actions/action/issues/144))

##### Changed

- Updated QEMU to 10.2.3

##### Security

- Bump resources to a release that use immutable releases, providing
  integrity verification for downloaded artifacts

([#&#8203;147](https://redirect.github.com/cross-platform-actions/action/issues/147))

</details>

<details>
<summary>taiki-e/install-action (taiki-e/install-action)</summary>

###
[`v2.81.4`](https://redirect.github.com/taiki-e/install-action/releases/tag/v2.81.4):
2.81.4

[Compare
Source](https://redirect.github.com/taiki-e/install-action/compare/v2.81.3...v2.81.4)

- Update `vacuum@latest` to 0.28.4.

- Update `typos@latest` to 1.47.1.

- Update `syft@latest` to 1.45.0.

- Update `cargo-neat@latest` to 0.4.0.

- Update `cargo-mutants@latest` to 27.1.0.

###
[`v2.81.3`](https://redirect.github.com/taiki-e/install-action/releases/tag/v2.81.3):
2.81.3

[Compare
Source](https://redirect.github.com/taiki-e/install-action/compare/v2.81.2...v2.81.3)

- Update `vacuum@latest` to 0.28.3.

- Update `uv@latest` to 0.11.18.

- Update `trivy@latest` to 0.71.0.

###
[`v2.81.2`](https://redirect.github.com/taiki-e/install-action/releases/tag/v2.81.2):
2.81.2

[Compare
Source](https://redirect.github.com/taiki-e/install-action/compare/v2.81.1...v2.81.2)

- Update `mise@latest` to 2026.5.18.

- Update `cargo-semver-checks@latest` to 0.48.0.

###
[`v2.81.1`](https://redirect.github.com/taiki-e/install-action/releases/tag/v2.81.1):
2.81.1

[Compare
Source](https://redirect.github.com/taiki-e/install-action/compare/v2.81.0...v2.81.1)

- Update `cargo-no-dev-deps@latest` to 0.2.24.

- Update `cargo-hack@latest` to 0.6.45.

###
[`v2.81.0`](https://redirect.github.com/taiki-e/install-action/releases/tag/v2.81.0):
2.81.0

[Compare
Source](https://redirect.github.com/taiki-e/install-action/compare/v2.80.0...v2.81.0)

- Support `convco`.
([#&#8203;1831](https://redirect.github.com/taiki-e/install-action/pull/1831),
thanks [@&#8203;graelo](https://redirect.github.com/graelo))

- Support `docgarden`
([#&#8203;1830](https://redirect.github.com/taiki-e/install-action/pull/1830),
thanks [@&#8203;jesse-black](https://redirect.github.com/jesse-black))

- Update `vacuum@latest` to 0.28.0.

- Update `cargo-binstall@latest` to 1.19.1.

###
[`v2.80.0`](https://redirect.github.com/taiki-e/install-action/releases/tag/v2.80.0):
2.80.0

[Compare
Source](https://redirect.github.com/taiki-e/install-action/compare/v2.79.15...v2.80.0)

- Support `kingfisher`.
([#&#8203;1874](https://redirect.github.com/taiki-e/install-action/pull/1874),
thanks [@&#8203;SAY-5](https://redirect.github.com/SAY-5))

###
[`v2.79.15`](https://redirect.github.com/taiki-e/install-action/releases/tag/v2.79.15):
2.79.15

[Compare
Source](https://redirect.github.com/taiki-e/install-action/compare/v2.79.14...v2.79.15)

- Update `typos@latest` to 1.47.0.

- Update `wasm-tools@latest` to 1.251.0.

- Update `vacuum@latest` to 0.27.2.

- Update `uv@latest` to 0.11.17.

- Update `tombi@latest` to 1.1.1.

- Update `mise@latest` to 2026.5.16.

###
[`v2.79.14`](https://redirect.github.com/taiki-e/install-action/releases/tag/v2.79.14):
2.79.14

[Compare
Source](https://redirect.github.com/taiki-e/install-action/compare/v2.79.13...v2.79.14)

- Update `vacuum@latest` to 0.27.0.

- Update `cargo-deny@latest` to 0.19.8.

###
[`v2.79.13`](https://redirect.github.com/taiki-e/install-action/releases/tag/v2.79.13):
2.79.13

[Compare
Source](https://redirect.github.com/taiki-e/install-action/compare/v2.79.12...v2.79.13)

- Update `gungraun-runner@latest` to 0.19.1.

- Update `biome@latest` to 2.4.16.

</details>

---

### Configuration

📅 **Schedule**: (in timezone Asia/Shanghai)

- Branch creation
  - "before 10am on monday"
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config
help](https://redirect.github.com/renovatebot/renovate/discussions) if
that's undesired.

---

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

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/oxc-project/oxc).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yMDkuNCIsInVwZGF0ZWRJblZlciI6IjQzLjIwOS40IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-07 16:33:16 +00:00
Boshen dc0e17404c chore(ci): bump codecov action to v7 (#23055)
## Summary

- Bump `codecov/codecov-action` from v6.0.1 to v7.0.0.
- Keep the action pinned to the peeled v7.0.0 commit SHA.
- Fix the uploader bootstrap failure caused by v6 importing the old
Codecov Keybase GPG key.

## Testing

- Not run; workflow-only change.

## AI Disclosure

This PR was created with AI assistance. The human contributor is
responsible for reviewing and validating the change before merge.
2026-06-07 11:36:37 +08:00
renovate[bot] ff71551a4c chore(deps): update typos to v1.47.2 (#23054)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [crate-ci/typos](https://redirect.github.com/crate-ci/typos) | action
| patch | `v1.47.1` → `v1.47.2` |

---

### Release Notes

<details>
<summary>crate-ci/typos (crate-ci/typos)</summary>

###
[`v1.47.2`](https://redirect.github.com/crate-ci/typos/releases/tag/v1.47.2)

[Compare
Source](https://redirect.github.com/crate-ci/typos/compare/v1.47.1...v1.47.2)

##### \[1.47.2] - 2026-06-04

##### Fixes

- Don't correct `inferrable`
- Correct unused `inferible` variant

</details>

---

### Configuration

📅 **Schedule**: (in timezone Asia/Shanghai)

- Branch creation
  - At any time (no schedule defined)
- Automerge
  - At any time (no schedule defined)

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

---

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

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/oxc-project/oxc).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yMDkuNCIsInVwZGF0ZWRJblZlciI6IjQzLjIwOS40IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-07 01:45:02 +00:00
renovate[bot] 30c1f53634 chore(deps): update typos to v1.47.1 (#22998)
This PR contains the following updates:

| Package | Type | Update | Change | Pending |
|---|---|---|---|---|
| [crate-ci/typos](https://redirect.github.com/crate-ci/typos) | action
| patch | `v1.47.0` → `v1.47.1` | `v1.47.2` |

---

### Release Notes

<details>
<summary>crate-ci/typos (crate-ci/typos)</summary>

###
[`v1.47.1`](https://redirect.github.com/crate-ci/typos/releases/tag/v1.47.1)

[Compare
Source](https://redirect.github.com/crate-ci/typos/compare/v1.47.0...v1.47.1)

#### \[1.47.1] - 2026-06-03

##### Fixes

- Don't correct `requestors`

</details>

---

### Configuration

📅 **Schedule**: (in timezone Asia/Shanghai)

- Branch creation
  - At any time (no schedule defined)
- Automerge
  - At any time (no schedule defined)

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

---

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

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/oxc-project/oxc).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yMDkuNCIsInVwZGF0ZWRJblZlciI6IjQzLjIwOS40IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-06 05:58:52 +00:00
Cameron f6f0fbf5d9 ci(ecosystem): share label trigger for app ci (#22906)
This is stacked on #22905.

The first PR moved Oxfmt ecosystem CI to a label-triggered workflow.
This follow-up keeps that approach, but avoids having one workflow file
per app. Instead, the Oxfmt-specific workflow is renamed to a shared
ecosystem CI dispatcher that handles both trigger labels:

- `run-oxlint-ecosystem-ci` dispatches `oxlint-ci.yml`
- `run-oxfmt-ecosystem-ci` dispatches `oxfmt-ci.yml`

The release-apps workflow now adds both labels to the generated release
PR, so Oxlint and Oxfmt take the same path: create or update the
tracking comment, dispatch the matching workflow in `oxc-ecosystem-ci`
with the PR ref, then remove the label that triggered the run.
2026-06-02 11:38:33 +09:00
Cameron 97e88a568f ci(oxfmt): trigger ecosystem ci via label (#22905)
The Oxfmt ecosystem CI trigger was still using `/oxfmt-ecosys` comment
command, while the newer monitor-oxc flow uses a short-lived PR label to
kick off the external workflow and then removes the label afterward.

This moves Oxfmt to the same pattern. Adding `run-oxfmt-ecosystem-ci` to
a PR now creates or updates the tracking comment, dispatches
`oxfmt-ci.yml` in `oxc-ecosystem-ci` with the PR ref, and removes the
trigger label after dispatch. The app release workflow now adds that
label to release PRs instead of directly creating the Oxfmt comment and
dispatching the external workflow itself.

Oxlint's release ecosystem dispatch is left as-is for now, since this
change is scoped to the Oxfmt workflow requested in the PR follow-up.
2026-06-02 11:14:36 +09:00
camc314 6d1b642e47 feat(ci): remove run-monitor-oxc trigger label after workflow dispatch (#22879) 2026-06-01 14:01:54 +00:00
renovate[bot] d968e76a9c chore(deps): update crate-ci/typos action to v1.47.0 (#22871)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [crate-ci/typos](https://redirect.github.com/crate-ci/typos) | action
| minor | `v1.46.3` → `v1.47.0` |

---

### Release Notes

<details>
<summary>crate-ci/typos (crate-ci/typos)</summary>

###
[`v1.47.0`](https://redirect.github.com/crate-ci/typos/releases/tag/v1.47.0)

[Compare
Source](https://redirect.github.com/crate-ci/typos/compare/v1.46.3...v1.47.0)

#### \[1.47.0] - 2026-05-29

##### Features

- Updated the dictionary with the [May
2026](https://redirect.github.com/crate-ci/typos/issues/1545) changes

</details>

---

### Configuration

📅 **Schedule**: (in timezone Asia/Shanghai)

- Branch creation
  - At any time (no schedule defined)
- Automerge
  - At any time (no schedule defined)

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

---

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

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/oxc-project/oxc).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yMDIuMSIsInVwZGF0ZWRJblZlciI6IjQzLjIwMi4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-01 06:29:36 +00:00
renovate[bot] 31a290a447 chore(deps): update github actions (#22863)
This PR contains the following updates:

| Package | Type | Update | Change | Pending |
|---|---|---|---|---|
|
[oxc-project/security-action](https://redirect.github.com/oxc-project/security-action)
| action | patch | `v1.0.5` → `v1.0.7` | |
|
[taiki-e/install-action](https://redirect.github.com/taiki-e/install-action)
| action | patch | `v2.79.4` → `v2.79.12` | `v2.81.0` (+4) |

---

### Release Notes

<details>
<summary>oxc-project/security-action
(oxc-project/security-action)</summary>

###
[`v1.0.7`](https://redirect.github.com/oxc-project/security-action/compare/v1.0.6...v1.0.7)

[Compare
Source](https://redirect.github.com/oxc-project/security-action/compare/v1.0.6...v1.0.7)

###
[`v1.0.6`](https://redirect.github.com/oxc-project/security-action/compare/v1.0.5...v1.0.6)

[Compare
Source](https://redirect.github.com/oxc-project/security-action/compare/v1.0.5...v1.0.6)

</details>

<details>
<summary>taiki-e/install-action (taiki-e/install-action)</summary>

###
[`v2.79.12`](https://redirect.github.com/taiki-e/install-action/releases/tag/v2.79.12):
2.79.12

[Compare
Source](https://redirect.github.com/taiki-e/install-action/compare/v2.79.11...v2.79.12)

- Update `prek@latest` to 0.4.3.

- Remove uses of crates.io API, which potentially cases 403 error.

###
[`v2.79.11`](https://redirect.github.com/taiki-e/install-action/releases/tag/v2.79.11):
2.79.11

[Compare
Source](https://redirect.github.com/taiki-e/install-action/compare/v2.79.10...v2.79.11)

- Update `vacuum@latest` to 0.26.8.

- Update `cargo-nextest@latest` to 0.9.137.

###
[`v2.79.10`](https://redirect.github.com/taiki-e/install-action/releases/tag/v2.79.10):
2.79.10

[Compare
Source](https://redirect.github.com/taiki-e/install-action/compare/v2.79.9...v2.79.10)

- Update `tombi@latest` to 1.1.0.

- Update `prek@latest` to 0.4.2.

- Update `editorconfig-checker@latest` to 3.7.0.

###
[`v2.79.9`](https://redirect.github.com/taiki-e/install-action/releases/tag/v2.79.9):
2.79.9

[Compare
Source](https://redirect.github.com/taiki-e/install-action/compare/v2.79.8...v2.79.9)

- Update `vacuum@latest` to 0.26.7.

- Update `tombi@latest` to 1.0.0.

###
[`v2.79.8`](https://redirect.github.com/taiki-e/install-action/releases/tag/v2.79.8):
2.79.8

[Compare
Source](https://redirect.github.com/taiki-e/install-action/compare/v2.79.7...v2.79.8)

- Update `parse-dockerfile@latest` to 0.1.6.

- Update `knope@latest` to 0.23.0.

###
[`v2.79.7`](https://redirect.github.com/taiki-e/install-action/releases/tag/v2.79.7):
2.79.7

[Compare
Source](https://redirect.github.com/taiki-e/install-action/compare/v2.79.6...v2.79.7)

- Update `typos@latest` to 1.46.3.

- Update `rclone@latest` to 1.74.2.

- Update `mise@latest` to 2026.5.15.

- Update `tombi@latest` to 0.11.7.

###
[`v2.79.6`](https://redirect.github.com/taiki-e/install-action/releases/tag/v2.79.6):
2.79.6

[Compare
Source](https://redirect.github.com/taiki-e/install-action/compare/v2.79.5...v2.79.6)

- Update `wasm-bindgen@latest` to 0.2.122.

- Update `mise@latest` to 2026.5.14.

- Update `cargo-deny@latest` to 0.19.7.

- Update `vacuum@latest` to 0.26.6.

###
[`v2.79.5`](https://redirect.github.com/taiki-e/install-action/releases/tag/v2.79.5):
2.79.5

[Compare
Source](https://redirect.github.com/taiki-e/install-action/compare/v2.79.4...v2.79.5)

- Update `jaq@latest` to 3.0.0.
([#&#8203;1861](https://redirect.github.com/taiki-e/install-action/pull/1861),
thanks
[@&#8203;MusicalNinjaDad](https://redirect.github.com/MusicalNinjaDad))

- Update `wasmtime@latest` to 45.0.0.

- Update `wasm-tools@latest` to 1.250.0.

- Update `tombi@latest` to 0.11.6.

- Update `mise@latest` to 2026.5.13.

</details>

---

### Configuration

📅 **Schedule**: (in timezone Asia/Shanghai)

- Branch creation
  - "before 10am on monday"
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config
help](https://redirect.github.com/renovatebot/renovate/discussions) if
that's undesired.

---

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

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/oxc-project/oxc).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yMDIuMSIsInVwZGF0ZWRJblZlciI6IjQzLjIwMi4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-05-31 21:28:27 +01:00