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

docs: add articles/2023/12/24 #231

Merged
merged 3 commits into from
Dec 24, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
125 changes: 125 additions & 0 deletions content/articles/2023/12/24.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,125 @@
---
title: 2023/12/18〜2023/12/24の最新情報
tags:
- Deno
- deno_std
- Deno KV
- fresh
- Hono
categories:
- news
date: 2023-12-24
description: Deno v1.39.1 (Deno.serveのUnixドメインソケットサポートの安定化, deno coverageでディレクトリの指定が省略可能に, など...), deno_std v0.210.0 (cli/spinnerの追加, std/logでJSONL形式でのロギングがサポートなど), RxDBがDenoとDeno KVをサポート, 「DenoとFreshでペアプロ・モブプロ用タイマー『timer.team』を開発して得た知見⏰」, 「Honoの今の状況」
---

## Deno v1.39.1

[Deno v1.39.1](https://github.com/denoland/deno/releases/tag/v1.39.1)がリリースされました。

### `Deno.serve`のUnixドメインソケットサポートの安定化

`Deno.serve`のUnixドメインソケットサポートが`--unstable`なしで動作するようになりました。([Deno v1.39]({{< ref "articles/deno/v1.39.md" >}}))

### `deno coverage`

`deno coverage`の実行時にディレクトリの省略が任意に変更されました。(デフォルトとして`coverage/`が使われます)

### `deno jupyter`

`import`されたモジュールで`Deno.test`を使っているとパニックする問題が修正されています。

### Node.js互換性

Prismaなどが動かなくなってた問題が修正されているようです。(https://github.com/prisma/prisma/issues/2452#issuecomment-1866409306)

また、`node:crypto`で以下の対応が実施されています。

- `pseudoRandomBytes()`が実装されています。
- `fork()`から返却された`ChildProcess`に対して`kill`を呼ぶと、プロセスがハングする問題が修正されています。

## deno_std v0.210.0

[deno_std v0.210.0](https://github.com/denoland/deno_std/releases/tag/0.210.0)がリリースされました。

### 非推奨モジュール・APIの削除

- `std/crypto/to_hash_string.ts`が削除されました。([`encodeHex`](https://deno.land/[email protected]/encoding/hex.ts)や[`encodeBase64`](https://deno.land/[email protected]/encoding/base64.ts)への移行が推奨されます。)
- `std/encoding`: `ascii85.ts`/`base32.ts`/`base58.ts`/`base64.ts`/`base64url.ts`/`hex.ts`から`encode`と`decode`が削除されました。
- `std/http/method.ts`が削除されました。

### 非推奨化

#### `std/semver`

- [`parse()`](https://deno.land/[email protected]/semver/parse.ts)と[`canParse()`](https://deno.land/[email protected]/semver/can_parse.ts)から[`SemVer`](https://deno.land/[email protected]/semver/types.ts?s=SemVer)を引数に取る形式が非推奨化されました。
- [`rcompare.ts`](https://deno.land/[email protected]/semver/rcompare.ts)が非推奨化されています。
- `isSemVerComparator`が[`isComparator`](https://deno.land/[email protected]/semver/is_comparator.ts)へリネームされています。(`isSemVerComparator`は非推奨化されています)
- `SemVerComparator`が[`Comparator`](https://deno.land/[email protected]/semver/types.ts?s=Comparator)へリネームされています。(`SemVerComparator`は非推奨化されています)

#### `std/encoding/base32.ts`

`byteLength()`が非推奨化されています。

### `cli/spinner.ts`が実装

CLI向けにスピナーを表示できます。

```javascript
import { Spinner } from "https://deno.land/[email protected]/cli/spinner.ts";

const spinner = new Spinner({ message: "Loading..." });
spinner.start();
try {
await doSomething();
} finally {
spinner.stop();
}
```

### `std/log`でJSONL形式でのロギングがサポート

`handlers`のセットアップ時に、`formatter`に`jsonFormatter`を指定すると有効化されます。

```typescript
import * as log from "https://deno.land/[email protected]/log/mod.ts";

log.setup({
handlers: {
default: new log.handlers.ConsoleHandler("INFO", {
formatter: log.formatters.jsonFormatter,
useColors: true,
}),
},
});

log.info("foo"); // => {"level":"INFO","datetime":...,"message":"foo"}
log.warning("bar"); // => {"level":"WARNING","datetime":...,"message":"bar"}
```

### `std/testing/time.ts`: `FakeTime`が`using`に対応

`FakeTime`が`using`に対応しました。スコープから外れた際に、自動で`restore()`を呼んでくれます。

```typescript
using time = new FakeTime();
```

## RxDBがDenoとDeno KVをサポート

[RxDB v15.0.0](https://github.com/pubkey/rxdb/blob/15.0.0/docs-src/docs/releases/15.0.0.md)がリリースされています。

DenoのサポートとDeno KV向けのストレージが追加されているようです。

- [RxDB Database on top of Deno Key Value Store (beta)](https://github.com/pubkey/rxdb/blob/15.0.0/docs-src/docs/rx-storage-denokv.md)

## DenoとFreshでペアプロ・モブプロ用タイマー『timer.team』を開発して得た知見⏰

DenoとFreshを使ってプロダクトを開発した話について解説されています。

- [DenoとFreshでペアプロ・モブプロ用タイマー『timer.team』を開発して得た知見⏰](https://zenn.dev/lef237/articles/8e4eb3112928d6)

## Honoの今の状況

Honoのv3で導入された機能やv4などに関して解説されています。

- [Honoの今の状況 - ゆーすけべー日記](https://yusukebe.com/posts/2023/current-status-of-hono/)
4 changes: 4 additions & 0 deletions content/articles/deno/v1.39.md
Original file line number Diff line number Diff line change
Expand Up @@ -160,6 +160,10 @@ HTTPサーバーをgracefulに停止するためのAPIである[Deno.HttpServer#

> [fix(net): remove unstable check for unix socket listen #21592](https://github.com/denoland/deno/pull/21592)

---

追記) [Deno v1.39.1]({{< ref "articles/2023/12/24.md" >}})で安定化されました。

## `Deno.HttpClient`

### `using`のサポート
Expand Down