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

TypeScriptの非同期処理のawait忘れを防止する #1811

Open
KentaHizume opened this issue Sep 30, 2024 · 2 comments
Open

TypeScriptの非同期処理のawait忘れを防止する #1811

KentaHizume opened this issue Sep 30, 2024 · 2 comments
Labels
target: Azure AD B2C Auth Azure AD B2C認証の要件別サンプルに関係がある target: Dressca サンプルアプリケーションDresscaに関係がある

Comments

@KentaHizume
Copy link
Contributor

KentaHizume commented Sep 30, 2024

概要

TSでasyncメソッドをawaitしなくても特にビルドのエラー等が出ないので、
非同期処理のawait忘れが発生しやすい。

typescript-eslintの下記のルールを用いると、
不適切な非同期処理の使用を警告してくれるので、問題がなければ使いたい。

    '@typescript-eslint/no-floating-promises': 'warn',
    '@typescript-eslint/no-misused-promises': 'warn',

詳細 / 機能詳細(オプション)

ルールの紹介

https://dev.classmethod.jp/articles/eetann-no-more-await-pien/

パフォーマンスをよくするために、
問題のない箇所であればあえてawaitしないという場合があるらしいが、
下記の記事では検討の上であえてawaitしないのはアンチパターンとしたほうがいいかも、というトーン。

https://qiita.com/KuwaK/items/f3ce503da410ac86325b

typescript-eslintのrecommendedのルールには含まれていないが、
recommended-type-checkedという型情報を必要とするルールセットには含まれている。

https://zenn.dev/sushidesu/articles/you-should-use-recommended-type-checked-config

完了条件

ここにこの Issue の完了条件を箇条書きで記載します。

@KentaHizume KentaHizume added this to the v1.0 milestone Sep 30, 2024
@KentaHizume
Copy link
Contributor Author

rules以外に、parserの設定をしないとうまく動かないので注意

https://eslint.vuejs.org/user-guide/#how-to-use-a-custom-parser

  parser: "vue-eslint-parser",
  parserOptions: {
    parser: "@typescript-eslint/parser"
  },
    rules: {
    '@typescript-eslint/no-floating-promises': 'warn',
    '@typescript-eslint/no-misused-promises': 'warn',
  },

@KentaHizume
Copy link
Contributor Author

二度手間になることを避けるため、下記の後に検討する

@KentaHizume KentaHizume modified the milestones: v1.0, v1.1 Sep 30, 2024
@KentaHizume KentaHizume added target: Dressca サンプルアプリケーションDresscaに関係がある target: Azure AD B2C Auth Azure AD B2C認証の要件別サンプルに関係がある labels Sep 30, 2024
@tsuna-can-se tsuna-can-se removed this from the v1.1 milestone Oct 1, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
target: Azure AD B2C Auth Azure AD B2C認証の要件別サンプルに関係がある target: Dressca サンプルアプリケーションDresscaに関係がある
Projects
None yet
Development

No branches or pull requests

2 participants