Closed2

memo @240213

nakamotonakamoto

https://github.com/lukemorales/next-safe-navigation

Zodを使ってNext.js App Routerのルート定義を行うためのライブラリ。自らルート定義できる。
Next.js App Routerを使ってるとルートの型定義がないしExperimentalにはあるけどもバグ多し。

src/shared/navigation.ts
import { createNavigationConfig } from "next-safe-navigation";
import { z } from "zod";

export const { routes, useSafeParams, useSafeSearchParams } = createNavigationConfig(
  (defineRoute) => ({
    home: defineRoute('/'),
    customers: defineRoute('/customers', {
      search: z
        .object({
          query: z.string().default(''),
          page: z.coerce.number().default(1),
        })
        .default({ query: '', page: 1 }),
    }),
    invoice: defineRoute('/invoices/[invoiceId]', {
      params: z.object({
        invoiceId: z.string(),
      }),
    }),
  }),
);
nakamotonakamoto

typescript-eslint v7

https://typescript-eslint.io/blog/announcing-typescript-eslint-v7/

新機能の目玉はNew Features - Flat Config Support
Flat ConfigESLintにおいて現在のデフォルトの設定フォーマットであり
eslintrcは公式に非推奨(deprecated)とされている。

Flat Configは設定ファイルの構造を単純化し、より直感的で理解し易い形式を目指し導入された。従来のeslintrc形式は設定が複雑になりがちで、継承やオーバーライドのルールがわかりにくい場合があった。Flat Configを使用することによってESLintの設定をよりシンプルにし、開発者が設定を容易に理解し管理できるようになる。

このスクラップは2024/02/14にクローズされました