|
| 1 | +--- |
| 2 | +title: "2024-08-15: Node v22.6.0(`--experimental-strip-types`), Firefox 129" |
| 3 | +author: "azu" |
| 4 | +translator: rewrite0w0 |
| 5 | +layout: post |
| 6 | +date: 2024-08-14T15:21:42.119Z |
| 7 | +category: JSer |
| 8 | +tags: |
| 9 | +- browser |
| 10 | +- nodejs |
| 11 | +- Firefox |
| 12 | +- security |
| 13 | +- RegExp |
| 14 | + |
| 15 | +--- |
| 16 | + |
| 17 | +JSer.info #703 - Node.js v22.6.0가 출시되었어요. |
| 18 | + |
| 19 | +- [Node.js — Node v22.6.0 (Current)](https://nodejs.org/en/blog/release/v22.6.0) |
| 20 | + |
| 21 | +실험적 기능으로, 자료형 표기를 제거해 TypeScript 파일 실행하는 `--experimental-strip-types` 플래그가 추가되었어요. |
| 22 | + |
| 23 | +- 관련: [Node.js의 TypeScript 지원에 대하여](https://gist.github.com/azu/ac5dafbf211ef8b5ecf386930ac75250) |
| 24 | + |
| 25 | +그리고, Node.js DevTools에서 Network Inspection 지원하는 `--experimental-network-inspection` 추가도 있었어요. |
| 26 | + |
| 27 | +---- |
| 28 | + |
| 29 | +Firefox 129가 출시되었어요. |
| 30 | + |
| 31 | +- [Firefox 129 for developers - Mozilla | MDN](https://developer.mozilla.org/en-US/docs/Mozilla/Firefox/Releases/129) |
| 32 | +- [Firefox 129.0, See All New Features, Updates and Fixes](https://www.mozilla.org/en-US/firefox/129.0/releasenotes/) |
| 33 | + |
| 34 | +CSS `@starting-style`/`transition-behavior` 프로퍼티 지원, `Float16Array` 지원, Web Crypto API에서 `Ed25519` 지원이 추가되었어요. |
| 35 | + |
| 36 | +그리고, Firefox 129에서는, Puppeteer가 필요로한 WebDriver BiDi 구현이 완료되어, Puppeteer가 정식으로 Firefox를 지원해요. |
| 37 | +상세한 내용은 다음 글에서 확인 가능해요. |
| 38 | + |
| 39 | +- [WebDriver BiDi production-ready in Firefox, Chrome and Puppeteer | Blog | Chrome for Developers](https://developer.chrome.com/blog/firefox-support-in-puppeteer-with-webdriver-bidi) |
| 40 | +- [Announcing Official Puppeteer Support for Firefox - Mozilla Hacks - the Web developer blog](https://hacks.mozilla.org/2024/08/puppeteer-support-for-firefox/) |
| 41 | + |
| 42 | + |
| 43 | +---- |
| 44 | + |
| 45 | +{% include inline-support.html %} |
| 46 | + |
| 47 | +---- |
| 48 | + |
| 49 | +<h1 class="site-genre">헤드라인</h1> |
| 50 | + |
| 51 | +---- |
| 52 | + |
| 53 | +## Node.js — Node v22.6.0 (Current) |
| 54 | +[nodejs.org/en/blog/release/v22.6.0](https://nodejs.org/en/blog/release/v22.6.0 "Node.js — Node v22.6.0 (Current)") |
| 55 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">nodejs</span> <span class="jser-tag">ReleaseNote</span></p> |
| 56 | + |
| 57 | +Node.js v22.6.0 출시. |
| 58 | +실험적 기능으로, 자료형 표기 제거해서 TypeScript 파일 실행하는 `--experimental-strip-types` 플래그 추가. |
| 59 | +Node.js DevTools에서 Network Inspection를 지원하는 `--experimental-network-inspection` 추가 |
| 60 | + |
| 61 | + |
| 62 | +---- |
| 63 | + |
| 64 | +## Release pnpm 9.7 · pnpm/pnpm |
| 65 | +[github.com/pnpm/pnpm/releases/tag/v9.7.0](https://github.com/pnpm/pnpm/releases/tag/v9.7.0 "Release pnpm 9.7 · pnpm/pnpm") |
| 66 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">pnpm</span> <span class="jser-tag">ReleaseNote</span></p> |
| 67 | + |
| 68 | +pnpm v9.7.0 출시. |
| 69 | +corepack처럼 `packageManager` 필드 참조해 pnpm 버전 변경 가능한 `manage-package-manager-versions` 옵션 추가. |
| 70 | +`pnpm patch pkg`으로 모든 버전 패키지에 패치를 부여할 수 있음 |
| 71 | + |
| 72 | + |
| 73 | +---- |
| 74 | + |
| 75 | +## Firefox 129.0, See All New Features, Updates and Fixes |
| 76 | +[www.mozilla.org/en-US/firefox/129.0/releasenotes/](https://www.mozilla.org/en-US/firefox/129.0/releasenotes/ "Firefox 129.0, See All New Features, Updates and Fixes") |
| 77 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">Firefox</span> <span class="jser-tag">ReleaseNote</span></p> |
| 78 | + |
| 79 | +Firefox 129 출시. |
| 80 | +CSS `@starting-style`/`transition-behavior` 프로퍼티 지원. |
| 81 | +`Float16Array` 지원, Web Crypto API에서 `Ed25519` 지원 |
| 82 | + |
| 83 | +- [Firefox 129 for developers - Mozilla | MDN](https://developer.mozilla.org/en-US/docs/Mozilla/Firefox/Releases/129 "Firefox 129 for developers - Mozilla | MDN") |
| 84 | + |
| 85 | +---- |
| 86 | + |
| 87 | +## ESLint v9.9.0 released - ESLint - Pluggable JavaScript Linter |
| 88 | +[eslint.org/blog/2024/08/eslint-v9.9.0-released/](https://eslint.org/blog/2024/08/eslint-v9.9.0-released/ "ESLint v9.9.0 released - ESLint - Pluggable JavaScript Linter") |
| 89 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">ESLint</span> <span class="jser-tag">ReleaseNote</span></p> |
| 90 | + |
| 91 | +ESLint v9.9.0 출시. |
| 92 | +`eslint.config.ts` 지원. |
| 93 | +TypeScript 실행하기 위해서 `jiti` 이용 |
| 94 | + |
| 95 | +- [jiti - npm](https://www.npmjs.com/package/jiti "jiti - npm") |
| 96 | + |
| 97 | +---- |
| 98 | + |
| 99 | +## Release Release v1.7.4 · axios/axios |
| 100 | +[github.com/axios/axios/releases/tag/v1.7.4](https://github.com/axios/axios/releases/tag/v1.7.4 "Release Release v1.7.4 · axios/axios") |
| 101 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">HTTP</span> <span class="jser-tag">security</span> <span class="jser-tag">library</span> <span class="jser-tag">ReleaseNote</span></p> |
| 102 | + |
| 103 | +axios v1.7.4 출시. |
| 104 | +CVE-2024-39338의 SSRF 대응. |
| 105 | +서버에서만 `baseURL`가 지정되있는 경우에도, `//example.com`처럼 protocol-relative URL에서 `baseURL` 무시할 수 있던 것을, 강제적으로 상대 경로로 다루도록 변경. |
| 106 | + |
| 107 | + |
| 108 | +---- |
| 109 | +<h1 class="site-genre">읽을거리</h1> |
| 110 | + |
| 111 | +---- |
| 112 | + |
| 113 | +## JS로 작성된 ECMAScript RegExp 파서 비교 | Memory ice cubes |
| 114 | +[leaysgur.github.io/posts/2024/08/05/143855/](https://leaysgur.github.io/posts/2024/08/05/143855/ "JS로 작성된 ECMAScript RegExp 파서 비교 | Memory ice cubes") |
| 115 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">JavaScript</span> <span class="jser-tag">RegExp</span> <span class="jser-tag">AST</span> <span class="jser-tag">article</span></p> |
| 116 | + |
| 117 | +JavaScript로 작성된 정규표현 파서 비교. |
| 118 | +regjsparser/regexp-tree/regexpp |
| 119 | + |
| 120 | + |
| 121 | +---- |
| 122 | + |
| 123 | +## Now in Baseline: animating entry effects | Blog | web.dev |
| 124 | +[web.dev/blog/baseline-entry-animations?hl=en](https://web.dev/blog/baseline-entry-animations?hl=en "Now in Baseline: animating entry effects | Blog | web.dev") |
| 125 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">css </span> <span class="jser-tag">article</span></p> |
| 126 | + |
| 127 | +CSS `@starting-style` 와 `transition-behavior:allow-discrete`에 관하여. |
| 128 | +`@starting-style`에 transition 시작할 때 스타일 지정 가능하며, `allow-discrete`으로 `display:none` 프로퍼티에 transition가 동작하도록 |
| 129 | + |
| 130 | + |
| 131 | +---- |
| 132 | + |
| 133 | +## postgres.new: In-browser Postgres with an AI interface |
| 134 | +[supabase.com/blog/postgres-new](https://supabase.com/blog/postgres-new "postgres.new: In-browser Postgres with an AI interface") |
| 135 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">PostgreSQL</span> <span class="jser-tag">browser</span> <span class="jser-tag">article</span></p> |
| 136 | + |
| 137 | +Postgres를 Wasm로 동작하는 PGlite를 사용해 브라우저에서 분석이나 비주얼라이즈가 가능한 postgres.new |
| 138 | + |
| 139 | + |
| 140 | +---- |
| 141 | + |
| 142 | +## 0.0.0.0 Day: Exploiting Localhost APIs From the Browser | Oligo Security |
| 143 | +[www.oligo.security/blog/0-0-0-0-day-exploiting-localhost-apis-from-the-browser](https://www.oligo.security/blog/0-0-0-0-day-exploiting-localhost-apis-from-the-browser "0.0.0.0 Day: Exploiting Localhost APIs From the Browser | Oligo Security") |
| 144 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">browser</span> <span class="jser-tag">security</span> <span class="jser-tag">article</span></p> |
| 145 | + |
| 146 | +웹사이트에서 `0.0.0.0`으로 리퀘스트가 통과되는 문제와 그 대책. |
| 147 | +브라우저의 자체 차단 방법 업데이트나 Private Network Access 블록 방법 |
| 148 | + |
| 149 | + |
| 150 | +---- |
| 151 | + |
| 152 | +## WebDriver BiDi production-ready in Firefox, Chrome and Puppeteer | Blog | Chrome for Developers |
| 153 | +[developer.chrome.com/blog/firefox-support-in-puppeteer-with-webdriver-bidi](https://developer.chrome.com/blog/firefox-support-in-puppeteer-with-webdriver-bidi "WebDriver BiDi production-ready in Firefox, Chrome and Puppeteer | Blog | Chrome for Developers") |
| 154 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">Firefox</span> <span class="jser-tag">puppeteer</span> <span class="jser-tag">article</span></p> |
| 155 | + |
| 156 | +Firefox 129에서 WebDriver BiDi를 지원하므로, Puppeteer가 정식으로 Firefox 지원. |
| 157 | +지금까지는 Firefox가 CDP(Chrome DevTools Protocol)를 부분적으로 구현했지만, Firefox 129에서는 CDP는 기본 무효가 됨 |
| 158 | + |
| 159 | +- [Firefox 129 for developers - Mozilla | MDN](https://developer.mozilla.org/en-US/docs/Mozilla/Firefox/Releases/129 "Firefox 129 for developers - Mozilla | MDN") |
| 160 | +- [Announcing Official Puppeteer Support for Firefox - Mozilla Hacks - the Web developer blog](https://hacks.mozilla.org/2024/08/puppeteer-support-for-firefox/ "Announcing Official Puppeteer Support for Firefox - Mozilla Hacks - the Web developer blog") |
| 161 | + |
| 162 | +---- |
| 163 | + |
| 164 | +## 소스코드 해석해서 사내용 UI 라이브러리 사용 상황을 자동으로 집계하기 |
| 165 | +[tech.plaid.co.jp/analyze-internal-ui-library-usage](https://tech.plaid.co.jp/analyze-internal-ui-library-usage "소스코드 해석해서 사내용 UI 라이브러리 사용 상황을 자동으로 집계하기") |
| 166 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">TypeScript</span> <span class="jser-tag">JavaScript</span> <span class="jser-tag">Design</span> <span class="jser-tag">React</span> <span class="jser-tag">Tools</span> <span class="jser-tag">article</span></p> |
| 167 | + |
| 168 | +디자인 시스템의 UI 컴포넌트가 어떤 프로덕트에 이용되는가 집계하는 GitHub Actions에서 동작하는 스크립트. |
| 169 | +실제 디자인 시스템 제공하고 있는 UI를 이용하고 있는 회수나, 위치 사용 상황을 가시화함으로, 사용하고 있지 않은 것을 삭제할 수 있도록 하는 구조 |
| 170 | + |
| 171 | + |
| 172 | +---- |
| 173 | +<h1 class="site-genre">웹사이트, 서비스, 문서</h1> |
| 174 | + |
| 175 | +---- |
| 176 | + |
| 177 | +## versotile-org/verso: A web browser that plays old world blues to build new world hope |
| 178 | +[github.com/versotile-org/verso](https://github.com/versotile-org/verso "versotile-org/verso: A web browser that plays old world blues to build new world hope") |
| 179 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">Rust</span> <span class="jser-tag">browser</span></p> |
| 180 | + |
| 181 | +Servo 기반 Web 브라우저 작성 프로젝트 |
| 182 | + |
| 183 | +- [servo/servo: Servo, the embeddable, independent, memory-safe, modular, parallel web rendering engine](https://github.com/servo/servo "servo/servo: Servo, the embeddable, independent, memory-safe, modular, parallel web rendering engine") |
| 184 | +- [Tauri update: embedding prototype, offscreen rendering, multiple webviews, and more! - Servo, the embeddable, independent, memory-safe, modular, parallel web rendering engine](https://servo.org/blog/2024/01/19/embedding-update/ "Tauri update: embedding prototype, offscreen rendering, multiple webviews, and more! - Servo, the embeddable, independent, memory-safe, modular, parallel web rendering engine") |
| 185 | + |
| 186 | +---- |
| 187 | + |
| 188 | +## goldbergyoni/nodebestpractices: :white\_check\_mark: The Node.js best practices list (July 2024) |
| 189 | +[github.com/goldbergyoni/nodebestpractices](https://github.com/goldbergyoni/nodebestpractices "goldbergyoni/nodebestpractices: :white\_check\_mark: The Node.js best practices list (July 2024)") |
| 190 | +<p class="jser-tags jser-tag-icon"><span class="jser-tag">nodejs</span> <span class="jser-tag">document</span></p> |
| 191 | + |
| 192 | +Node.js 관련 가이드 2024년판 공개 |
| 193 | + |
| 194 | + |
| 195 | +---- |
0 commit comments