Skip to content

ci(tasks/minsize): add minsize diff visualization#24677

Merged
graphite-app[bot] merged 1 commit into
mainfrom
07-20-ci_tasks_minsize_add_minsize_diff_visualization
Jul 20, 2026
Merged

ci(tasks/minsize): add minsize diff visualization#24677
graphite-app[bot] merged 1 commit into
mainfrom
07-20-ci_tasks_minsize_add_minsize_diff_visualization

Conversation

@sapphi-red

@sapphi-red sapphi-red commented Jul 19, 2026

Copy link
Copy Markdown
Member

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

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

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

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

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

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

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

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

--- 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];

sapphi-red commented Jul 19, 2026

Copy link
Copy Markdown
Member Author

How to use the Graphite Merge Queue

Add either label to this PR to merge it via the merge queue:

  • 0-merge - adds this PR to the back of the merge queue
  • hotfix - for urgent changes, fast-track this PR to the front of the merge queue

You must have a Graphite account in order to use the merge queue. Sign up using this link.

An organization admin has enabled the Graphite Merge Queue in this repository.

Please do not merge from GitHub as this will restart CI on PRs being processed by the merge queue.

This stack of pull requests is managed by Graphite. Learn more about stacking.

@Dunqing Dunqing left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice!

@Dunqing Dunqing added the 0-merge Merge with Graphite Merge Queue label Jul 20, 2026

Dunqing commented Jul 20, 2026

Copy link
Copy Markdown
Member

Merge activity

  • Jul 20, 1:36 AM UTC: The merge label '0-merge' was detected. This PR will be added to the Graphite merge queue once it meets the requirements.
  • Jul 20, 1:36 AM UTC: Dunqing added this pull request to the Graphite merge queue.
  • Jul 20, 2:07 AM UTC: This pull request was removed from the Graphite merge queue because the batch it was included in timed out. Please re-enqueue the PR to retry merge.
  • Jul 20, 3:25 AM UTC: The merge label '0-merge' was detected. This PR will be added to the Graphite merge queue once it meets the requirements.
  • Jul 20, 3:25 AM UTC: sapphi-red added this pull request to the Graphite merge queue.
  • Jul 20, 3:30 AM UTC: Merged by the Graphite merge queue.

graphite-app Bot pushed a commit that referenced this pull request Jul 20, 2026
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>
@graphite-app
graphite-app Bot force-pushed the 07-20-ci_tasks_minsize_add_minsize_diff_visualization branch from b9f759a to 6d1a50e Compare July 20, 2026 01:37
@graphite-app graphite-app Bot removed the 0-merge Merge with Graphite Merge Queue label Jul 20, 2026
@sapphi-red sapphi-red added the 0-merge Merge with Graphite Merge Queue label Jul 20, 2026
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>
@graphite-app
graphite-app Bot force-pushed the 07-20-ci_tasks_minsize_add_minsize_diff_visualization branch from 6d1a50e to 5c7fad2 Compare July 20, 2026 03:26
@graphite-app
graphite-app Bot merged commit 5c7fad2 into main Jul 20, 2026
27 checks passed
@graphite-app graphite-app Bot removed the 0-merge Merge with Graphite Merge Queue label Jul 20, 2026
@graphite-app
graphite-app Bot deleted the 07-20-ci_tasks_minsize_add_minsize_diff_visualization branch July 20, 2026 03:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants