Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

2024-03-05のJS: Parcel v2.12.0、polyfill.ioの代用、express 4.18.3 #1171

Merged
merged 17 commits into from
Mar 5, 2024
Original file line number Diff line number Diff line change
@@ -0,0 +1,209 @@
---
title: "2024-03-05のJS: Parcel v2.12.0、`polyfill.io`の代用、express 4.18.3"
author: "azu"
layout: post
date: 2024-03-05T03:01:03.666Z
category: JSer
tags:
- Tools
- webservice
- nodejs
- babel
- bundler

---

JSer.info #683 - Parcel v2.12.0がリリースされました。

- [Parcel v2.12.0](https://parceljs.org/blog/v2-12-0/)

Bunと同様の仕組みとして、Import Attributesを使ったmacroに対応しています。

- [JavaScript Macros in Bun | Bun Blog](https://bun.sh/blog/bun-macros)

ブラウザ上で動作する[REPL](https://repl.parceljs.org/)を公開、bundleにもLightning CSSを使うように変更されています。
その他にはメモリ使用量を52%改善、書き込みのパフォーマンスの改善なども行われています。

---

[先週の記事](https://jser.info/2024/02/27/firefox-123-remix-2.7.0remix-vite-is-stable-2023node.js/)で `polyfill.io` がFunnull CDN(方能CDN)を運営するFunnull(南京妙彩文化传播有限公司)に買収されたことをお伝えしました。
その後、FastlyやCloudflare(cdnjs)が `polyfill.io` の代用サービスとして、<https://polyfill-fastly.net>と<https://cdnjs.cloudflare.com/polyfill/>が公開されています。

- [New options for Polyfill.io users - General - Fastly Community](https://community.fastly.com/t/new-options-for-polyfill-io-users/2540)
- [polyfill.io now available on cdnjs: reduce your supply chain risk](https://blog.cloudflare.com/polyfill-io-now-available-on-cdnjs-reduce-your-supply-chain-risk)

---

express v4.18.3がリリースされました。

- [Release 4.18.3 · expressjs/express](https://github.com/expressjs/express/releases/tag/4.18.3)
- [Release 4.18.3 by UlisesGascon · Pull Request #5505 · expressjs/express](https://github.com/expressjs/express/pull/5505)

このリリースでは、大きな修正は含まれていませんが、expressの今後の開発についての話し合いが[Express.js Technical Committee](https://github.com/expressjs/discussions)で活発に行われています。expressはメジャーリリース(express 5)が止まっていましたが、Express Forwardというプロジェクトで今後のexpressのロードマップ、開発体制などの組織、継続的なリリースのための仕組みなどについての議論が行われています。

今回のexpress v4.18.3は、この新しい体制に向けた準備の一環としてリリースされています。

具体的なDiscussionsは次を参照してください。

- [Express Forward Initiative · Issue #167 · expressjs/discussions](https://github.com/expressjs/discussions/issues/167)
- [Express Forward · Issue #160 · expressjs/discussions](https://github.com/expressjs/discussions/issues/160)


----

{% include inline-support.html %}

----

<h1 class="site-genre">ヘッドライン</h1>

----

## 7.24.0 Released: Decorator updates and JSON modules imports · Babel
[babeljs.io/blog/2024/02/28/7.24.0](https://babeljs.io/blog/2024/02/28/7.24.0 "7.24.0 Released: Decorator updates and JSON modules imports · Babel")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">babel</span> <span class="jser-tag">ReleaseNote</span></p>

Babel v7.24.0リリース。
Decoratorの新しい仕様に対応、JSON Modulesのimportに対応する`"@babel/plugin-proposal-json-modules"`を追加。
HermesベースのFlowパーサを利用する`experimental_useHermesParser`オプションの追加など


----

## Parcel v2.12.0
[parceljs.org/blog/v2-12-0/](https://parceljs.org/blog/v2-12-0/ "Parcel v2.12.0")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">JavaScript</span> <span class="jser-tag">bundler</span> <span class="jser-tag">ReleaseNote</span></p>

Parcel v2.12.0リリース。
Import Attributesを使ったmacroに対応、ブラウザ上で動作するREPLを公開、bundleにもLightning CSSを使うように変更。
メモリ使用量を52%改善、書き込みのパフォーマンスの改善など


----

## New options for Polyfill.io users - General - Fastly Community
[community.fastly.com/t/new-options-for-polyfill-io-users/2540](https://community.fastly.com/t/new-options-for-polyfill-io-users/2540 "New options for Polyfill.io users - General - Fastly Community")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">webservice</span> <span class="jser-tag">polyfill</span> <span class="jser-tag">news</span> <span class="jser-tag">JavaScript</span></p>

Fastlyが`polyfill.io`の代替となる`polyfill-fastly.net`と`polyfill-fastly.io`を公開した。
`polyfill.io`はFunnull CDNに買収され運営者が変わったため代替手段として提供する目的

- [FUNNULL CDN - Partners](https://funnull.com/Partner/ "FUNNULL CDN - Partners")

----

## polyfill.io now available on cdnjs: reduce your supply chain risk | The Cloudflare Blog
[blog.cloudflare.com/polyfill-io-now-available-on-cdnjs-reduce-your-supply-chain-risk](https://blog.cloudflare.com/polyfill-io-now-available-on-cdnjs-reduce-your-supply-chain-risk "polyfill.io now available on cdnjs: reduce your supply chain risk | The Cloudflare Blog")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">cloudflare</span> <span class="jser-tag">cdn</span> <span class="jser-tag">news</span></p>

Cloudflareが polyfill.io の代替CDNをcdnjs上に公開した

- [cdnjs.cloudflare.com/polyfill](https://cdnjs.cloudflare.com/polyfill/ "cdnjs.cloudflare.com/polyfill")

----

## Release 4.18.3 · expressjs/express
[github.com/expressjs/express/releases/tag/4.18.3](https://github.com/expressjs/express/releases/tag/4.18.3 "Release 4.18.3 · expressjs/express")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">express</span> <span class="jser-tag">nodejs</span> <span class="jser-tag">ReleaseNote</span></p>

express 4.18.3リリース。
Expressの新しいTechnical Committeeでの初めてのリリース。
expressの開発を再開するための話し合いをExpress Forward Initiativeで行っていて、このプロセスを進める目的のリリースとなっている。

- [Release 4.18.3 by UlisesGascon · Pull Request #5505 · expressjs/express](https://github.com/expressjs/express/pull/5505 "Release 4.18.3 by UlisesGascon · Pull Request #5505 · expressjs/express")
- [Express Forward · Issue #160 · expressjs/discussions](https://github.com/expressjs/discussions/issues/160 "Express Forward · Issue #160 · expressjs/discussions")
- [Express Forward Initiative · Issue #167 · expressjs/discussions](https://github.com/expressjs/discussions/issues/167 "Express Forward Initiative · Issue #167 · expressjs/discussions")

----

## Bun v1.0.30 | Bun Blog
[bun.sh/blog/bun-v1.0.30](https://bun.sh/blog/bun-v1.0.30 "Bun v1.0.30 | Bun Blog")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">Bun</span> <span class="jser-tag">ReleaseNote</span></p>

Bun v1.0.30リリース。
`exports`フィールドのパッケージ解決の条件を指定する`--conditions`フラグの追加、`expect.assertions()`/`expect.hasAssertions()`のサポートなど

- [Command-line API | Node.js v21.6.2 Documentation](https://nodejs.org/api/cli.html#-c-condition---conditionscondition "Command-line API | Node.js v21.6.2 Documentation")

----

## ESLint v8.57.0 released - ESLint - Pluggable JavaScript Linter
[eslint.org/blog/2024/02/eslint-v8.57.0-released/](https://eslint.org/blog/2024/02/eslint-v8.57.0-released/ "ESLint v8.57.0 released - ESLint - Pluggable JavaScript Linter")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">ESLint</span> <span class="jser-tag">reel</span></p>

ESLint v8.57.0リリース。
`eslint.config.mjs`と`eslint.config.cjs`のサポート、`loadESLint()`という`FlatESLint`と`LegacyESLint`の相互運用性のためのAPIを追加など


----
<h1 class="site-genre">アーティクル</h1>

----

## Million Lint is in public beta | Million.js
[million.dev/blog/lint](https://million.dev/blog/lint "Million Lint is in public beta | Million.js")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">React</span> <span class="jser-tag">performance</span> <span class="jser-tag">Tools</span> <span class="jser-tag">VSCode</span> <span class="jser-tag">article</span></p>

React向けのレンダリングパフォーマンスの分析ツール。
プロファイルを仕込みレンダリング回数や実行時間などを回収し、VSCode拡張を使いコード上に問題を表示する。
問題の改善方法については有料のLint++というサービスを利用する


----

## Next.js vs. Remix - A Developer&#039;s Dilemma | Saeloun Blog
[blog.saeloun.com/2024/02/21/next.js-vs-remix/](https://blog.saeloun.com/2024/02/21/next.js-vs-remix/ "Next.js vs. Remix - A Developer&#039;s Dilemma | Saeloun Blog")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">Next.js</span> <span class="jser-tag">Remix</span> <span class="jser-tag">article</span></p>

Next.jsとRemixの比較。
ルーティング、データ取得、mutate、エラー処理、コミュニティ、学習曲線、価格などについて


----
<h1 class="site-genre">サイト、サービス、ドキュメント</h1>

----

## MDN Curriculum
[developer.mozilla.org/en-US/curriculum/](https://developer.mozilla.org/en-US/curriculum/ "MDN Curriculum")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">HTML</span> <span class="jser-tag">CSS</span> <span class="jser-tag">JavaScript</span> <span class="jser-tag">tutorial</span> <span class="jser-tag">accessibility</span></p>

MDNのフロントエンドカリキュラム。
ソフトスキル的なものから、HTML/CSS/JavaScriptや開発で必要な一般的な知識などのリソースをまとめたもの


----

## wxt-dev/wxt: ⚡ Next-gen Web Extension Framework
[github.com/wxt-dev/wxt?tab&#x3D;readme-ov-file](https://github.com/wxt-dev/wxt?tab=readme-ov-file "wxt-dev/wxt: ⚡ Next-gen Web Extension Framework")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">browser</span> <span class="jser-tag">Extension</span> <span class="jser-tag">Tools</span></p>

Viteベースのブラウザ拡張開発フレームワーク。


----

## JSR: the JavaScript Registry
[jsr.io/](https://jsr.io/ "JSR: the JavaScript Registry")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">JavaScript</span> <span class="jser-tag">deno</span> <span class="jser-tag">nodejs</span> <span class="jser-tag">webservice</span></p>

TypeScriptのコードのままpushできるDeno向けのパッケージレジストリサービス。
npm registryとしても振る舞うことで、npmなどからも利用できるようになっている。
OIDC ID tokenに対応し、GitHub Actionsからパッケージを公開できるようになっている。

- [Introducing JSR - the JavaScript Registry](https://deno.com/blog/jsr_open_beta "Introducing JSR - the JavaScript Registry")

----
<h1 class="site-genre">ソフトウェア、ツール、ライブラリ関係</h1>

----

## electric-sql/pglite: Lightweight Postgres packaged as WASM into a TypeScript library for the browser, Node.js, Bun and Deno
[github.com/electric-sql/pglite](https://github.com/electric-sql/pglite "electric-sql/pglite: Lightweight Postgres packaged as WASM into a TypeScript library for the browser, Node.js, Bun and Deno")
<p class="jser-tags jser-tag-icon"><span class="jser-tag">PostgreSQL</span> <span class="jser-tag">WebAssembly</span> <span class="jser-tag">library</span></p>

PostgresのWebAssemblyビルド。
ブラウザ上でPostgresを動かせる。InMemory/ファイルシステム/IndexedDBにデータを保存できる。


----