laxy-verify 1.1.3 → 1.1.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/dist/auth.js +7 -3
  2. package/package.json +1 -1
package/dist/auth.js CHANGED
@@ -139,10 +139,14 @@ async function login(emailArg) {
139
139
  });
140
140
  const email = emailArg?.trim() ?? (await ask(" 이메일: "));
141
141
  const password = await askMuted(" 비밀번호: ");
142
- // 입력 완료 후 stdin 핸들 즉시 해제 (Windows Assertion 방지)
142
+ // Windows UV_HANDLE_CLOSING Assertion 방지:
143
+ // rl.close()는 내부적으로 stdin.pause() → CancelIoEx(Windows) 를 호출하는데,
144
+ // UV 루프가 이미 종료 중인 시점에 IOCP 완료 콜백이 wq_async에 작업을 보내면 assertion 발생.
145
+ // 해결: rl.close() 없이 stdin 리스너를 직접 제거한 뒤 destroy()를 fetch *이전*에 호출.
146
+ // fetch가 실행되는 동안 UV 루프가 살아있어 stdin IOCP 완료가 정상 처리된다.
143
147
  rl.removeAllListeners();
144
- rl.close();
145
- process.stdin.destroy();
148
+ process.stdin.removeAllListeners(); // readline이 달아놓은 stdin 리스너 제거
149
+ process.stdin.destroy(); // fetch 전에 파괴 → UV 루프 활성 중 정리 완료
146
150
  console.log("\n 로그인 중...");
147
151
  let res;
148
152
  try {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "laxy-verify",
3
- "version": "1.1.3",
3
+ "version": "1.1.5",
4
4
  "description": "Frontend quality gate: build + Lighthouse verification",
5
5
  "type": "commonjs",
6
6
  "bin": {