2024년 6월 1일 작업일지
2 min read
터보팩 ES Analysis 프로파일링
팀원이 요청한 것인데, next.js 앱에 관한 것이었다.
터보팩RcStr
최적화 PR
노가다라 주말이지만 조금 작업했다. 맥북이 와서 도중에 멈췄다.
근데 맥북 마이그레이션 끝내고 rust-toolchain
관련 커밋들 머지하고 M3 맥북으로 작업하려고 보니까 servo/pathfinder 가 새로운 rust-toolchain
에서 빌드가 안 됐다. 그래서 일단 팀 채널에 얘기하고 미뤄뒀다.
SWC Minifier 버그 수정
황당하게도 resolver
패스의 문제였다.
"use strict";
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([[854], {
/***/ 3712:
/***/ (function (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ $Q: function () { return /* binding */ C; },
/* harmony export */ Ev: function () { return /* binding */ B; },
/* harmony export */ e_: function () { return /* binding */ I; },
/* harmony export */ jU: function () { return /* binding */ e; }
/* harmony export */
});
/* unused harmony exports ACTION_ELEMENTS, SbbScrollHandler, breakpoints, findInput, findReferencedElement, hostContext, isAndroid, isBlink, isBreakpoint, isChromium, isEdge, isFirefox, isIOS, isNextjs, isSafari, isTrident, isWebkit, pageScrollDisabled */
let a;
try {
a = typeof Intl < "u" && Intl.v8BreakIterator;
} catch (e) {
a = !1;
}
const e = () => typeof document == "object" && !!document, l = () => e() && /(edge)/i.test(navigator.userAgent), c = () => e() && /(msie|trident)/i.test(navigator.userAgent), y = () => e() && !!(window.chrome || a) && typeof CSS < "u" && !l() && !c(), g = () => e() && /AppleWebKit/i.test(navigator.userAgent) && !y() && !l() && !c(), w = () => e() && /iPad|iPhone|iPod/.test(navigator.userAgent) && !("MSStream" in window), v = () => e() && /(firefox|minefield)/i.test(navigator.userAgent), A = () => e() && /android/i.test(navigator.userAgent) && !c(), E = () => e() && /safari/i.test(navigator.userAgent) && g(), p = () => !!globalThis.next, S = () => {
var t, n;
return (n = (t = navigator.userAgentData) == null ? void 0 : t.brands) == null ? void 0 : n.some((o) => o.brand == "Chromium");
}, x = (/* unused pure expression or super */ null && ([
"zero",
"micro",
"small",
"medium",
"wide",
"large",
"ultra"
]));
}),
}]);
jU
함수의 e
가 const
로 선언된 e
인지 catch
로 선언된 e
인지 구분이 잘못된 게 문제의 원인이었다. 고치는 것은 어렵지 않았다.